So I’ve been messing around with various different widget frameworks on and off over the last few months as preparation for a workshop I’m going to be involved with. I started out with Yahoo Widgets (née Konfabulator) mainly because the examples that I’d seen looked the prettiest. Although perhaps not strictly widgets, I’ve also started to look at facebook applications, but that’s a subject for another day. My favoured widget framework at the moment is Google Gadgets for a number of reasons:
- The barrier to entry is low because it’s pretty much standard javascript and html with an xml descriptor.
- You write a gadget once and can view it in iGoogle, GoogleDesktop, Blogger or in an iframe embedded in any webpage.
- As with all Google APIs the documentation is great and there’s a lot of developer support.
- It plays nicely with other Google APIs.
- …finally, if you’re going to back one widget framework, who would bet against Google?
I find the best way to learn is just to get stuck in so I created a couple of simple examples, one to display a user’s timeline from twitter and another to display recent announcements made on another site I wrote, Tell’M. They both follow very similar principles: pull down an rss feed, parse it for interesting fields and render the display. Both also have a few user preferences that can be set to customise the feed.
My interest had moved on to other things recently but this week I started to look at gadgets again because the workshop is coming up soon. I found my two gadgets in the google directory and was disheartened to see that my twitter gadget had received two negative comments – one because of a security restriction of ajax (cross-domain policy) and twitter (which will only accept a POST to update status so I can’t use script injection). After a bit more digging around I found that Google now display average weekly page views for gadgets and my twitter gadget is receiving 14,546 page views per week! I guess it’s easy for a developer to do something just to satisfy their own curiosity and think that nobody else will ever use it. I’ve now added Google Analytics to both my gadgets just to check that all those page view are not generated by me!
The night before the conference as I packed my bag with camera, pen drive, usb cables and all the usual tech paraphernalia, I debated whether to take my work laptop or my personal laptop. Ok, so neither run MacOS, but I figured my personal laptop would probably give me more geek cred, and more importantly it’s lighter, quicker to boot and runs faster. In the end though I decided to take the work laptop because a couple of days earlier a project I have been involved with for the past few months went live so I decided it would be useful to have access to the corporate LAN and all my code, just in case there were any problems. The problem with taking the work laptop on the road is that its over-protective security policy will only give me web access if I connect via a VPN connection back into the work network. This means that to get online I have to connect to WiFi, log on (if it’s Openzone) and then log on to the VPN, so quickly checking email takes forever! To make matters worse, if I’m on a flaky connection that drops out even for a fraction of a second, the VPN will disconnect and I have to start again. At FoWA there was free WiFi throughout the conference hall which was great, except that every time I logged in to the VPN it would throw me off as soon as it connected. Not sure if this was the WiFi hotspot, or my work network security. Either way it was a pain and meant that the only way I could get online was to sit outside the conference during the breaks and log on to an Openzone hotspot.
Lesson learned. In future I’ll take my own laptop.
One of the most interesting presentations that I attended at FoWA was by Steve Souders (High Performance Yahoo!). Steve described the work that his team have done at Yahoo! to increase page load performance which led to the (perhaps surprising) discovery that 80-90% of page load times is generally consumed by front-end activity rather than back-end business logic, database access etc. By “front-end activity” Steve is referring to activity that takes place after the initial html page is retrieved such as requesting static content, parsing css/js, and actually rendering the page. The obvious conclusion is that the biggest performance gains can be achieved not by tweaking sql queries or web server config, but by focussing on front-end performance.
Continue Reading »
Last week I attended the 2-day Future of Web Apps conference at London’s ExCel. I really enjoyed this conference – there were some great speakers and I learned a lot. I hope to write a couple more posts this week covering the highlights.
One of the weirdest experiences was attending presentations by people that I’ve never met before but whose blogs I read/websites I use/podcasts I listen to or watch. It’s strange how I read BBCNews nearly every day, and on Sundays I often read The Times, but I’ve no idea who the people are that write the articles I read and yet in the tech world I know a surprising amount about the people behind sites such as GigaOM, ScriptingNews, Scobelizer (for example I know that Dave Winer has just got a Nokia N800 and the Robert and his wife Maryam have just had a new baby son, Milan). Continue Reading »