Joining us today is Jnan Dash, Chief Strategy Officer for Curl, which develops and maintains the Curl Rich Internet Application (RIA) platform.
DDJ: Jnan, from all appearances RIA looks to be the "next big thing" in the coming year. How come? What's going on?
JD: The year 2006 saw the beginning of a real focus on Web 2.0 technologies, and through 2007 the excitement was in the consumer space. Technologies such as wikis, blogging, mashups, tagging, bookmarking and social networking dominated the landscape. Soon after, the question came -- what about the enterprise? When are they going to take advantage of these Web 2.0 technologies? The term "Enterprise 2.0" was coined, but the confusion still exists as to the real value of Web 2.0 for the enterprise. Some of these technologies simply remain "solutions looking for a problem".
So here comes RIA, the low hanging fruit for the enterprise to endorse Web 2.0 or the Web as a serious platform for building interactive transactional applications. The value is very clear -- aesthetics matter and users would like a pleasant experience. Most enterprise applications are based on old client-server technology with high cost of ownership and lack of flexibility. Switching to the Web as a platform for mission-critical applications is very appealing as it lowers the TCO significantly. We have seen many proof points of this from our enterprise customers in Japan.
North American enterprises are starting to realize that endorsing Web 2.0 is going to happen via RIA. Improving the user experience and adding interactive visualization is just the starting point. RIAs also offer scalability, reliability, performance, and security on par with what they are used to with old client-server technology. Curl's RIA platform provides all that. Because of this, we think the market is ready for a huge take off on enterprise-scale RIA this year.
DDJ: When Dr. Dobb's first started covering Curl, it was described as a "programming language" that "combines the ease of markup languages with the functionality of object-oriented ones." These days it is described as a "RIA development platform." What's the difference?
JD: Curl's product has always been a platform for RIA, even before the term "RIA" existed. The Curl programming language is the foundation of the Curl platform and it combines the strengths of markup languages, scripting languages, and heavy-duty object-oriented programming languages. By providing good support for all three of these models in one unified framework, Curl greatly simplifies the development of applications that require more than one of these capabilities. Since many Web applications are effectively hybrids of classical Web documents (which emphasize markup and layout) and classical desktop applications (which emphasize interactivity and high-performance data processing), the Curl language offers significant advantages in developing Web applications.
Curl offers two fundamental software products based on the Curl language: the Curl runtime environment (RTE) and the Curl integrated development environment (IDE). The Curl RTE is the engine for executing and displaying Curl applications in the same way that the Adobe Reader is the engine for displaying PDF files. Thus, the Curl RTE is an execution platform for RIA.
Curl offers significant advantages over many other RIA platforms because it is based on the Curl language, which facilitates application development and it compiles applications into high-quality native code that executes at the full speed of the client machine. With Curl, even highly sophisticated applications can be implemented without sacrificing performance or development speed.
The Curl IDE is a full suite of development tools for building Curl applications, including a drag-and-drop visual editor, interactive documentation, performance profiler, and so on. This is Curl's development platform for RIA.
The Curl programming language is still a very important and powerful technology with the same advantages that we described when Dr. Dobb's was first covering Curl. Versions of the Curl RTE and IDE also existed at that point. They enabled the development of active, Web-deployed content, though the term "RIA" had not yet been invented. Now that "RIA" is a widely understood term, it is simpler to describe Curl as the best platform for enterprise RIA, and that's why you hear this phrase now.
DDJ: A lot of web development, particularly when it comes to RIA, is done via scripting languages. Curl seems to have much more horsepower than your typical scripting language -- more along the lines of C++ or Java. What does this say -- if anything -- about the kind of applications Curl is suited for?
JD: Because Curl provides much higher performance than scripting languages, it is especially suitable for enterprise applications, which are characterized by complex logic and large data processing requirements. There are many existing client-server applications whose client-side logic is too complex and performance-intensive to be able to be re-implemented in a typical scripting language. These applications have not been able to move to the Web using scripting-based RIA platforms. Because of its focus on high performance and good software engineering support, the Curl development platform that can be used to move these applications to the Web. Many existing Curl deployments fit this model. Case studies from Curl customers including Paisley and Nippon Sheet Glass can be found on the Curl Web site.
Even though Curl does have a lot of horsepower, we have worked hard to preserve the advantages that developers look for in scripting languages. Scripting languages are often used to promote faster prototyping and development for small projects. Their test-edit-run cycle is very quick and programmers don't have to spend much effort writing "boilerplate" code to declare types or otherwise set up an overall architecture for an application before starting implementation. In trade for these benefits, typical scripting languages have much poorer run-time performance because they use interpretation rather than compilation. Also, without programmer-supplied type declarations or other architectural information (such as declarations specifying the visibility of class definitions and class members), a scripting language implementation typically can't do much checking for programmer errors. This can be an especially big problem when applications get larger or are turned over to maintainers who are not the original application authors.
Curl supports concise scripting by allowing developers to express applications spanning the whole content spectrum from markup to heavy-duty data processing without having to write extra boilerplate code. It provides a fast test-edit-run cycle and lets programmers decide how much or how little they want to supply in the way of type declarations and other declarative information. In fact, Curl can be used either as a scripting language or as a C++ or Java-style development language, or as a combination of the two. Because of this, Curl serves the needs of a broad spectrum of RIA developers.
DDJ: What's the most interesting or unique RIA that you've seen developed with Curl?
JD: One of our most recent enterprise-scale RIA examples comes from one customer based in Minneapolis. Paisley provides industry-leading solutions for Governance, Risk, and Compliance to Fortune 500 companies in U.S. and Europe. Its original client-server solution was based on Lotus Notes Domino and the scope was just auditing.
The new product is broader in scope and is Java-based with a web-based front-end. The back end is J2EE and Curl is used for RIA visualization. They have a SaaS model called GRC-on-Demand. The enterprise GRC has 270 customers, while the GRC-on-Demand (multi-tenant model) has about 30 customers.
Paisley's application uses "heatmaps" and dashboard visualization, which are both implemented using Curl. These features are differentiating factors that directly relate to their competitive sales wins. Heatmap is a grid-like display of various business units and displays a color-coded compliance column that indicates instantly which units are failing. Compliance details can be visualized with just a mouse-over. Users claim that this is the key distinction factor why they prefer Paisley to other solutions. Business is growing at 40 percent per year due to the Curl-based RIA and Gartner ranks Paisley as the leader in the GRC space.
DDJ: Where can readers go for more information on these topics?