Wednesday, March 27, 2013

Browsers gone wild!

We are hard at work to give BigWave a face lift.  From day 1 BigWave has employed advanced “AJAX” technologies to enhance the user experience, but over the past couple of years new technologies have emerged for web applications making them easier to use with more advanced capabilities than ever before.  The primary mission of our software is to eliminate wasted hours from your busy teams’ days by making the process of organizing and communicating rollout data as efficient as possible.  By incorporating these technologies into our product, we can further improve your efficiency providing you more time for other things.  For optimum performance these new features require the existence of a “modern” browser.  BigWave will continue to work in non-modern browsers, but the functionality will be more limited.

Today BigWave works equally well in Internet Explorer (IE) versions 7, 8, 9, and 10, the latest versions of Chrome, and the latest versions of Firefox.  When the current version of BigWave was conceived 8 years ago, IE was by far the dominant browser in the market.  Since anyone who would generally use BigWave had IE installed on their computer, we targeted IE as the platform of choice for running our software.  Other browsers weren’t really considered.  Over the past 8 years, the market has changed.  IE is still dominant, but it has fallen from its crest and replaced by other browsers better suited to an individual’s taste.  Over the years we have adjusted our software to also work in Chrome and Firefox, and today internally we use Chrome for much of our development (just personal preference really).

Sometimes a bug will appear that is related to the use of a legacy browser.  To help determine this many times I will ask a user to provide their browser and version.

Determining your browser version


With IE 8, it is more clear, but the other browsers listed above (aka “modern browsers”) use a minimalist interface and a trick is required to access the browser’s menus to get access to the version.  Since many people are on some flavor of IE 8, let’s explore how to pull up the version for that.  In your browser you will see a menu bar, click Help/About Internet Explorer.


Once selected you should see the following.  The version is highlighted in yellow.


For IE 9 and IE 10 you have to hit the ‘Alt’ key first to pull up the menu.


Once you do that, the same menu choice (Help/About…) will pull up the version.

For Chrome and Firefox, it is sufficient to tell us you are using those.  Those browsers keep themselves up-to-date automatically, so we generally assume you are using the latest version if you tell us you are using Chrome or Firefox.

IE Compatibility Mode


For some of our older components to function properly in Internet Explorer versions 8 and 9, the browser must be run in “compatibility mode”.  Some history.  Ten years ago, browsers were competing heavily with each other.  Each vendor offered different features that stretched or ignored web standards of the day.  In many cases no standards existed, and the browser makers had to innovate to fill in gaps of functionality.  Before long we had a browser Tower of Babel, and to create an application like BigWave that worked across all browsers became extremely difficult.  Microsoft, being the 500 pound gorilla, realized their own view of internet browsing that culminated with the release of Internet Explorer 6.  Because there wasn’t any alternative many applications and components were developed against these “worst practices”.

Over the past several years all browsers have rapidly converged on standards set by the W3 (http://www.w3.org/standards/) with Microsoft leading the charge.  However, due to their past practices, Microsoft had a huge mess on their hands because a significant volume of applications were developed against their own sets of rules and standards.  So they introduced “compatibility mode” into their browsers (starting with IE8) that would enable these legacy applications to continue to work.

If you use IE8+ to run BigWave, we recommend you run with compatibility mode turned “off”.  The only item in BigWave negatively impacted is the progress bars for long running operations, but the system functions just fine without them.  We will soon be releasing fixes to correct this problem.  If you really feel the need to have your progress bars, you can continue to run in compatibility mode.  But please know that looking forward over the next year, this issue will be resolved and the need for compatibility mode will no longer be needed.  From a development perspective we will drop support for compatibility mode and require that all customers who use IE8+ run BigWave in pure standards mode (which is what every other browser does).  Pure standards mode in IE simply means compatibility mode is turned “off”.

How to tell if you are running in compatibility mode?


In general there is a menu setting under Tools/Compatibility View Settings.  For IE8, the Tools menu should be visible.  For IE9+ you have to hit the ‘Alt’ key to see the Tools menu.


You will see a dialog…


From here you can add the current site you are on to be viewed in compatibility mode.  Also, you can show everything in compatibility mode by checking the last box.  Finally, you probably will see the “intranet sites” option checked.  This is checked by default and thusly shows any of your company’s internal applications in compatibility mode.  Remember this feature is to back support old internet applications developed against proprietary Microsoft standards.  Most of these applications were developed by a company’s IT department, are used internally, and it makes sense this would be checked by default.  If you are browsing the public internet (including your BigWave site), the middle option does not put the browser in compatibility mode.

If you are using IE9, then it will detect if a site is eligible to run in compatibility mode.  If so you will see a button in your browser address bar that lets you toggle it on/off.  It glows blue when enabled.  The menu option as described above is always available as well.  In the below image, the button is not glow blue but appears disabled.  This browser is in standards mode and not compatibility mode.



Notice that Microsoft chose a broken piece of paper to represent compatibility mode.  I take it as a small acknowledgement that it was a mistake to forsake standards to build their own path.  Funny thing today is that starting with IE10, they are more compliant than many of the other browsers.  Guess the shoe has shifted to the other foot.

Moving forward


Over the next year, we will be shedding our dependency on legacy components and dropping the need for “compatibility mode”.  For example we have a new grid system coupled with a new scrollbar that works fantastic.  Once it hits the streets I know everyone will be extremely pleased with its reliability, speed, and keyboard support.  Also, as we make these changes, before too long if you run in “compatibility mode”, some BigWave features will look different/funny in Internet Explorer and/or stop working completely.  However, do not be alarmed as simply turning off compatibility mode will solve the issue.  We will keep the user community informed as these changes are rolled out.  As always, look for the glowing orange BigWave Today link for alerts about new updates to the system and links to great blog posts like this one!



If you are interested in trying out Chrome, I would recommend you download, install, and dive in.  It really isn’t that scary, and you might find you like it!

Download Chrome (https://www.google.com/intl/en/chrome/browser/)

And last but not least Firefox…

Download Firefox (http://www.mozilla.org/en-US/firefox/new/)

I would love to hear comments/concerns from our users regarding this direction.  Please email me anytime at jlivermore@bigwavesoftware.net.