Drake Music Scotland

September 14th, 2010

Screen shot 2010-09-14 at 23.56.10 (2)

Drake Music Scotland is, in their own words, “the nation’s leading arts organisation providing music making opportunities for people with disabilities,” and recently launched their new site. I worked with Ben Gracey, a great Edinburgh-based designer, to build it using a customised WordPress content management system, and it was a pleasure working with him to realise his vision for the site.

Accessibility was an important aspect of the project, which was music to my ears. Also, the performance of the site was tweaked to give the fastest possible page loading times, helping usability and search engine rankings.

As well as building templates, I guided Drake through a morning’s training – so easy to use, that’s all it takes! They’re really happy with the finished product, and it’s being well used.

Alternative to…

November 27th, 2009

Found a site that I thought should exist, and as if by magic it does: AlternativeTo. Fed up with Basecamp? Thinking there must be SOMETHING better than iTunes? Big lists of alternative options. That’s all. Good to know it’s there.

Getting things done

November 27th, 2009

Time to get organised: I’d been reading a lot about David Allen’s Getting Things Done (GTD) methods of organising life and work, and it seemed to chime with moves I was making by myself. I got the book from the library and I’d recommend it for people like me who might seem organised on the surface, but at the cost of a bit of stress at remembering everything.

GTD is a methodology that recommends getting stuff out of your head and into a system, so that it doesn’t clutter everything up and get in the way of creative thinking and the kinds of things your mind is good at. ‘Stuff’ comes from your inbox, or colleagues, or mail or phone messages and has to get done; brains are good at remembering, but not at the right time, so you’ll remember you need batteries when you turn on a dead torch, not when you’re passing them in the shop.

It’s a good argument that Allen makes, but it leaves us needing a system to put our ‘stuff’ in. I’m using Remember The Milk, which I signed up for a couple of years ago but didn’t take the time to properly investigate; now, with GTD, it makes sense. It’s extremely flexible, and you can add tasks, tags, locations and dates to make your own taxonomy that works for you. I’m working towards a system described in a post by Doug Ireton that implements GTD’s principles; it’s early days for me, but he says his system took a year of tweaking to perfect, so I’m happy to follow the same route. My head is clearing as I write….

Innovate

June 19th, 2009

Another Pobo site has gone live at innovate-fs.co.uk. It’s the first in-house design for a while, and I’m pretty pleased with it: it was tricky to try to convey the gravitas and trustworthiness required in the financial services sector while avoiding being dull. It took several iterations and some constructive feedback, but we ended up with a clean, simple look leavened with a careful selection of stock images and icons. Have a look and see if it’s on the right side of the line…
Wordpress is the content management system underneath the site, and WP continues to provide a wonderfully flexible and extensible basis for a wide range of projects. It offers a huge amount of power, and for free. It sounds too good to be true but it’s a rare exception to that rule. This site didn’t require too much in the way of fancy add-ons, but one plug-in that has proved itself worthy of inclusion in the pantheon (which I will create in due course) is Contact Form 7: all manner of options for creating form fields, validating them, requiring opt-in (to ensure a user has read terms and conditions, for example), spam prevention and nice feedback see it earn its place.

Bug fixing made easier on the eye

May 15th, 2009

One of the best things about working with ColdFusion is the <cfdump> tag: give it a variable and it will lay out a visual representation of it in nice colours, which makes debugging so much easier and faster than in PHP. Trying to make sense of a four-dimensional array with just a bit of indenting causes brain injury, so dBug is a wonderful addition to the PHP developer’s toolkit. Arrays, objects and resources returned by database queries are all now beautifully readable:

untitled-1

untitled-2

The dBug site says it has been downloaded 26,000 times, which doesn’t seem like a lot given the size of the PHP developer community as a whole; maybe it helps to have used ColdFusion in order to know what you’re missing.

CAPTCHA – beginning of the end

May 8th, 2009

There’s a good piece in the current issue of .net magazine on the evil that is CAPTCHA – images of letters and numbers distorted to nearly, but not quite, the point of illegibility. Alastair Campbell, their ‘Access All Areas’ guru, makes a series of good points, viz. everybody hates them, even people with 20/20 vision have trouble with them, they’ve all been broken, they’re sent to sweatshops in the Far East for ‘translation’, and also not all spam is submitted by robots: human beings can be malicious too, just more slowly.
But something has been troubling me about these things for a while: aren’t they illegal? The Disability Discrimination Act requires that the same experience is offered to everyone regardless of physical impairment. Blocking a visually-impaired user seems to be pretty clearly in breach of this; and even if an alternative is provided, such as audio, now you’re excluding the deaf-blind, and so on and on.
It’s surely just a matter of time before a court case tests the as-yet woolly extent of the DDA’s provisions as they apply to websites. The RNIB keeps threatening to bring one, but the threat seems to have been enough in each case so far to get modifications made to the offending site. But when it happens, and it will, I wouldn’t bet against CAPTCHAs having to be ripped out of millions of sites across the UK and beyond. And not a moment too soon.

New site launch

April 24th, 2009

Life of Pi screenshot

I’ve just completed a new site for the Edinburgh publisher Canongate to promote their Life of Pi Readalong. They’re trying to get 31,400 or so people reading Yann Martel’s Booker Prize-winner in August, and the site exists to get people signed up.

It’s based on the WordPress content management system with some cool plugins for things like the comment wall and video player on the front page. WordPress has really come of age recently, and the range of plugins means that it is an extremely versatile and extensible system. Some of the most useful, though, just make marginal adjustments, like restoring images to excerpts of posts: normally WordPress strips them out, but that made for a bit of a text-heavy page.

We used Mailchimp to manage the mailing list: signups are sent to Mailchimp and then data about the list is retrieved to show who has signed up and how many are going to be part of the Readalong. The Mailchimp API is pretty easy to use, although we had to modify a few things to speed it up.

We started by using the Mailchimp database directly, so every time we needed to get the list of readers, we’d ask Mailchimp for it. Sometimes this worked okay, but a lot of the time it was slooooow and sometimes it would just time out and fail. Not ideal. So, wary of duplicating data and getting out of sync, we looked into keeping a local copy of the Mailchimp list. Running a cron job every ten minutes or so and getting a fresh copy was the first option, but it’s a bit brutal and when the numbers get large, rather a strain on bandwidth. Thankfully, Mailchimp themselves came up with the solution: webhooks. These are functions that can be invoked by developers when a particular event happens, and the results are sent to a specified URL. In our case, subscriptions and unsubscriptions trigger POST requests to a page on the Life of Pi site that uses the data in functions to insert or delete records in the database. Not much fun to test, but now it’s up and running, it works beautifully and we’re all synced up.

Anyway, the counter is ticking along nicely, so let’s hope they pass their target. I have to say I wasn’t sure about the novel when I read it, but there’s some good background and critical analysis on the site that has persuaded me to give it another look…

Code versioning

March 29th, 2009

After Assembla’s frankly rather sneaky decision to start charging for its services, which I was using for code repositories both for pobo projects and for If Looks Could Kill, I took the hump and started looking around. A lot of people in this area offer a lot of stuff: project management, bug tracking, file storage etc etc. These kind of features always seemed nice but I never actually used them. I just wanted enough repositories for my needs, for my favourite price, with the option to have a handful of users join in if I needed it.

I looked at several, including Beanstalk (limited to one repository) and Project Locker, which offers a lot for nothing, but ultimately I chose Unfuddle for individual work. It only allows one project for the free option, but within that you can have unlimited repositories, and one more user if you need. It has a nice web interface, but the point with these services is that you can choose never to see that after you sign up: if it’s working, you just check in, update and commit in your SVN client (Subclipse is my choice) and that’s all.

Which helps my other winner, XP-Dev: it’s quite new and is still finding its feet, but it offers unlimited projects, repositories and users with a generous 1.5GB space limit. Its interface is pretty basic, but didn’t we just agree that that didn’t matter? Assembla has taught us (again) about free lunches, but the XP-Dev guys are aware of how annoyed that apparent U-turn made previously evangelical users, and seem determined to remain free. I’m already using them for a couple of projects and things look good: free, private, multi-user, multi-repository Subversion hosting. Too good? We’ll have to wait and see.

Syncing

November 28th, 2008

A little bit of Microsoft/Apple harmony has smoothed my home network. I was looking for a way to stream music off my laptop to my hifi and Apple’s dinky Airport Express seemed to fit the bill (thanks to Goofbay for a last-minute smash’n'grab on a second-hand unit). The other part of the problem was keeping the Vista laptop music folder in sync with my other PC, a desktop running Windows XP, and for this I use an MS ‘power toy’ called SyncToy 2.0, which I only stumbled upon: it seems to be almost a secret, but it’s pretty useful and it’s free. It doesn’t have any size limitations like the free version of Dropbox or MS’s Live Mesh, and it also doesn’t upload anything to the web, which in the case of music files would take ages and adds unnecessary complications and security issues. In short, it does what I need and no more.
So music gets synced courtesy of MS, then streamed by way of Apple. Everyone’s happy.

Frameworks

October 21st, 2008

I’ve been researching PHP frameworks for a couple of projects that are coming up. These seemed to emerge from jealousy at the rapid development possible with Ruby on Rails, which uses a model-view-controller (MVC) arrangement and a lot of useful convention-based shortcuts.

Cake was the one I had heard of, but I came to hear about several others, including Symfony and CodeIgniter, and these three eventually formed my shortlist. There were a number of factors in the choice: documentation for something that involves a lot of assumptions and a fairly steep learning curve has to be clear and up-to-date. CodeIgniter is the winner here.

Secondly, the strictness of adherence to MVC. Cake and Symfony require all three, but the model is optional for CodeIgniter.

There is little to choose between the frameworks in the functions they offer, such as validation and helpers with such things as links, forms and sessions. So the only thing to do was build a blog and see which made most sense while doing it. CodeIgniter’s video tutorial was good (build a blog in 20 minutes, just like Ruby on Rails!), Cake’s documentation was exposed as inadequate and I gave up on Symfony altogether. The CodeIgniter blog is built without using any models, making it perhaps an easier transitional framework. So CodeIgniter it is…

Search the blog

Categories

contact

accessibility

Access keys: press alt (Windows)/ ctrl (Mac)

+ 0 to skip to navigation

+ 1 to skip to main content

+ 2 to return to the home page

+ 3 to increase font size

+ 4 to decrease font size

(followed by Enter if using IE)

modify

click to increase font size

click to decrease font size