2007 in review: Gadget Fever

My life revolves around technology. Even the kids are massive geeks. Fiona may be fascinated by ballet and the Barbie fairytale animated films (which aren’t nearly as bad as you might think), but you know what else is pink? Her Nintendo DS Lite.

So what were the significant technological additions to my life in 2007?

  • New 80GB iPod (5G). My old one was a 20GB model, and it wasn’t enough to hold my entire music collection. Now that I work mostly from home, I don’t use the iPod nearly as much as I used to, though, and I have hardly watched any video on it at all. Mostly I use it to shuttle music around the house: we have a few sets of small portable speakers, and I plug the iPod in whenever I want some music in the kitchen or the bathroom. The bad: I have found this new iPod to be slower and more prone to crashing than the old one.
  • MacBook Pro (15″, Core Duo 2): sleek and gorgeous, it is one of the finest pieces of computing machinery I have ever used. (It’s a work laptop, so it’s not really a personal addition. But it’s a major feature on my desk and in my life, so I’m going to count it anyway.) The MBP is light and fast, and I have grown to love being able to pick it up easily and use it away from my desk. Travelling with it is great, too, apart from the way it picks up a charge when going through airport security–I regularly get a shock when I pick it up after it has gone through the scanner.
  • Crumpler Cheesy Disco bag: a good laptop deserves a good bag. The Cheesy Disco comfortably holds the MBP and accessories, as well as a book or two, papers, and all the other rubbish I carry with me. It’s too big for everyday use when all I need with me is a book, a pen, and my wallet, but it’s great for big trips.
  • Griffin Elevator notebook stand: it brings the MBP’s screen up to the same level as my main screen, which is a practical necessity for avoiding neck strain. Also, it gives me space underneath the MBP to put more desk clutter.
  • Samsung SyncMaster 2032BW 20″ monitor: It’s a good enough monitor, but not a great one. Compared to my Dell Ultrasharp, the colours are harsh and vary slightly (but noticeably) from top to bottom, the viewing angle is poor, and it lacks an ergonomic stand for changing its height or tilt. Still, it was cheap, and it gives me a THIRD MONITOR, which was reason enough for buying it. I used to be a multi-monitor skeptic, but I’m fully cured now.
  • Wacom Bamboo graphics tablet: this was a toy buy, because I had never tried a tablet before, and I just wanted one. I’m not much of an artist, but it does make fine work in Photoshop much easier and more natural. Also, it combines really well with Google SketchUp for drawing 3D models.
  • HP C5180 all-in-one printer/scanner/copier: It’s not as good a printer as our old printer, but cartridges are ahout half the price. It’s not as good a scanner as our standalone Epson Perfection, but it doesn’t take up any extra space on the desk. Being able to run off quick photocopies instead of scanning and printing is a big plus, and plugging it straight into our network with an ethernet connection instead of attaching it to an always-on computer is an even bigger plus. Overall: yay. But I will need to keep the old scanner around for occasional dedicated photo work.
  • Playstation 3. Okay, not strictly mine; it was Abi’s Christmas present. But it means that we now have a full complement of current-generation consoles around the house.
  • Roland TD-3 drum kit: total sweetness. I love playing the drums, but–to my detriment–sometimes I forget about that. For a clumsy and performance-shy amateur like me, the best feature of an electronic kit like this one is the ability to plug my iPod into the brain’s external input, and then be able to play along through a set of headphones.

There are a also a couple of software services that are worth mentioning. They’re not strictly gadgets, but I think they fit here anyway:

  • Mozy off-site backup. I have rotten luck with hard drives. Mozy ensures that I don’t have to worry about data loss any more. The initial upload takes a long time, but after that the daily run is painless. I still keep local backups for fast recovery, but I don’t feel like I have to be obsessive about them.
  • Jungle Disk. Jungle Disk is a remote storage system that uses Amazon S3 for its back-end. You can use it as a backup system like Mozy, but unlike Mozy it also gives you filesystem-level integration. This means you can map a drive to your off-site space. This is great for sharing files between different computers, and also between different people.

I’m trying to think now if there are any gadgets on the horizon in 2008. No new games consoles, unless we go retro and splash out on a Sega Mega Drive or something (not inconceivable). The biggie for which I’m going to have to put on my best puppy-dog eyes will be a new big-screen TV when we move house.

Actually, wait–we’re going to be buying a new house soon. Does a house count?

2007 in review: Books

33 books in 2007 – the same as in 2006. And although I haven’t managed to crack more than 50 books in any year since 2002 (when I started keeping notes), I keep being disappointed by this fact. Surely a book a week isn’t too hard a target? Clearly, for me, it is.

My book of the year was World War Z by Max Brooks. If you have never come across it before, it’s a…zombie novel. But don’t dismiss it out of hand because of the subject matter. The book is not framed as a traditional zombie horror story, with a band of survivors pitted against hordes of the living dead. Instead, it takes the perspective of a collection of interviews with people who survived a zombie pandemic. Their tales are often harsh and emotional, but never recounted for simple thrills. At a deeper level, it is all about some of our worst fears in the real world: political and economical collapse, global disease pandemics, terrorism, and war.

There is also an audio book version narrated by an interesting cast including Mark Hamill, John Turturro, Rob Reiner, Jürgen Prochnow, and Alan Alda. I don’t generally listen to audio books, but this one has me seriously tempted.

Other top picks from 2007:

  • Simon Singh – The Big Bang. Simon Singh is a great science writer, who excels at explaining science by telling the story of the people who made the discoveries. Here he tackles not just the Big Bang theory, but the whole history of cosmology, all in his characteristically accessible style. Simply brilliant.
  • William Gibson – Spook Country. It’s not science fiction, and not a spy novel, but it has elements of both.
  • Scott McCloud – Understanding Comics. McCloud explains the hidden language and structure of comics — all the stuff that you probably understand at some fundamental level but have never thought about consciously. It also offers fascinating insights into craftsmanship and mastery in general.
  • Peter Watts – Blindsight. SF first contact story with a disquieting horror backbone.
  • Richard Morgan – Black Man. (Published in the US as Thirteen.) Big chunky SF thriller; noirish, bleak, and brutal.

I haven’t read much in 2008 so far (4 books to date), but there’s a lot of good stuff stacked on the shelves. I doubt if I’ll hit 50 this year, either, but you never know…

2007 in review: Games

Just like films, I didn’t actually play many games in 2007. I watched plenty, and assisted Alex on a good many difficult levels and challenges; but games that I actually sat down and dedicated time to because I wanted to…not so much.

Let’s see, there was Pokémon Pearl in July, which was fun, although I haven’t finished it, and doubt if I ever will. My natural play style is slow and methodical, and I like to spend lots of time battling and upgrading my core team of Pokémon before moving on to the next area. Alex, on the other hand, wants to blast straight through as quickly as possible, and wants me to keep up. This is why my Turtwig is still only at level 40-odd, while his Empoleon has reached about a zillion. We experienced a certain amount of tension because of this.

Halo 3? Can’t see what all the fuss is about. I played it mostly out of obligation: after having played the first two, it would be rude not to complete the trilogy. I did the first two levels on Heroic difficulty, but quickly dropped back to Normal, because I just wanted to get it over with. And then was disappointed by the weak ending. Come to think of it, that’s almost exactly how I felt about Halo 2, too.

Bioshock was excellent. The underwater city of Rapture is one of the best video game environments ever: I spent the first hour or so just wandering around in awe. It’s beautiful, mysterious, full of detail, and meticulously dilapidated. As you make your way through abandoned walkways and crumbling buildings, you uncover reminders of the inhabitants’ high hopes of a better world and a better life. The story is deliberately constructed to give you a large amount of moral freedom, and the choices you make genuinely affect the way the game plays out. Some of the plot twists are a bit obvious, but overall it was a thrilling experience.

Ratchet and Clank: Tools of Destruction is lovely, although I haven’t finished it yet. Alex and Abi are both on their second run-throughs, on challenge mode. We’ve all been big fans of the series from its beginning, and this was the first must-have game for the PS3. (In fact, we don’t even have any other games for the PS3 yet. How sad are we.) However, as many commentators have pointed out, in terms of gameplay, it doesn’t offer anything substantially different from its predecessors. But that’s okay. Sometimes you just want to cuddle up with the familiar. And it’s still really good.

Super Mario Galaxy is, of course, gorgeous and amazing. Just as with Ratchet and Clank, I haven’t finished it yet, but with the amount that Alex has played it, I feel like I have. It’s a much more forgiving game than Super Mario Sunshine. The worlds offer generous helpings of extra lives (although, annoyingly, you can’t carry them over between saves), and there are few challenges that took more than a handful of attempts. It’s a brilliant and fun game.

But without any doubt, the game of the year for me was Portal. I started playing it at about 21:30 on New Year’s Eve, and had to stop because of exhaustion at about 02:00, about three-quarters through the final level. The next day, as soon as the kids were in bed, I finished it, and immediately started back at the beginnig again–partly to hear the developers’ commentary track, and partly because it was so much damn fun.

On one level, it presents a fresh and innovative game mechanic, and exploits this with beautifully designed puzzles. This alone would make it a great game. But the script turns it into a true work of genius. It is hysterically funny, but also sinister, menacing, and melancholy. The environments you move through are simple, but the world they are set in–of which you only receive hints–is rich. It is fully connected to the Half-Life universe, but you don’t need any prior knowledge of those games to enjoy Portal. If you do know what is happening in the outside world (“when I look out there it makes me I’m glad I’m not you”), you can let your imagination run wild about how the events here hook up there.

It’s also a rare game that spawns actual catchphrases. Cake, anyone?

2007 in review: Films

Okay, let’s get the easy ones out of the way first. Watching films, being part of “having fun” kind of fell by the wayside in 2007. I only saw 29 films (a five-year low), most of those in the first four or five months of the year. I have only been to the cinema once since we moved to the Netherlands, and that was to see The Bourne Ultimatum…on a trip back to Scotland.

I don’t see the situation changing any time soon, either. I know where the nearest cinema is, but lack the motivation to get out there of an evening. (Also: National Treasure 2? Puh-leeze.) The TV set-up we have here in the house is distinctly sub-optimal, and I haven’t signed up for a DVD rental service here yet. (Compared to Lovefilm in the UK, the offerings here are expensive and primitive.) Once we move house, I would really like to get a big TV, and spend some time arranging it so that sitting down to watch a film is something to look forward to.

Of the films I saw in 2007, there are four that really stood out:

Brick seems to divide opinion; some people find it boring, and are put off by the poor sound quality – some of the dialogue is really hard to make out. I just loved its lo-fi noir vision. Primer is a low-budget no-fx gem, a mind-bending time-travel film that actually works. Following is another low-budget effort–Christopher Nolan’s directorial debut, in fact. (You may remember Nolan from bigger films such as The Prestige and Batman Begins.) It’s a cunning little thriller with a sting in the tail. Finally, The Good Shepherd is the kind of spy film I like: murky, understated, ambiguous, and backstabby.

So what am I looking forward to in 2008? To be honest, seeing anything at the cinema would be a high point of my year so far. Richard Brunton maintains a fabulous site for movie lovers over at Filmstalker.co.uk, with loads of tasty bites about what’s coming soon, but I can’t actually see anything on the horizon that screams out “must see!” yet.

(Actually, on second thoughts, a European release of My Name Is Bruce would be pretty awesome.)

If you don’t know me by now…

I fear I may have given the wrong impression of myself when I posted this photo a couple of months ago:

Frank and the Mac

The picture may lead you to believe that I thrive on sunlight streaming through the window. That I maintain a tidy desk. That I <gasp> use a single monitor. Wait… I am a geek. Hath not a geek a cave? If you ping me, do I not l33t?

Well, worry no more. Here’s the updated version:

The cave, revisited

Key features:

  • Three monitors. MacBook Pro on the right, Frankenstein on the left. The middle monitor switches back and forth depending on context. Synergy so I can be working on both machines at once with a single keyboard and mouse.
  • Roland TD-3 drum kit for relaxation and right-braining
  • Pinboard on the wall to the left of the desk
  • Random box o’ stuff piled on top of the Mac Classic
  • Volume control for the amp within easier reach
  • Comfortingly messy

I have also come across a trio of articles in the last couple of weeks that pretty much describe me to a T. Have a look and see.

The Nerd Handbook” by Rands:

“These control issues mean your nerd is sensitive to drastic changes in his environment. Think travel. Think job changes. These types of system-redefining events force your nerd to recognize that the world is not always or entirely a knowable place, and until he reconstructs this illusion, he’s going to be frustrated and he’s going to act erratically. I develop an incredibly short fuse during system-redefining events and I’m much more likely to lose it over something trivial and stupid.”

Wide vs. Deep” by Greg Knauss:

“The programmer, though, wants to be involved deeply and profoundly in just a few projects — he wants to own them, top to bottom. Maybe it’s a whole program, or a single feature, or some underlying library. Whatever. He wants to live in it, neck-deep. He has to worry about all — literally all — of the obscure technical details that make computers go. Jumping between projects — context switching — is a great way to burn a programmer out, because the cost of unloading one project from his head only to load up another one is enormously high. The idea of switching between two projects in a day, much less ten, is not only exhausting, but depressing.”

What I Want For Christmas: Not A Damn Thing” by John Scalzi:

“For a number of years, I’ve told people who have been thinking of getting me something for Christmas or whatever holiday excuse they have for gift giving that I’d simply prefer they not get me anything at all. The reaction to this often ranges from confusion (i.e., how can you not want gifts?) to exasperation that my insincere “no, no, you don’t have to get me anything…” ways just means they will have to be extra crafty in getting me a gift, since I’m not helping them by hinting at what I want. This is when people ask my wife what I want, and she tells them that I told her years ago to stop getting me Christmas gifts. At which point I suspect their heads explode.”

I wrote about exactly that same thing two years ago, albeit in a more mouth-foamingly ranty way. Scalzi expresses himself much more calmly and eloquently, and everything he says applies to me. (Well, apart from Julie Delpy, Kate Winslet, and that car. Call it Jennifer Connelly, Kate Beckinsale, and a 1983 Porsche 911SC, and we’re golden.) To anyone who wants to get me anything for my birthday or Christmas now or in the future: please read Scalzi’s article.

Quite comfortingly, Christmas doesn’t seem to have landed yet here in The Netherlands. And it’s almost December! Sure, we’ve got the whole Sinterklaas thing going on, but it doesn’t thrust itself at you and hump your leg like Christmas does in the UK. Consequently, I’m feeling a lot calmer this holiday season. Or maybe the therapy is helping. Or something.

(The title of this post is, of course, a reference to the Simply Red cover of the Harold Melvin & the Blue Notes song. Yep, that’s the consequence of Dutch radio bangin’ out those “classic 80s hits.” One of these days, you’ll get the full thermonuclear rant…but not today.)

@Media Ajax

@Media Ajax logoI was at the conference @Media Ajax conference last week. In hindsight, “@Media JavaScript” would have been a better title, though. It is less than two years since Jesse James Garrett coined the term “Ajax”, but we are already at the point where Ajax development is just the way we do things now, rather than something that needs to be explained, discussed, and evangelized.

During the wrap-up panel at the end of the second day, one of the questions was directed to the audience: who would have attended the conference if it had in fact been called “@Media JavaScript”? Most people put up their hand. I would not be surprised if Vivabit run a sequel to this conference next year; but the main reason for them to keep the term “Ajax” in the title would surely be to make it easier for developers to convince buzzword-hungry managers to let them attend.

Monday 19 November

Keynote presentation: “The State Of Ajax” by Dion Almaer and Ben Galbraith

Dion AlmaerBen GalbraithThis presentation set the scene for the rest of the conference, briefly covering subjects like JavaScript 2 and the heated politics surrounding it, the emergence of offline support for web apps (Google Gears) and runtimes with desktop integration for web apps (AIR, Silverlight), and the evolution and convergence of JavaScript frameworks. Their demonstration of Google Gears’ WorkerPools was an eye-opener for me; I hadn’t realized that Gears was about so much more than offline storage. They closed with a reflection on how Ajax has transformed our expectations of web applications, and how it is enabling a more attractive web.

(Note to self: get more familiar with Tamarin, ScreamingMonkey, Google Gears, AIR, HTML5, Dojo, Caja.)

“But I’m A Bloody Designer!” by Mike Stenhouse

Mike StenhouseMike talked about how in modern web development, the traditional barriers between designers and developers are breaking down. Designers need to be aware of the consequences of their choices, and how things like latency and concurrency will influence a feature. Developers need to increase their awareness of interaction design. This led to a discussion of how he feels thatBehavior-driven development has made him a better designer (and developer). He mentioned WebDriver for writing and executing BDD test cases, but the demo code he showed looked more like Ruby… I think I missed something there. Good tools and techniques to explore, though.

Update:: RSpec?

“Real World Accessibility for Ajax-enhanced Web Apps” by Derek Featherstone

Derek FeatherstoneProviding good accessibility for web content is hard enough; once you start building dynamic web apps, you’re practically off the map. Derek took the zoom/move control in Google Maps as an example of bad practice, showing how difficult it is for someone with only a voice interface to use. He walked through some more examples, with useful advice on how to make improvements in each case.

One of the toughest problems for Ajax applications is how to inform screen readers that a part of the screen has been updated. Derek noted Gez Lemon and Steve Faulkner’s technique for using the Virtual Buffer as being one of the best options for tackling this right now. Another cool technique that I hadn’t seen before was updating an input field’s <label> element with error information when the form is validated (so that a screen reader is made aware of the change), but then using CSS positioning to display the error information where a sighted user would expect to see it–possibly on the other side of the field than the label itself. Very clever.

I’m also going to have to familiarise myself with the ARIA (Accessible Rich Internet Applications) work coming out of the WAI: ARIA proposes to extend (X)HTML with additional semantics that would allow web applications to tap into the accessibility APIs of the underlying Operating System.

“How To Destroy The Web” by Stuart Langridge

Stuart LangridgeAfter lunch, Stuart Langridge put on his Master of EVIL hat, and tried to coax us to join him on the Dark Side by teaching us about all the things we can do to make a user’s experience on this hyperweb thingy as shitty and 1998-like as possible. Remember: if your app doesn’t use up all of a user’s bandwidth, they’ll only use it for downloading…well, something else. (“Horse porn” sounds so prejudicial.)

(Stuart’s slides lose a certain something when taken out of context.)

“Planning JavaScript And Ajax For Larger Teams” by Christian Heilmann

Christian HeilmannChristian works for Yahoo!, and has for a long time been a great evangelist of unobtrusive javascript and other modern JS techniques like the module pattern. In this presentation, he talked about working with JavaScript in larger teams. This is interesting, because until recently, there were no such things as “large JavaScript teams”. JS was something you copy-and-pasted into your web site, or got your resident front-end geek to bolt on as an afterthought. JavaScript has matured enormously over the last few years.

Many of Christian’s points are good software development practices in general: comment your code, follow a code standard, work as if you will never see your code again, perform code reviews, use good names, etc. Take five minutes to read through Christian’s presentation slides (they’re very readable and comprehensible, even out of context), and then take another five minutes to think about them. JavaScript is a first-class citizen of web development now: let’s treat it as such.

(Note to self: make more use of the BUILD PROCESS.)

“Ajax A Work: A Case Study” by Peter-Paul Koch

Peter-Paul KochPPK wrapped up the day with a case study of a genealogy/family tree application he is building. He walked through the decision processes behind:

  • building the app as an Ajax app in the first place
  • choosing XML instead of JSON (or HTML or CSV) for its data format on the wire
  • deciding on an optimal loading strategy to ensure a highly responsive user experience

Interestingly, PPK was the only speaker who used the “strict” definition of Ajax (i.e. Asynchronous JavaScript and XML) as the basis for his presentation. I didn’t agree with all of the decisions he described, but it was an interesting view anyway. (And besides, it’s not my app 🙂 His write-up of the conference, as well as his slides, can be found on his Quirksmode blog.

Tuesday 20 November

“The State Of Ajax” by Brendan Eich

Brendan EichBrendan Eich is the man who invented JavaScript. There are few mainstream languages that have both been adopted so widely, and dismissed out of hand by so many. In the keynote presentation, Dion and Ben characterised Brendan Eich as wanting to use the JavaScript 2 (ECMAScript 4) spec to “just let him fix his baby”. That’s a pretty crude caricature of Brendan’s position, though. He is very keenly aware of all the problems in JavaScript as it stands right now. (And there are some really big problems.) With JS2 he is trying to take the best bits of JS1, and build a language for the next 5-10 years (or more) of the web.

However: JS2 really is a different language. It adds new syntax, and it will not be compatible with existing interpreters. The other side of the “future of JavaScript” debate wants to see incremental improvements to the current implementation(s), so as to maintain compatibility and not “break the web”–because we’re still going to be stuck with IE6 for a long time to come.

I’m not going to run through the technical guts of all the things going into the JS2 spec–there are just too many of them. Take a look at Brendan’s roadmap blog to get pointers to what’s going on.

“Building Interactive Prototypes with jQuery” by John Resig

John ResigThis presentation did exactly what it said on the tin: an introduction to coding with jQuery. It appears to be compact, simple, expressive, and ideal for a lot of everyday JavaScript work.

“Metaprogramming Javascript” by Dan Webb

Dan WebbDan showed how to use some of JavaScript’s best features (prototypal inheritance, expando properties, using Functions as Objects, etc.) to produce some surprising results. Because of these techniques, JavaScript really is a language that can bootstrap itself into a better language. Very slick.

(See the slides for the presentation on Dan’s site.)

“Dojo 1.0: Great Experiences for Everyone” by Alex Russell

It appears that no @media conference is complete without a doppelgänger. I hope I’m not the only one who sees the obvious resemblance between Alex Russell and Ryan Reynolds. (Photo of Ryan Reynolds shamelessly lifted from Tharpo on Flickr.)

Hollywood star and sex symbol Ryan Reynolds Dojo toolkit lead developer Alex Russell

Alex is the lead developer for the Dojo toolkit. He talks really fast on stage! He is full of energy and seemed eager to share his insights with the audience, even though some of those insights paint a rather depressing picture of the state of the web. Personally, I lapped it up. I think it was the best presentation of the conference. Rather than talking just about Dojo, he discussed among other things:

  • the complexity of web development, and why there is a need for JavaScript libraries/frameworks in the first place
  • the burden of bringing new semantics to the web
  • how the lack of progress and competition is putting the whole open web in jeopardy

You can get the slides for the presentation on Alex’s blog, but without his lively and passionate narrative, they lose a lot of their power. Although he also talked about the technical capabilities of Dojo itself (powerful internationalization features, accessibility already built in to all its widgets, all built on top of a tiny core), it’s the strategic positioning of the toolkit that is going to make me download it and try it out.

“JavaScript: The Good Parts” by Douglas Crockford

Douglas CrockfordDouglas Crockford is one of the people most responsible for bringing JavaScript to its current level of maturity. He invented JSON, and wrote the JSLint checker and JSMin minifier. He reckons that JavaScript is the world’s most misunderstood programming language. His presentation covered some of the best bits, which you probably would not discover on a first glance at the language, such as Lambda expressions, closures, and dynamic objects.

Douglas stands in the opposite camp to Brendan Eich when it comes to evolving JavaScript. He wants to see the language become more secure (very important, given how glaringly insecure it is right now), but he thinks that the radical changes proposed for JS2 are wrong. One of the best parts of JavaScript is its stability: there have been no new design errors in the language since 1999, because that’s how long JS1 has been frozen. (There have been minor iterations to it since then, but nothing on the scale of the fundamental architectural changes that JS2 will bring.) He is still keen on evolving the language, but in a much more gradual way.

One very interesting thing that Douglas briefly mentioned was ADSafe. This is a subset of Javascript, designed for safety: a script built with the ADSafe subset can still perform useful work (it still has access to the DOM, and can make network calls), but it is not allowed to use any of the features that make JavaScript inherently unsafe (e.g. access to global variables, use of eval, etc.). ADSafe is a static checker: you run it to verify the code before you allow the code to appear on a page. If it isn’t safe, you don’t let it run. Google’s Caja works in a different way: it takes untrusted code and transforms it into safe code. To understand the use of these tools, consider Google’s iGoogle home page, where you can have widgets from a variety of sources all running on the same page. Without some kind of safety container, these scripts would have access to each other’s code and capabilities — very dangerous.

(The slides Douglas has on his blog are not quite those he used for this presentation, but they’re close enough.)

Wrap-up panel discussion with Brendan Eich, Stuart Langridge, Alex Russell, Douglas Crockford, and moderated by Jeremy Keith

Brendan EichStuart LangridgeAlex RussellDouglas CrockfordJeremy Keith Jeremy tried to keep this light-hearted, but there was clearly some tension between the panellists. I was pretty tired by this point, though, and the thing I remember most is Alex berating Yahoo! (Douglas) for not open-sourcing the YUI framework and coming together with other toolkit developers to present a unified front to browser vendors. Other subjects that came up included Google Gears (again), how badly CSS sucks (I see their point, but I still like it anyway), and capability-based security (see also The Confused Deputy).

(Jeremy’s has write-ups day 1 and day 2 on the DOM Scripting blog.)

Overall

It was a very interesting conference. It didn’t feature as much technical content as I had expected: it was more strategic than tactical. I didn’t mind at all, though, that it wasn’t just about “Ajax”. I love JavaScript, and I came away feeling excited by the amount of activity in the field.

The most important things I took on board:

  • Make more use of the build process
  • Investigate Google Gears – there is a lot of interesting stuff going on there, and it will start making its way into browser implementations soon
  • If you’re doing any kind of JavaScript development beyond simple form validation, you really should be using a library…
  • …probably jQuery…
  • …but Dojo looks REALLY interesting