You say Curl applets are a fraction of the size of Web applications created with other technologies. Why is this so important?
First off, Curl-based applications can be developed more quickly than other apps can. They also download to the browser considerably faster. Their reduced size also results in less bandwidth saturation. All of these benefits become magnified by the fact that once a Curl-based app is downloaded, all presentation logic and appropriate business logic is done on the client. Subsequent trips to the server are only for additional bits of code or data, and are extremely small in nature. I told some DBAs I was researching Curl technology and they said ''What's that?'' Does that still happen to you?
That does still happen to us occasionally, mostly because we have not undertaken any large-scale advertising or communications programs. Instead, we have focused our resources on targeting the segment of the enterprise market that is most appropriate for us. We may be a small company but we are not new. Fans of Curl say it has the familiar feel of a desktop application. How does it differ from other Web application technology in this way?
By leveraging the processing power of a client computer, the Curl platform delivers what we call ''no-compromise'' application functionality via the Web. Enterprise-wide information is unified in one user interface. So tasks like sorting data, reformatting text or performing calculations are executed locally and quickly, with no latency. Also, the graphics and presentation capabilities include features like windowing and forms functionality, support for 2D and 3D graphics, as well as multi-source audio. Let's say I am an HTML/Java Script developer, or one using Java, C++ or Visual Basic. How tough will it be for me to learn Curl?
The Surge GUI Toolkit includes all of the controls commonly used to build interactive user interfaces: buttons, radio buttons, lists, tabs, text fields and so on. You can use the Visual Layout Editor to create a UI, or you can write code that's similar to HTML but with a lot more options to give you more control over the look and behavior of your UI. Layouts are defined in the platform by placing objects into various container classes. For example, you can use a VBox to arrange items one above the other and HBox to arrange items side by side in a row. These can be combined for more complicated layouts. Will Curl put Java and .NET out of business?
No. In fact, we have designed the Curl Platform to interoperate seamlessly with both these and all major back-end technologies. With regard to .NET, J2EE and Web services, we believe that is a key software segment for us to focus on. While innovative ways of aggregating and sharing data are becoming standard, there is still one critical piece missing: the software necessary to convert data delivery to application delivery. We see the Curl Client/Web Platform as an ideal front-end extension to an enterprise application utilizing Web services. How does Curl user runtime compare to Java and Sun?
Both Sun and Curl offer programming platforms delivered to end users in the form of a browser plug-in. The Curl plug-in is 3.8Mb while the latest Java plug-in (1.4.0 for Windows XP) is about 9Mb. Several versions of the Java platform have been released by Sun over the years and it may be difficult to guarantee that end users will have the version that is required to run your applet. While multiple versions of Curl's technology do exist, it is possible to run all versions at the same time. Each Curl applet declares what version of the platform is required to run the applet. If the correct version is available on a client machine, the applet starts immediately. If not, the user is given a chance to download the correct version. The Curl platform is based on a just-in-time (JIT) compiler. An applet is always executed as native code running on the client computer. How does the Curl Platform move computations from the server to the client?
A Curl page is downloaded from a Web server in exactly the same way that an HTML page is, via HTTP. However, unlike a static HTML Web page, a Curl page is executable code. (It can be static, but it doesn't have to be.) Once a Curl applet is downloaded, the Surge runtime platform executes the page. This means that processing something like input entry validation is done on the client instead of on the server. The benefit is that data manipulation and presentation all happens instantaneously on the client, avoiding slow, endless roundtrips to the server. Through its client-side processing, Curl enables you to view, interact with, and manipulate data more thoroughly and efficiently, with sub-second response times. How about interopability?
The Curl platform interoperates with networking protocols as well as back-end technologies. It interoperates with HTTP and standard server-side CGI scripts, and includes a SOAP implementation to connect to emerging Web services. ActiveX controls can be embedded in Curl applications as well.
Until now, there hasn't been an alternative technology platform available to tie Web services together with a rich client interface, providing greater interactivity and scalability. Curl extends the power of Web services by providing a user interface that offers rich data visualization and manipulation in a highly interactive, personalized setting.