okay, now in a session for php developers -- or maybe rails developers...don't know yet.

this session is from simon minnee from silverstripe, a cms solution provider.  simon quickly adds this disclaimer:

this presentation is not intended to be a language war.  he admits that he is a novice with regard to Rails versus what he's presenting, etc.  de admits, in fact, that his understanding is naive.  he says "i just thought the title would be edgy.  forgive me."

hmm...clever simon, clever -- got me in the door.

he talks about their choice using PHP over Rails:

PHP Rails
gets the job done productive framework with lots of cool stuff
language people love to hate very trendy
variety of hosting options harder to host
good NZ gov't acceptance too new for gov't

simon talks first about the use of the PHP5 __call() method...essentially enabling the creation of 'magic methods' that are implicitly defined.  i'm not really getting this as i can't read the code from afar and he's covering it pretty fast.  apparently the decks are available at http://silverstripe.com/rails-envy

now we're talking aggregation -- adding versioning to DataObject (as an example -- admittedly criminally oversimplified).

okay, 20 minutes later and he's done with his talk...um, wow.  no envy elimination here.  simon mentioned some stuff with defineMethods functions that i think if i had a deeper understanding of the benefits...i'm not sure this session did a service to other merits of PHP5.

i'm trying to reach out to the author of silverlight tetris.  i don't speak spanish, but tried to post a note on the contact page, but got an error.  if anyone happens to know jose, please have him contact me (in english as i don't speak spanish).

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!