Vertical Components are The Devil

A “Vertical Component” is what I call a component that is strapped on to an existing system and is meant to have end-to-end functionality. It adds functionality X to product Y by tacking on a completely separate working system. This component can work independently but is usually integrated with an existing system.

The concept of a “Vertical Solution” is a bit more common. This is a product that meets the needs of a specific market. A car is an example of this. A car meets the needs of ground transportation. The term can be applied to either the product or the market, but usually means the same thing in both contexts.

A vertical solution is well integrated. All of its pieces come together (hopefully) in harmony to deliver a well-rounded and polished product. (Most) cars roll off of the assembly line looking like a single product. They’re built of many separate components, but they are all made to fit (or integrate with) the car.

What would we have if we attached a vertical component to a car? Well cars don’t (normally) fly, so let’s add that feature. Hot-air balloons already exist and can deliver this functionality, so all we need to do is find a hot-air balloon and attach it to the car. After a few days of hacking something up, there’s a huge metal harness around the car and a hot-air balloon attached to the top. Now we have a car that flies. Surely we can sell this car for a load of money and get rich right? After all, people have been waiting so long for an affordable flying car. It gets great mileage too!! Unfortunately no one wants a hot-air balloon car. It would be cumbersome, unpractical, and would look rediculous.

You don’t see this much in the physical world. Physical items typically need to look presentable and be useful in some way in order to be desired by the public.

Unfortunately this hasn’t remained the same in the online world. The web is overloaded with multi-million dollar hodge-podge applications that look like something out of a bad Mad Max movie. It’s both sad and amusing that so many internet companies try to strap together a bunch of canned (“vertical”) components into “mission-critical enterprise-ready” applications that have the quality you would expect from Fisher Price’s My-First-Website.

Why do so many companies do this? They don’t know any better. They don’t have the resources in-house (usually) and refuse to either hire those resources or listen to someone who knows better.

Of course, our crazy friends in the Mad Max world had come up with something givin the pieces they had. You could be excused for this type of behavior if you live in post-apocalypse times, but we’re not quite there yet.

The really sad thing is the amount of money companies pay for this crap. Some guy is going home every night thinking “I can’t believe I’m becoming a millionaire out of selling this crap.” I promise you he’s not driving his Corvette home with a-new-and-improved duct-taped-on wooden bumpers. No he’s driving home the real thing by selling you the internet equivalent.

Javascript is the duct tape of the web world. If you’re integrating a bunch of “vendor solutions” via javascript then you’re basically putting rail-road tie bumpers on your Corvette. Even worse, you’re probably paying out the (use your imagination) for it. That’s not to say Javascript is bad, it’s a great tool when used correctly. The heart of web applications live on the back-end though.

There are no silver bullets. If you want a great product, you have to create it. End of story.

Posted by chrisp Wed, 22 Aug 2007 03:22:00 GMT


Trackbacks

Use the following link to trackback from your own site:
http://blog.chrispcritter.com/trackbacks?article_id=39

Comments

Leave a response

Leave a comment