Wednesday, September 23, 2009

The Open Source Renaissance

Note: This blog post also appears as a guest post on the blog at my alma mater, Eller College of Management at the University of Arizona. But I also wanted to share it with readers here.

It occurred to me recently that the open source movement is really nothing less than a renaissance. Perhaps that sounds grandiose, but stay with me.

If you think about it, for a few hundred years, some of the most significant advancements by mankind have come from, and are maintained in, proprietary (closed source) methodologies.

Take, for example, U.S. patent and copyright protection laws and policies. They reinforce proprietary, “closed source” rights and policies. As a result of this system, many substantial U.S. companies have formed around breakthrough ideas, but incentives are in place for those companies to guard and protect their intellectual property, even if others outside the company could extend or advance it more rapidly.

Now, to be clear, patent and copyright protection is necessary because it properly encourages the origination of ideas through the notion of ownership. But, too few people consider the upside of allowing others to share in the use of their patents and copyrights, because they think such distribution will dilute their value - when, in fact, sharing can substantially enhance the value. Fundamentally, “open source” is about the sharing of ideas big and small and the modern renaissance represents newfound understanding that sharing creates new value.

In many areas of science, the sharing of ideas (even patents and copyrights) has long been commonplace. The world’s best and brightest physicists, astronomers, geologists, and medical researchers share their discoveries every day. Without that sharing, the advancement of their ideas would be limited to just what they themselves could conjure. By sharing their ideas through published papers, symposiums, and so on, they open up many possibilities for improvements and applications that the originator would have never considered. Of course, the internet has provided an incredible communication platform for all those who wish to collaborate freely and avidly and is, arguably, the foundation for this renaissance.

That’s why it’s ironic that one of the laggard scientific disciplines to embrace open source is computer science. For the past 40 years, for example, incentives have been strong for a company to originate an idea for great software, immediately file a patent and/or register to copyright it, and then guard it religiously. No one would have thought that exposing the inner-workings of a complex and valuable software system so that others might both understand and extend it would be beneficial. Today, however, there are countless examples where openness pays off in many ways. So, why has computer science and software lagged in the open source renaissance?

That computer science is an open source laggard is ironic because the barriers to entry in the software industry are relatively low, compared to other sciences. One might think that low entry barriers would reduce the risk to and promote the sharing of ideas. But, instead, software developers (and companies) have spent most of the last 40 years erecting other barriers, based on intellectual capital and copyright ownership - which is perplexing because it so limits the advancement of the software product. But, such behavior does fit within the historical understanding of business building (i.e., protecting land, labor and capital).

Another relative laggard area - and an interesting comparison - is pharmaceuticals and drug discovery. When I talk with colleagues about this barrier-irony phenomenon, this is the most common other science cited (i.e., another science discipline that has preferred not to share). But, in drug discovery the incentives not to share are substantial because the need to recover the enormous research costs through the ownership of blockbuster drugs is extremely high. In fact, because the barriers to enter the pharmaceuticals industry are quite high, one might think that would promote openness and the sharing of ideas, given that few others would genuinely be able to exploit them. But, once again, the drive to create a business using historically consistent methods has limited the pharmaceuticals industry to closed practices.

So, returning to computer science and software, maybe the reasons for not sharing are based on the complexity of collaboration? That is, it’s hard to figure out someone else’s software code, unless it’s been written with sharing fundamentally in mind. Or maybe there’s a sense that software is art, and I want to protect my creative work - more like poetry than DNA mapping.

Either way, the renaissance is coming for the software industry. Software will advance and solve new problems more quickly through openness and sharing. In this sense, computer science has much to learn from the other areas of science where open collaboration has been so successful for so long.

Fortunately, the world of software is agile and adept. According to research by Amit Deshpande and Dirk Riehle at SAP Research Labs, during the past five years the number of open source software projects and the number of lines of open source software code have increased exponentially. The principles that this new breed of open source software have forged are already leaving an indelible mark on the industry. Soon, its proponents believe, all software companies will embrace these fundamental open source principles: collaboration, transparency and participation. The course of this renaissance will be our guide.

I would be interested in your feedback on these ideas because the open source renaissance is well underway and I plan to be a model historian.

Brian Gentile

Chief Executive Officer

Jaspersoft

Wednesday, September 16, 2009

JasperReports v3.6: More Advanced Visualization for More Advanced Reporting Uses

I don’t often discuss Jaspersoft’s specific products in this blog, preferring to offer ideas and insights on the trends that are shaping the world of business intelligence. Today, though, I want to highlight the fact that we’ve launched a substantial new version of our flagship reporting tool that raises the bar in the world of reporting and advanced visualization: JasperReports Professional v3.6.

This new reporting engine, library and professional development environment (which includes iReport v3.6) includes new Flash-based geo-visualization and advanced charting capabilities. In fact, we’re including hundreds of advanced, 3-D graphs, maps and widgets to dramatically improve our customer’s data visualization experience. And we’ve tightly integrated this technology with the JasperReports engine and the iReport development environment to make a great total developer experience.

We’re very excited to deliver this advanced visualization technology for this important audience and market. As I commonly explain, our strategy is to deliver simple, powerful BI tools that are used by and considered useful for the widest possible audience. This release brings us closer to that goal.

I hope all of those developers who love JasperReports and iReport will check out our new product.

Brian Gentile
Chief Executive Officer
Jaspersoft

Thursday, August 27, 2009

Part IV: Next-Generation Web Applications Embrace Collaboration

Sharing is good

I saved the topic of Collaboration, key to next-generation web application design, for my fourth and final post in this series for good reason. Social networking, wikis, instant messaging, and micro-blogging are now central to so much of what we do as both consumers and businesspeople that their effects on enterprise applications are already pronounced. Lyndsay Wise recently emphasized the effects of social media and open source BI in an outstanding article. My three previous posts described required building blocks for next-generation web applications. Collaboration is important enough to take up at least one floor of this new building.

Recently, my worldview changed with regard to software-based collaboration techniques. As a long-time business intelligence insider, of course I thought about the world from the BI tool outward. From this BI-centric view, collaboration features are added on to the BI platform to enable mark-up and annotation, workflow routing, and other basic collaboration features.

Then I saw Google Wave.

I’ve written about this before, but am saving the punchline for this post: The proper way to think about collaboration within a software system is to put the end-user in the center of the universe.

From this view, a business day is all about collaboration. So, the various tools that I use to do my job (CRM information, spreadsheet data, any variety of documents, and business intelligence-driven information) should be consistently collaborative. In other words, collaboration is the first-order matter to solve and other applications and tools should work within that collaboration paradigm. This is why email has emerged as and remains the most dominant collaboration platform. Hmmm. . . . that certainly changes my BI-centric view and makes an open source collaboration platform incredibly important.

And, while we are working hard at Jaspersoft to ensure the most important collaboration features will be delivered within our BI platform, the bigger picture says we’d better ensure our software works well within the most common collaboration platforms. Such consistency will make the end-user’s ability to share and collaborate significantly easier.

Setting aside Google Wave, I set out to find other, powerful examples of open source collaboration platforms that can be used today. I was surprised that many claim to be “collaboration platforms,” asserting that they encompass a more complete set of technical services required to enable those who need to work together toward common goals to do so much more effectively.

I am impressed with several open source collaboration platforms worth pointing to here because they can enable many other software applications or systems to work within them, thus accomplishing the end-user-centric view I emphasized earlier. For example, the Open Solutions Alliance (OSA) has created a “Common Customer View” demonstration to emphasize a nicely integrated set of open source products in a collaborative environment (including Jaspersoft and JBoss Portal). And, below are sample screen shots from Alfresco and MindTouch. Both of these companies position their products as collaboration platforms. While they differ in their approach and emphasis, both seem incredibly useful in the right solution scenarios.



MindTouch offers a well-orchestrated and flexible set of web services that enable a wide variety of collaborative applications to be developed on top of it. And, Alfresco focuses more on enterprise document-based collaboration.

These examples show that I’m not the only guy in open source software to embrace this new user-centric worldview.

I am both optimistic and energized that this new generation of collaboration platforms will help transform today’s difficult, non-collaborative world of typical enterprise applications. Importantly, collaboration combined with ubiquitous access, elegant presentation and end-user customization enables a web application that powers the next-generation workforce to new levels of capability.

Brian Gentile
Chief Executive Officer
Jaspersoft

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 Salesforce.com 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 bgentile@jaspersoft.com with your ideas for how the U.S. Government should use open source software to better build our democracy.

Friday, June 26, 2009

Part II: Next-Generation Web Applications Require Elegant Presentation

Leveraging the power of the latest web technologies to “wow” the user

If you’re old enough to have used an IBM 3270 “green screen” or even MS-DOS at some point in your career, you know the exact opposite of elegant presentation. While enterprise software evolved from inconsistency and poor design through to client/server architectures and ultimately the web as a central design point, many things have changed, but one hasn’t: the end user cares immensely about elegant presentation. And, by “presentation” I mean the design, look and feel and the interaction model provided within the application.

Recently, I’ve been researching model Web 2.0 applications – looking for inspiration. I am positively impressed but still wanting a future full of even more capable and elegant, web-based products. As a resource, I’ve found Dion Hinchcliffe’s Web 2.0 Blog very helpful. He emphasizes that the web community gets smarter with every product release because it has become so organic, when he says:

“Not only do we have examples of great online applications and systems to point to and use for best practices, but the latest tools, frameworks, development platforms, APIs, widgets, and so on, which are largely developed today in the form of open source over the Internet, tend to accumulate many of these new best practices.”

Specifically, Hinchcliffe cites “clean, compelling application design” as among the most important attributes of a Web 2.0 application. For fun, some of the latest trends in web application design are published by Smashing Magazine. The primary point is that “attractive applications inherently attract new customers to try them and is a pre-requisite to good usability and user experience.”

I’ll provide an example of elegant presentation (below), taken once again from my favorite Web 2.0 application – JasperServer.



Our goal has always been simple, intuitive behavior, so the product doesn’t get in the way of the user exploring the data (which is the real star of the show in a BI application). While we (at Jaspersoft) can cite a wide number of things we plan to improve in our design and interaction model, we shouldn’t forget that our current product, based entirely on Web 2.0 techniques and technologies, makes use of many state-of-the-art features and is designed to deliver a great user experience.

I’ll use this screen shot again and others in my next post as I continue to discuss the requirements for successful next-generation web applications. Stay tuned for my personal favorite: “End-User Customization."

Thursday, June 11, 2009

Part I: Next-Generation Web Applications Require Ubiquitous Access

If you think Google created Android because it wants to compete in the mobile phone market, think again.

Delivering rich, interactive content to you, consistently, whether you’re using a desktop computer or wireless mobile phone is Google’s agenda. With great influence on the mobile device’s operating environment (รก la Android), Google can more specifically control the information served to those devices. Ideally for Google, there would be precious few moments of your waking life when you’re not interacting with some Google service.

Fundamentally, anyone building a new web application should understand that constant and consistent access to the same systems and data, from every computing device, is a top design goal. More distributed workforces combined with more time working remotely and traveling, and the ever-expanding workday requires that knowledge workers today not only be in touch, but be online. If your application and data access experience is compromised because of the computing device, the application service wasn’t designed properly, period.

As example, I’ll use the web application I know best – JasperServer, which (shown below) is delivering access to an executive dashboard through two leading smart phones.

It doesn’t matter that the display device is a smart phone or PDA, because the executive dashboard looks and behaves similarly to its desktop counterpart. Why? Because the application relies on open standard, server-side technologies that operate uniformly within a full-featured web browser. And, it shouldn’t matter where that browser is running because even mobile web browsers are supporting advanced web technologies, like AJAX and Flash. So, designing and delivering for ubiquitous access should be the new norm. Fortunately, open standards (and open source) are largely driving this technological convergence. Good thing as these handhelds now pack the processing power of a full personal computer and users will expect their applications to work properly regardless of the device at the end of the bitstream.

Delivering ubiquitous application and data access for enterprise workers is just the first of four technical requirements of next-generation web applications. Next post, I’ll explore the second topic in my four-part series: “Elegant Presentation”.