Sunday, October 7, 2007

Notes From the Field: Future of Web Apps Conference

[Richard] The Future of Web Apps conference was held again this week in London. John O'Shea and Fergus Burns of nooked were there (a company I am an advisor to) and John offered up some comprehensive notes for Read/WriteWeb. I read through them and decided to post 'as is', because there are plenty of nuggets there - and I'd hate to edit out any of the good stuff! So here you go, John's notes from FOWA in their unedited glory:

[John] First up, its worth noting that there were two tracks/sages - developer and entrepreneur stages so I only saw half the talks (if even, I skipped a few while in the exhibit hall)


"High Performance Websites" - Steve Souders Steve is Chief Performance Yahoo! at, well Yahoo!.  He has worked extensively on improving the page load performance of various Yahoo 'properties' including the main search engine homepage.  His talk centered primarily on the topics covered in his new book which covers how following his 14 different 'rules' will improve the page load times, leading to a better user experience.  His book concentrates on optimizing the front end HTML/script/resource loading and layout.  His point is that big gains can be made by optimizing how pages are generated for and loaded/parsed by browsers.  Other, system level optimizations of backend application server/database layers are equally valid but can take weeks or months.

Steve demoed YSlow, an extension to the popular Firebug web page debugging plugin that measures page load performance, grading it from A(good) to E(bad) under the 14 different rules (understanding expires headers/caching, gzip, reducing no of http request, script locations within the page, etc).  He presented some interesting measurements of page load times for some of the top 10 US websites page - suffice to say CNN, Amazon & co were rated poorly while came out with an A.

"How to take your Apps Offline" - Dion Almaer

Dion works in the Google Developer Porgrams group (as well as doing, primarily on Google Gears.  Lots of architecture slides on the 3 components - Local Server, Database, WorkerPool, nothing new there.  There were two areas that he was reluctant to be drawn on:

  • mobile support.  Questions asking which mobile devices would get Gears support met with a "expect announcements from handset vendors in the near future, not just iPhone" - apparently many are working on integrations.  Said that browsers based on opera/gecko (firefox core) are prime candidates
  • synchronization.  Before he hit this topic he mentioned that Google have developed "Cross Origin API" support in the new Gears Worker Pool implementation, allowing Gears Worker based JS to talk to servers *outside the origin server domain*.  This is apparently safe as the workers have no access to the page DOM or browser window.  He then had a very vague reference to synchronization in one of his last slides that also had a screencap of iSync on it and I suspect that is strongly tied to this Cross Origin API support in workers - sync with lots of sites would presumably need this feature.  Suspect Google will use this to do sync between their properties (calendar, gmail address book etc) and other sites/applications?

Also worth noting Google have contributed a free text search extension to SQLite (the database used by Google Gears) back to the SQLite community.

"The Future Of Funding" - Dan Waterhouse, 3i

Mostly VC funding oriented, standard enough stuff.

"The Architecture Behind" - Matt Mullenweg,

Matt presented "Matts Magic Mini Cluster" a hypothetical configuration of 7 boxes (2 load balancers, 3 web servers, 2 db hosts) that cost about $1500 per month on Layered Technologies.  Referred to it as a "mini me" version of the back end, minus some custom pieces they have developed/integrated themselves (e.g. CDN). 

Not too much else earth shattering in this one, though he did admit that he doesn't like ads (and runs adblock in his Firefox) and explained that started experimenting running ads on their site by first targeting them by User-Agent, primarily at the AOL Browser users who are far more likely to click on ads apparently.  Says he doesn't want 'core users' (bloggers) to ever see ads to show on pages, rather they are mostly shown when someone arrives via search engine referrer...

Taking Your Application Mobile - Heidi Pollock, BluePulse

Heidi seems to be a veteran of this space so her talk was keenly attended, after all mobile is one of the next big things.  Unfortunately her message was a scary one - lots of problems getting pages to render on what appears to be about 1300+ browser/handset combinations means developing XHTML Mobile content is a tough job.  She did cite some interesting experiences that the vast majority of users who use mobile internet do not have high end phones - PDAs, iPhones or even Series 60 handsets.  Instead she is amazed that most are using handsets that have an effective pixel width of 176 pixels - 30 characters.   This introduces all sorts of restrictions with even internationalization having to be considered early (to make sure navigation links will still fit!)

She also made one key recommendation - never try scale an existing site onto a mobile device.   It just won't work in practice.  Instead she suggested identifying which pieces of the main site would be used on mobile and just develop pages for them.

Cross Platform User Interfaces - John Resig, Mozilla Corp

John is one of the javascript developers working at Mozilla, mainly on the Firefox javascript runtime.  He started with an overview of the future of firefox, highlighting a couple of enhancements:

  • SVG support.  He mentioned that Joost is built on the Mozilla javascript runtime, with most of the Joost UI generated by SVG.  Lots of enhancements coming, including 3D web page canvases (though I don't know how useful that would be!)
  • Offline Support.  He mentioned three offline development projects that are running in parallel:
    • Mozilla are working on there own (which ties with their HTML 5 support which is tracking the HTML 5 working groups effort)
    • Google Gears (see above)
    • WHATWG are doing some work in this area.
      His hope is that they'll be able to eventually coalesce these efforts, with the browser providing the following features that things like Google Gears can reuse
  • Offline/Online detection
  • File Upload Queuing
  • File Caching
  • Cookies++ (Global Storage).  This is a basically a larger cookie repository within the browser, that can store multiple name/value pairs for each site (HashMap)
  • Some 'SQLite-like stuff'.  Basically they see the value in having a local database to store offline content (rather than using filesystem).  Google Gears uses SQLite for this, he suggested that maybe eventually Google would be able to build Gears on this instead
  • XMLHttpRequest++
    • Cross Domain XMLHttpRequest (in Firefox 3)
  • JSON (De-)Serialization (object_to_JSONString() and string.parseJSON() type APIs)
  • Desktop Integration.  This is basically a way for a user to take a web application URL and create a desktop shortcut just for that URL that will launch a completely separate Firefox runtime just for that application.  Basically the thinking here is to allow that web application to exist without the Firefox browser menu/toolbars and also to give it a OS process of its own to work in.  The underlying technology was referred to as XULRunner
John then moved onto JavaScript support in Firefox:
  • Firefox 3 will have JavaScript 1.8 support, with FF4(?) aiming to have Javascript 2.0 support
  • Three new "Monkeys".  These monkeys are codenames for three new components that will integrate the Adobe 'Tamarin' Javascript runtime into Firefox (Adobe donated this to Mozilla a while back).  The three monkeys are for different purposes:
  • 'ActionMonkey' will integrate Tamarin into SpiderMonkey for FF 4 (Javascript 2.0)
  • 'ScreamingMonkey' will 'force' Tamarin into Internet Explorer ('kicking and screaming')! Not really Firefox related but the project will be run by Mozilla
  • 'IronMonkey' will bring Pythin and Ruby support to the Tamarin runtime.  Basically the goal seems to be to turn Tamarin into a multi-scripting-language runtime so rather than writing JS in web pages they developer could write python or ruby code...

He also mentioned that Server Side Javascript is experiencing something of a resurgence with some web application developers using Helma (as an web app dev framework) and Phobos.  Also mentioned other applications (not web apps) using SpiderMonkey and Rhino (their Java based JS runtime).  Rhino will apparently soon support JS 1.7 and he mentioned the idea of bringing the page DOM into the server (whatever that means!!!)

"Lessons Learned from Launching Web Apps"  - Kevin Rose

Kevin gave an entertaining talk on the ins and outs of launching 3 startups in 4 years.  There really wasn't anything revealing in his talk, though he did express some regret over how Digg handled the whole HD-DVD key DCMA C&D notice and their subsequent u turn because of the community reaction.  He mentioned that he'd recommend better visibility to the user community whenever handling issues like this in the future, referring the community to ChillingEffect to help the community understand why they sometimes have to take content down.

Diggnation - LIVE

Wednesday evening saw the live shooting of an episode of Diggnation, in front of an absolutely packed hall of well over 500 geeks, most with free drink on board - apparently quite a few people came out to the ExCeL center just to watch this and it proved to be their biggest live audience ever. Alex and Kevin got suitably drunk while presenting - in fact they may have been drunk before they even got on stage!  I'm not sure it'll all make it onto their site unedited as some of the discussion would probably prove offensive to some but it is definitely one to keep an eye out for, even if you don't watch Diggnation regularly.  The buildup and reaction from the crowd was, to put in their terms, 'awesome'.  Those guys have a cult-ish fanbase though I don't think I 'get it' but it was certainly an experience watching the crowd, some of whom were waving their arms in the air while holding their open MacBooks!     

That was followed by the 'Carsonified' party in the local bar, hosted by Ryan to promote the rebranding of Carson Systems as 'Carsonified'.  That ended up going on until the wee hours.


Web Apps Dos and Don'ts - Leah Culver, Pownce

Leah just did a quick overview of getting Pownce up and running with a small team (4-5 people).  She mentioned that they were always 'self funding' and only spend in the 'tens of thousands' in completing the initial site using Python & Django.  She did make references to the emerging O-Auth standard, sounds like they will be using it.

The Story Behind the Facebook Platform - Dave Morin (Platform Manager @ Facebook)

Dave gave a pretty high level overview of the platform, reiterating that Facebook view themselves as a utility/technology company - very Google sounding!  Some interesting stats:

  • 60 billion page views per month
  • 50% daily return rate for users (phenomenal)
  • 1500 page views per user per month
  • 80% of users have added at least 1 application

Some tough questions from the audience at the end of the talk that he couldn't really give straight answers to:

  • Can Facebook do anything to stop the big FB app vendors from cloning apps developed by others that appear to be gaining traction? Answer was they would continue to innovate.
  • Would Facebook ever allow application vendors to ask the user for permission to get details from their profile?  The use case was for billing/shipping if the FB user has just bought something in the application. Answer was they would continue to innovate.
  • No details on how Facebook scaled their system so quickly ('We have a lot of servers')
  • No details on the future.  Ironically Dave actually said they don't like talking about the future (which kind of left me wondering why he was talking at the Future of Web Apps conference!)

Short on Cycles, Long on Storage - Simon Wardley

Brilliant presentation by Simon on "Competitive Utility Markets" and how utility computing may move in that direction as barriers to switching utilities are slowly removed (through efforts like OVF - Open VM Format).  Simon got through what looked like several hundred slides while talking (I'm not kidding!).  Best slide deck at the show, by a mile!

Practical Semantic Web - Jon Aizen & Eran Shir, Dapper

This was primarily a talk on how the web is evolving towards a rich semantic web through use of Feeds (with GData, GeoData extensions), REST, Ajax and Microformats.  Their focus was on Dapper, calling it a "user generated semantic web".  Interesting talk, there were some skeptics in the audience at the end that voiced concerns about how fragile Dapper might be (if the HTML pages it is pulls content from change structure)

Smart Web App Integration With Third Party Sites & Services - Matt Biddulph, Dopplr

The popular travel site Dopplr is built using Ruby On Rails.  Matt covered 5 areas he felt were worth talking about

  1. Matts aim is that users should be able to get their data without using the site so he placed heavy emphasis on producing a rich RSS feed for each user, with embedded GData (+ hCalendar microformat) calendar data, GeoRSS cordinates etc.
  2. User Identity.  He covered the current 'issue' of verifying identify when trying to match identities from different social sites.  He mentioned that he is using Mofo and hpricot to do screen scraping when absolutely necessary to try match the users friends from various social network sites.  He has opensourced his code at as he figured others would go through the same pain.  He also mentioned that Dopplr will support OpenID (multiple per account in fact)
  3. Delegate Authority.  Another one of the 'current issues' is how to manage delegating authority to another site.  The big players all have their own APIs for this - Yahoo! BBAuth, Google AuthSub, Flickr Auth, AOL OpenAuth etc).  He's looking forward to O-Auth
  4. Widgets.  Matt demoed a few Doppler widgets - a facebook application that he did in a day and some web page sidebar widgets.
  5. Utility Computing. Although not using them in production yet he could see the value in using EC2 for hosting his apps, and plans to do so - I think he mentioned they had it 'in the lab'.

An Insight into FireEagle - Tom Coates, Yahoo!

FireEagle is a code name for a geo tagging platform that yahoo will shortly be making available via lots of free APIs.  The general idea is to provide a single place for various devices to report your geo location via APIs (cell phones s cell ids, GMS units reporting lat/long coordinates etc).  Then 3rd party applications can be built to use this data in interesting ways - route finding, social networking etc, all controlled by delegated authorization via the FireEagle web UI by the user.  Obviously here are all sorts of privacy concerns surrounding this so Tom went through how they plan to help with some of the potential issues:

  • Allowing the user to view and expunge all data - logs etc
  • Potentially using wasabi-type encryption within FireEagle so that even Yahoo! employees couldn't misuse the data
  • A "Hide Me!' control
  • A "Private Places" feature that allows the user to mark regions within which the FireEagle platform should not collect any geo data from their devices (even if it is reported by the users devices)
  • Periodic checks with the user (via email) to make sure they havn't forgotten they have enabled the service

Launch Late to Iterate Often - Dick Costolo, Feedburner

Unfortunately Dick only had 1/2 hour for his talk which was a shame as he was delivering a great pep talk on how to plan for the first year or two of a startups existance.  Some notes that I gathered (he was going very fast!)

  • Dealing with VCs who ask the "why won't google/MS eat your lunch?' question with a response that focusses on speed, flexibility, agility and single minded focus of small startup company
  • Don't hire sales/marketing/bus dev folks too soon.   They'll want something to sell/market/develop which will interrupt the critical early development iterations
  • Don't rush out a v1.0 in order to get 'something' out to market.  He highlighted that doing so only forces you to maintain that version (and its customer base) while trying to fix it and devlop the features that should have been in the 1.0.  Better to wait...
  • Providing APIs allows the market to tell you what business model your company should have.  Don't procrastinate on developing pricing plans too early, go with something simple/free and change it later.  Good APIs also create barriers to entry for later competitors.
  • Be competitive on your own merits, not on how bad the competition is.  Customers like this, projects a better image from the company.
  • Make sure your website has a bit of personality, a voice.  Helps user relax a bit when using it.  Mentioned the silly "Here are your dripping wet feeds" type banner that appear in feedburner pages.
  • Don't kid yourself when developing revenue plans.
  • Don't worry about exit strategy - the market ultimately controls this, not you.
  • VC Term Sheets - Study the lingo, don't accept 'standard' vc term sheets as they don't really exist.

All in all, very sound advice.

Wrap Up Panel Discussion

The final panel was a low key affair, i suspect because many of the delegates were dripping away - it was past 6pm.

See also John O'Shea's blog.

No comments: