Web Projects
The Early Bird Gets … Left Behind?
Feb 10th
One of the fundamental principles of agile programming, and something that’s leaked out in to other less trendy development methodologies is the notion of “release early, release often”. In a nutshell it says you should release your software product quickly and then update it when you have a new feature or two. It’s fundamentally different to the old style approach of releasing an application when it was finished and everything was complete.
On the whole it’s a great way of doing things. It limits scope creep. It allows you to get feedback very early in the project. It ensures you’re moving forward. This is all brilliant. But that’s not to say it’s perfect.
The problem with “release early, release often” is that users often expect to see more than you’re giving them. Someone signed up as a “beta user” still has expectations that the product they’re using is going to work; releasing before your feature set has the minimum number of things required to make your product useful will put off the users who are most likely to be enthusiastic adopters of the product once it’s complete.
Broken things, ugly things, even experimental things are features a beta tester will take in their stride. Missing things though, especially things that limit the functionality of the product to the point where there’s no reason to use it, mean there’s no reason to carry on trying. The user will walk away.
That’s a key problem for a start-up. Coxing users back after they’ve given up on your app is far more difficult than getting them in the first place. I’m not going to mention any start-ups by name, but it’s something I’ve seen several times in the past month, and I have given up on the app each and every time. As yet I’ve not been back. I wish those apps well for the future, but I also know that the start-up I’m a part of at the moment will be learning from their mistake.
January Beta Round-up
Feb 1st
During January I’ve played with a few interesting web apps. From small one-man developer ideas that people are building in their spare time to big VC funded sites there are some exciting things around the corner.
About.me – http://about.me – An online “business card” app. All in all, pretty good. I’ve yet to see whether or not any of these web apps really work as a useful tool but it’s quite easy to use and pretty enough to share with people. Mine is http://about.me/chrisneale
Refynr – http://refynr.com – An app that allows you to see your Twitter stream with a set of keyword matching filters applied. It’s a great idea, but as a Twitter client it lacks most of the features you’d expect. If the technology was built into Twitter.com or Twitter for iPhone it’d be fantastic.
Accelsor – http://accelsor.com/ – An online webpage design tool. It showcases what can be done with some clever Javascript but it’s not particularly usable unfortunately. Certainly not something that’s going to replace Dreamweaver or handcoding any time soon. Fun to play with and quite inspiring though.
Streak.ly – http://streak.ly/ – A to-do list manager that simplifies the process of keeping an action list. One very innovative and exciting feature is the ability to “cheer on” other users of the site to encourage them to keep working on their tasks. Unfortunately, like Refynr, it’s something that I’d like to see implemented in the tools I currently use. The app isn’t good enough to make me switch to it (yet!).
Zerply – http://www.zerply.com – Another “business card” app. This one aims to be more for professionals than About.me, and it succeeds rather well. All the expected information is presented neatly and it even does nice extras like linking to a blog. My Zerply card is here: http://zerp.ly/onion2k
Pinterest – http://pinterest.com/ – To be entirely honest, I still don’t really know what Pinterest.com is trying to be. It’s halfway between a curation tool and a link sharing website. It looks good and it’s gaining traction with a few ‘celebrity’ users but I’ve left it alone since I tried it. Maybe I’ll go back some time.
Qwiki – http://www.qwiki.com/ – Qwiki is awesome. The concept is really simple – take a wikipedia page, put the first couple of paragraphs into a text-to-speech generator, and then play the audio alongside a slideshow of pictures that have been found with a search. For something so simple though it really does a great job. It’s easy to sit and soak up information, and for as a learning tool for kids it’ll be massive. It’s not hard to see why they’ve been getting millions of dollars of investment.
GenerationStation – http://www.generationstation.com/ – GenerationStation is a web app for building an online family tree, but in a way that rather closely resembles a social networking tool. You create a profile for a dead relative to start with, and then hang living people off that. It’s strange. I can see the appeal though. Ancestry.com has been a terrific success and merging that with a social interface is a good idea.
Whoopaa – http://beta.whoopaa.com/ – A tool that lets you manage your lifestreams from both Twitter and Facebook in the same place. It does what it sets out to do but as someone who rarely posts on Facebook it’s not something I find useful.
Infinite.ly – http://infinite.ly – Infinite.ly is a tool for creating “fan pages”. A fan page is a simple website that pulls in content from other sources such as Twitter, Facebook, Youtube and Flickr, and displays them in a nice and easy to use way. I made a page that worked in a few minutes. There appears to be another side to the app called your “Buzz Feed”, but there’s no explanation about what it does. If anyone can figure it out, leave a comment.
Globified – http://globified.com/ – I love Globified.com. It’s rather similar to Foursquare and Gowalla, but for trips and journeys instead of for every day life. You do all the usual checking in and uploading images, but there’s more emphasis on where you’ve been than where you are right now. The site looks gorgeous, works brilliantly, and actually makes me want to go somewhere just so I can use it properly.
Localmind – http://www.localmind.com/ – Hanging off the back of Foursquare, Localmind enables users to ask pertinent questions of people who have checked into a place you’re interested in. For example, you could ask people who have checked into a bar what it’s like, or ask people waiting at a station if the trains are late. It’s a cool idea but it needs more users. It’s too sparsely populated to be much use at the moment.
New toys: scoop.it and ifttt
Jan 6th
Scoop.it
Scoop.it is a new curation app that’s just opening up to Beta users. I’ve been playing with it for a little while, and I have to say it’s pretty awesome. I’ve used curation tools in the past (namely Curated.by) and while I’ve liked what they do it’s always felt like a bit of a chore. I’m not sure why. Consequently though, I’ve never curated much content.
With scoop.it though it actually feels fun; it’s a simple and natural way of sharing things. It’s not actually very different to the other services out there; there’s the usual tools on the website and a bookmarklet for curating when you’re looking at things. There’s something about it that’s just nice. As I said on Twitter yesterday scoop.it has that “it just works” factor. Plus, the curated content looks good. That’s important.
My experience with the service is still very limited but I can imagine myself sticking with it (especially if people actually watch my channels). You can follow what I’m curating at the moment here: http://www.scoop.it/t/ideas-inspiration-and-creativity
IFTTT
IFTTT (If This Then That) is a web based automation service that lets you build up tasks from ‘channels’ that work a little like Lego blocks. You take a channel, and when something happens on it a defined action happens on another channel. For example, I’ve set up a task that watches a news feed (using the RSS Feed channel) and when a new article appears an action tweets about it using my Twitter account.
There are channels for all manner of things, from the date and time to Flickr to Facebook to the weather (if you’re in the USA). You could define a task that automatically updates your Facebook page when you upload a picture to Flickr, or says “Good morning” at a particular time every day, or … well, you get the idea. There’s stacks of potential.
Whether or not ifttt will work in the long term depends on it staying available and working, and what channels are available. I hope it succeeds. It’s already proving useful.
Currently ifttt is in Beta and you need an invite to access it. Sign up on the website or ask me (at the time of posting I have 1 spare).
The Right Way To Get Things Wrong.
Oct 6th
“The website is down.”
That’s an all too familiar message. Errors on websites are still shockingly common. And what the user sees when your website is suffering an outage of some description, be it a server error, a missing page, or simply the user getting something wrong should be a big concern in your life if you care about retaining their custom.
Back in the olden days of the internet, so about 18 months ago, most websites had customised “404″ pages, the page that the user sees when they go to an address that isn’t found. Giving the user something more friendly than “Not found, try again” was seen as best practice in web development. Some sites came up with amusing ways to tell their users that the page was missing. Of course, some sites still just dump the not found message on you. But that practice hadn’t spread to other server error pages. Users were still faced with an unfriendly, complicated message if the server broke.
That changed with the growing popularity of Twitter. As the site grew the developers realised that server problems were a real, and frequent, problem. Obviously they fought to keep them to a minimum but they also put in an error message that would placate and pacify the user – the “fail whale”.

It was nothing short of a stroke of genius. People largely stopped complaining about outages and problems and referred to the errors are “fail whales”. While it was just a semantic change it alter people’s perceptions and attitudes towards the site. I strongly suspect that Twitter’s enduring success is down, at least in part, to that whale. Without it people would have abandoned the site and not returned. With it they weathered the problems. It’s worth noting that the engineers at Twitter have seemingly always been more keen to keep the API server block running more so than the website. The API servers are what deliver tweets to 3rd party applications – ones without the whale. Users seeing the pretty, friendly error will wait for a fix longer than those who don’t.
This notion of making things friendly extends beyond Twitter. On an Apple Mac, particularly on an iPhone or an iPod, seeing a error message is incredibly rare even with unstable software. The application just dumps you back to your desktop or home screen, or occasionally the device locks up and needs a reset. Again, I believe that is a conscious, deliberate decision on the part of Apple. By not showing an error message (particularly a complicated one with error codes and text that’s only meaningful to the developer) the user doesn’t get confused by something they don’t understand. Everyone gets being dumped back to their desktop. They know what happened. They understand the application crashed. It doesn’t matter whose fault it was, the user knows that they need to start over. And they do. Compare that to an error on a Windows PC where it’s not so simple, where the user might see the famous “Blue Screen of Death” with it’s memory address notifications, segfaults and IRQ conflicts. It’s not friendly. It stops the user in their tracks.
How then can we learn from Twitter, Apple, and all the others who have embraced this simplicity? I believe Twitter especially have managed to get this right so I’d recommend a straight copy of their solution. Not necessarily with a whale, but with a single, humble error screen that conveys to the user what is going on – that there’s an error. It shouldn’t say anything else. Users don’t need to know that there’s a connection error with your database server or that there’s an unexpected T_STRING on Line 93 of your controller script. All the user should see is a friendly page asking them to try again later. Use your server logs for debugging things. That’s what they’re there for.
Can SEO analytics backfire?
Jul 27th
For those readers of this blog who don’t happen to read the Boston Globe I’d like to share a fascinating link: http://www.boston.com/bostonglobe/ideas/articles/2010/07/11/how_facts_backfire/?page=full
The article is about how readers of political articles, when faced with the corrected facts about the article they’ve read, actually become more adamant and entrenched in their misinformed views rather than less as one might expect. Far from admitting defeat, they insist they’re right. Human nature makes us incredibly unwilling to admit we’re wrong.
The problem is known as “backfire”. No one yet knows why backfire happens. It’s pretty strange. And, as with most of the articles and stories I read, I got to wondering how this might apply to web development.
Anyone who’s been in a client-facing role in web design or development, or any other creative industry I imagine, will have met at least one client who is insistent that they know best because they’ve been misinformed by an article, a friend or a previous developer. It’s especially prevalent in the field of Search Engine Optimisation. There are many, many myths about what effects change in your website’s ranking, and persuading a client that what they think is good for their site is actually quite harmful can be a considerable challenge.
Presenting a clear and concise set of web and search analytics results that show how a change has made a positive improvement to the website, either in terms of search traffic, conversion ratio, or customer feedback doesn’t always lead to the client agreeing that the change should stay. The “knowledge” that the client is working from trumps the numbers in front of them in apparently indisputable black and white.
The answers to the issue of client knowledge backfire are given in the article – the direct, blunt approach of flatly refusing to accept that the client is right (because they’re not) while repeating the evidence to them might get through. Alternatively, complimenting the site and highlighting the positive aspects before presenting the aspect that’s backfiring might work instead. It depends on the client. What’s clear though, from my experience and from the literature about the problem of backfire in other aspects of life, is that simply giving a client the facts and expecting them to come to the ‘obvious’ conclusion isn’t always going to work.
Waking NEDD
Jul 20th
Over the 10 years or so I’ve had a keen interest in the development of software around the North East region. I was paid by companies in Sunderland and Newcastle to write a little of it. Much to my annoyance I found a huge amount of digital development work leaves the North East, outsourced from the region to agencies large and small elsewhere in the country and abroad. Sometimes that was due to cost, but more often it was down to ignorance of what services are available. As anecdotal evidence, I’ve been in the room on more than one occasion when a potential client has stated outright that there are no companies in the North East who could create the website/web app/mobile app/whatever that they’re looking for. That always struck me as plain silly but advice to the contrary fell on deaf ears.
Obviously the tendering process will always attract bids from far and wide if the job is marketed well enough. That’s inevitable. And if the best bid comes from a company that you’ve asked to put together a proposal who happen to be a long way away you’d be mad not to commission them due to geographical reasons, especially as the teleworking technology has made it easy for companies and their suppliers to work together without being spatially close to one another. Likewise, the internet has made it simple for a company looking for work to contact potential clients without regard for where they happen to be. The digital industry is truly a global marketplace.
However, while that’s true, it doesn’t make sense to ignore the local companies either. Just because an agency is based a few doors down there’s not a reason not to ask them to tender. The pool of talent here in the North East is vast – anything that a big agency in London can do could be provided equally well in Newcastle, Gateshead, Durham or Middlesbrough. The assumption that to get the best you have to use a company in the capital is far too common, and wholly wrong. This London-centric attitude seems especially dominant in public sector and publicly funded bodies. Money allocated to the North East would benefit the North East more if it was spent here. If you’re organising something that is paid for directly by central government, or by one of the many regional development funds, wouldn’t it make more sense to approach the local providers first?
To this end I’ve decided to gather up the details of all the North East’s talented digital service providers and compile them into a directory accessible by anyone interested in commissioning some sort of software, be it web, mobile or desktop based. Further to that though, I envision this directory as the number one go-to-guy for other related services such as search engine optimisation, social media marketing, email marketing, video production, etc.
This is the beginning of NEDD – the North East Digital Directory. What’s online now is, obviously, a very, very early version. I have a few ideas about how to make it work. What’s there now is little more than a way of viewing the data.
If you run a business that provides some sort of digital industry service, or you work for one, or you’re a freelancer involved in the industry, pop me an email ( nedd@usrlab.com ) and I’ll add you to the directory.
Webdurance
Jul 17th
Webdurance, a 24 hour event to hack together a website for a set of local charities, and the idea of brothers Paul and David King from 1DayLater.com, damn near killed me. I haven’t been quite that tired in a very long time. I’m not consumed that amount of coffee, or sugar in so long either. Strangely, I also ate more fruit than I normally do too.
I haven’t attended anything similar in the past, so I can’t really say whether or not it was well organised relative to other charity hacks, but I can say with some certainty that everything went incredibly well on the day. There were no disasters, all the scheduled food breaks happened, the location was ideal, the freebies were worth having, and everyone had a great time. From speaking to a few of the charity representatives after 24 hours of coding I’m sure that they were pleased with the result of everyone’s hard work too. Everyone involved should be rightly proud of themselves, especially Paul, Dave and Ester who organised everything.
The success of the day, marked by the quality of the websites that the charities now have, is testament to the web design and development talent in the region.
I hope Webdurance turns in to an annual event. I’ll definitely be there for the next one. Congratulations again to everyone who was there.
Group Therapy For Online Anosognosics
Jul 1st
Anosognosia is a fascinating neurological condition. Maybe not so fascinating if you suffer from it, but nevertheless I think it’s interesting. An anosognosic patient is one with a disability but no awareness of said disability. For example, someone may have had a stroke that paralysed the left side of their body, but if they’re asked to pick up an object using their left hand they’ll make an excuse of some sort, like they’re very tired and they can’t do it at the moment. In essence, anosognosia is being unaware that you’re failing to do something correctly.
I first heard the term reading the brilliant Opinionator blog on the NY Times website. David Dunning, of “Unskilled and Unaware of it ” fame, took the neurology term and applied it to social science, looking at how people are unaware of being unaware of things, and how that makes us fail all too often.
The article made me think. How does this apply to my own work? What is there in the project that I’m working on at the moment that’s wrong, but I’m unaware of it being wrong? How can I find out what the issues are? The problem is relatively simple. My own preconceptions make me believe that the work I do is right. I can only work within the framework of my own experience. Sometimes I’ll be aware that things are wrong – I can write unit tests to check if things return what I would expect them to return. I can do mocking to see if web pages are doing what they’re supposed to. I can do integration testing, and black box testing, and grey box testing, and so on and so on. But all those tests rely on my knowledge of what to test being correct. I can know if my tests are right because they’re based on what I know, but I can’t know if there are things that I should be testing that I’m not. There might well be things wrong that I don’t know that I don’t know about. If that makes sense.
So where does that leave me? To be honest, it means that I can’t develop a website alone. Not just me either, no one can develop a site and be sure that it’s correct and working on their own. You can be sure that code does what it’s supposed to, but you can’t know if you’ve missed something out because you don’t know that it should be there. If you did know then you’d have included it in the first place. The problem applies to everything else for that matter, regardless of what it might be. In any creative pursuit you need to have the input of more than one person. The more people the better.
To that end I would advocate something that’s something of an anathema for many developers: networking. Forge relationships with other developers. Get yourself along to some of the many events that are running near you and meet other developers. They’re the competition, sure, but a reciprocal arrangement for some QA testing will be very good for your software quality. You’ll both be better off.
If you’re on the other side of the coin, and you’re commissioning a website from an individual freelance web developer or a company, make sure that there are many eyes checking what you’re paying for before your customers hit it. The recent trend for a ‘soft launch’, or ‘beta version’, or possibly the worst jargon term ever invented, a ‘live test’, is all very well but if your commission doesn’t work the first time few people will come back to try again regardless of what excuse you’ve used to put an unchecked site on to a production server. Can you afford to lose the people who were interested enough to check your site out as soon as it was online?
If you’re in the north east of England, check out Mal Campbell’s fantastic NE Tech Events website. It’s a canonical list of everything that’s happening for developers around Newcastle and beyond.
Culture Grid and Open Data.
Jun 30th
Last night I attended the monthly Dorkbot event at the Centre For Life. As usual there were lots of fascinating talks about a range of subjects, from building a virtual model of Newcastle and Gateshead in Second Life to modeling the Tyne & Wear Metro system in real time in Google Earth. Geek cool at it’s very best.
One particular topic was especially interesting. John Coburn and Mike Hirst presented an overview of “Culture Grid”, a project designed to open up data held by museums and archives across the North East. They were interested in what people might be able to come up with given free reign to search through what data has been made available so far.
My interest was piqued.
So this morning I fired up PHP and pointed it at the Culture Grid API. Easy stuff really, Culture Grid uses an SRU mapping over Apache SOLR so it’s all fluffy and standards compliant. Only… no. Things are never that straightforward.
The first problem is a woefully bad set of documentation. There’s a single PDF that essentially just lists the available fields that the API can return. A couple of example URLs are included, but they’re obvious. That’s all the help you’re going to get. There are no code samples, no libraries for common languages, and apparently no forum or community to turn to to access what’s been worked out so far. Admittedly the service is very new so there’s been little time to build up any following, so perhaps that’s forgivable at this stage in the project.
That wouldn’t be such an issue if the data that’s returned by the service worked with the tools we have available. The XML returned by Culture Grid won’t parse with LIBXML (eg PHP’s SimpleXML wrapper). This is a significant problem for anyone either relatively new to coding or who doesn’t want to dedicate a some amount of time to coding something that will work with it. It is accessible in a very basic way by stripping out the “:” namespace separator in all the XML tags, but the resulting XML tree isn’t very useful either. The API accepts an XSL stylesheet, so it should be possible to write a set of transformations that will massage what comes out into something that can be parsed by PHP, but that’s not going to be much fun.
I think it’s unlikely anyone is going to bother unless they can think of something that’s important to them. Playing with the data just isn’t going to happen unless it’s presented in a better format to start with. As it is, because I’m interested in using the data, I’ve cobbled together some code to parse one of the examples into a standard PHP array; http://www.usrlab.com/code/culturegrid.phps . Note that this is a very rough and ready script. It’ll need a lot of work before it’s actually usable. Feel free to build on it.
This case highlights the biggest problem facing all Open Data initiatives. If the data isn’t in a format that someone can easily access then it’s going to lie fallow, unused and unexplored. As part of Compare The Members I’ve seen lots of mashups that use some of the data sets opened up by the government as part of the push towards a move transparent government. It’s notable that the more accessible the data is, regardless of how interesting or controversial it is, the more people will make something out of it. Ease of access is paramount.
One Month Until Webdurance
Jun 15th
There’s just a month until the North East’s first charity web hackathon, Webdurance. The anticipation is building. If you’re not aware of the event, it’s a 24 hour website building challenge in which volunteers, including myself, get shut away in a big room and produce complete websites for 6 local charities. And we drink lots of coffee. And eat cakes.
Almost without exception charity websites are a dreadful mix of application produced HTML (eg Frontpage) that’s completely opaque to search engines, poorly executed and illogical navigation, and “clever” features that don’t actually work. Consequently the mentality of charity organisers has often been a combination of fear and trepidation when they’re tasked with redeveloping the charity’s online presence. With a tiny, often non-existent, budget it’s incredibly hard to get the most out of what the web can potentially bring to a good cause.
This is what Webdurance is going to change.
Organised by the brothers behind the brilliant North East time and expenses tracking start-up 1DayLater, Paul and David King, with help from PR whizz Ester Laverick et al, I think it’s going to be a turning point in the online life of the charities involved. There’s no good reason why the North East’s pool of very capable web talent can’t create some amazing software in a day. I’m excited.
The event itself should be an interesting exercise too. Being thrown into a new team, developing your communication and team working skills, and showing off your coding, illustration or copy writing skills sounds brilliant to me. I’m sure management theorists would throw terms like “adhocracy” out to describe what will result. Will it be that organised? It’s going to be a laugh finding out.
If you haven’t signed up already please do. It’s a worthwhile way to spend a day. Plus, there’s cakes.

