More devices with browsers

I’m something of a gadget fan when I think about it, and the growing ubiquity of the internet makes my life easier, as well as posing interesting questions when it comes to design. It would be a win win situation if it didn’t keep costing m money. Well I think I’m going to be spending again soon (unfortunately?)

I only heard about the Nintendo DS Lite getting a browser add on last week, but it peaked my interest. The spread of mass market devices with WiFi and a decent browser throw up interesting possibilities, so it was with a smile on my face that I discovered the browser was going to be Opera. Their is quite a bit of information over on their site on press releases and a special Nintendo section and all looks good.

I’d be interested to see how the two screens thing works for browsing, and how the device copes with the problems of content not being designed for the small screen very often, though Opera Mini did a ridiculously good job. Also of note is that the upcoming Wii is going to use an Opera browser as well. The move from the desktop to focus on devices looks like being a very clever move.

One minor let down is that the DS browser costs. This looks like it’s due to extra hardware being required but it’s still a shame after the PSP browser was added simply as a software upgrade. Hopefully that wont be a barrier to entry. If and when (ok, when) I get my hands on one (launch 6th of October) I might try and post some tests. The PSP browser does occasionally fall over on very large sites with a nasty memory error, and I’m interested in how complete the CSS and Javascript support are.

6 hours on a train with Code Igniter

I’ve mentioned Code Igniter before but only now have I got round to really putting it through it’s paces by building something proper. I got the opportunity (if you could call it that) thanks to a six hour train journey from Oxford.

I’ve been thinking about sprucing up this site for a while, and have a few other personal projects that I really should get round to sorting out. Something I’ve noted of late is a move, amongst some parties, back to bespoke personal content management systems. Jeremy has been speaking about some of the feaures he has been adding recently, Christian had a few comments too plus Jonathan has been posting about his recent move to CakePHP from Movable Type.

I find this kind of interesting. Everyone started off with hand rolled solutions, seemed to move to the comfort of Textpattern or Wordpress and the more geekely inclined are on the move again. With such large user bases the big blogging platforms are (rightly) spending more time on bug fixes and user experience, rather than kick ass features. And us geeks want more Microformats and mashups that we can shake a stick at. Only this time we get to stand on the shoulders of giants by using frameworks such as Rails, Django or Code Igniter which means less time doing the boring stuff.

Short sales pitch. Code Igniter is cool, and more. The documentation is first rate and comes along with the download rather than just being available online (useful when your on the train.) It all makes sense as well which is nice, especially if you have some familiarity with the MVC pattern. It covers the basics so you dont have to – validation, database abstraction, session hanling. It’s also easily extensible through a nice plugin architecture and makes no assumpions about what you intend to build. I have a quick and dirty Textile plugin that I need to package up and put out – some discussion of this over on the forums which I may peruse.

In short expect to see some minor additions and the like round these parts as I try to transition away from Textpattern and any problems caused are no doubt the fault of some poor coding somewhere.

And I wonder what the next step will be? We have been through hand rolled to stable applications to frameworks to hand rolled based on frameworks. Any takers?


Well dConstruct has come and gone and people are probably just recovering in some parts. Travelling down wasn’t fun but that was quickly forgotten when we finally got to the pub. An evening of geekery ensued (usual fare, getting told to move inside before the police turn in, bit like @media 2005 really) and then onto the conference.

Thanks to the backnetwork its easy enough to catch up on all the goings on so I thought I’d mention only a couple of thinks that are still rattling around my head:

Simon and Paul talked about Hack Day. This is a really cool idea and once I want to get going at work. We shall see.

Derek was excellent again, talking about all sorts of ways Javascript could be used to improve user experience and accessibility. A interesting near aside about using sound as part of alerts to feedbacks got me thinking… We shall see about that too.

As usual the crowd was full of people both strage and familiar. The backnetwork is again more useful that I could be here. Ah, microformats, how we all want to play with thee. As it happens I’m playing with something similar for work albeit in a light weight sort of way. It’s really a good job I have some holiday coming up, I think I have so many things I want to see about I could be here for ages!

Install Fun

Update A few additions I thought I’d add here rather than keep for another post. Sarat just messaged me with a link to CrossOver Mac. I now have IE 6 running natively on my mac. Which is nice. I also installed Twisted but that’s probably for later too.

I finally got round to getting myself a new MacBook (only a week or so after Phil) and a nice piece of kit it is too. I decided not to simply plug it into my previous machine via firewire and port everything across. I sort of figured something would break moving from a G4 to the new Intel machines but I think the real reason was that I quite like setting up a fresh machine. It might just be me but I quite like installing and tweaking things.

I thought, for posterity, I’d post a list of the things I installed and some of the tweaks I got up to.

First things first. I installed most of these apps into a Personal folder in the Applications folder, just to keep them separate from the preinstalled Apple applications.

As nice as the OS X interface is a couple of small additions can’t hurt. With all the talk about Spaces of late I’m not sure if people had come across Desktop Manager before. It’s basically spaces, or virtual desktops, now.

I also include a few Apple apps in my dock that I use on a regular basis:

I’m a UNIX geek at heart, from even before OS X moved in that direction, and both Fink and Darwin Ports make grabbing most packages easy enough.

Web development is what I do, and I couldn’t be doing that without a handfull of frameworks could I?

Their are lots of ways of setting up the Apache MySQL PHP stack on OS X, the OS already includes versions of Apache and PHP in fact. I instead went for using the MAMP installer to avoid the likely problems of upgrading from source the preinstalled versions. I then got to work tweaking and twisting the default MAMP install into shape, adding th ability to quickly setup virtual hosts, a central code library repository, sorting paths out and setting up Python support. I hope to post about this later on in more detail.

All in all, everything is up and running nicely.

Learning Modern Web Design

How do you convince people you know what you’re talking about? I mean, if someone wants to double check that you have a clue about web design where can they go? I’m not talking about the little things – CSS hacks, binary things which are right or wrong based on something obvious – I’m mean the nearly imperceptible little bits that all come together to make the sum bigger than its parts. I’ll use Garrett Dimon’s concept of Front End Architecture as a good example of this.

If you’re an expert too, no problem. You visit your personal set of blogs, ask a few people over on the lists you inhabit, digg out articles you read ages ago and added to You learn something new and get on with your work.

But what if you’re involved in management? Or are bringing your expertise from another field to web design (say marketing, or graphic design, all things you need)? Of course you need to trust the experts but it would still be useful to have at least a big picture idea about what is going on. It’s the same for specialists – someone working day in, day out with ASP.NET doesn’t need to know the in’s and outs of CSS in IE7, but having the big picture – from architecture to usability – is going to be useful.

I started gathering some of this information together as a resource for work. One thing I noticed was that it was pretty much impossible to find the sort of theory based resources I was looking for without knowing where they were already. Specific blog posts (just blog URLs are too big a moving target to be useful for something so focused), online magazines, podcasts and books; their is so much information around, and much of it out of date or not useful enough to begin with. An expert can filter this, often without even thinking about it, but what about a non expert?

I’m going to gather this information together somewhere in the hopefully not too distant future but in the meantime does anyone know of any similar resources already out there? Where would you send your marketing savvy boss to get a feel for Ajax? or your best developer to get the skinny on usability?

Localisation and Usability

Some interesting observations after a post and comments over at The Watchmaker Project

It turns out, after me jumping to conclusions, that the interface for Newsgator Online (my favourite newsreader for the last year or so since I went web native) varies depending on locale. From a brief look at the US, French and UK versions the US version has a newer (and from a quick look nicer) interface than the others.

First the US only version:

And then the UK (the French version is the same, except with the relevant language changes):

The usability issue I have with this is the user chooses the locale when they login, wherever you login from (, or OK so it’s an edge case issue, but I now know I have a choice of interfaces. Do I stick with being honest and saying I’m a brit and get an seemingly inferior interface? or do I lie and pretend to be a yank? If I was a French speaker I wouldn’t have that choice either? I dont actually know yet. I’m definately going to lie a few times just to see the new features and the interface though.


On occasion I even surprise myself. Sometimes you just need to geek. Rob at work was discussing his ideal device, basically something that would read text based RSS feeds to him while in the bath in the morning. Lazy I know.

I thought to myself That cant be too difficult and I’ve never played with any text to speach stuff before and off I went. A few hours later and I just got my Windows machine to read out the top story from this site.

Python is so cool to just hack in. Did I mention that before? I’ve yet to do anything real in it, but playing around with code is nice. Anyway, on with a solution;

Lots of things to install first. As mentioned I used Windows, in this case so I could access the Win32 Speech API. I looked at using Festival on Unix but left that for now. Tools of choice were Python 2.4 with the Win32 extensions. A couple of Python modules do most of the work. First up pyTTS which deals with the text to speach and SAPI integration. Next comes the Feedparser module. I’d heard this mentioned by Simon over on the Yahoo Python developer network and it really is nice.

The rest was easy. import pyTTS import feedparser d = feedparser.parse("") tts = pyTTS.Create() tts.Speak(d['items'][0].description)

Ok, so this isn’t an application. Just a proof of concept but you get the idea and I dont really want or need this app anyway. Why then? because I thought I could. Oh, and Python’s interactive prompt is so cool. I want one for everything.

Some start of the week fun with Yahoo!

Well, Christian’s book, Begining Javascript with DOM Scripting and Ajax is out and, as of writing this Amazon UK only have four copies left so hopefully that’s a good sign.

A quick competition on the site peaked my amusometer and I couldn’t resist.

Keep an eye on flickr for more hopefully.

Everyone who is everyone already resides at YAHOO!, with more recent movers that you can shake a stick at. I’d just like to make a couple of observations:

Both Drew and Stuart posted posts titled Joining Yahoo!. The brain washing obviously starts in the interviews so you have been warned!

The upcoming BarCampLondon event is being held at the Yahoo offices in London. I’m thinking about going along, but I’m scared Yahoo might not let all those talented developers leave on the sunday?

YUI lovin

I’m working on some redesign work for one of my under maintained sites at the moment, with something of a redesign in the works. It seemed a good opportunity to play more with YUI, the Yahoo User Interface Library, which I’d had a peak at before and heard nice things about (sorry, I like the long namespaces).

I’ve nothing finished yet past a proof of concept, but I thought a couple of lines of javascript wouldn’t go a miss. Nothing fancy mind, just some nice bits I like so far.

The case in point was wanting to add event handlers to an unknown number of links within an unordered list.

First off a quick, clever, one liner. onAvailable checks for the availability of the object (if you remove the quotes) or an object with a specified id in this case. It executes the callback function, init in this case, when the condition is true.

YAHOO.util.Event.onAvailable("iList", init);

Moments later we have events added to all the links.

function init() { var links = document.getElementById("iList").getElementsByTagName("A"); YAHOO.util.Event.addListener(links, "click", clickCallback); }

Again you just throw in whatever you happen to be working with (in this case an array returned by getElementsByTagName) and everything just gets dealt with. I originally had a for loop, iterating over the links and adding events, then I worked out YUI just did it all for me if I let it. I like that. I could have done it myself. YUI would have let me and not complained. But if I want to delve a bit I can find cool, quick, clean ways of doing the same thing. I refactored my code, with the help of YUI in ten minutes. I like that, but I think I said that.

More dConstruct craziness

Last year I missed out on dconstruct, this year I sat and watched the timer tick down. Which didn’t help hugely as a fair few other people were doing the same thing and the site went into what appeared to be a javascript induced page request meltdown. Oh well. Everything worked out in the end, I paid my money for myself and a colleague to attend and so did 348 or so other people and it’s now sold out. Why do I get a feeling I could name half the people attending? and be about right?

Their will again I’m sure be more web conference as trendy holiday for web geeks and nothing else conversations, but again I dont care. I haven’t had the chance to do any holidays at all for ages unless you count Carson and @media, and I learn lots again as well.

Well, I’ve fired up the dConstruct feed thing again, although I need to update the codebase with the latest version as it lacks the bits I added (like new post indicators and the stats) more recently. Give me a week or so.

Much more interestingly, and entertainingly, I have to recommend the dConstruct Podcast. I listen to podcasts on occasion, always grab talks from conferences and the like and subscribed because it was their. I didn’t expect it to be a rock and roll fourteen minutes of comedy genius. Everyone who’s been to one of Jeremy’s talks or sessions will know he’s an enthusiastic and engaging presenter, but little did we know about the comic inside. Ok, so you need to know everyone, so maybe it’s a bit incestuous, but it’s still funny. Through in some more info about the upcoming event and everyone will be laughing. More of the same please.

On the web design podcast front; anyone know of any good magazine style programmes on web design and development? or even better a weekly comic look at the industry?