Developing apps designed for a touch environment can be deeply challenging if your background is in conventional apps. Here are some tips to make the task less confronting.
Alien picture from Shutterstock
The 'alien' analogy comes courtesy of software designer, developer and consultant Billy Hollis, who used it during a presentation on development approaches at TechEd North America 2013. It came about when he was discussing the difficulty many developers have in explaining their work to loved ones.
"I tell them it's as if you were married to someone and every two years you wake up married to someone else," he said. "You just have to try to get along with that. That's the kind of change that we work with all the time."
While the shift to the cloud might represent the latest version of that switch, Hollis argued that the switch towards touch-screen apps with a highly visual interface (seen variously in Windows 8, iOS and Android) is a much bigger challenge.
"Going to the modern apps era is different," he said. "It's as if you wake up one morning and you're married to a reptilian alien. You don't even what sex it is."
Shacking up with an alien can be difficult, but Hollis insists it's not impossible. "In the last five years we've seen our industry turned upside down. Waves of change have hit us. But you can survive this transition; almost all developers can."
"Users are now conditioned to expect modern apps. Virtually none of our business software is ready for this. What gives most people a sinking feeling is they don't know how to write the kind of apps expected on this particular platform."
Here are Hollis' quick-fire suggestions for making that transition:
Take advantage of available technologies. Modern app platforms include large amounts of pre-built user interface code, but not al developers embrace them. "We have the UI stacks, and yet using those UI stacks the temptation is that you're used to the old-fashioned approach so you do that," Hollis said. "The biggest challenge is breaking you loose from this to come into the modern apps era."
One classic example is the spreadsheet-like data grid seen in many business apps. "Modern app platforms don't have a data grid in them. Why not? Because this way of interacting with info on a screen is an artefact of a mouse-driven, keyboard-driven world," Hollis said. "I am not telling you to never use a data grid, but I am saying it should be your last resort and not your first resort when you begin designing modern apps."
Don't be excessively reliant on designers or visual elements. It can be tempting to simply hire a designer for your look and feel, but that isn't always appropriate. "While designers have some strong skills and they're great participants in the process, it is a rare designer indeed who will acquire the domain understanding — the business understanding — that you already have," Hollis said.
On a similar note, don't spend too much time worrying about every visual detail. "The value in the modern era is not the colours," Hollis said. "The value is in the interaction. Does the app make intuitive sense the first time someone walks up to it?""
Don't be afraid of blank space. A good design principle is that users like white space and less-crowded screens," Hollis advised. "At one time swapping screens out was laborious, but we're way past that. Screen real estate is no longer valuable; pixels are free."
Watch users and experiment with different designs. You're in a relatively new domain, so you shouldn't expect everything to work immediately. Explore multiple designs before settling on one idea.
It's also worth setting aside time to observe your end users performing their tasks, even if this seems like a time sink at first. "If you can spend five years to hone your craft, can't you spend three days to watch your users?" Hollis asked.
"You have to be bold," Hollis concluded. "You have to break through your connection to the past and come up with designs you never thought you could." Additional developer tips (and alien matrimony techniques) are welcome in the comments.