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
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
No comments:
Post a Comment