What a great conference! There were a few technical glitches here and there, but this was the first global virtual conference I’ve been to (and the first <head> conference), so I expected more issues than there actually were. Respect to Aral and friends! Here are my highlights (and notes!) from the conference.
- Richard Rutter’s Facing up to Fonts, covering the typefaces now bundled with Windows Vista and the future of font embedding on the web. Not to mention gift ideas for font geeks.
- Kimberly Blessing’s talk on how to develop more specific standards than just the W3C’s for your team or company, including things like style and process. Kimberly maintains a blog dedicated to web standards.
- Cliff Hall (of PureMVC fame) presented on how to make software that lasts by adapting easily to change.
- Aleks Krotoski’s talk on social play and games, as well as the serious applications that spring from them. Interesting that this conference had a Second Life hub… I think she mentioned Marc Prensky on the way too. Sadly it’s all a bit of a blur now and all I seem to remember is how cool it was that she was mid-way through a road trip and was doing the talk parked up in the car
I can only hope the slides will be up somewhere soon to refresh my memory, if not only to delve into the social psychology of gaming a bit more; I think I left off at Milgram when I did my psychology degree… - Chris Allen spoke about Red5, an open-source JEE media streaming and remoting solution for Flash & Flex, and the Jedai Red5/Flash component framework. Red5 is available as a .war file for deployment to your favourite JEE web container or a full server based on Tomcat. There’s also a handy Eclipse plugin.
- WPF guru Robby Ingebretsen’s ‘From the Deathstar: An insider’s view of Microsoft’s Silverlight‘. Healthy banter ensued from the Flash/Flex fanboys
It was widely acknowledged that Silverlight isn’t quite there yet when compared to Adobe Flex, but it’s catching up fast. Interesting that Geoff Stearns’ You Tube Lessons Learnt talk didn’t mention any move to Silverlight which was rumoured to be on the cards. Also support from the Mono guys makes Silverlight more cross-platform than people might expect. From my perspective, Microsoft promising not to sue some of the people who use it before 2011 doesn’t seem to me like embracing the spirit of open source, as remarked by others, whereas Adobe has released what it can of the Flex SDK under the Mozilla Public Licence. Admittedly the exceptions include the Flash Player and AIR, but at least they’re giving redistribution rights for what you build. As I understand it they’re even granting rights (on request) to bundle the SDK with an open-source ‘Flex Builder’ analogue of your own, if you wanted to. - Lynda Weinman shared some thoughts on the past and future of education.
- Ben Segal revealed the fascinating story of how the web could so easily not have happened. A supportive boss gave him free rein to try out IP networking at CERN despite unfavourable politics, paving the way for Sir Tim Berners-Lee’s now ubiquitous inventions: HTTP and HTML (aka the World Wide Web). Can you imagine a world without lolcats?!
This was done with hardly any resources, and the external networks guys with more funding and clout being mostly opposed to anything bar X.25, let alone something as un-European as IP… - Chris Mills‘ talk on improving web standards adoption. Chris discussed how the lack of standards in the past and the lacklustre response of some vendors in implementing them when they arrived have contributed to the lack of widespread standards adoption today. To help counter this, Chris started the Web Standards Curriculum, supported by Opera and released under Creative Commons licence. Chris mentioned another useful presentation on how to get your company to adopt web standards. It was mentioned in the chat afterwards that the big corporate CMSs can be a barrier to accessibility – money is spent more on marketing than technical aspects like standards compliance, whereas some of the open source CMSs are much better in this regard but don’t have the cash to shout about it.
- Simon Willison’s Web Security Horror Stories talk, covering how to defend applications against SQL injection, XSS attacks (<c:out> is your friend Java people), XSRF and Clickjacking. The intrinsic risk in allowing users to add markup to their own content were discussed. Libraries which parse user contributions should have reams of unit tests before you get near to trusting them. Even using libraries that support simplified markup like Textile can be risky. It’s scary to think how many applications out there must have little or no defence against XSRF. Simon discussed using form tokens (nicknamed ‘crumbs’, can basically be an SHA1 hash of session ID, user ID and a salt value) to ensure a form has come from your site before accepting the POST, mentioned Ratproxy as a useful security testing tool for web application developers, and also the OWASP and Planet Web Security sites for further info (though the latter seems to be offline at the time of writing).
- Paul Boag’s Your Design Sucks talk, and his company’s Getsignoff tool. Paul mentioned Patrick Haney’s web design inspiration Flickr collection to help choose a mood for site design with a client. Pre-empt common client concerns when presenting designs. Use things like Feng-gui for heatmaps and clicktale for interaction tracking. Control client feedback to focus on users and business needs rather than personal preferences, by asking for feedback with the right questions (e.g. ‘how do you think your users will react?’ rather than ‘what do you think?’). Avoid committee discussion, get feedback individually, otherwise you’ll get design-by-committee which is driven by compromise. Get alpha-male types on board by discussing the design with them separately beforehand, listen to their concerns and show that you’ve given them consideration. Delegates mentioned DFCKR, Dan Brown’s Communicating Design and 5-second test. As always, respect to Carsonified.
- Mike Davies‘ talk on web accessibility. Interesting that he came from financial services and managed to persuade his firm that it was a good idea; and in fact that they got more money in the door as a result. David Wilson, development manager at Legal & General ‘got it’, which helped. Discussed the limitations that affect people: sight, sound, cognitive & mobility. Content needs to be Perceivable, Operable, Understandable & Robust. The WAI-ARIA guidelines allow custom web widgets to hook into accessibility interfaces in same way as standard HTML controls. Use the anchor <a> tag for links, not <span> tags with JavaScript click handlers, because the <span> can’t get focus. Button labels should be verbs, not status messages like ‘on’ or ‘off’. If you have all error messages in the HTML on first load, hidden using CSS, screen readers without CSS will read all the errors. Mentioned dotjay. Confirmed that many of the problems that Joe Clark had with WCAG 2.0 have now been addressed.
- Matt Harris‘ talk on writing WordPress plugins, for those running WordPress instances on their own hosting.
- Ann McMeekin’s talk on making accessibility sexy – i.e. building accessible sites without compromising on the wow factor. Features that make designs accessible can be good for users without disabilities too. Touched on inspiring designs like knitted walking stick cosies, ramps zig-zagging flights of steps, OXO Good Grips (no mention of arthritis in sales bumf, just what it’s good for), and Braille Playboy. Stewart Butterfield’s 5k site design contest, and things like the space invaders game that people came back with, are pretty inspiring, as well as Jeffrey Zeldman’s reading of why it mattered. Mentioned the scriptingenabled and enabledbydesign site. Not sure how to cater for users with impairments? Ask them, or check out support groups online. Text should be no smaller than 75% – if user wants to fit more text on screen (e.g. tunnel vision) it can be too small to read if they reduce it. Guidance given for line height, focus, logo and button size, making DHTML controls for Flash content (a good example being the accessible YouTube site), use text-transform: uppercase rather than keying the actual HTML content in upper case, so that screen readers don’t spell the text out like an acronym. You can use a colour contrast analyser to check your designs are suitable for people with colour blindness, other sight problems or dyslexia. Delegates mentioned some bad design examples and some free/open source screen readers (NVDA and WebAnywhere), and to indicate required fields, suggested using an image with an alt text of ‘required’, rather than using asterisks which make screen readers say ’star’ each time. Anne can be reached on twitter.
- Christian Heilmann’s ‘Why web development is running in circles’. We don’t seem to build on lessons learnt before. People keep to the technology they know and like to re-invent the wheel because they don’t always trust other tools/libraries/technology. Also some developers like to become the expert in something and make it opaque to others to avoid being made redundant. Sunday night talk called ‘The art and pain of teaching JavaScript’ discusses the problems of learning JavaScript and how best to produce reusable script components. Hundreds of JavaScript tutorials online, but quality varies so much. Search engines favour older content which is often outdated. Not helped by massive range of people that want to use it (user – tinkerer – implementer – developer). Designer might want a script to copy & paste from somewhere that does fly-out menus or simple form validation for example. Best way to learn? Don’t look at libraries like the Yahoo User Interface library (though that’s very well documented), spry, dojo, mootools or moofx, because they have to run very fast and cope with browser differences; you use these so that you don’t have to care about these things! People should document their JavaScript, and there are tools to help. JSDoc works like JavaDoc by compiling all your code comments into HTML documents, whereas Naturaldocs actually reads your code and tries to write HTML documentation for it (works with other languages too!). Tutorial Builder writes a tutorial based on your JavaScript comments. Things that change should be in configuration objects rather than in your script files, in case you need to release patches. Also provide an API so that people can extend it with their own plugins etc. in a way that won’t break when there are new releases. Extensibility is more important than elegance or compactness, or any elitism that might go with that. When you release code to the community other than stuff that you’re playing with (consider a ’sandbox’ for this), try to be as un-geeky as possible when describing what it’s used for and how to make it work. There’s more kudos in explaining something complex to lay people than releasing another version of a script that’s smaller or more elegant. Sharing code should be more about sharing the joy!
Other delegates suggested a good list of learning resources, and I stumbled on a ‘top-5′ of popular JavaScript libraries. Christian is contributing JavaScript articles to the Opera Web Standards Curriculum, and can be reached on twitter. - Finally there was Simon Wardley’s talk on why ‘open’ matters in moving along the innovation to commoditisation s-curve, and how the software industry is moving from innovation through providing products to providing services/components, which in turn encourages further innovation. If only for the strategic use of lolcats
There was also a great analogy for service lock-in that I won’t spoil for you in case you’ve not seen the slides. Simon works for Canonical on cloud computing, and on the side is working on electronic books which interact with computers through the use of conductive ink, due to launch 2010.
Some other links flying around I think I’ll have to check out:
- Pragmatic Programmers: Online books on various programming topics.
- Flare, an ActionScript data visualisation library.
- More fun with webcams and Flash?
- David Airey’s logo design
- Nabaztag rabbits
Phew!