Welcome!

Java IoT Authors: Mano Marks, Liz McMillan, Elizabeth White, Mehdi Daoudi, Kevin Benedict

Related Topics: Java IoT

Java IoT: Article

The Two-Dimensional Legacy of GUIs

"There are striking similarities between cinema and GUI software"

Ted Nelson, inventor of, among other things, hypertext, once lamented that software development today is at the same evolutionary stage film making was at 100 years ago. Back in the 1900s, when the technology of film production was in its earliest stages, the cameraman was the person in charge because he was the one who understood the technology and could make it function correctly. The audience's sheer fascination with the magic of films was enough to captivate and hold their attention while the silent and blurred subjects grinned and gawked directly into the lens. Much has changed in the last hundred years though, and movie directors are now the ones in charge of making a film. It is they who decide every camera angle, every pan and zoom, every focus switch, and every light level in order to create the finished product. Their goal is to captivate the viewer, hold their attention, and suspend disbelief for 90 minutes or more. Cinema is a branch of the arts whose end product is thing of aesthetic quality.

There are striking similarities between cinema and GUI software, the most obvious of which is the fact that both interact with their users through a screen. It was developers at the Xerox Palo Alto Research Center (PARC) in the 1970s who realized that the eye is the highest bandwidth connection to the brain, and to interact with the user in the most efficient and natural way required using a terminal as more than just a way of receiving and displaying formatted text output. As a result of this epiphany, the first WYSIWYG editor was created and the concept of the GUI was born. Having the user interact with the information via scroll bars, push buttons, pop-up menus, check boxes, and so forth were all conceived 30 years ago. Each time a new whiz bang PC operating system is released or a software package created that will "revolutionize the way we work," I am always disappointed to peel back the hype and find that most of the effort occurred under the hood, leaving the front end largely unchanged with just a token rearranging of controls. Yesterday's dinner is re-served with fresh salad dressing and a quick 30 seconds in the microwave to make it smell fresh.

The problem is a deep one and can be traced back to the original Xerox developers who, although they were undeniably creative geniuses who shaped most of modern computing, also created the legacy that now holds us back. Their task back then was to create applications that supported laser printers; they needed a way for the user to see what the finished output would be before wasting toner and paper. WYSIWYG is more aptly an implementation of the acronym WYSIWYP or "what you see is what you print." For example, the scrollbar was designed to allow the user to deal with having their available viewing area smaller than the size of the underlying page, not as a way of navigating through large lists of back-end data. All of our computing metaphors - such as copy and paste, applications on a desktop, folders with files, trash cans, and so forth - come from a paper-based view of the world. Ted Nelson writes that "like the fish that is unaware of water, computer users are blind to the 2D tyranny of paper." The problem occurs because everything we do in GUI software is predicated on the fact that we're using the computer as though it were a page of information.

What needs to be done then to break out of the goldfish bowl we're all currently swimming around in? We need to create applications that push the boundaries of software toward cinema, where the user experience is all that matters and our job isn't to be latter-day cameramen just arranging precanned widgets and controls designed to help some laser printer engineers.

Part of the problem lies in our psyche, who we are, and where we came from. In Hackers and Painters by Paul Graham (www.paulgraham.com/hp.html), he draws a parallel between the numerous people involved in creating a piece of art. One is the painter who has the inspiration, the talent, and the creative ability to produce the finished piece. To do this he has the knowledge of how to apply paints in the right way, the right combination, and the right technique to produce a work of art. The other person is the engineer at the paint factory. He has the knowledge of how chemicals can be mixed together to produce different products; paints that dry on the canvas and not in the tin; different colors, mediums, and so forth. The two disciplines are clearly different and neither the artist nor the engineer would be able to apply each other's trade. When the paint factory hires new recruits, they approach the chemical engineering department for graduates, and when the art gallery needs new material, they visit the art department. Software should be the same, where for a GUI application the people required understand how to communicate with users through a computer screen and how to convey information. These people are artists, not engineers. They are people who understand how to direct a movie, not those whose only skill is loading film in a camera and switching it on and off.

When this is understood it can be used to good effect, for example in the computer gaming industry where the production process has more in common with a movie studio than a traditional software house. Likewise, the plethora of special effects that occur in films, not to mention the raw technology underpinning CGI cartoon movies, makes the boundary between the two disciplines even more blurred. Computer games companies hire, and put in charge of production, creative talent and artists, while the engineer's job is relegated to cutting the code, pointing the camera, and making the canvas come to life in the image of the design team's ideas and vision.

What we need to do for desktop software is to learn from the games programmers, to recognize that the screen can do more than rehash a 30-year old paper presentation metaphor to the users, and see if we can inject more art, and less science, into the applications we produce.

More Stories By Joe Winchester

Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
David Marshall 12/11/06 09:56:09 PM EST

Reliable speech recognition and artificial intelligence would go a long way toward making interfaces more usable. How many times I have to move around looking for files and opening them with the correct app when I wish I could just say "edit the web.xml file in my garbanzo web app folder". Or "Restart Apache."
Why am I ever looking at XML files anyway? These things are meant to be read only by parsers.

This kind of stuff is so tedious especially if you have RSI. It mystifies me to see that so many people are returning to essentially a 1970s operating system (Linux) or Unix on the Mac. Now they can issue commands like ls -l to see all their files or cat xxx to look at a file in a terminal window. grep , awk , sed. This is for hackers and only hackers. The fact that these things still exist is not a testament to their power. No one has broken out of the box. I don't think MS Vista is a move forward but it sounds like they at least they entertain some of these ideas. Unfortunately, they seem to be taken with the idea that you can walk into your house and have your computer figure out what song to blast from your entertainment center. That much I can handle. But give me a computer that I can ask "Whats 34.48 times 94?"

@ThingsExpo Stories
The security needs of IoT environments require a strong, proven approach to maintain security, trust and privacy in their ecosystem. Assurance and protection of device identity, secure data encryption and authentication are the key security challenges organizations are trying to address when integrating IoT devices. This holds true for IoT applications in a wide range of industries, for example, healthcare, consumer devices, and manufacturing. In his session at @ThingsExpo, Lancen LaChance, vic...
WebRTC has had a real tough three or four years, and so have those working with it. Only a few short years ago, the development world were excited about WebRTC and proclaiming how awesome it was. You might have played with the technology a couple of years ago, only to find the extra infrastructure requirements were painful to implement and poorly documented. This probably left a bitter taste in your mouth, especially when things went wrong.
Big Data, cloud, analytics, contextual information, wearable tech, sensors, mobility, and WebRTC: together, these advances have created a perfect storm of technologies that are disrupting and transforming classic communications models and ecosystems. In his session at @ThingsExpo, Erik Perotti, Senior Manager of New Ventures on Plantronics’ Innovation team, provided an overview of this technological shift, including associated business and consumer communications impacts, and opportunities it m...
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
WebRTC is bringing significant change to the communications landscape that will bridge the worlds of web and telephony, making the Internet the new standard for communications. Cloud9 took the road less traveled and used WebRTC to create a downloadable enterprise-grade communications platform that is changing the communication dynamic in the financial sector. In his session at @ThingsExpo, Leo Papadopoulos, CTO of Cloud9, discussed the importance of WebRTC and how it enables companies to focus o...
Big Data engines are powering a lot of service businesses right now. Data is collected from users from wearable technologies, web behaviors, purchase behavior as well as several arbitrary data points we’d never think of. The demand for faster and bigger engines to crunch and serve up the data to services is growing exponentially. You see a LOT of correlation between “Cloud” and “Big Data” but on Big Data and “Hybrid,” where hybrid hosting is the sanest approach to the Big Data Infrastructure pro...
In his General Session at 16th Cloud Expo, David Shacochis, host of The Hybrid IT Files podcast and Vice President at CenturyLink, investigated three key trends of the “gigabit economy" though the story of a Fortune 500 communications company in transformation. Narrating how multi-modal hybrid IT, service automation, and agile delivery all intersect, he will cover the role of storytelling and empathy in achieving strategic alignment between the enterprise and its information technology.
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists peeled away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud enviro...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
"LinearHub provides smart video conferencing, which is the Roundee service, and we archive all the video conferences and we also provide the transcript," stated Sunghyuk Kim, CEO of LinearHub, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Things are changing so quickly in IoT that it would take a wizard to predict which ecosystem will gain the most traction. In order for IoT to reach its potential, smart devices must be able to work together. Today, there are a slew of interoperability standards being promoted by big names to make this happen: HomeKit, Brillo and Alljoyn. In his session at @ThingsExpo, Adam Justice, vice president and general manager of Grid Connect, will review what happens when smart devices don’t work togethe...
"There's a growing demand from users for things to be faster. When you think about all the transactions or interactions users will have with your product and everything that is between those transactions and interactions - what drives us at Catchpoint Systems is the idea to measure that and to analyze it," explained Leo Vasiliou, Director of Web Performance Engineering at Catchpoint Systems, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York Ci...
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
Discover top technologies and tools all under one roof at April 24–28, 2017, at the Westin San Diego in San Diego, CA. Explore the Mobile Dev + Test and IoT Dev + Test Expo and enjoy all of these unique opportunities: The latest solutions, technologies, and tools in mobile or IoT software development and testing. Meet one-on-one with representatives from some of today's most innovative organizations
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in Embedded and IoT solutions, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 7-9, 2017, at the Javits Center in New York City, NY. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/Big Data, HPC and E...
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web communications world. The 6th WebRTC Summit continues our tradition of delivering the latest and greatest presentations within the world of WebRTC. Topics include voice calling, video chat, P2P file sharing, and use cases that have already leveraged the power and convenience of WebRTC.
"Matrix is an ambitious open standard and implementation that's set up to break down the fragmentation problems that exist in IP messaging and VoIP communication," explained John Woolf, Technical Evangelist at Matrix, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
WebRTC sits at the intersection between VoIP and the Web. As such, it poses some interesting challenges for those developing services on top of it, but also for those who need to test and monitor these services. In his session at WebRTC Summit, Tsahi Levent-Levi, co-founder of testRTC, reviewed the various challenges posed by WebRTC when it comes to testing and monitoring and on ways to overcome them.