In the afternoon session today, I’m going to learn what it’ll take to build the next generation of apps. I’m curious to see what they’ve got to say.

Presenter: Dion Hinchcliffe

  • Room is about 90% full, compared to previous session
  • Poll shows 45% tech architect/dev, 45% product management, 10% other

I fear that this might be more beginner than I thought. This seems to be covering a lot of existing Web 2.0. I hope it’s just to set common background.

  • Need to look into social graphing as a metrics method
  • Badges are becoming most popular form of widgets (e.g. Flickr, but I have no idea what this is, need to find an example)
  • W3C trying to define the Web Widget as a standard, likely to be undermined by the industry who will not wait for them to get it all done

Yep. Basic information, mostly. I gather a lot of people here are fairly new to all this. Not as bad as the introductory SES stuff we had, but still…

  • Some service providers have rate limits (e.g. Google Maps) after which you have to pay; Amazon requires it from the get-go
  • Basing yourself on other services has drawbacks:
    • Weakest link syndrome (e.g. Amazon S3 outage)
    • Limited economy of scale due to dependency on others
    • Requires as good legal skills as dev skills to handle SLA issues
  • Top APIs available on ProgrammableWeb.com (which is partnered with IBM)
  • Twitter built on Amazon tools

Okay, minor rant: Woman just in front of me asked if I “had to do all that typing”. For crying out loud, lady, this is a Web 2.0 technology conference, not a press conference for Fergie. SUCK IT UP!! I can’t help it if I learned to type on a classic clunky IBM keyboard and have had hard keystrokes ever since.

  • Need to look at Yahoo! Geocoding as an alternative for Google’s
  • Platform solutions tend to beat an application for ROI and customer support every time
  • Amazon EC2 allows rapid roll out of virtualised servers
    • Second level Amazon apps (based on Amazon services): Jungle Disk, Digital Chalk
  • There is no proven ROI on social networking apps (e.g. Facebook app)
  • Numbers in XML data harder to process, increases parsing time — use JSON for numeric data instead
  • Dion believes REST is better than SOAP (mostly due to ease in parsing REST data)
  • Google Gadgets
    • 47k widgets available, all through iGoogle (and outside use?)
    • OpenSocial based on Google Gadgets
  • WidgetBox
    • 50k+ widgets
    • 2.5m serves of the widgets

Lots of discussion on mashups. A lot of “we know that already” info here. One interesting piece: Facebook and Amazon have an interesting partnership that allows someone to create a Facebook app, host it through Amazon, and rollout a grid-served application with no infrastructure for little cost.

  • Major APIs (in order)
    • RSS
    • REST
    • JSON
    • SOAP
    • ATOM is upcoming but not in the top 4 (ATOM is REST-compliant, so might overtake SOAP before long)

Long section on AJAX. Sorry, I mean Ajax. Nothing we haven’t done at least a dozen times here.

  • Dion a big proponent of Silverlight, but seems to be missing some details
    • Microsoft rep told us Silverlight could not yet handle 3D outside of Windows due to rendering engine; similar note about HD video
    • Either doesn’t know a lot about Flash, or is unwilling to draw comparisons for some reason — much of what he claims as awesome about Silverlight is already in Flash
    • Agree that Flash needs to go Open Source to eliminate the last part of the RIA puzzle (only thing that’s still wholly proprietary)
  • JavaFX is Sun’s RIA tool (never heard of it until now); seems to be geared mostly to mobile
    • Scripted, not compiled
    • Does not replace Swing, but makes it easier to develop
    • Can be used to create arbitrarily large apps

A note on RIA and metrics: Using asynchronous apps kill the pageviews metric. (Yahoo! got burned for this a while back.) Need to make sure that we account for this by tagging sub-apps and/or data.

  • New developments
    • New tools are great, but you lose performance with greater abstraction (e.g. Ruby)
    • Ruby on Rails is great, runs Twitter; massive performance drawback
      • IBM has proved 10-20x savings in initial dev costs over traditional tech, like Java
    • CakePHP is a framework written in PHP, modelled after Ruby on Rails (but not a port)
    • Groovy & Grails is a Ruby on Rails-like framework for Java
      • Does not have performance drawbacks of Ruby on Rails
      • Could be a hot one to keep an eye on, and run tests with
    • Platform As A Service (PaaS)
      • Google App Engine
      • Amazon AWS, EC2 (Elastic Server on Demand)
      • Heroku
  • Keep sight of the goals
    • Watch your competition (don’t replicate what they did, you need to outdo them)
    • Know your customers
    • Use the right tools for the right reasons
    • “This is an arms race”