This is as days pass by, by Stuart Langridge

Ubuntu One beta

Cool, the first bit of Ubuntu One is released, which is the project I've been working on since I started at Canonical. We're currently in a beta test for the file sharing part of U1; I haven't been working on that much, but the team who have are some cool guys. You can sign up for an invite at ubuntuone.com. I'm looking forward to more stuff happening. I was interviewed along with Matt Griffin by the Ubuntu UK podcast guys last night about the project and what we've done so far (and they've got invites to give away, too). I'm also speaking about Ubuntu One at OSCON, and the abstract for my talk seems to be being passed around as information about what might be coming up in the future :-) Cool times ahead, especially since today I came a step closer to achieving enlightenment with lazr.restful, one of the libraries I'm using.

Absolute beginners guide to Google Maps JavaScript

A mate of mine has been building a relatively complex website for Potton, the town he lives in. In six months he's gone from knowing nothing about Django or JavaScript to building something pretty cool with lots of Google maps and so on, and he's started a series writing up what he's learned for other people in the same position. First essay, an Absolute beginners guide to Google Maps JavaScript.

LugRadio Live 2009

http://www.lugradio.org/live/2009/

Games in pure SVG

In the "stupid experiments" category... If you've got nothing better to do for three hours in an evening, why not experiment a bit with SVG? That's what I thought, earlier on this evening. So: cave.svg, a game for people with no graphics criticism ability and only one finger. One single SVG file, with all the controlling JavaScript therein. Inspired by SFCave, a game I played a million jillion years ago on a Palm IIIx and which I was astounded to discover has a website and a Java version and everything. I have discovered the following things about SVG this evening.
  1. It is dog slow. I mean, slo-o-o-o-o-o-o-ow. You've-finished-the-exam-and-there's-still-an-hour-to-go slow. Sitting in a traffic jam for three hours and the kids keep asking for an ice cream slow.
  2. It works in Firefox and Opera. I've tested in Midori, which is a WebKit browser, and it seems to work there too except that the fonts display as black-on-black, which means that either (a) Midori misimplents the spec (10% chance) or (b) I'm doing something wrong (90% chance). It's probably broken the same way in Safari too, but the game seems to work.
  3. You have to care about XML at inopportune moments. I spent twenty minutes trying to work out why createElement didn't work before sighing and using createElementNS.
  4. You can specify all the sizes in percentages! So it works at any size at all and the browser handles it all for you! Resize the game while you're playing and it all still carries on working and scales for you! Do that with canvas!
  5. The previous point appears to be the only thing where SVG scores over canvas. For everything else using SVG on the web seems rather like having your scrotum gently resting between a pit bull's teeth. It makes everything slightly more awkward than it ought to be... and any moment now you know the pain is coming.
  6. Did I mention slow? Can somebody please tell me what kind of a world we live in where my dual-core 2x2GHz PC can't render a screen made out of rectangles at more than 10fps without dropping keypress events? I mean, come on.
  7. It's not very optimised code (but it shouldn't need to be). It would probably be a lot faster if I actually did things an SVGish way, by which I mean use the transform attribute and so on, but there are so many things I'd rather do than matrix arithmetic that it's not even funny. Up to and including eating a pound of fish fingers with broken glass in.
In my head for a while has been a slight disappointment that everyone writing games or graphics things using JavaScript has gone for canvas (which is one step away from being a plugin -- it gives you a white box and you draw in it) rather than the more web-ish SVG (which works like HTML and can be intermixed and everything). I am no longer disappointed. People don't avoid dynamic SVG on the web because they're wrong. People avoid dynamic SVG on the web because it's quite shit.

This website belongs to Stuart Langridge. Contact details are available. Don't eat yellow snow. Valid HTML5, at least in theory, except for the bits that aren't because I'm that futuristic that I'm ahead of the spec, oh yes. HTML5 help from Bruce Lawson, among others. Fonts from the superb FontSquirrel. End.