ETech: Tim O'Reilly Talk
Tim O'Reilly spoke this morning on "internet application design patterns". Here are my notes:
- Design for participation. "Small pieces loosely joined" -- design your software to be modular, componentized, with well documented interfaces, and a license that does not hinder recombination.
- User-centered development. Release early and often. Get user feedback. Create mechanisms to encourage your most active users to become more active.
- The Perpetual Beta. Apps are ongoing services: don't pack new features into monolithic releases, fold them in on a regular basis. Engage your users as realtime testers and develop your app in such a way as to know how new features are being used.
- Users add value to shared data. A key to competitive advantage in networked apps is the extent to which users augment your data with their own. Architect for participation. Example: Amazon vs. B&N, Flickr.
- Network effects by default. Only a small # of users will take the time to explicitly add value. So, make participation the default, aggregating user data as a side-effect of their using your application. i.e. Flickr's default settings after uploading a photo--> everything is public by default.
- Long Tail: many constraints in physical world are absent in virtual world. Use power of computer to monetize niches previously too small to be commercial.
- Software above level of a single device: PC no longer only device to access data. Design your apps to access data across multiple devices (mobile, blackberry, PC, etc.)
- Social Networking: by-product of social apps like email, IM, photo sharing, book buying. Architect your app to capture and share the social fabric underlying your app, rather than artificially constructing another. i.e. Etech attention stream
- Data is the next "Intel Inside". Apps are increasingly data-driven. Owning a hard-to-recreate source of data may provide a source of competitive advantage.
- Packets and shipping containers. A content agnostic packet is the most effective way to ship both goods and data. Understand the optimum "packet size" for your app domain and devise products that fit it.
- Remix: when content is digital, it lends itself to being broken down and remixed. Build your business model so as to make your living from the smallest atomic unit. e.g. SafariU
Also, a quote from George Bernard Shaw:
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.