When Greg Sikes watches a new product demo, his eyes always move to the top edge of the screen, but not because that’s where the action is. “I’m looking for the URL to see if it’s a Web app [or a desktop app],” said the IBM Rational director of architecture and modeling. “It’s hard to tell.”
Well-established technologies, including Adobe Flash/Flex and Microsoft Silverlight, along with the emerging HTML5 standard, have made it practical to build sophisticated user interfaces in the browser. That has catapulted Web apps way beyond their early days of basic HTML. And as a result, Web apps today have the same look and feel as apps designed for desktops and notebooks.
“The lines and distinctions between Web and desktop are definitely vague,” said David Intersimone, vice president of developer relations and chief evangelist for tool maker Embarcadero Technologies. “Without a doubt, a good Web app looks like a Win32 app,” added Tim Huckaby, CEO of custom software consultancy InterKnowlogy.
The blurring of the line between Web apps and desktop apps has little impact on consumers and enterprise users, who increasingly don’t care where an application runs. But for software developers, it has profound implications, many of which are only just now coming to the fore. SD Times asked tool makers, analysts and consultants who create custom apps how the development process is changing as the differences between desktop apps and Web apps disappear.
An application is an application
Applications have traditionally fallen into fixed categories based on where they run. That meant developers assumed the mindset that matched the kind of application they were working on: desktop, Web, and, more recently, smartphone or tablet.
Now that the distinctions among those apps are no longer meaningful, it’s useful to adopt a new mindset, said Intersimone. “An application is an application. Period. End of story,” he said. He noted that in general all applications embody the same sets of things: frameworks, application platforms, programming languages, function calls and rich user interfaces.
“Of course, there are issues and challenges unique to the runtime environment, such as how to render the UI and how to deal with connected/disconnected mode for Web apps,” he said.
Intersimone also cited user interface best practices, which developers should employ across all applications: the use of buttons, edit boxes, modal or modeless dialog boxes, themes and skins that let you apply a consistent look across all pages, plus event-driven programming and managing the refresh rate to eliminate flickering.
Calling all user interface experts
Successfully implementing these UI best practices often requires bringing in outside experts. The focus on sophisticated user interfaces has put the design specialists at the center of enterprise development projects.
Until recently, most teams dealt with UI aspects of a project on their own. “There was always someone on the team who understood UI issues better than the others. You relied on [that person] to handle those aspects of the project,” said Adobe group product manager Dave Gruber.
“But as usability issues take center stage, enterprise teams are bringing in outside design experts.”
Gruber said that because ISVs live in a competitive world, virtually all have UI design experts on staff today. He predicted that enterprise development teams will follow in their footsteps.
User interface design has become so central to enterprise projects that even business analysts are getting in on the act, said Gruber. “With any given application, you have to think in terms of Web version, the smartphone version, the tablet version,” he said. Even though they may share some things in common, each version needs its own user interface, he said. “There’s the core app for the Web, the condensed version for the smartphone, and the in-between version for the tablet, without heavy keyboard use.”
You have to start by asking: “Who is my intended audience?” said Glenn Johnson, senior vice president for tool maker Magic Software Enterprises. And these days, with tablet computers and smartphones proliferating, “it’s literally anyone,” he said.
Web apps have taken a good decade to catch up with desktop apps. And in some cases, they have actually surpassed them, and it’s the desktop that has some catching up to do, said Forrester’s Hammond. “Designs are moving from the Web and tablet up, as opposed to moving from desktop down,” he said, adding that many desktop apps—essentially Windows applications—are a good 20 years old. They use things like multiple document windows. They rely on a mouse for navigation. These and other user interface choices give them a dated look and feel, he said.
By contrast, smartphone and tablet apps interact with users via touch-screens. And thanks to technologies like GPS, they have the ability to “push” information down to the device, automatically updating themselves according to the user’s location. “You can’t count on that with desktop apps,” Hammond said.
He did not make a direct comparison between large enterprise applications and simple apps for smartphones and computers. The former are far more powerful, he said.
But it’s undeniable that modern Web and tablet apps are influencing user expectations for the desktop, added IBM’s Sikes. “When you develop an internal application designed run on a Web portal, for example, there’s an expectation that it will be simple and easy to use,” he said.
At the same time, the developer also faces challenges typically associated with desktop applications. “There could be a substantial amount of data to deal with,” Sikes said. Still, there’s no place for a desktop application “with 72 icons on the screen, all in two-point type,” he said. Today, he said, you just can’t get away with a user interface as cluttered as that.