Posts tagged ‘yslow’

Future of web apps

Spent the last few days at the Future of Web Apps conference, and, as with the previous one in February, loads of excellent presentations and lots of food for thought. Also managed to wrangle myself a place in the workshop sessions, which were well worth it. Here were the highlights for me…

Steve Souders (Yahoo) on high performance websites, excellent tips on how to improve the response time in your web app. This was all focussed on improving the speed of the front end, rather than the more usual approach of improving backend speed (with database optimisation etc) – but as he demonstrated, the gains are much more significant when applied to the front end. Steve also gave a workshop on the same subject – his presentation slides give all the info you need – rather than me repeating it all here. Steve’s team have built a plugin for FireBug, YSlow, making it easy to show how your web app scores against his 14 rules (see the presentation for details of these rules). The only one of these rules I would question, for all but the biggest of web sites/apps, is the Content Delivery Network (CDN). Out of interest, I ran YSlow against our OpenLearn site and there is definitely some scope for improvement.

Dion Almaer (Google) on Google Gears, this was broadly the same as I’d heard at the Google Developer Day and I’m still not totally convinced it will get huge take-up. The reason being that I think it’s only really relevant for a small slice of web apps – eg for salesmen-out-on-the-road apps – or maybe I’m being unfair, being able to use GoogleDocs when not online would be good. I am quite interested in the WorkerPool with thread-like JavaScript, and would be fantastic if this could be implemented in JavaScript generally. I should probably mention that I do actually like the fact I’m not always connected to the web!

Robin Christopherson (AbilityNet) – I think this is the first time I’ve been to a mainstream web development conference where there’s been a presentation highlighting how to develop for visually impaired users and I’m sure (hoping!) his demo of screen reader software (especially the reading of the image names on the Amazon tabs) was an eye-opener (excuse the pun).

Heidi Pollock (BluePulse) on the mobile web and all the associated complications and headaches due to the sheer number of different web browsers used on different phones and the screen size you can actually work with. Before her presentation I would have had no idea where to start designing an app for mobile phone, now I do, but whether I want to cope with all those headaches is another matter!

John Resig (JQuery) gave an insight on the future of JavaScript (v2). Though I have a voice in the back of my head telling me that it’s just converging with Java, for example, optionally giving variables types and being able to import packages of classes. However, ignoring my fears that this is reinventing Java, it will certainly be good to see some more ‘real-programming’ type principles applied to JavaScript. I did learn Java before JavaScript, so maybe I’m biased anyway. Another thing John mentioned and is applicable to the work I was looking at alerting user to a new MSG message with a beep, is the implementation of <video/> and <audio/> tags in HTML 5.

Joe Walker (DWR) on Comet and attempting to get over the hurdle of the fact that the web is a pull technology. This is something we had to address with MSG, being able to push new message notifications and presence state changes out to the user. We achieved this by use long running connections, only returning if some needs pushing out to the client, or after around 45 seconds. So I’ll need to look into whether comet can give us a better/different approach.

Tom Coates (Yahoo) showing FireEagle (though it’ll have a different name on release), a way of sharing your location, so relevant to me with the MSG – Google Maps integration. Essentially it provides a service that applications and devices can use to either write or read your current location. So you could have your mobile phone automatically update where you are now (using GPS) and have this fed out to Twitter. This could be a really good one for us to look at for MSG and auto updating your location rather than relying on someone remembering to go update their location. As Tom pointed out, there are loads of potential privacy issues/concerns (“Burglary 2.0″ was mentioned during the Q&A), but they seem to have done a really good job of addressing and anticipating these.

And last, but by no means least, Michael Kowolski’s (Kitsite) workshop on Interface Design for Web Apps, reminding us just how critical a good user interface is – and he wasn’t just talking about the graphical design. Everything he mentioned ought to be common-sense, obvious and in-built to web app developers/designers, but to me it highlighted just how often and easily it gets overlooked. Creating a easy-to-use and intuitive interface actually requires quite a lot of thought and planning, the fact that the user doesn’t have to learn the interface is a *good thing*.
It did make me think that Moodle has a way to go in this respect, I know that Moodle has ‘themes’, but essentially this is just changing the CSS and a few graphics, and that’s not really changing the interface. Michael is going to post the presentation up soon (here), and it’ll be a good one to look through again.

All in all, a thought provoking few days, and makes me wish I had far more time to investigate in detail all I’ve found out. The final thing I’ve learned is that I ought to get into the habit of blogging live, rather than leaving it till I get home and trying to remember all the excellent stuff I found out about! (or take better notes…)