|
Interacting with Droplets August 15, 2002 -- The advent of the Internet brought a world of thin clients and easily distributed Web applications, as the browser gave us the capacity to extend applications outside the firewall without installing new software on the client. But in the process, consumers and employees lost richness of functionality, information density, and an intuitive Graphical User Interface (GUI). And developers lost the ability to rapidly develop applications, as they endured the tedious task of Web page development.
Plus, the slow responses of HTTP-based Web pages, GETs, and POSTs have resulted in significant productivity losses. According to usability research firm Nielsen Norman Group, "Billions of dollars are wasted yearly in lost productivity as people wait for Web pages to perform duties that could be better handled by a 1984 Macintosh-style GUI application." Over time, Web pages -- JavaServer Pages technology and Active Server Pages -- have become the dominant user interface for Internet-based applications.
The Droplets SDK Training ProgramTo gain access to an online Droplets SDK training program, go to: http://droplets.com/developer
The need for easy-to-create Internet applications with the interactivity of desktop applications is now being met by Droplets, Inc. The Droplets software application platform, with its Droplets User Interface Server and Software Development Kit, enables developers to create software that combines the convenient, instant deployment benefits of the Web's thin client architecture with the high usability and rich UI of fat clients. "I'm impressed by what the Droplets platform is capable of," comments Jim Mitchell, director of Sun Labs at Sun Microsystems. "Droplets enables developers to write Internet-based middleware applications with the high interactivity of normal desktop applications." The Look and Feel of Desktop Software
"Droplets are applications, written primarily in the Java programming language, that look and feel exactly like locally installed desktop software," explains Lou Franco, chief software architect for Droplets. "They have all the speed and responsiveness and interactivity of software that is locally installed, but they are deployed like the Web. You can drag a Droplet application icon from a portal and drop it on the desktop for persistence and immediacy and use it as long as you're online -- hence, the name 'Droplets'."
Droplets have the same deployment model as the Web, with all the functionality of desktop applications. To an end user, the difference between Droplets and the Web is like the difference between online email services like HotMail or Yahoo mail, and Outlook. "You know when you're using Outlook that you have a certain style of application with scrollable, sortable tables and headers that are resizable," says Franco. "You can drag and drop things into folders. It feels different from Hot Mail or Yahoo mail, where you click on links and get totally new Web pages. Droplets gives you a real application look and feel that is far less clunky."
"I'm impressed by what the Droplets platform is capable of. Droplets enables developers to write Internet-based middleware applications with the high interactivity of normal desktop applications." - Jim Mitchell, director of Sun Labs, Sun Microsystems
While a more convenient Internet mail might not sound all that exciting, the broader implications to C-level executives can be enormous. An Internet-based mail interface might pose inconveniences to consumers, but it can mean millions in productivity losses when the user is a call center operator who is forced to crawl through a page-based Web UI while his or her customer waits on the other end of the line.
The Droplets platform interacts intelligently with whatever devices the end user chooses, and presents users with the appropriate, native UI for that device. The Droplets User Interface Server is designed to interoperate with a wide variety of platforms, applications, and standards, and includes support for essential standard technologies like SSL, challenge response authentication, HTTP tunneling, HTTPS, and SNMP. A UNIX user interacts with a familiar interface, as does a Mac or Windows user. Less time is spent learning an application and there is smoother integration into the user's workflow.
Specific capabilities include: Asynchronous/real-time data updates Native GUI widgets Resizable window views Diverse launch options Actionable real-time alerts -- even if an application is closed
Investment risk and time-to-market are reduced by allowing programmers to focus completely on a server-side development requirement, while leveraging familiar IDEs and third party testing/debugging tools. There is less complexity and time required to deal with the Web's multiple presentation technologies, so more time can be spent on the applications features and requirements, instead of tying together HTML, DHTML, Servlets, business logic, server-side scripting, and countless other Web technology layers.
In addition to offering a substantially improved user experience, Droplets allows an application to travel easily from one device platform to another without rewriting. Droplets handles device portability by using a very small generic client enabler/engine for each device platform. The browser does not become irrelevant, but gets relegated to the things it does best: Internet navigation and document delivery. Also, developers can embed a Droplet in a Web page, or enable users to do the same. Saving Time and Bandwidth
Bandwidth savings is one of Droplet's strengths. "We went through a period when it seemed like everything was free on the Internet," says Franco. "You could get tools, services, and access to all kinds of things for free. But one thing that never was free was bandwidth, which was paid for by both sides. If you are a user at home, you pay to get access. If you are selling a service, you pay your ISP or your host. And bandwidth is expensive. Droplets uses about a tenth as much bandwidth as HTML."
"Droplets are applications, written primarily in the Java programming language, that look and feel exactly like locally installed desktop software." - Lou Franco, chief software architect, Droplets, Inc.
There are a couple of reasons for the bandwidth reduction. HTML is a human-readable, verbose tag language that is highly bandwidth intensive. In addition, browsers require that users refresh the entire UI/Web page to render any updates on the client side. Droplets, by contrast, uses an optimized TCP/IP communication layer to transmit GUI updates in real-time, without requiring an update of the entire GUI. Simple, short commands to describe properties and event changes are transmitted, resulting in a terse exchange of information. This radically increases application performance, while reducing bandwidth consumption by 90%. Java Technology: Not as Much Busywork as C++
While Droplets applications can be written in both the Java programming language and C++, most are written in Java code. Developers get an object library, make calls in it, and the result is Droplets. There is no mix of languages. "While we have some legacy Droplets that use the C++ SDK, the main focus of the company is on the Java technology SDK," observes Franco. "Every single person I talk to is using the Java technology SDK. Java technology is more robust and suitable to longer server up times, without as much busywork as C++. When you're writing an application that needs to be used by thousands or millions of people, it needs to have high availability -- if it crashes, it's going to crash thousands of people, not just one person on a machine. There is no substitute for Java technology to protect against that. It's highly reliable, with well-defined behavior and no memory leaks. It's crash-proof, and because of the way it was written, it's very resilient if someone tries to hack it."
About Droplets, Inc.Founded in March 2000 and headquartered in New York City, Droplets, Inc. provides an application platform and standards- based Java technology and C++ development tools for deploying highly interactive, real-time applications. The Droplets platform provides the full GUI capabilities of fat client software, directly from the desktop or through a Web browser, while maintaining all application code on the servers. Droplets provide significant bandwidth savings over Web-based applications, while increasing end-user productivity, customer intimacy, and partner loyalty. Droplets Architecture: Focusing on Core Functionality
To develop Droplets, an engineer uses a single standard language without having to learn new skills. It relieves developers of some of the more tiresome aspects of network programming and lets them focus on an application's core functionality.
Droplets serve an AWT-style UI remotely without transferring any of the application code to the client, thus allowing developers to write and serve thin-client applications using Java technology's highly evolved GUI development paradigms. Developers write the UI almost exactly as if they were building local software, but the application remains on the server and can be accessed from anywhere on the Internet. All of the code that the developer writes runs on the server.
Since the application logic resides on the server, the only required client-side piece, for full, browser-free interaction, is a generic, lightweight client that the user remains unaware of. All served UIs look exactly like locally installed applications. A two-way, asynchronous TCP/IP protocol transmits UI update instructions from server to client, and user actions from client to server.
Generic, lightweight client remains hidden to users.
Whereas a Web browser must receive an entire page in response to a user action, a Droplet receives only the changes necessary to update its display. Limiting client/server communication to events and updates results in a lightweight communication that increases application responsiveness dramatically and performs well over low-bandwidth devices. Because the client and server maintain a two-way connection, the communication can also deliver asynchronous UI updates to the client, enabling applications like instant messaging, a capacity that eludes Web-based platforms. The communications can tunnel through HTTP when necessary, while still supporting asynchronicity through efficient client polling. The fact that HTTP tunneling is sometimes necessary is thus hidden from the application programmer.
Droplets and JSR 127Droplets Chosen as Expert for Java Specification Request Droplets Inc. was chosen to be a member of the Expert Group for the Java Community Process (JCP) Java Specification Request (JSR)127. This JSR is about JavaServer Faces, which defines an architecture and APIs which simplify the creation and maintenance of Java Server application GUIs. To learn more, go to: http://jcp.org/jsr/detail/127.jsp
The Droplets framework enables Java technology developers to write remotely served, locally presented applications to end-user desktops using the AWT/Swing paradigm they're already familiar with, while solving a number of engineering problems common to Web development. It hides all networking code and eliminates the need to track per-user session state, since values of instance variables do not disappear until the user exits the application. In addition, it eliminates Web programming problems caused by the browser's Back button, while retaining acceptable speed and full interactivity.
Droplets are analogous to servlets and JavaServer Pages. "However, unlike servlets and JSPs, we don't generate or know anything about the actual network protocol," says Franco. "Instead, you manipulate objects like windows and labels and buttons like you would in Swing or AWT. So when you change the background color on a label, you're not manipulating a label directly in your code -- you're manipulating a proxy to a label. It sends the information over to the network on the client side with addressing information and the new attribute information, and then the color change will happen on the client side. So as a developer, your code is going to look very similar to Swing, but it's not exactly Swing. It's not exactly AWT, but the concepts are very similar. And where the concept is the same, we use the same name as AWT."
Resources
? For a snippet of Droplets code.
? For full source download The Future of Droplets
Droplets will soon be coming out with a GUI builder in which developers can drag and drop buttons, labels, text fields and so on. They will have plug-ins for the major IDEs -- JBuilder, Forte TM for Java, and Eclipse. "We'll come out with plug-ins that allow you to drag and drop and build your Droplet applications," comments Franco. "The user will be able to go into major IDEs with Droplets installed and tell the Wizards you want to start a new Droplets project. The user gives it a name and it will generate the entire project and deploy it to the Droplets server. From there, the rest is simple. You just drag buttons on as text fields, labels, give them colors, sizes, resized behavior, and then you write the little piece of code you would like to run when the button is clicked and the text field is typed, etc. Then you compile it, run your Droplets server, and you're off." Dropping in the Grid
Beyond the next few months, Droplets has its eyes on a bigger arena: Grid Computing. "The idea of making computing power and applications available on demand from anywhere is a perfect fit for Droplets," says Franco. "Right now, you access this computing utility through a publishing medium, Web pages, and that's not really a big idea. Helping people tap into the network through GUIs that are fast and easy, that's when it all fits together nicely and everyone is happy -- the finance guys, the users, the programmers, everyone."
The Droplets platform was designed to be device-agnostic, and work with just about every back end out there, so Grid Computing is a natural fit. "More of the company's R&D will be invested in this space," remarks Franco, "and Sun's N1 initiative will be a focus in the future to help bring Java technology developers the efficiencies of Grid Computing, together with the front-end usability and cross-platform compatibilities of Droplets."
|