Friday, July 31, 2009

Part III: Next-Generation Web Applications Are All About Customization

This time, it’s personal

One of the sure hallmarks of successful web-based applications is providing the user with ability to customize the application experience to suit his or her specific interests and needs. Such customization not only tailors the system to the unique use-case of the user, but, done properly, it actually extends the capabilities of the application. There are three primary categories of customization, each of which provides specific benefit for the user.

1. Personalization – settings or simple adjustments that tailor the application’s presentation to someone’s personal preference. The more visual and elaborate, the better.

2. Local Integration – the ability to include data or information from a desktop computer or local system (server) within the web application. Can range from simple (upload my photo) to sophisticated (dynamically embed my MS Excel chart within an iFrame and refresh every 60 seconds).

3. Mash-Ups – combining web-based data and information within a single HTML container, purely through presentation-level techniques (URL addressability, drag-and-drop, etc.) and with the goal of creating a new web service as a result. Ideally, a web application supports mash-ups in both directions: embedding live data objects from other sources and placing live data objects within other HTML containers.

Of course, the consumer web provides many examples of customization - myYahoo and iGoogle are among the most straightforward and popular. And the social networking sites (MySpace and FaceBook especially) are founded on this trait of customization. In web-based enterprise software, we have fewer powerful examples, but they exist. Certainly provides a respectable amount of customization, by granting user-defined ability to assemble pages for displaying reports, dashboards and even some control over interactive/input fields.

To illustrate two of the three categories of Customization listed above, I’ll again resort to my favorite web-based application, JasperServer v3.5. Below is a screen shot of a JasperServer dashboard that exhibits both local integration of data (JasperServer-managed and R-managed, where R is the popular statistical analysis tool) and mash-ups (integration of Google map, news feeds, Twitter feeds, etc.).

In this case, the JasperServer dashboard is displaying a broad set of data and information, some of which is managed by JasperServer but much of which is external and is simply being displayed here conveniently for the end-user. Technically, each data element is contained within its own iFrame and is managed separately. And, each data element generated by JasperServer can be embedded in another HTML container for use in another web application (with an intelligent, dynamic link maintained back to JasperServer). Additionally, each data element (regardless of whether it is internally- or externally-sourced) can have its attributes mapped to a global input control. So selecting "New York" in the input control could simultaneously filter a bar chart and re-orient the embedded Google map (or news feed) to that region.

Of the four major web application design points about which I’ve been writing, Customization is probably the most profound in its ability to transform an organization’s use of web applications. For this reason alone, every web application should embrace this fully. My next post will focus on Collaboration, the fourth and final web application design point.

Tuesday, July 21, 2009

Open Source for America: Good for the U.S., Good for the Globe

[This post is a brief detour in the middle of my four-part series on next-generation web application design and is timed for today’s OSA announcement. I will resume the series with my next post.]

Building a more efficient government is everyone’s job.

This week, a broad and diverse coalition of technology industry leaders, academic institutions, associations and communities are coming together to form a unified voice that will promote and amplify the use of open source software within the U.S. Federal Government. Called Open Source for America, Jaspersoft is very pleased to be part of this coalition and I believe its existence is important for at least three reasons.

1. Helping the U.S. Federal Government to be more efficient makes sense for every citizen. Promoting the use of open source software as a means to do so is a no-brainer.

2. Many of the standards and methods put forth by the U.S. Federal Government influence the technology adoption plans in private enterprise. With its incredibly broad footprint and profile, the U.S. Government will be helping a big section of nearby industries adopt open source and become more efficient (as a result) as well.

3. More aggressive adoption and use of open source software will place the U.S. Government on par with the governments of other leading nations in its drive to use open source software for the benefit of its citizens. Taking a leadership position on this world stage is important for the United States, where much of the world’s open source software is collaboratively developed.

Each quarter, more of Jaspersoft’s community and commercial success is coming from the U.S. Federal Government. We’ve talked publicly about our work with NASA and the Jet Propulsion Laboratory, the various branches of the Department of Defense, and the National Institute of Health. These diverse organizations have found remarkably common reasons to choose open source business intelligence from Jaspersoft: our modern and flexible architecture, lowest possible cost of ownership and a substantial community on which they can rely for constant interaction. These are the same substantial advantages that every Government organization should be taking advantage of. And, as a taxpayer, I would say the sooner the better.

I’ve energetically endorsed an open source technology agenda during the course of the Presidential campaign and was among the first signatures on the Open Source “open letter” to President Obama shortly after he was sworn in, promoting that document in this blog and elsewhere. Open Source for America represents the next logical step forward in helping our Government demonstrate some of the most storied and valuable principles of open source: transparency and collaboration. Let us hear about your support for this coalition by following the OSA on Twitter and sending an email to me at with your ideas for how the U.S. Government should use open source software to better build our democracy.