JavaFX was born amid a particularly interesting confluence of upheavals in the technology industry and the way commerce was conducted in the developed world. At the turn of the twenty-first century, companies were looking for ways to do business directly with their customers. Whether they had goods to sell, information to impart, or entertainment to offer, the immediacy and low overhead of the Internet compared with traditional in-person interactions were changing how business was done. Even the most traditional companies were seeking more compelling ways to conduct business with their customers through the devices they owned. And new businesses for search and retailing that relied on the Internet as the sole mode of interaction with their customers were gathering momentum.
During the same period, the number and variety of devices that connected to the Internet—cell phones, TV set-top boxes, or desktop computers—were rapidly increasing. Those devices were becoming more capable of processing information from the Internet in faster and increasingly sophisticated ways. Organizations of all kinds were given the potential to be mere inches from people’s eyes. As early as the 1930s, the television set had been described by those in the nascent advertising industry as a “selling machine.” By the 1990s selling machines were to be found not only in people’s living rooms (where they had evolved interactive features), but in their offices, in their children’s bedrooms, and in their pocket. The virtual doors of the retail world were being flung open. It was becoming less a matter of how to get people into your store, and more a matter of how to get a toehold on all their devices. The more intuitive, entertaining, and enriching the interaction those customers had through their various devices, the more likely that the business would be brisk.
The Internet had brought sweeping changes to how many user interfaces were designed. The tide had turned from the traditional rich-client GUIs. Web sites brought a new energy and simplicity to the limited palette of components supported in markup languages and its constrained interaction model. Thanks to the central update model of web applications, these applications employed a new and evolutionary development style. A web site could change its branding or functionality week to week, even day to day. This brought a radically less formal approach to presenting and gathering information to end users through the large new commerce web sites. These websites created venues for purchasing books, bidding on secondhand memorabilia, and searching for lost schoolmates, just to name a few. But in many ways, while the development process for the Web was lightweight and experimental, user interfaces still were constrained to a visual idiom that could be as boring as filling out the paper forms of yesteryear.