On Drupal, Standardisation, and the creation of Time Zones
Tuesday, 28th February 2012On Drupal, Standardisation, and the creation of Time Zones
Thanks to all who supported me in the recent Drupal Association elections and I apologise for not keeping you all up-to-date as often as I would like. Whilst I am formulating another update, attached below is an article I wrote for a magazine however it is too long for it but I can't bring myself to summarise further what I feel is an important story to tell. Let me know what you think in the comments if you like.
Drupal Time
Steve Purkiss, Free Software Advocate, founder of the Brighton Drupal group, and recently elected board member of the Drupal Association, on the software which powers over 2% of the web
Throughout history, humans have used standardisation in order to improve universal technical communication and mutual understanding, facilitate exchange of good and services, remove technical barriers to trade, and improve transfer of technologies.
For example, in 1840 the Great Western Railway introduced Railway Time which led to the creation of Time Zones. Previously each region had their own local time but as the railway network grew, timetables became confusing and there were increased numbers of accidents and near misses. Fast-forward to Tim Berners-Lee and the creation of the World Wide Web we can see that creating some well-defined points of reference to “hook” on which we can all freely make use of is sometimes a very Good Thing to aim for.
Now we have the Web, we want to do things with it. Back in 2000, Dries Buytaert wanted a news site with a web board. He was at the University of Antwerp and decided to share the costly permanent Internet connection with his friends, and wanted a way of leaving notes on the status of the network, to announce when dinner was, or to share some noteworthy news item. After graduation they wanted to keep in touch so put the site online and for the first time it had a name, drop.org after Dries made a typo to see if the name “dorp.org” was available – “Dorp” is Dutch for “village”, which seemed fitting at the time. Once drop.org was established on the Web, its audience changed as the members began talking about new web technologies, such as moderation, syndication, rating, and distributed authentication. Drop.org slowly turned into a personal experimentation environment, driven by the discussions and flow of ideas. The discussions about these web technologies were tried out on drop.org itself as new additions to the software running the site.
It was only later, in January 2001, that Dries decided to release the software behind drop.org as “Drupal”. The purpose was to enable others to use and extend the experimentation platform so that more people could explore new paths for development. The name Drupal, pronounced “droo-puhl”, derives from the English pronunciation of the Dutch word “druppel”, which means “drop”. Drupal gained in popularity, and with high-profile sites such as the White House, The Economist, The Post Office, and data.gov.uk using Drupal; and companies such as Turner Broadcasting and ITV standardising on Drupal as a platform, Drupal.org's homepage reports that currently 768,813 people in 228 countries speaking 181 languages power the software and its 14,693 freely available community contributed modules.
Drupal offers a sophisticated programming interface for developers, however no programming skills are required for basic website installation and administration. If you don't believe me on the latter point, hop on over to http://drupalgardens.com, create a free hosted Drupal site and I'll see you back here in a few seconds. OK? Well, add to that a vast catalogue of modules available covering everything from content management through to commerce and collaboration and you have the perfect platform which is poised to “standardise” web application so we can all benefit in a vast amount of ways standardisation provides other than the immediately obvious ones, right? Well, not quite.
“WordPress has a far larger community and it's so much easier to use, so why not standardise on that?” I hear a couple of you say. “I'd rather code an app in Ruby and have it all lean and elegant” I hear one or two others mutter. These are all fine viewpoints, and, after all – not everyone takes the train, sometimes people choose to drive in a car instead. The trouble is, sometimes I get the feeling people are having custom cars built for every journey, they are having to personally pay for the upkeep of these custom machines and the railway with the ability to buy a relatively cheap ticket to any one or all of those exciting destinations is just some far-fetched fantasy that's going to put all the blacksmiths out of work if and when it comes along.
WordPress is a great platform, but it has limitations. Its architecture isn't as flexible or scalable as Drupal's. Because they have chosen to support backward compatibility between major versions it is limited as to how much this will ever change, and also introduces security issues. By allowing for change when deemed absolutely necessary, major new versions of Drupal can both improve its own architecture over time and take advantage of new technologies whilst causing some significant, but as minimal as possible, changes for developers.
Having a custom app written for you in a language such as Ruby is great too, in that first instance – but what happens when you want to add to it or develop it further? Who maintains it? Is it tried-and-tested code or are you going to have to pay every time a new issue is discovered because someone looked in browser X at it instead of browser Y which your freelancer wrote it for? By using already there modules for generic functionality required and contributing code back to the Drupal community for functionality they needed which wasn't currently there, site builders lessen total cost of ownership by enabling the community to provide both a platform to build on, and a platform to join in and collaborate with as the web and their sites grow.
Standardisation has always had its critics - for years regional train stations often had two clocks in order to appease sometimes stern resistance to Railway Time. William Wordsworth in his protest against the building of the Kendal and Windermere Railway in 1844 wrote “Is then no nook of English ground secure from rash assault?”, concerned about the loss of timeless isolation and individuality through the impact on his quiet rural idyll of the hordes from the industrial towns. Charles Dickens also expressed concerns several times, such as in Dombey and Son where he wrote “There was even railway time observed in clocks, as if the sun itself had given in”, and Thomas Hardy in A Pair of Blue Eyes makes specific reference to Railway Time and its effect on seemingly contracting human time. It took 15 years to get 95% of towns and cities to join and a total of 40 years before unified standard time for whole of Great Britain achieved legal status.
Now of course I am not suggesting for one moment that we should make use of Drupal law, however I am trying to highlight the point that even though standardisation is always a compromise, and whilst a few highly intellectual but perhaps a little too fearful and inward-looking people may protest otherwise, encouraging the adoption of a standard platform such as Drupal might, just might have the potential to provide many more benefits than may be immediately obvious.
Drupal is first and foremost a community, and its benefits aren't only technical. For example, by speaking a common language, suppliers of Drupal-based sites are collaborating as well as competing. At a recent open-space meeting held in Amsterdam of 60 business owners from across Europe people shared knowledge and best practice in order to help the community as a whole. At a more local level there are hundreds of Drupal user group meetings held every day around the globe where not only site builders go, but end users, entrepreneurs, job seekers, hobbyists, and people from all walks of society. Furthermore there are specialised events such as DesignCamps, Developer Days, and the twice-yearly DrupalCons which attract thousands to come and learn from each other. Companies who used to build their own CMSs are realising they simply cannot maintain growth and using Drupal instead as building and maintaining software is a bigger task than any one person or company can achieve alone and have such a wide appeal.
Drupal is an inclusive community where everyone has an opportunity to contribute, and as a result is building the foundation of something which could, if we give it the chance, enable a vast majority of the population to do more with the Web, Tim Berners-Lee's wonderful contribution to society which has given us all the ability to communicate more freely wherever or whoever we happen to be in the world.
Whatever your view on Microsoft, by providing a “standard” platform they helped millions of people do more with computers. In similar but significantly different ways, Drupal helps millions of people do more with the web and their websites. During last year's DrupalCon Chicago I met a non- IT expert who was using a distribution of Drupal called OpenAtrium to help prisoners when they came out of prison on a 12-step programme. This is one of the reasons I enjoy contributing to the Drupal community – it does much more than just help me solve the problem I'm encountering at that time, it also “goes to the greater good” in a “paying it forward” way. This may not be on top of your list of priorities right now, but perhaps one day you'll be that person, who really wants to do something on the web, but can't because they can't afford to hire a developer or designer to do it for them and it isn't already there because it wasn't given back to a growing pool of freely available resources.
Using Drupal, designers can produce functionally-rich websites and web applications without having to keep going back to a developer every time they want to add or change a piece of functionality, and use modules such as SASSY along with Omega HTML5 Responsive, Corporate Clean, mothership and a host of other weird and wonderful sounding themes which cater to a wide range of front-end developer needs. Similarly via a range of modules such as Display Suite and Renderable Elements which enable easier configuration of Drupal's interface, developers can alter the design significantly without having to hire a front-end developer or designer.
So, everyone's out of a job, right? Well, not quite – with thousands of modules providing us with the generic functionality people ask for, such as “discussion forums” and “webforms”, we get to build sites quicker, work on more interesting projects, and spend our spare time on more interesting things instead - building the things that aren't in the system yet. For example, within 24 hours of the announcement of Google Plus a module for Drupal was released, for free, by the community, for the community. For more than eleven years the Drupal community has been defining and refining these tools so they are flexible, scalable and secure. At the end of the day, as the saying goes, all software is crap, it's just some is less crap than others. We're constantly working to make Drupal less crap!
Like Microsoft, some give Drupal a fair amount of flack, but unlike Microsoft software, Drupal is Free/Libre Open Source Software, which means it's our software, and it is up to us to develop and improve it. What could you do with a growing asset library of code as well as design? How many times do you have similar requirements you could potentially make a product out of with a Drupal distribution? These may all seem like far-fetched and slightly uneasy ideas right now, perhaps a little like the standard time felt only 150-odd years ago but we're pretty happy we all have it now, right?
In the world of the web we are still in very early stages (I mistakingly wrote “in the world of the we” there but perhaps both are true!) – with Drupal we have the opportunity to develop and improve a common language for building and utilising our own tools to build what we want to build, whenever and however we want to build. The Drupal community is willing to admit when something can be improved and we get on and make it happen over time and as we can, sometimes coming up against opposition and having to deal with a certain amount of FUD (Fear, Uncertainty, and Doubt). Much as we have other methods of transport than train, we also have other software we can use to build websites – I am not saying people should only use Drupal – but the more who do, the better the system gets, especially as more people come into the community who's role is not first and foremost IT, it's in marketing, design, sales, product development, and so on.
When I first encountered Drupal I never wanted to use it, for similar reasons I hear now – it was only when six years ago one of my sites was rebuilt in it and I was a little annoyed so I finally dove in to Drupal and have been hooked ever since. It took me another few years to fully appreciated the community side of things – once I did then it all became a lot easier to understand, and that is why I now spend most of my time helping people to connect with the Drupal community in order to enable them to do what they want to do with the web not just right now but in the future too, wherever they want to go to.
I'm not going to say that you're going to get Drupal straight away, but once you realise it possesses the ability to be what you want it to be, you'll begin to see the sea of possibilities and opportunities which lie ahead for all ;)
Don't do what I did and spend years trying to figure it out by yourself, because that's not what it's all about; and if you're the one who does the hiring - in my experience from the sites I've ended up having to fix - don't hire a developer who says they can do Drupal but they have very little, if any community involvement, i.e. check their profile on http://drupal.org to see what they do from a community point of view. No one person built Drupal and no one person alone can help you make best use of it, learn a little as to how the community works first so you can make a more informed decision. Drupal is made by a worldwide community ready and waiting for you to join in the fun.
Come and find out what you could be doing with Drupal, drop in sometime and introduce yourself to our local group online at:
http://groups.drupal.org/brighton
...and keep 28th & 29th April free for DrupalCamp Brighton:
http://badcampuk.net
tags: Train TimeTime ZonesStandardisationdrupalDrupal Planet