Archive for March, 2009

Over Engineered to the Point of Confusion

Over Engineered

With good design, the user instinctively knows what to do next. Everything from a web app to a door handle. Pretty much everything we use. For example, when you see a tap you already know how to turn it on. All it needs is a twist.

If we use the conventions that have gone before, people will know what to do. It’s simple right?

Well, not quite.

For instance, what about innovation? Where does that fit in? How can we move forward if we rely on the rules that already exist? It’s a really difficult question but one way to answer it is to show you what not to do. Sometimes, in an attempt to break convention, to create something new, the designer gets it wrong. So wrong in fact that an action that used to be simple actually becomes more confusing then before. Regression in it’s truest sense.

Unwanted Innovation

Recently I was in a hotel bathroom and noticed this message above the sink.

Please Be Advised...

If a tap needs instructions so people know how to use it, then that’s a FAIL in my book. The tap problem was solved way back in the late 19th century. The original tap design works. People know how to use it. They don’t need instructions to figure it out.

Designing a tap that looks like a miniature hair dryer just confuses people.

Hairdryer Tap

Lets not over engineer things to the point of confusion. If the problem is solved, leave it alone. There are plenty of other problems out there just begging for our attention.

Blogging One Year Today

Blog Mosaic of Previous Post Headers

It’s exactly one year to the day that I launched this blog. So I though I’d do a quick review of why I started it, what I’ve learned in the process and where I plan on going to next.

I Started Because…

I started blogging for a few different reasons. One was because I felt there was a web community in Ireland that was quickly gaining a voice and I wanted to be part of it. Another was that up until last year I was still working from home and I felt a little isolated in my daily routine. I needed a way to meet other designers and developers. A virtual water cooler. Another was that I believed I had value to add from my experiences so far and that a blog would be a perfect platform to voice these opinions.

But what finally got me out the traps was a very quick chat I had with Niall Larkin in the Digital Depot. He probably doesn’t even remember it, but it resonated with me enormously. The web is about connections, and it’s about having an online brand and an online reputation. Writing a blog is by far the best way to make all of that happen. So I got busy designing a custom theme and launched a week or so afterwards.

The Benefits

The benefits of starting the blog were immediately apparent. I met some old friends that I didn’t know were in the web space, and I made some new ones that I admired and respected. I started to feel immediately connected with what was going on in the web community both in Ireland, and the World. But launching the blog was just half the trick. It’s just as important (if not more important) to read and comment on other blogs written by people in your niche. This is where the real value comes in, the community engagement. It’s not an essay, it’s a conversation.

Twitter Power

Using Twitter has increased the sense of community online by ten fold. It’s really only just starting to take off, but the web community have been using it for years. And although I felt I was a little late to the party (when I joined last year), the Irish web folk on Twitter have been incredibly friendly and supportive. I can’t recommend Twitter highly enough as a means to engage with other people in your industry, your niche or your interests. There’s a community there for everyone.

I liked Twitter so much that I started playing with the Twitter API. At first I added an aggregation script to the short.ie homepage, a project I started last year. Then later on I launched Twitter Perch, a tool for following people who talk about things that interest you. And then just earlier today I launched Twission, a Twitter Search extension that adds tag information on the degrees of separation between you and the tweets in the search results. There’s a more comprehensive post about Twission over on the Webstrong Blog.

Meeting in the Flesh

Having met everyone online, I was looking at ways to meet my new contacts in the real world. Thankfully there’s an abundance of events in Ireland where you can meet the people in the web community. There’s everything from Firefox Parties, to Connector Events, to Bizcamp, Bizspark, the Irish Web and Blog Awards, Twestival, and of course the recent FOWA conference.

Meeting these guys in the flesh really brought home the sense that there’s something powerful happening in the web community in Ireland at the moment. We’re getting together, we’re gaining a voice and we’re doing some really interesting things on the web.

The Year Ahead

The last year in the blogosphere has been truly ground breaking for me. It’s changed how I work, it’s changed what I know, it’s forced me out of my comfort zone. I’ve made new friends, had great work opportunities, and it’s given me a voice that I didn’t have before. But it isn’t going to stop here. The year ahead is going to be even more exciting. I’ve just launched the Webstrong Blog and have great plans for the business. I plan on making even more connections, releasing more apps, going to more events, and having a whole lot of fun in the process.

Here’s to another year of Code agus Craic.

Announcing the Webstrong Blog

Announcing the Webstrong Blog

I’ve been planning the launch of the Webstrong Blog for a while now, and I’m delighted to say that I’ve finally kicked it off. The new blog will focus solely on developments within the web community and news relating to the company. It’ll be a platform for honest, transparent and inspiring stories on business in Ireland, building web apps, and running a software company.

I think the new blog comes at a good time because I’m at another stage of major change in the business. For one, my time in the Hothouse is coming to an end and I’m looking at expanding my team again. Plus I have a great new office lined up too, which I’ll announce as soon as I’ve signed the deal.

Keeping Up Two Blogs

A concern I had when deciding to launch the Webstrong Blog was that this blog, my personal blog, would suffer as a result. But the reality is that Webstrong is a lot more then just me now, and together with my team we’ll be writing posts from all angles and opinions. So it won’t be just me posting on it, which should make things a little more interesting.

The Big Brand Decision

One big decision that most bloggers must have to make is whether to brand their blog as a personal one or as a business. I reckon it depends which one has the bigger voice, is most important to you, most appealing to your audience and most marketable overall. For me, that used to be an easy decision, but I think it’s time now to give the company an identity all of its own.

I’ll be posting in both places now. So go check out http://webstrong.ie/blog for more information.

Comments Closed

Footprint’s System Architecture

A Deep Dive into Footprint\'s Architecture

As some of you may already know, I’m working on a web app called Footprint. Essentially it’s a business collaboration tool to help designers run their business. I’ve really enjoyed building it and I’ve learned a huge amount in the process. So in this post, I’m going to share some of that and show you how the whole system comes together.

The Tools of The Trade

At its core, Footprint has a simple, modular code architecture that I’ve slowly built up during its development. I wanted the system to make use of all the latest AJAX libraries while at the same time, failing gracefully if Javascript wasn’t turned on at the browser. So, I developed a framework using a combination of jQuery, Smarty, the SmartyValidate plugin and PHP sessions to support both synchronous and a-synchronous calls to the same script using centralised messaging and form validation.

Other key libraries include the well known PEAR library, the PHP OpenID Library by JanRain and the S3 SDK by Geoffrey Gaudreault.

The Poster

To get a better idea of how everything is organised within the app I created this poster:

Footprint Architecture Diagram

(Click on the image to enlarge)

This colourful image represents all the main libraries, plugins, data stores, and communications channels used in Footprint.

The Framework Features

I’ve used an MVC architecture, built on a set of controller files. These control the flow of the app and acts as a buffer between the system’s business logic and the UI layer. Other aspects of this design that I’m very proud of are:

  • Dual Support for OpenID and Standard Authentication;
  • An API layer so that the app can be expanded on once it’s released;
  • Support for both Synchronous and A-synchronous communications;
  • Centralised Email Centre, where all email templates are held;
  • All users’ binary data is stored on Amazon’s S3 Simple Storage Service;
  • Built in support for multiple languages.

I created this poster to act as a reminder for myself of Footprint’s structured codebase, and to enforce a disciplined approach to code amendments and additions as the system matures and grows.

The Original

Here’s the original sketch that acted as the basis for the poster: (I kind of prefer this one! How about you?)

Footprint Architecture Original Sketch

(Click on image to enlarge)

What Does Your Architecture Look Like?

I’d like to see more of these graphical representations from other developers. It’d be great to see in a visual way how others organise their code. I’m not exactly sure why these appeal to me so much, maybe it’s because I’m left handed and therefore a visual learner. Who knows.

If you already have a poster for your web app, I’d love to see it so please leave a comment and let me know.

A Perfect Example of Great Customer Service

Good Customer Service Done Right

I firmly believe that great customer service is the key to success for online businesses. And the great thing about it is that when you’re a startup, it’s easy to give your customers the time and attention it takes to deliver it.

This week I experienced great customer service. And the company who provided it was Sxoop Technologies. These are the guys behind Twitter Mosaic, the Twitter app that lets you order custom clothing and accessories with a mosaic of your Twitter friends printed onto it.

As some of you may already know, last week I received my order from Twitter Mosaic only to find that they sent me the wrong product. A simple mistake to make but after waiting almost 3 weeks for it to be delivered I was massively disappointed to find I’d received someone else’s order and not the Twitter mug I’d expected.

To show my dissatisfaction, I uploaded a photograph of the wrong mug and tweeted about it. Most people thought it was hilarious, and to be honest I can’t blame them! It was pretty funny. But at the same time I was very disappointed too.

Just a few minutes after I posted up the photograph, Sxoop man, Walter Higgins, got in touch with me and apologised for the mistake, despite the fact that it actually wasn’t his fault, but the fulfilment company he uses behind the scenes. Nevertheless, he stressed how sorry he was and reassured me that he would take care of the situation.

Another few minutes later I received a voucher from him worth £25 (which was more then the cost of the mug) and was reassured that my original order had been found and would be sent out to me immediately via express delivery.

Just 3 working days later, I received my actual order. Hurray! The mug looks great, so now I’m very very happy.

Walter and his team have succeeded in turning around a bad customer experience into a great customer experience. And have made a once unhappy customer into one of their biggest fans, all through timely customer service that exceeded expectations.

If you run an online business, then this post is for you. Great customer service is the difference between mediocrity and success. And if you’re a small company, it’ll be a lot easier for you to provide it then it is for large businesses. That should be your differentiator, that should be why people should choose you over the others.

It’s a piece of low hanging fruit, so take it. Great customer service is always appreciated. So to Sxoop and Twitter Mosaic, a big thank you for turning this around. You guys rock.

Comments Closed