D1J1T Article Categories:

Programming   Management   Development   Design   HTML   JavaScript   CSS   PHP   MySQL   Database   Server   Audio   Object-oriented Programming   Hosting   Mobile   Social Networking   Java  

Know Your Browsers!

And Your Versions!

by D1J1T — in Development — Updated: Feb 9, 2015 at 1:37 pm

Imagine your application running perfectly, through every stage of development. You confidently deliver it to the client, then get aconfusing response. The client calls stating that the application isn't running properly? What?!?!?

This happens more than one would think. Many are already aware of certain different browser specifics even, and STILL find out that that one or more HTML tags or CSS properties aren't supported for the specific browser and version the client is using. This is true for web applications, but even desktop applications as well. Just because Java is supposedly "platform-independent" doesn't mean it will look or function the same on a Mac running OSX as it will on a PC running Windows 2000. Trust me when I say that it most definitely will not... Just because JavaScript is enabled in most/all browsers by default, doesn't mean that every user will have it enabled. A user still running a screen resolution of 800x600 will see things differently than a user with a modern laptop... or phone...

If your company is developing a web application, the absolute worst mistake that you can make is to assume that your final product will look and function the same in all browsers on all machines. Have you checked your company website even in all of the different browsers, different versions of browsers, different mobile devices? If you haven't, I can almost guarantee that you'll be surprised with the differences in the way it renders and functions.

That's crazy! We're using the proper languages. How is this possible???

Even though a certain version of a language or technology may be considered to be a "standard" doesn't mean that all or even most current software, not to mention different machines/devices will fully support all of its features, or even if they do, it doesn't mean that the "support" of the feature will look or function the same.

What works wonderfully on one machine or device, in one piece of software, may crash and burn on another.

A browser (Internet Explorer, Chrome, Firefox, Safari, Opera, etc) is a piece of software. There are different versions. They have limitations. They look and function differently than their competition, often on purpose. Don't make the typical unskilled computer user mistake of viewing your browser as "THE Internet. It's not, despite an operating system labelling the shortcut to the program that way. It's just an application. Internet Explorer is not the Internet, it's a browser, and in my opinion, not one of the better browsers, is behind the times in terms of its support, (of programming language specifics, not to mention customer support lol! and I'm a PC guy even mainly so you're aware...) and each version has been it seems. I'd recommend Google Chrome if you want to see the latest features that web programming languages and web applications are offering.

If you are developing a web application in particular, no matter how much research you've done, it is more than likely beneficial to ask yourself the following questions again, if you haven't already.

  • What are the main machines/devices that my client needs my application for?
  • What are the possible machines/devices that we need to consider implementing fallbacks on?
  • What operating systems are installed on these systems that will run the application?
  • What browsers (including versions) and other software will run this application?
  • Are my developers aware of these specifics?
  • Are my developers actually testing for each of these possible cases?
  • Are my employees knowledgeable of the contraints required to meet these system specifics?

More often than not, it simply isn't feesible to have developers test for every case, nor to enlighten designers or writers about specifics that can't easily be accomplished in advance. What can and should be done ahead of time is to ensure that you and your client are on the same page about specific software delivery expectations. Given these, you can budget all (if not most) appropriate test scenarios for your programmers. They can in turn, inform other divisions of specifics that can and cannot be efficiently implemented within the given budget. Know that though many developers do actually test in multiple browsers, operating systems, devices, unless they are specifically made aware of the desired specification, more than likely, they will program in their most compatible environment first while testing occasionally in others. The more information about the specifics of a project you can give the developer in advance, the less surprises you'll encounter when dealing with different systems.

If you find these articles to be helpful, I could always use another cup of coffee! Social media likes/+1s are also much appreciated. Thanks for reading!

Add Comment to Post: