The complexity of Web technology has increased greatly since the first simple browsers became popular in the nineties. The original idea was very simple: Web servers provided access to simple formatted texts which could contain hyperlinks to other texts, creating a worldwide web of interlinked documents.
Since then the technology has flourished in many ways, but it is possible to cut through the almost impenetrable thicket of technologies by classifying the developments. Once you do this, things look much simpler.
- The original hypertext markup language HTML has gotten much more complex, allowing much better formatting and interaction. Most importantly, HTML pages can embed various non-text objects, a capability that was originally intended for displaying images.
- Originally, HTML files were stored on the Web server and served up on request. This has changed a great deal, and now most Web pages are provided by content management systems which may serve static HTML files or assemble the HTML files based on the requests that come from the browser using data held in various databases. Thus the business intelligence software that creates Web content often comes with a simple BI portal.
- The objects embedded in the HTML pages have gotten more and more complex. The original images have now been replaced by various interactive objects. The Java programming language actually embeds a complete virtual machine – a sort of toy computer – into the document. This approach has been copied by several vendors, including Microsoft with its .NET technology, which is nearly a clone of Java, and increasingly by Adobe’s Flash technology, which was originally intended for cute little scripted animations but now has many more capabilities.
The main point of Web technology, from the point of view of BI deployments, is to reduce the effort involved in rolling out an installation of the software to every user. Web front ends also make it possible to use the software outside the company in the extranet. Installation is usually automated in larger organizations, but even then additional applications cost the IT department additional expense and risk, and these costs are often passed on to the other parts of the organization. So called “zero footprint” solutions do not require any installation at all, reducing the total cost of ownership of the tool, assuming all other factors are equal.
That said, there are other costs in addition to the rollout costs. For example, zero footprint deployments require more processing to be done on servers that would not otherwise be required, and more data to be sent across the network than would be the case with a good client/server application, which has local caching, generates charts locally, a local calculation engine and so on. This increases hardware and network costs, while reducing the quality of the user experience.
But on balance, Web-based tools are most popular in enterprise environments, where IT issues dominate the discussion. Note that this discussion of deployment costs contains an implicit criticism of the personal computer with desktop software installations as an enterprise tool, which is why the Web is widely seen as an alternative or even a threat to Windows. By the same token IT departments which are skeptical of Windows technologies tend to strongly favor Web-based applications.
At the same time, IT departments tend to view programmed components embedded in Web pages with a good deal of suspicion because of the potential security issues involved. Every time users load a Web page, they are loading code from a server (potentially one outside the company) into the company’s network – a nightmare for busy administrators. Microsoft’s ActiveX in particular is a target of IT ire. The problem is not that there is anything inherently wrong with ActiveX – in fact it is heavily used in Windows. Furthermore, in an intranet that is the typical environment for business intelligence solutions, all the code being loaded is already on the company’s network. The only difference in an intranet environment is that some of this software runs in the browser, and some on the Web or application server. The problem is that if you allow one ActiveX object to run on a browser there is no satisfactory way to prevent other potentially malign ActiveX objects from entering from outside as well.
For the end user Web-based BI front ends offer little in the way of advantages over Windows. Because Web applications tend to be less interactive than Windows clients, and tend to have restricted access to local data sources for security reasons, there is a strong tendency for business users to prefer Windows client tools. Here’s a brief list of the main issues to be kept in mind when selecting a Web-based business intelligence tool:
- Web applications allow the user to access the application from any networked PC, not just his own PC which happens to have the software installed.
- BI applications running in browsers lose usable screen space to the browser, which displays tools bars, tabs, and an additional menu bar which the application does not use. This loss of screen space at the top of the screen is exacerbated by modern wide-screen laptops which have shallow screens that were originally designed for the larger television market but have spilled over into the computer business because they are already mass-produced.
- Unlike Windows applications, Web applications often fail to take advantage of wide or tall screens, so they end up wasting even more screen space. All this forces users to scroll sideways or up and down much more than in a decent Windows application, thus reducing the usability.
- The menu of the browser creates more problems than just taking up valuable space on the screen. Users often confuse the browser’s back button with the application’s undo button. If they accidentally hit the back button, they may be taken right out of the BI application, instead of just undoing their most recent action.
- The same confusion between browser functionality and application functionality makes it difficult for users to control font sizes and other aspects of the user interface.
- Printing may be an issue and involve server-based PDF generation. In fact, creating a PDF file on the server and presenting it in a new window for the end-user is about the only really viable way to print a document presented in a Web interface. A few applications attempt to print in the browser but this is unlikely to work well since it cannot take advantage of locally-installed fonts, or wide page capabilities. Again, all this can be confusing to end users to whom we will seem logical to use the print function built into the browser.
- Performance will usually be much worse than with a good client/server or local Windows application. This is a serious issue for BI deployments, as The BI Survey regularly finds, and performance issues are a major cause of user dissatisfaction.
- Web interfaces often lack strongly interactive GUI features, like double click or providing context menus when the user right clicks an object. Drag and drop is another form of interactivity that is often missing or weakly implemented in web interfaces. The lack of context menus is most noticeable in supposedly highly interactive Flash interfaces. It is only one example of a common problem that is often unclear whether user actions invoke browser functions or application functions.
- It is hard to drag content from the Web applications to local PC applications, such as Excel. This may require special features in the application to support such links, which would be natively available in Windows applications.
As Web usability continues to improve these GUI arguments are getting weaker, but they still apply to the self-service BI market. For security reasons, Web-based tools usually do not have access to local files, and in self-service BI scenarios, end users often provide their own data management and prefer to remain independent of IT. Furthermore, as convenient as Web user interfaces are to IT departments, they are more complicated to administer in a departmental environment, because they require a Web server.
Common Web technologies
Business users facing a decision on which software to choose are often confronted with a slew of formats to choose from, and little guidance on their differences. The following provides information on the most common Web formats. Note how Microsoft has brought out its own version of each technological idea. This phenomenon is related to the perceived threat of the Web to Windows, mentioned above.
ActiveX elements are reusable native Windows software components based on Microsoft’s (pre .NET) COM technology. Internet Explorer allows them to be embedded in HTML pages.
AJAX is a special type of advanced DHTML that allows Web pages to get data from the server incrementally – without refreshing the entire page. AJAX is a major improvement in interactive Web pages, because refreshing the entire page is slow and causes the browser’s screen to go briefly blank, interrupting the user’s interactive experience.
Originally a format for vector-based animations, Adobe Flash is now a general platform for creating small, highly interactive Web applications and games. It requires an add-in for the browser to execute, but most IT departments do not object to the Flash add-in the way they would object to other add-ins, especially ActiveX add-ins.
Some of the most spectacular new BI interfaces are created using this technology. One feature that is typical of these interfaces is the glazed jellybean look that the objects sometimes have. Flash interfaces also tend to be highly interactive, allowing drag-and-drop and lassoes for grabbing multiple objects. But they do not have the Windows standard context menus available by right clicking the mouse. They also feature animations so changing the selections results in the charts smoothly morphing from one state to the next instead of just switching from view to view.
These objects can also store quite a bit of data. Several BI companies have made use of this ability to create a limited off-line functionality based on Flash.
Flex is a software development kit for Flash. The term is often used interchangeably with Flash.
A simple syntax for describing page layouts featuring links to other documents. Browsers convert HTML into formatted text.
Java is Sun Microsystems’ programming language based on a virtual machine. The virtual machine has its own internal language which mimics the machine language of a real computer and provides most of the services a computer with an operating system would provide – it is a closed world. The Java virtual machine supports any programming language that compiles to its internal syntax , but the Java language is almost always used. Sun has now been bought by Oracle, so this key technology now belongs to them. Because the Java program is completely executed inside its virtual machine, Java programs run the same way on any computer that has Java virtual machine software installed. Java applets are complete virtual machines embedded in Web pages, but Java programs also exist as stand-alone tools outside the browser. Java programs also run on mobile devices.
.NET is Microsoft’s Windows-only near clone of the Java virtual machine. .NET comes with compilers for multiple languages including C++, Basic.NET and the Java-like C#, but all these compile to the same internal format. Microsoft created .NET after losing a lawsuit on the future of Java to Sun. .NET built on Microsoft’s excellent development tools and has been quite successful. It is now used for building many Windows applications, but not for building Office or Windows itself. It has not caught on as Web front end.
Silverlight is a Microsoft platform based on .NET that closely imitates Adobe Flash. Silverlight uses Microsoft’s newest .NET visualization, and can also be viewed as a new viable Web front end for .NET.
XHTML is a version of HTML that is cleaned up a bit to conform to the more general XML format. XHTML is not really of any interest from the application user’s point of view.
XML is a markup language for describing objects. Even in the hype-rich Web environment the amount of hype surrounding XML is remarkable. XML is not really a standard, as is often claimed, but simply a way to make non-standard content a little easier to deal with.