Oct 26, 2011

Abstraction is a Powerful Method

By "abstraction," I am referring to it in the Internets world. The beauty of abstraction on the Internet is that, when executed properly, people don't even know they're being shielded from complexity. The classic example is when you are shopping online for let's say shoes. You see on the sidebar you can select a link to filter shoes to show only those that cost under $50. What you don't know is you're actually executing a query to a database and pulling data from it. This abstraction means that millions of people who have no idea what in God's name a database is or does don't have to. And that is a very good thing.

But with great power comes great responsibility. A central tenet learned early on in design or working with some technology is to not obscure meaning in the design. Not only will you confuse the end-user, but they will not even be able to see what they did wrong, since the actual back-end is not accessible for them. And even if they could see the back-end, that would eliminate the entire point of abstracting the complexity from them. In other words, abstracting complexity is incredibly difficult to do, and has to be nigh perfect.

A good example of a great program falling victim to the difficulties of abstraction is Google Sites. I actually enjoy Google Sites, but when it first launched, it was kind of a nightmare. I know some basic XHTML, so I thought it'd be fun to play around with. Understandably, Google Sites made the decision to not allow HTML on the user-end being input. This makes sense as a first principle. But, it introduces some interesting problems. Google Sites, while it has improved over time, started out with an almost incomprehensible user interface. Knowing HTML was a disadvantage, because certain terms were borrowed from HTML design but were used to do completely different things. And while it was feasible, I doubt many people with zero knowledge of HTML were able to spit out a web page in a half hour. This narrows the target audience considerably. I still like Google Sites in the way I like Google Docs, and that is, it is extremely convenient to get something accomplished in a day or so. It's quick and dirty, but sometimes you don't have a choice due to time constraints. But I am almost certain this was not the initial intention of Google Sites; I'm pretty sure it was intended to be a stepping stone from almost zero HTML knowledge to being able to work with stuff like Wordpress.

No comments:

Post a Comment