Notes on What Tim Said to open this year's Emerging Technology Conference, the theme of which is 'remix'..
This talk has really become a bit of a tradition. We just want to highlight a few things that are on our radar as a company. Our core competencies are paying attention to what people like you are noticing. Recently, I’ve been noodling on how design patterns can apply to internet applications. What’s a pattern?
"Each pattern is a three-part rule, which expresses a relation between a certain context, a problem and a solution." Christopher Alexander
The way he does it in pattern language is he describes some situation – a busy city (the context) , a place to get away (a problem), architecture and spaces out back of houses, yards (a solution). So to give you an example: when I was looking for these book covers [indicates slide images] on the websites all they had was these tiny fuzzy gifs. They look awful. People will want to re-use images from the web, like book covers.. therefore be sure to provide alternative, hi-res images for online materials that you expect others to reuse.
Design for participation:
…formulating a couple of the key principles of open source. A successful open source software project consists of “small pieces loosely joined”. Therefore architect your software or service in such a way as to be used easily as a component of a larger system. Keep it modular, document your interfaces, and use a license that doesn’t hinder recombination.User-centred development:
There is great benefit in sharing your development efforts and processes with your users. Therefore release early and often. Set up mechanisms for user feedback, bug reports and patch contribution.Syndicated e-commerce:
On today’s web you no longer need to build or own all the components of your application. Use Amazon clip art for instance. You get paid for that! ISBN.nu: the site creator draws together prices info for books and pulls them all together. With Google's Adsense on top. Glue together the small pieces of others and repeat the design for participation pattern. Don’t close it up...The Perpetual Beta:
When devices and programs are connected to the internet, applications are no longer software artifacts, they’re ongoing services. How long have we been waiting for Longhorn? Whereas Amazon, eBay, Google, they just roll in new features, unsure whether they even want them… therefore don’t package up new features into monolithic releases: rather, fold them in on a regular basis. Eg. Flickr, Google’s often very rich new features, deli.icio.us..
So if you’re not already thinking this way: operate as if you’re in perpetual beta.Users add value to shared data:
The key to competitive advantage in networked applications is the extent to which users augment your data with their own. Therefore architect for participation beyond design and development: invite your users – both implicitly and explicitly – to add value. You can gain a lock-in, and it’s not a hostile lock-in. The classic example is the contrast between Amazon (the search results in the middle block show Most Popular results. User intelligence gathered to give you better results, like Google). But what’s really important is that Amazon is getting more and more distinct data. They’re capturing that data and adding it to their own. Amazon has gotten increasing distance from competitors who started with the same commodity data, books and ISBN numbers and such, e.g. Barnes and Noble dot com. Come, you are helping us to build our site, and there are increasing returns to doing that. In Flickr, tagging photos is a key part of the interface. The users are identifying the categories that the photos come into..Network effects by default:
Only a small percentage of users will go to the trouble of explicitly adding value. According to Clay Shirky, there are three ways of building a database: you pay someone, you get volunteers to do it (Wikipedia) and Napster showed us a third way. You architect a system where users build it through, if you like, their own selfish activities. Aggregate the data as a side effect. Flickr do a lot of best practices in this area. What’s the default setting in Flickr? Public! Open to everyone. They’ve made aggressive defaults as sharing.The Long Tail:
Many of the limiting factors from the physical world are absent on the internet. Therefore use the power of the computer to monetise niches formerly too small to be commercial. Find the long tail in your own – or someone else’s! – business. Google Adsense figured out you could monetise all these too-small-for-usual-advertisers pages..Software above the level of a single device:
The PC is no longer the only access point for networked applications.
Therefore design your application from the get-go to integrate services and share data across desktop, mobile and services. E.g. Yahoo mobile. You can read your mail, chat.. and you need little more than a wap browser. Eg. iSync. On the network, thru dotmac., your data is shared, and synched. You don’t have to think much, it’s just there. iSync has flagged a little but hopefully not for long.Social networking:
Social networks are a by-product of social applications like email, IM, photo sharing, even book buying. This is the area of software development that is so very broken. My email knows Rael is my friend. It knows I talk to him a lot. That spammer who I never reply to? Not a friend. There are a lot of heuristics in our email apps that can be used to fix things. Social networks are a by-product of social applications. We need to bake this stuff into our social applications instead. Architect your application to capture and share the social fabric underlying your application.We have ARSC chat running here and anything tagged- technorati, flickr, delicious – flows right into the chat. http://etech.inroomchat.org/chatlogs .
Data is the next “intel inside”.
Applications are increasingly data-driven. Look at Google Maps: map data is copyright Navteq and TeleAtlas. They’re the intel-inside of these cool apps.
Packets and shipping containers:
As demonstrated by container shipping, IP packages and HTML pages a standard content-agnostic packet is the most effective way to ship both goods and data. Therefore understand the optimum “packet size” for your application domain and devise products that fit it.
Look at our newer collections of books, our Hacks series, Cookbooks and Make magazine: they’re put together as just packets of data. Chunks of small, useful, individually random access data.Remix:
When content is digital it lends itself to being broken down and remixed. Therefore build your business model so as to make your living from the smallest atomic unit. The music industry made its money from the 10 or so crap songs on a CD rather than the one or two really good songs..
Safari-U is our attempt to remix our book content. It lets professors and the like build their own custom textbooks by taking pieces, mixing in their own stuff, or syllabus material - making up what THEY want to teach.So what else?
- Ajax (asynchronous javascript & xml). Gmail & googlemaps.
- Hardware hacks: car PC, networked objects, fabbing, Make mag. Today at 5.30 with Saul Griffith – collaborative hardware hacking.
- Ruby on Rails: Writing realworld apps with joy and less code than most frameworks spend doing xml situps.
- Visualisation: flickr colour wheel, oreilly market research, baby name wiz.
- VOIP: Boot a voip box into a community - it makes very interesting things happen...
- People: Focusing on people who are driving trends that we’re seeing. You lot.
I think there are two things about this post that struck me
1)It's true that people need to remember that they have to develop for more than one single device. Often this is forgotten. The mobile devices are especially becoming more and more popular, and I have a suspicion that the iPhone will launch mobile browsing through the window much like the iPod did for mp3 music.
2)The comments on social networking were not only interesting, but something worth considering when it comes to building applications. E-mail can benefit by looking at some of the social networking positives and building them in. I'm thinking of a kind of outlook that takes note of your friends and is able to filter out spam and email out easier this way.
Interesting post, thanks!
Posted by: Chainsaw | July 16, 2007 at 17:30