Tuesday, April 22, 2008

Building the next big thing

I decided to drop out of Scott Berkun's Innovation session to catch the second half of Dion Hinchcliffe's session on "Building Next Generation Web 2.0 Applications".
One challenge of new distribution models is that you lose control over scalability. Users drive demand in a way you can't predict. Twitter has over 90% of their traffic coming through their API.
eBay generate $1.5B of their $7B revenue via their API.
Some of the trends that are emerging are:
  • Portable content is a growing trend. Valuable content may not be downloadable but is highly portable.
  • Users are creating mashups by virtue of their combining modular web parts in to a page of their choice.
Wow! I Just saw Dion refer to the Atomization of content, a term I coined last year.
Open APIs are a critical part of new distribution models. In terms of popularity there are:
  • RSS
  • REST
  • JSON
  • SOAP
RSS is  a one way protocol but ATOM, since it has been ratified as an international standard is fast growing and beats RSS by offering 2-way communication.
REST is very popular on the open web. 80% of Amazon customers use the REST interface. REST (HTTP GET, PUT, POST, DELETE) fits naturally in to the Web infrastructure. ATOM is fully REST compliant. SOAP also falls in to the same category - it is just harder to use, as the Amazon experience has demonstrated. 
This is one of the key learnings of the web - Simple is Best.
Widgets
Just as Niall Kennedy indicated in his workshop - Gadgets/Widgets are enormously popular. Google has been a big promoter of gadgets or widgets. Their iGoogle personalized home page has over 47,000 gadgets that have been developed. Even AOL's MyAOL personalized home page supports Googles Gadget standard. Widgetbox is a great source for Widgets - they have served up over 2.5B, yes Billion) widgets across 567,000 domains.
Google is building OpenSocial on top of Google Gadgets. The underlying protocol is Atom's publishing protocol. It is a simple open standard. 
One extremely interesting development is the integration between Facebook and Amazon. You can now design a Facebook application and host it on Amazon's Elastic Compute Cloud platform. This provides instant scalability.
Mashups
An application or web site created from pre-existing content and functions.
The innovation comes in the assembly with a focus on re-use rather than creation from scratch. HousingMaps.com is cited as the original mashup example, created in a single weekend using Craigslist RSS feeds and Google Maps.
Some emerging standards for Mashups include:
Interestingly JackBe's Presto and Yahoo Pipes were given as examples of Mashup tools. Presto was voted by Infoworld as the leading Enterprise Mashup Tool.
Rich User Experiences have been driven by the acceptance of AJAX in the browser. Three major vendors are entering this sector:
  • Microsoft - Silverlight
  • Adobe - Flex/AIR
  • Sun - JaxaFX
Asynchronous JavaScript and XML (AJAX) has mindshare because it is not controlled by a vendor. AJAX increases the complexity of the application in your browser. The biggest weakness of AJAX is the lack of support for rich media. Rich media requires plug-ins such as Flash or Silverlight.
Microsoft's Silverlight can support compiled language support, including Javascript. It is: 
  • A cross-platform application. 
  • Has multiple language support
  • Has rich media support
  • Has XAML support
  • Targeted at Rich Media Applications 
Sun's JavaFX is a declarative Web Application that leverage the Java ecosystem. It is:
  • Optimized for mobile
  • Declarative Rich Internet Application platform
  • JavaFX Script - very similar to other scripting languages
  • Targetted for set-top boxes, Blu-Ray players and other devices
  • Leverages the Java platform
  • Makes Swing easier to use
Adobe  Flex and AIR:
  • Built on Flash platform
  • Adobe's Flash has 99% penetration across internet-connected platforms.
  • Good development tool support including Eclipse
  • Publish and subscribe capabilities
  • Real-time data push abilities
Challenges with RIA:
  • Searchability of content
  • No page reloads can impact page views and hence monetization
  • Accessibility challenges
Development platform developments, issues and challenges:
  • Ease of development seems to lead to run-time overhead - but development is the real cost and compute performance keeps rising.
  • IBM identified that Ruby on Rails offers 10-20x better development productivity.
  • CakePHP is an Open Source web application that is similar to Ruby on Rails
  • Groovy and Grails are similar to Ruby on Rails for the Java development community. 
  • Groovy is a dynamic language for the Java Virtual Machine
  • Platform-as-a-Service is evolving rapidly. Google just entered the space with Google App Engine 
What is the bottom line in developing Web 2.0 Applications?
As I blogged recently, The best lesson is "Get to know your customers."
Leverage every strength you can find from anywhere you can find it to beat the competition on the web.
Be pragmatic and remember "Simple is Best."