Empower your clients with open source

In my quest to cure insanity one website at a time, I have come to realise that we in the web community are not doing enough to empower our clients. We all need to make a living – that is obvious – but some of us, in our desperation to guarantee income, have resorted to the dark practice of building highly bespoke CMSs with the sole purpose of giving clients almost no choice but to be tied to them, and them only.

A false sense of empowerment

Let me explain. We recently took on a client who had had a website built for them by their previous web agency, and for whatever reason their relationship ended and the client was left with full ownership of their website. After a couple of casual discussions, a kick-off meeting and a series of remote user tests, we were tasked with making some major changes to their website to improve user journeys and calls-to-actions. Simple right? Wrong.

The previous web agency had made a pig’s ear of developing the CMS. Their code was sloppy, PHP includes were randomly scattered throughout their files and they had devised a very unorthodox template system to generate the front-end. In short, the time it would have taken to work out their spaghetti code and apply the requested changes took the client way out of their budget range. Our quote was too expensive because of the poor practice of the previous agency. The client was under a false sense of empowerment. They had paid good money for a website and they (quite rightly) assumed they had made a good investment that would stand the test of time.

We ended up scaling back the proposed changes to be mere cosmetic tweaks, which left us with a bitter taste and (in our eyes) a job half done. I had the distinct impression that the previous agency had purposely built a site that would discourage easy changes and force the client to keep returning to them. What was more worrying was their branding was all over the admin area and the names of their content types were very generic, indicating that they probably used this monstrosity for all their clients’ websites.

Open source is an open mind

If the previous web agency had built the client’s CMS on WordPress, Drupal, Joomla or any of the other open source, community supported systems, our client would have been able to afford the proposed work. The CMS would have been built with high quality, documented code, that is both standards based and also extensible using community supported modules.

In this day and age, I can’t believe web agencies are using their own bespoke systems as a product to sell. The amount of pre-built and pre-tested plugins that are available for open source development is quite frankly astonishing, so whenever I come across a bespoke site like this I always suspect foul play, or at the least that their business model is totally backwards. Would it not be more economical to use the code that a huge community of developers have built and tested for you for free? It would certainly free up time and budget to focus on the more important tasks like user testing, analytics and content strategy.

And let’s say your relationship does eventually end with that client, it happens. Because you opted for open source development, it is much more likely that the next agency, freelancer or in-house developer can pick up where you left off without having to do a costly source code review. It means you have provided a service that extends beyond your project scope and improves business continuity. That is what we should aspire to achieve in all of our work. Products that are universal and lasting.

We are not just code monkeys or pixel pushers

Now, if only the client had someone on their team who knew just a little about the benefits of open source, this problem may have been nipped in the bud. But it’s not really their fault, they are all busy as bees doing their own job. It’s up to us to educate our clients.

The web is young and still finding its feet, and as a profession web design and development is only recently beginning to make progress towards something that people outside the industry respects. We are no longer code monkeys or pixel pushers, hired to sit in dark rooms producing work for misinformed clients. Thanks to the work of so many industry leaders (too many to even try and mention) we are starting to be heard and listened to. Clients are realising that we know a thing or two about the web, and are more open to suggestions. It is, therefore, very important that we take this chance to educate clients on the importance of building open source, portable, scalable websites. Websites that empower and protect them.

It is not enough for us to work just for our hourly rates. We need to build sites that help our clients achieve business goals and make a real tangible difference, so that our profession can be taken more seriously.

Let’s empower our clients, starting with open source.

One Web, Multiple Experiences

The whole industry seems to be neck deep in responsive web design at the moment, with sites popping up all over the place. It’s been almost 18 months since Ethan Marcotte’s infamous introduction to the concept, and the launch two weeks ago of the Boston Globe responsive site is its first real test on a high-traffic, high-powered content management system.

My favourite so far, though, has been Naomi Atkinson’s responsive site – and not just because of its gorgeous design. She has used JQuery Masonry to simulate the re-ordering of the divs as the viewport’s width gets narrower. Resize your browser and check it out, it’s great! That little injection of user feedback boosts the user experience no end.

Mobile users won’t need that, right?

Whilst working on making our own agency site responsive, the question of whether to remove certain content from the mobile layout kept popping up. During the discussion, my initial gut reaction was “hell no” as I, firstly, thought it would be a mess to do technically, and secondly, am of the firm belief that we as web designers can’t possibly be able to assume what a mobile user might want to view or not. I didn’t realise it at the time but my mind was reverting back to Jeremy Keith’s article on the notion of One Web, where he states:

I think there’s a real danger in attempting to do the right thing by denying users access to content and functionality “for their own good.” It’s patronising and condescending to assume you know the wants and needs of a visitor to your site based purely on their device.

Now, here Jeremy was discussing standalone mobile sites (like those with an m. extension) versus desktop sites, but the argument is still valid for responsive design. Admittedly, others in our discussion put forward the strong case of the National Rail mobile site. It strips away everything from the desktop version of the site leaving the most important information – train times and fares for the next three departures.

This is purely on the assumption that a user would only be visiting the site on a mobile device for an urgent need to check train times. Now, I can’t argue with that particular user scenario, stripping away the rest of the content works, and works perfectly.

And there are obviously some types of content that can be removed without causing too much trouble. Paul Boag has recently responsi-fied the Boagworld blog, and he chose to remove the left sidebar on narrower screens (see Dan Sheerman’s profile on the left vanish when the browser window is narrowed).

But, to be completely honest, even this bothers me. Perhaps I am being selfish, but I want to be able read Dan Sheerman’s profile on my iPhone. I want the option to read everything on the dekstop version of a site, on my mobile device also. I feel robbed damn it!

Give up man, the screen is too small!

This whole subject has been bugging me for a while now, until this morning when I read Stephen Hay’s responsive web design article in .Net Magazine (Nov’11, p.45). It reads:

I’d suggest bringing a platform-agnostic approach to content and a platform-aware one to user experience.

I seriously couldn’t put it better myself. We as web designers shouldn’t discriminate against our mobile users by removing content. It is up to us to craft websites that reposition the content to suit the viewport’s size. This could be as simple as making everything fit into one column, or as complex as hiding content in accordions or tabbed blocks, for the user to reveal when needed. In other words, we need to build one web, and cater for multiple experiences on smartphones, older mobile phones, desktops, laptops, tablets, and even widescreen TVs.

Returning back to the case of the National Rail website, it is obviously appropriate to place the journey planner at the top of the page on small screens, but access to the rest of the content about pet travel, disabilities information, season ticket details etc, should be worked into the page below in a user friendly manner. Mobile users shouldn’t have to click three or four times to find their information.

I know it won’t always be possible, but we have to get away from these sweeping assumptions that mobile users are “on the go” and the best way to do that is by performing research, specific research, on a project-by-project basis that will inform our responsive web designs.