Digital Edition

SYS-CON.TV
BrowserHawk 9 by cyScape
Customize your Web visitor's site experience

I have been developing Web applications for years, and have been using random JavaScript snippets gleaned from the Web to test a user's browser and configured properties. Since this script would be run client side, it required the user to have JavaScript enabled and didn't always work in all browsers.

I had always wished for a quick and easy server-side solution to handle simple browser and plug-in checking, but had never even fathomed having access to the amount of information that is made available using BrowserHawk from cyScape. If you think this is just another browser detection script, you could not be more wrong. Not only does BrowserHawk detect basic browser settings, it also detects disabled plug-ins, blocked pop-ups, AJAX support, blocked ports, estimated download time, WAP settings, and so much more! BrowserHawk Enterprise can actually detect over 125 properties and settings of your visitor's browser and connection.

Installation
I downloaded and installed BrowserHawk 9.0.0.21 Enterprise edition from the cyScape Web site. You can choose from either an FTP or HTTP download. The download was small and quick, even using my hotel's wireless connection. The version that works with ColdFusion is written in Java, and I installed and tested this on the CF 7.0.1 standalone server. As a side note, BrowserHawk is also available for ActiveX and .NET.

There is surprisingly quite a bit of documentation that comes with BrowserHawk; however, some of the initial installation instructions might be a bit complicated for beginners. Unfortunately, some links in the documentation are broken, and the online documentation does not seem to cover the Java installation; however, scrolling down through the documentation, you will find instructions for several different configurations that are much clearer than the initial documentation. There currently is no installer for the Java version, but the rumor at cyScape is that the installer is an important addition that they are including in the next version. It seems that ColdFusion is a big priority on their list. They have also hinted at some additional exciting ColdFusion-specific features, but you'll have to wait to hear about that from them.

Since this is a Java install, the server needs to be restarted at the end of the installation process, but if you followed the instructions correctly, you will be able to test BrowserHawk immediately with the detailed example files that are included in the Zip file. The demo files are all linked through a single index.html page, which makes it very easy to navigate and test with no additional setup.

Usage
Initially, as I am like most developers and just dive right in, I began using the JavaBean immediately instead of reading the help files. It was very straightforward to initialize by looking through the sample code, and after dumping the object and viewing what functions and values are available, I was able to detect some pretty neat settings. I then read through the readme file a bit and found that cyScape has included a ColdFusion custom tag that makes it very simple to use most functionality in BrowserHawk. This tag acts as a wrapper for the BrowserHawk JavaBean and will be a great help for ColdFusion beginners and for new users learning BrowserHawk. The custom tag does not immediately accept all of the properties available, but the document states that it does return results for the most popular BrowserHawk tests including detecting browser type, version, platform, broadband vs. dialup connections, Flash and Acrobat plug-ins, disabled cookies/JavaScript, and much more. Also, it seems very simple to configure the custom tag to use the remainder of the BrowserHawk methods.

The custom tag simply takes a comma-delimited list of the properties you want to test for and returns a structure of name/value pairs.

Example

<cfmodule template=
"BrowserHawk4J.cfm" propstotest="Browser, Platform" bhvarname="myResults" />

<cfoutput>
    #myResults.Browser#, #myResults.Platform#
</cfoutput

On my system, this returned "FireFox, WinXP". The process is also very fast, and auto-caching is an available feature in BrowserHawk. This seems to be especially useful if you are performing some of the more complex tests like client port detection (that's right, client port detection! I told you this package is powerful).

In Table 1 I have included the features comparison across the three available versions of BrowserHawk. This grid will show you the unbelievable power possible in this package. You can quickly see this is so much more than those old JavaScripts we have become accustomed to.

Reporting
BrowserHawk also allows you to store detected settings in a database and generate reports. I know this is something many of my clients have requested over the years, and BrowserHawk makes it simple. The reporting package includes SQL scripts to create the necessary table for persisting this information in Microsoft SQL, DB2, MySQL, Oracle, and Apache Derby. I did not test the reporting feature on my server as I did not have enough data to make it interesting, but I have included a sample screenshot (see Figure 1). From the demo it seems as though by default you can report on about 50 different statistics.

Issues
One thing I was disappointed with is that the online demo of BrowserHawk (located at www.cyscape.com/showbrow.aspx?bhcp=1) shows the visitor's country as an accessible setting; however, Enterprise edition of BrowserHawk does not include this feature. You need to take a look at CountryHawk for that awesome functionality, although the Enterprise edition does include many other location specific values. Also, I could not find a list of all possible properties I could return. The readme file includes two links that apparently list all properties, but the links are dead. I'm sure cyScape will get these links up and working soon.

Conclusion
I personally think that we will be hearing more about this powerful product. It is definitely the software to use for customizing your Web visitor's site experience. I definitely will be using BrowserHawk in the future. While you may not need all of the functionality of the Enterprise edition, they have a fair pricing structure that will allow you to purchase only the functionality you need. BrowserHawk is already being used by many high profile companies such as Verizon, Intel and even Adobe. Go download the demo at www.cyscape.com today.

About Nic Tunney
Nicholas Tunney is a Macromedia Certified ColdFusion developer, and has been programming ColdFusion for over 7 years. He is currently Senior Software Architect for AboutWeb, a consulting firm located in Rockville, Maryland. To learn more about using objects in ColdFusion, visit Nic's Blog at http://www.nictunney.com.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

I have been developing Web applications for years, and have been using random JavaScript snippets gleaned from the Web to test a user's browser and configured properties. Since this script would be run client side, it required the user to have JavaScript enabled and didn't always work in all browsers.

I have been developing Web applications for years, and have been using random JavaScript snippets gleaned from the Web to test a user's browser and configured properties. Since this script would be run client side, it required the user to have JavaScript enabled and didn't always work in all browsers.




ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE

You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know ...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every ...
As Marc Andreessen says software is eating the world. Everything is rapidly moving toward being soft...
The cloud era has reached the stage where it is no longer a question of whether a company should mig...
The need for greater agility and scalability necessitated the digital transformation in the form of ...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an over...
ChatOps is an emerging topic that has led to the wide availability of integrations between group cha...
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting ch...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection...
In his session at 21st Cloud Expo, Raju Shreewastava, founder of Big Data Trunk, provided a fun and ...
While some developers care passionately about how data centers and clouds are architected, for most,...
"Since we launched LinuxONE we learned a lot from our customers. More than anything what they respon...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily ...
"As we've gone out into the public cloud we've seen that over time we may have lost a few things - w...
In his session at 21st Cloud Expo, Michael Burley, a Senior Business Development Executive in IT Ser...
Sanjeev Sharma Joins June 5-7, 2018 @DevOpsSummit at @Cloud Expo New York Faculty. Sanjeev Sharma is...
We are given a desktop platform with Java 8 or Java 9 installed and seek to find a way to deploy hig...
"I focus on what we are calling CAST Highlight, which is our SaaS application portfolio analysis too...
"Cloud4U builds software services that help people build DevOps platforms for cloud-based software a...
The question before companies today is not whether to become intelligent, it’s a question of how and...