Reinventing the wheel

Reinventing the wheel


Most IT people seem to have a really bad habit: reinventing the wheel. While sometimes this is “justified” by ethical requirements (see the big Gnome vs. KDE mess), often the problem is caused by ignorance.

In this case, I don’t mean to use the word “ignorance” as a derogatory term, but simply as meaning “a lack of knowledge”. For example, I could easily believe that there are still one or two people out there who, in order to open a JPG file, will write their own routines, simply because they are not aware of the existence of libjpeg. I am also quite sure that there are one or two people out there who, in order to print 1000 envelopes, will do everything with a text file or a word processor (OpenOffice, Abiword, etc.) rather than using a specialised label printing program.

Finally, I am absolutely, 100% sure that there is at least one person out there who will develop a content management system (CMS) in house to be used in a magazine. Okay, it’s time to show my cards: that person is me.

I am talking about our own web site. I am the person responsible for creating the technological structure behind it. In my case, I reinvented the wheel mainly because of server requirements: we could only serve static pages, in order to cut down the hosting costs. This ruled out the use of Drupal, for example (or any other content management system, for that matter). I created a complex back-end which allowed our editors to do a peer-review on each article, and eventually publish it (as a static file). Later on, it became clear that this was no longer working out. Static files were fine in the beginning; however, as the web site grew (and we added blogs, newsletters, book reviews, and so on), its limitations became impossible to overcome.

I am writing this editorial while taking a break from configuring (and in fact programming) Drupal so that it duplicates our current CMS abilities. Our requirements are quite intense (see: the peer-review system for each article, with word-for-word comparison between revisions, blogs, display of issues, multiple authors, etc.). However, it’s more than doable—in fact, if you are reading this editorial on line, then you’re looking at the new system.

This editorial has three purposes. The first one, is my reminder to everybody out there who’s thinking about reinventing some kind of wheel: don’t. And I mean: don’t. Consider how much each constraint will cost you in terms of time, and then decide if it was worth it. The second purpose, is to announce that our web site has indeed changed; we have taken the opportunity to improve the web site’s layout and features and we’ll make more improvements over time. Hopefully, you won’t find the transition as painful as we did.

Lastly, I would like to thank the Drupal community. They have created a terrific content management system, and they deserve a medal for their hard work.

Thank you Drupal!

Category: 
License: 

Comments

ccady's picture
Submitted by ccady on

If you're writing something big, or something complex, you more than likely want to use pre-written, pre-tested code. But, there is the occasional task where everything you might use is just too big, hairy and complex, and you just need a simple solution.

For example, our company needed a very simple task recording and issue tracking web application, and we needed the results to be kept in a (hiss) SQL Server database. Now, there definitely are applications out there which could do this, but what we wanted was so basic in comparison to the applications we found that it was worth our time to create the application ourselves. And we did. And it works like a champ.

If what you want is a very simple wheel, and all you can find are complex ones, I suggest you consider reinventing it.

Tony Mobily's picture

Hi,

Maybe you're right. Maybe some wheels do need to be reinvented.
However, I can guarantee that this particular one didn't :-D

The site runs on Drupal now, and it's absolutely fantastic.

Bye!

Merc.

Tom Chance's picture
Submitted by Tom Chance on

Ahoy,

It would be great if you could put together a page listing your customisations to Drupal, especially where you've introduced new modules. I'm sure lots of people would be interested in your system for peer review with good support for revisions, and also just a guide for those who are relatively new to Drupal.

Disclaimer: I'm setting up a journal for the student grassroots network People & Planet at the moment with Drupal, so I have a special interest in what you've done ;)

Tony Mobily's picture

Hi,

We are working on it!
We need to test the module a LOT more first - it's just too immature right now.

Please write to me in about a month!

Merc.

mixmac's picture
Submitted by mixmac on

hi tony

you made the choice of drupal, which i do not know/use more than this.

My choice for years has been spip, a CMS meant to publish "editorial" websites, including a powerful backoffice (three kind of reg users : admin, writers, visitors), versioning management of articles, peer-reviewing mechanisms, websites syndication, etc.

spip started about 8 or 9 years ago in france. it became a huge multilingual community since (you can pay a visit to spip-contrib, the spip webmasters support site to get the picture).

btw, spip is released under the gpl.

]m[

paulbaranowski's picture

Another CMS written specifically for magazines and newspapers is Campsite (http://www.campware.org). It understands what "issues" are, workflow, fine-grained access control for the backend, subscription management, RSS, and multi-lingual content. It's also released under the GPL and has a team of full-time developers working on it. (Disclaimer: I'm one of those developers :) ) It's in use by many real-world publishers around the world and a lot of work has gone into making it easy to use (e.g. for the journalist who just got his first computer yesterday).

If you want to give it look (the backend admin interface), check it out here:
http://campsite-demo.campware.org/admin/

Different CMS's have different strengths: some are for community portals, some are for blogs, some are for posting photos. Campsite is for publishing magazines and newspapers. Give it a look and let us know what you think!

Most forwarded

Interview with Dave Mohyla, of DTIDATA

Dave Mohyla is the president and founder of dtidata.com, a hard drive recovery facility based in Tampa, Florida.

TM: Where are you based? What does your company do?
DTI Data recovery is based in South Pasadena, Florida which is a suburb of Tampa. We have been here for over 10 years. We operate a bio-metrically secured class 100 clean room where we perform hard drive recovery on all types of hard disks, from laptop hard drives to multi drive RAID systems.

Anybody up to writing good directory software?

Since the very beginning, directories (of any kind) have had a very central role in the internet. (I have recently grown fond of Free Web Directory. Even Slashdot can be considered a directory: a collection of great news and invaluable user-generated comments. As far as software is concerned, doing a quick search on Google about software directories will return the free (as in freedom) software directories like Savannah, SourceForge, Freshmeat and so on, followed by shareware and freeware sites such as FileBuzz, PCWin Download Center and All Freeware (great if you're looking for shareware and freeware, but definitely less comprehensive than their free-as-in-freedom counterparts).

Interview with Mark Shuttleworth

Mark Shuttleworth is the founder of Thawte, the first Certification Authority to sell public SSL certificates. After selling Thawte to Verisign, Mark moved on to training as an astronaut in Russia and visiting space. Once he got back he founded Ubuntu, the leading GNU/Linux distribution. He agreed on releasing a quick interview to Free Software Magazine.

Is better education the key to finding better software?

I read David Jonathon's article Anybody Up To Writing Good Directory Software? the other day, which got me thinking about software directories in general. As David mentioned, many of the software directories one finds when doing a quick google search are free as in beer, not as in freedom. But what interests me is the software directories that already exist, providing a combination of both free as in beer software, and open source software. Sites such as Freeware Downloads and Shareware Download don't advertise themselves as providing free as in liberty software, but each of them have a good selection of open source software available... if you know where to look.

Most emailed

Free Open Document label templates

If you’ve ever spent hours at work doing mailings, cursed your printer for printing outside the lines on your labels, or moaned “There has got to be a better way to do this,” here’s the solution you’ve been looking for. Working smarter, not harder! Worldlabel.com, a manufacture of labels offers Open Office / Libre Office labels templates for downloading in ODF format which will save you time, effort, and (if you want) make really cool-looking labels

Creating a user-centric site in Drupal

A little while ago, while talking in the #drupal mailing list, I showed my latest creation to one of the core developers there. His reaction was "Wow, I am always surprised what people use Drupal for". His surprise is somehow justified: I did create a site for a bunch of entertainers in Perth, a company set to use Drupal to take over the world with Entertainers.Biz.

Update: since writing this article, I have updated the system so that the whole booking process happens online. I will update the article accordingly!

So, why, why do people and companies develop free software?

More and more people are discovering free software. Many people only do so after weeks, or even months, of using it. I wonder, for example, how many Firefox users actually know how free Firefox really is—many of them realise that you can get it for free, but find it hard to believe that anybody can modify it and even redistribute it legally.

When the discovery is made, the first instinct is to ask: why do they do it? Programming is hard work. Even though most (if not all) programmers are driven by their higher-than-normal IQs and their amazing passion for solving problems, it’s still hard to understand why so many of them would donate so much of their time to creating something that they can’t really show off to anybody but their colleagues or geek friends.

Sure, anybody can buy laptops, and just program. No need to get a full-on lab or spend thousands of dollars in equipment. But... is that the full story?

Fun articles

Santa Claus - the most successful open source project

It dawned on me the other day, as I was shopping for the dozens of gifts it seems I have to buy every December, that Santa Claus is the most successful open source project in history. (Bridget @ Illiterarty would agree with that). Santa Claus is essentially a marketing development that is embodied by everyone who stuffs a sock, gives a gift, hosts a dinner or wishes Merry Christmas over the holiday season.

Most emailed

Editorial

When I first started thinking about Free Software Magazine, I was feeling enthusiastic about the dream. I had Dave, Gianluca, and Alan willing to help me, I had established members of the free software community willing to help me out, I had writers volunteering their time and energy for free, and I had a generous offer from OpenHosting for servers, all before I'd proved myself. There was a sense of excitement in the air, and I thought maybe, just maybe, I could make this work.

Free Software Magazine uses Apollo project management software and CRM for its everyday activities!