Tuesday, November 8, 2011

Asking Why

Someone once said that your home should be the most comfortable and nurturing place because it is the one place you spend the most time at. While this may be true there is a place that we spend far more time in within our limited lives that is far more important than the houses we live in ... our minds. What always amazes me about the brain is its ability to decipher what is good and bad either by social conditioning or adaptive circumstance. There may be other methods governing preference, survival and comfort but these two probably rank high up in the chain if not at the top of the list fighting for the number one slot.

The reason why I have even bothered to put this post up here on my technically inclined blog is to ask myself and any readers that come here about why certain concepts work and why others simply fade into the night sky? I was never really inspired to ask this question because, to be honest, its something we do involuntarily every time we see a pretty site, buy a new gadget to integrate into our existing slew of gadgets or even when we pick up the phone and call a friend. But lets forget about our social dispositions to preference for a minute and talk more about the technical aspects that truly amaze us. A few years ago, the Nintendo corporation stuck their necks out with a console that was specifically built around the concept of motion sensing. What happened? People went wow for a bit and then it slowly died down till everyone else in the same sphere realized it was something that was still raw and unpolished, waiting to be taken and refined for better use. So, up steps Microsoft, the idea is converted to Kinect and before you know it they are showcasing their upgraded feature with all the marketing pzazz that goes along with the circus show. What happened? Nothing exorbitantly different from when Nintendo did the same thing.

Most people see the problems but not many people see why it all happened in the first place.  Was there enough insight? Was enough market research done? Was there a clear direction on the product development? Notice where I am going with all this? While all the above questions always give a clear indication of profit to be made, they never really answer the question of whether the consumer is going to come back to you with arms wide open asking for more (in some cases on their knees too but that's another blog and certainly not welcome here).

And so enters the one word, which when coupled with a question mark almost always stirs the pot and demands answers of the most toughest nature, "Why?". Some people I know generally run away from this question but there are others, very few, that seem to thrive on this word like vultures on a dead carcass. Most people sign up on new sites because their friends are doing or because the rest of the population thinks that it is cool and great to use. After some time they find it cumbersome but they stick with it and why? Because everyone else is using it or it has the most information they need. Very few people personally relate with the products they use in the commercial environment and even fewer do so in the corporate work-space. Bridging this gap clearly makes for a true winning product. Some companies like to think they have the winning formula by either removing certain user demographics from their product goal or by simply knowing that users can't go anywhere else (you know who you are). While this may make for great profits it certainly doesn't make for a killer product that is never going to be replaced. When you start throwing questions like why do they need this? why should we be doing this? why aren't we doing this? why is this working so well and why is it that no one is really leveraging it? Then you can start the creative process of finding the next step in the chain to make things easier.

When building a site/product the questions generated  by asking why instead of what are the ones that take the top of the heap. Sadly, most people never ask this question due to time constraints or because the overlord known as the boss simply won't allow it. I encourage most people I know to ask this question because until it is asked you are merely following and not leading.

Is there something you are currently working on that needs a why instead of a what? Post in the comments section and perhaps with a little bit of collaboration we can all help each other.

Tuesday, November 1, 2011

You and I - Breaking traditions - A browser experience

In a world rampant with emerging technology, the end-user finds themselves tasked with making some very difficult decisions. What's good for me? Is this going to last me a long time? Have I invested wisely? Will this work for everyone I know? Can I share this with everyone? Is this really the direction I want to go in?

Most of these questions are asked by users around the web whenever they first sign onto a service or pay for a service they have been using for free and wish to upgrade to. The questions are very valid and while they usually end up being rather simple for the end-user, they generally end up being tasking for development houses. Why? Cross-browser compatibility. This ugly gremlin has been plaguing the internet ever since the introduction of the worlds second browser. What that browser is I have no idea but I can say this, the introduction of browser variants into the internet ecosphere has created new and exciting challenges both for web-developers and consumers alike. As a developer, I am often asked whether a web-application will run on all the current browsers that the market has to offer. While the answer in most cases is yes, I do run into the occasional miscreant that will not play well with its other internet brothers and sisters (yes I think browsers have genders and ages too!).  The biggest non-compliant browser out there is the entire line put out by Microsoft. While this may sound difficult to digest by a large majority of the population, it isn't hard to imagine it being the most used browser simply because it comes with every known flavor of windows post Windows 98.  Internet Explorer tends to be extremely difficult in the one place that the W3C has tried to do the most work over the past decade ... Cascading Style Sheets. Internet Explorer 9 offers some relief from the madness but I fully suspect that it too shall go the way of its older counterparts very soon. The reason? There are four versions prior to it still in use and this means that every end-user/service user/web developer needs to keep that in mind while writing/using/deploying web applications and services. Sounds fun right? Not.

But the purpose of this blog post isn't to bash IE because for all its misgivings, it truly set the standards for any other browser to succeed and very few have even if you think that having three options is more than sufficient. Furthermore, every known browser out there has its own set of quirks that we have to learn to cope with everytime we visit a webpage. I find that Safari and Opera are the twins of terror here because while some things work exceeding well in Safari, Opera sets the pace for adopting whatever is new in the internet without the blink of an eye. This is good in some ways but can lead to very taxing issues as I realized while working with iFrames and the everlasting tables issue that Opera will never get rid of. Firefox and Chrome seem to be well behaved but they too run into their own little issues when it comes to generating pages and getting them to work right. Although the challenges are many, a lot of developers have since overcome these issues and are now safely in the forward motion when it comes to web development on any of the current browsers this generation has to offer. You can find code strewn with exceptions for browsers and CSS using all sorts of trickery and magic to fix issues that would have otherwise made your browsing experience a salty one.

With all these little modifications in place, most browsers will render a web-application to the end-user with the accuracy required to accommodate a homogenous User Experience (UX). But why should it be like this? Why can't every browser deliver the end-user a UX that is browser-specific? Is it too hard to ask development houses to write code for browsers based on the strengths of a browser? Is it too hard for browser development organizations and companies to expose functionality that makes their browser king of the roost? I certainly think not. What if the web-page you designed was able to deliver a different but similar User Experience based on the browser that the user had? It might make more sense to think of this in a much larger context. With smartphones and tablets flooding the market-place, webpages are no longer rendered on the traditional desktop environment. Developers created specific mobile application pages to cater to this need and I don't see why leveraging browsers strengths/faults cannot be done on the same lines.

I'd love to give examples here but that might take all day and would certainly not benefit me in any way because it pays to get paid (oxymoronic I know). The thought I would like to leave you with however is this. When you develop your next web-application don't think about the application as single entity with one face but an application that offers users different experiences based on the browser they are in. While this might turn your management's face white with fear I can almost guarantee that it will start a thought process that will either end in a much cleaner and more realistic requirements-set or a totally radical idea that will set a much stronger trend than we currently have for web-development. The web isn't getting any smaller or easier, leveraging everything we are giving for free is only going to make things better for everyone in the longer run.

Melroy Coelho
Web Developer and UXD Fan