Emergence is a strong, albeit sometimes unpredictable force. The past two weeks have been full of some interesting conversations/observations. Google bought JotSpot. I was reminded yet again that Google Calendar is a great product, Gmail is a strange one and Docs and Spreadsheet are neither here nor there. At MAX I saw a demo of Nimbus, a Flash-based word processor by Virtual Ubiquity. I spent hours discussing social infrastructure with Marc Canter of PeopleAggregator, Tony Perkins of AlwaysOn/GoingOn and others. I played some more with Ning. Greg Olsen showed me a demo of Coghead. I talked to yet another stealthy Enterprise 2.0 startup. Peter O’Kelly and I pondered the relationship between Wikis and enterprise systems.
Out of that, a few ideas have emerged:
- “As simple as possible, but no simpler.” Einstein is right, but the simple shouldn’t mean simplistic. JotSpot’s spreadsheet didn’t do formulas. Is that a spreadsheet or a table then? The definition of simple is therefore tied to implied purpose and audience. The larger the audience, the broader the potential purpose and the greater the tension between simplicity and capability. That’s why over the years MS Office apps have become fatware. What will happen with the Google apps in three years?
- Multi-level, multi-directional extensibility. An extension of the above idea is that extensibility needs to come on multiple levels. I’m reminded of Adam Bosworth talking about his experience with Salesforce.com. Their expectations on where they’d need to be extensible and the reality of the extensibility their business demanded ended up being quite different. Salesforce.com learned the hard way.(Worth watching: a talk by Adam on how software should evolve.) In addition to the technical view of extensibility (where in the SW stack are the extensibility points) there needs to be a business view of extensibility–who does it, when and how. For example, in Ning, developers can build new types of apps while users can clone & customize existing apps.
- Consistency matters. I use Gmail but I still cannot get used to the interface. It’s great for some tasks but a pain for many others. More importantly, it’s like nothing else I’ve used. I really like the navigation simplicity of Coghead across all kinds of apps you can build.
- Integration matters. Users should not have to suffer because different software teams built the different products they are using. Integration/sharing/composability should be built into platforms. Both Ning and Coghead have done a great job here. Cross-codebase integration should come through open APIs and rich semantics that are built in right into the applications or are teased out as user-generated meta-data.
- Structured/unstructured convergence. Much of Web 2.0 has been about unstructured content combined with meta-data that enables emergent structure, be that tag clouds, social networks, etc. Even the smallest business thrives on structured data: customer contacts, orders, invoices, etc. Finding a way to imbue structured data interactions with the nearly seamless collaborative nature of Web 2.0 technologies is a very exciting area of me. The alternative is not great. For example, I know of a product manager who loves his team’s Wiki but has to spend hours at key points in the release cycle pulling data out of the Wiki and into a spreadsheet. Putting a spreadsheet widget into the Wiki won’t solve his problems. Being able to drive some skeleton Wiki structure based on external data (his PRD) and being able to pull data out of the Wiki pages (taggable fields or some other type of abstraction) might.