Tuesday, June 3, 2014

The internet browser challenge

In early 2001 I embarked on a project to build a centralized line of business application for a customer. The customer had numerous decentralized applications of varying technologies across their divisions globally. In an effort to make faster and better informed decisions and ensure no conflicts of interest occurred between their locations, the customer embarked on building a centralized application to serve their needs. Their chosen technology for any application development was java which required installing java and the application on each user’s desktop. This was not ideal, as there were challenges with managing the various java versions and the applications that used them as well as the IT support required to roll out the application and subsequent updates to each user’s desktop which numbered in the thousands. By this time, developers were also finding they could not build new applications using the latest version of java because installing java updates often broke existing applications. Java wasn’t the only one with this problem either, Microsoft (pre .NET) had similar issues. This was termed “dependency hell” or specifically “DLL hell” and ”JAR hell”.

At this time, internet browsers, although in in their early years of maturity, were showing promise as a platform for business applications. Thus the business case was made to build this customer’s solution as a browser based application. The business case looked at a number of factors for example:
  • Reduced IT support costs due to (a) Internet browser installed with the Windows operating system automatically and (b) the line of business application didn’t’ need to be installed on the user’s workstation
  • Globally accessible
  • Centralized business logic, security and data
  • Internet browser supported the level of UI required for the line of business application
  • Internet browser standards were supported across multiple browser with the creation of W3C (World Wide Web Consortium) and HTML 4 became an ISO standard
  • Eliminated dependency hell
  • Cross platform compatibility
Moving forward to 2014, we have followed a browser compatibility road of ups and downs, twists and turns. Even though leading browser vendors have been involved in the creation of web standards since the W3C was formed, these same vendors often failed to uniformly support those standards. This lack of conformity has caused a great deal of frustration for developers and users alike. Decisions on which browsers and browser versions to support have become critical to a project as those decisions can affect the budget of that project. It’s a decision based on whether the cost of development and testing is too high vs. the number of potential users that would be turned away.

Today, considerations are also needed for supporting mobile devices especially with the movement towards BYOD. Some organizations are even providing tablets instead of computers to their employees. HTML 5 and responsive design standards are starting to show promise for improved cross browser compatibility including mobile device browsers. However, HTML 5 and responsive design aren’t always the answer for some browser-based applications on mobile devices as they are too complex in functionality and too difficult to maneuver on a small screen. Additionally, a mobile device can easily be disconnected from their network (cellular or Wi-Fi) and thus the user could potentially lose any data they were entering into the browser-based application. Native applications installed on the mobile device are proving to be the better way to go for some functions including banking. But the diverse mobile device operating systems and their native development languages are providing challenges in containing IT development and support costs.

Organizations are still needing to contain IT development and support costs. Finding ways to help organizations achieve that goal is critical to helping those organizations stay current in their technology and achieving and maintaining their competitive edge. Decisions are still required to be made on which platforms to support. Do you support tablets and smartphones? Do you support Apple, Google, Microsoft and Blackberry? Which OS versions do you support? The emergence of cross platform application development environments for the major mobile device platforms is beginning to show promise with the ability to build one application that can be installed across multiple device platforms.

As technology advances and standards change, we constantly seem to be in a state of flux, never seeming to reach that goal of full standards compliance and cross platform compatibility. However, today we are definitely closer to achieving those goals than we were even a few years ago which provides better opportunities and fewer challenges for organizations wanting to modernize their older applications and web sites leveraging the newer standards.

We hope you have found this week’s edition of "To The Point" by Jan Crowe to be helpful and informative. Look out for our next week instalment as we continue to explore unique topics from business to the latest technology.

We want to hear your point! If you have any ideas, suggestions or any questions about our weekly blog, please contact us at: info@pointalliance.com.

Warm regards,

Point Alliance Team

No comments:

Post a Comment