i'm now sitting in a session entitled "hello? is there a user in the house?" with .  amy is a user interface designer and has been around the block with regard to user centric design...something that is lacking in probably most software development processes.

here's some of my raw notes/thoughts.  if you've done user-centric design before, most of this will not be new.

creators == consumers (understand who they are building for because they are building for themselves) -- this is what makes some projects successful in the geek world -- we develop for what we want as we are the users.

lots of successful projects in open source...lots of unsuccessful.  unsuccessful because they aren't taking the user in mind.

ui design is primarily about interpretation, empathy, aesthetics and editing (most important).  how do you ensure a project makes sense: know your audience. using blogs, who is the user? author, reader, reader/author, stop-in/regular, lurker/commentor, consumers via APIs and syndication?

side note: someone is literally weaving some type of string in this session...weird...oscon is the only conference where i see this type of diversity (and people bringing their newborns).

here's some critical steps in involving the users' perspectives in design:

    • use persona for guiding your development process.  create the target users (and potential edge users).  define them well.
    • use task paths (use cases)...task paths have scenarios and goals. 
    • user interviews (subject matter experts) [what do you do now, use, when, what do you like/not, tell me about your day). 
    • observation and watching your users in their habitat. 
    • research.  look at competitiors, look at leaders in your space.
    • prototyping - use paper-based prototyping (audience member mentions DENIM).  before you write code, test some designs on paper, etc.  invest in changing drawings before you invest too much in changing code :-)

some audience members commented/questioned about changing designs of existing applications.  some good suggestions i heard:

    • gradual changes (if possible, i think in real world budgets and pointy-haired bosses this might not be easily accomplished) -- implement small, effective changes gradually rather than dump completely new experiences on the users
    • enable 'classic style' implementation.  this audience member pointed to when windows xp came out there was an option not to use the new design and get winxp but with the battleship gray user interface.

overall a good session.  i've hung around some folks that are really good at user interface/experience design and felt that i've already absorbed this information -- but it was clearly a good presentation solidifying that concept as well as it looked like a lot of people hadn't used it before.

well the next session block had some to choose from.  i decided one of these was going to be my choice:

i saw the .net/mono one was in the product/services track, which isn't necessarily a bad thing, but usually means that it has a product twist on it.  frank w/novell is presenting on it, and maybe i'll try to poke in.

ultimately i chose to go with the 'who gets to decide...' one as i look at the panel.  i've met brian behlendorf before and wanted to see what the panel had to say about this topic.

in 1998 when open source was coined as a term, free software already existed.  the term 'free software' caused confusion (free as in no $ or free as in no liberty).  this movement helped coined the open source term.

"now sun is pretty much a free and open source licensing company" -- hmm...pretty sweeping statement.

who is the OSI?  an open process and community discussing licensing issues.   when a new license is proposed, they start a conversation about it.  the board/committee meets and decides -- open process with the submitter on ensuring OSD compliance, etc.

current discussion on gplv3 (SugarCRM supporting this license).  chris dibona has some issue with gplv3, not because of some details, but ensuring that something called open source complies with the open source definition.

ross mayfield has a company (social text) who used a mozilla license with some modified clauses...caused some issues with some in the community, a result of a passionate community.  "users are becoming developers" in certain ways...interesting thought.  ross refers to the blog post about 'will the real open source crm please stand up' and how socialtext stopped calling themselves open source until their process was vetted through the community.  social text has the common public attribution license == mozilla+.  michael just announced that this attribution license submitted by social text (CPAL) is approved and the ink is drying as we speak.

micheal suggests we look at the history page of the definition of open source on wikipedia.  he says "terrifying."

in the definition of open source is it about the OSI maintaining its reputation? 

this is some interesting discussion but perhaps way too philisophical for this time of day or my technical dweeb mind ;-).  end of panel -- do we have an idea of who gets to decide?  i'm still confused.

i'm looking forward to bill hilf's discussion during tomorrow morning's general session...stay tuned.

i'm sitting in 's presentation at about building rich internet applications in php.  my expectations will be that this will be talking about ajax and flex (given the nature of the conference).

andi's first talking about the nature of ajax for rich applications in php.  what is cool is that he mentioned the micorosft ajax client library and the codeplex php kit in the talk so far.  he said he likes talking about it because it demonstrates the nature of ajax standards. 

he also talked initially about simplexml as a mechanism for communicating with ajax services.  i used simplexml myself in the learn2asp.net series for php that i helped out with.  i found the microsoft ajax implementation easier to consume even if there might be one more task of implementing the interface.

andi's now showing a chat application build in ajax/php.  it's a basic chat application, but then integrates yahoo keywords services, highlighting keywords in the chat text.  then clicking on the text integrates with flickr to get pictures based on that keyword -- providing an end-to-end seamless service. 

so how was the sample built?  zend framework.  andi walks through the zend framework architecture, highlighting areas of json serialization, etc.  he's talking now about using the model-view-controller (MVC) pattern for developing the chat application and how the zend framework uses this (i.e., routing is one simple example, mapping URI requests to actions).

hmm...this really is more of an MVC using zend framework talk so far...interesting, but not what i expected so far.

one cool function for ajax developers: Zend_Json::encode($yourArray), oooh, even better: Zend_Json::fromXML($response->getBody())

so what will be in zend framework vNext?

    • much faster release cycles (monthly to bi-monthly mini releases; 4 times a year minor releases)
    • ajax-enabled form components in v1.1
    • ajax support in eclipse-based dev tools (javascript editing/debugging, syntax highlighting, toolkit support, code completion)
    • zend component model (server php component architecture; ajax client toolkit, client-side messaging; tooling in dev tools/ides for components)

andi's giving a security talk regarding php next...think i'm headed to somewhere else though.  zend framework looks very useful for php developers.  i'd love to start seeing the mvc implementation of the zend framework run through the fastcgi implementation for IIS and see what php developers think of that!

this year, microsoft is a premier sponsor for oscon alongside intel and zimki.  i'm grateful that microsoft is a sponsor and excited about some of the things we'll be talking about this week.  open source conferences certainly are a different beast compared to microsoft big-dog conferences like PDC/TechEd/etc.  sure there are the little things like the halls being constantly filled with sugar and caffeine...not here at oscon (which is not necessarily a bad thing).

sigh, here's my biggest beef with o'reilly conferences...abusing the keynote.  on two levels.  on the first level is a little bit of obessiveness of accuracy on my part.  to that end let's examine the word keynote (and use the open source wikipedia to help us).  from wikipedia:

...the keynote address or keynote speech is delivered to set the underlying tone and summarize the core message or most important revelation of the event.

okay, given that here's the first beef: there is only one keynote.  sure, yeah, call me anal, etc. -- who cares...just call it a general session.

second beef: it wasn't even a keynote!  the keynote to me should do exactly what the definition states: set the underlying tone and summarize the core message.  this morning's did neither for me.  first there were 4 different talks during the keynote.  first some banter from conference planners, then o'reilly himself talking about web 2.0 and business models, then intel and multi-core parallelism, then transactional memory for concurrency, then an interview with shuttleworth, then Q&A (which IMO never works in a large setting, the ones at MIX proved that for me even more).  okay, so as an attendee, what 'vibe' am i supposed to get?  web 2.0, multi-core, concurrency, all of them?  i think this just takes away from getting attendees excited about the core messaging.

pick one thing, pick a great speaker and get me pumped about the week.  sure you can trickle in multi-core, concurrency, etc. but don't keep switching people out -- i left feeling completely disheveled about what the core message of the open source world is right now -- but i know who the sponsors are of oscon ;-)  okay, i'm off my soapbox now.

anyhow, i really don't have anything to report from the morning keynote.  it did nothing for me.  tim o'reilly demonstrated that the open source world is bigger than we all think, citing the internet itself as a system of contributors.  he also pointed out that there are a hugely successful areas of the web that aren't open source but have massive contributors (google map mashups as an example).  i felt that tim had more to say about open source business models, but his 15 minutes (yep 15 minutes) were up so he had to depart.

oscon is also trying to donate some dough to charities...much like railsconf did earlier this year (railsconf raised US $35K toward charities).  it was hard to hear the website to donate as nathan has an australian(?) accent -- i think it was ossx.org/r but go find yourself an aussie and ask them to say "ossx" over an echoing loudspeaker and see if you can discern it ;-).  i like this idea of contributing to charities though.  nathan said it well when he said the oss communities donate their time to projects, why not some money to other projects that need help (good cause open source that doesn't have code he said).

on to some sessions: going to check out RIA in PHP, 'who gets to decide what open source means' and we'll see what else throughout the day.

i'm also armed with my video camera and going to try to do my best to get some interviews -- will i be successful?  well, i am the underdog at this conference and it might be difficult to get people to agree.  anyone you think i should talk with in the open source community?

after a few inquiries i thought i'd just put together a very simple, very quick demonstration of preparing an existing silverlight 1.0 application for release candidate.  i've posted previously about the preview sdk and breaking changes and this screencast walks through taking two simple samples from the silverlight.net site and prepping them for the release candidate.  you can view the screencast here.

now, i know that every person's silverlight application may vary, but there will be common things you have to do.  this first screencast shows those very common things that likely everyone will have to change.  i'll post up some more conversions of more involved samples shortly.  but for now, this should answer the 'what do i do first?' questions some may have.

these are silverlight 1.0 samples, using visual studio 2005 as the development environment.

HELP: i'm still trying to figure out the best way to deliver media to subscribers (i've posted the screencast on my *cast feed as well), so i've also made an iPod version (m4v) available to anyone.  if anyone has good ideas on enabling a single feed to please everyone without bogging individuals down with formats they don't want/can't use, please let me know -- i'm a noob.

i want to help everyone be successful in preparing your samples/projects for silverlight release candidate.  i keep my contact lines pretty open.  my email and instant messenger information is listed on the contact page of my blog, which i've updated.  i've also added a 'call me' button on the site so that if you want to directly reach out to me, you can.  it connects to me, my cell -- not an office or main line.  call anytime (i can't promise i'll answer at 3am though ;-)).