Marmite is a spread available in the UK and a few other countries. If you’ve come across Vegemite, it’s similar. The taste is very distinctive, to the point where anyone who’s ever tried it either loves it or hates it. There is no in between. Whereas representing a persons feelings for certain types of food may require a complicated data structure, for Marmite you’d only ever need a single bit. You get the idea.
The marketing slogan in the UK is “Marmite: Love it or Hate it?”.
I often ask different people what they think about a certain product (for example, a web framework). Usually I’ll get varying feedback, but once in a while I’ll come across something that only gets two categories of answer – “Love it” or “Hate it”. It’s usually accompanied this person getting very excited or angry, going a bit red in the face and thumping the table (in a positive or negative way). There are never any inbetweeners. If people have not actually used a product, I’ll discard their opinion.
These are the Marmites of our world.
Here are some of the Marmites I’ve come across, with typical explainations I get from lovers and haters.
Maven is the Marmite of the build tool world.
- Lovers: Consistency across projects. Common build layout and tasks. Dependency management. Does lots.
- Haters: Poor documentation. Need the head a size of a planet to understand it.
Mac OS X is the Marmite of the desktop OS world.
- Lovers: Beautiful. Stable. Less clutter. Less hassle. Unixy + usability. It’s not Windows.
- Haters: Forever staring at the spinny beachball.
Ruby on Rails is the Marmite of the web application framework world.
- Lovers: Ruby. And web sites. And ActiveRecord. And it’s oh so agile.
- Haters: Irritating fan club. Lack of abstractions can make it hard to evolve larger systems.
Google Web Toolkit is the Marmite of the AJAX world.
ReiserFS is the Marmite of the file system world.
- Lovers: Excellent performance with many files and big disks. Scales well. Fast recovery through journaling. Uses space effectivley.
- Haters: Numerous problems with fsck operations corrupting the filesystem. Future uncertain since Mr Reiser was convicted of murdering his wife.
IBM Visual Age for Java is the Marmite of the Java IDE world.
- Lovers: A magical image of objects that can be navigating, interacted with and modified on the fly. Like Smalltalk.
- Haters: Uhhmm. WTF is this? Where’s my source code? How do I use this thing? Isn’t this supposed to be Java?
Behaviour Driven Development is the Marmite of the development process world.
- Lovers: It bridges the gap from requirements understanding to a live running system, with a simple metaphor.
- Haters: It’s what now? You’ve changed the prefix from ‘test’ to ‘should’ and introduced a few words. Get away from me.
The thing to remember is to never get into a conversation with anyone about a Marmite. Either you will agree with someone and learn very little from it, or you’ll get into a fight.
So to help others avoid these awkward moments, contribute your own list of Marmites here (comments below, or trackback). Criteria: Must be something that everyone who has experience of either hates or loves – there can be no inbetween.