Mobile dev 2016: Hot technologies, dangerous assumptions
As rapidly as mobile development changes, it's hard to keep up with the best choices of tools and practices. TechBeacon spoke with some top developers to ask them two questions: What widespread assumptions are likely to be proved wrong, and which little-known technologies could grow in popularity to play more important roles? Here are some of the more intriguing insights that came out of the responses.
Fast ID Online (FIDO) caught the attention of Jacques Kotze, co-founder and chief technology officer of mobile ad-tech company Adludio. "It's basically a way to replace your passwords and authenticate who you are using a smartphone device," he said. Rather than depending on user ID and password combinations, which it can use, FIDO also supports biometrics. "Every time you want to authenticate, a challenge would get sent to your phone and you would validate the challenge using the biometric [system] on your device," he noted. "It's a nice, elegant way. It's not a huge leap, but all the signs are there that this is something for mass adoption. It's a protocol that is standardized, and that allows it to be used across the board for all sorts of mobile apps and web applications."
Expect wearables to become big, particularly among businesses, said Justus Eapen, senior vice president of innovation at NorthOut, which builds software products for startups. "We're going to see B2B wearables and augmented technology, so you'll see a welder in training wear a headset that walks him through how to weld," for example, and the technology will be used for other jobs where learning on the job can be risky, he added. "You're going to have technology create better training programs and safer training programs." Then there's the increased efficiency factor. DHL found that augmented reality headsets increased efficiency by 25 percent in a pilot warehouse implementation. Such improvement is hard for companies to resist, meaning the market will grow and mobile user interfaces and functions could suddenly look a lot different than they do today.
Dan Schoenbaum, CEO of project management at collaboration software vendor Redbooth, thinks that Web Real-Time Communication (WebRTC) will become big. "[This] new, open source standard for real-time communications across many platforms and mediums is opening up an entirely new, low-cost channel for video calling and communications," he said. Schoenbaum expects WebRTC will eventually undercut such entrenched communications players as WebEx and Skype in much the same way that Google Docs apps have begun to undermine Microsoft's Office business.
Third-party integrated development environments (IDE) could make a resurgence, even with the widespread use of such environments as Visual Studio, Eclipse, and Xcode, said Chris Davis, a senior software engineer at The Nerdery, a custom software development house. "AppCode has all these features [needed for] Swift, Objective-C, and C++," he noted. "It's a catch-all IDE. It does a whole lot more than the branded IDEs do. The people I talk to left and right say, 'I'm in AppCode,'" and people are using other third-party IDEs as well. That could drive major vendors to greater innovation in order to remain competitive.
That leaves the question as to whether Apple's move to open source its Swift programming language could provide an opening for Xcode to expand its share of users. "[Apple is] trying to make it the IDE for the entire ecosystem," said Ben Falk, director of mobile products at Redbooth. "If Swift were to extend to other devices [though open source extension], Xcode would be your tool to build there."
Emerging development languages: From Clojure to Rust
Greg Sterndale, a software engineer and co-founder of Philadelphia-based software engineering consultancy PromptWorks, points to new development languages such as Elm, Clojure, Go, Rust, and Elixir (which uses the Erlang/BEAM virtual machine). "Some of these languages, like Go or Elixir or Rust, are things you'll only see on the server side," Sterndale said. But mobile requires server resources and applications so often that mobile developers will need familiarity with them.
Furthermore, said Sterndale, old-fashioned individual tools such as sed, Make, and bash, as well as editors like Emacs and Vim, could see expanded use. "Creating Make files for projects helps when sharing a project across a big team," he said. Developers are rediscovering how quickly and efficiently they can use simple tools like Vim, where they don't even need to use a mouse.
Popular assumptions that no longer apply
Some popular assumptions about how developers should approach mobile could form a faulty foundation in strategy and practice, according to several people at the show.
Wayne Carter, Couchbase’s chief architect of mobile, said he expects that the common practice of using UX-level tricks, like progress indicators and animations, to mask network delays will ultimately prove to be a mistake. Such tactics don't address latency, which can cause users to become frustrated with and give up on applications. "If you want to provide applications that always work—meaning their data is always available and [they] are always fast with high access speeds—then you need a local copy of the data and a mechanism to replicate that data," he said. "If most applications work online and offline and yours doesn't, you are not going to do all that well."
Mobile ad delivery
The ways developers often rely on delivering mobile ads to their applications will need reconsideration, said Sterndale. "The way ads are used is OK for desktop but kills usability on mobile," he said. "In particular, the size of links is often only appropriate for the desktop; they're too small for mobile, and ads are often difficult to click." As more people use mobile devices to access information, the problem will only increase, putting more financial pressure on developers.
The meaning of mobile
Even the basic interpretation of what mobile means is open to question, said Thomas Holl, co-founder and president of Babbel, which provides language learning technology through browsers and apps. "People typically think of mobile use cases as, you've got your phone and you're on the run," he said. "The way we like to think about it is in the context of how you're using the device. That is the more important distinction. You could be on a mobile phone in your living room because it's there." The context, at least for a company like Babbel, can far outweigh the device format. Pronunciation is also important for learning languages. It doesn't matter whether someone talks into the microphone of a phone or a computer; what matters is whether they are in a quiet home or in noisy mass transit. "Do you want to achieve something quick in, and quick out because you have two minutes?" Holl said. "It's different than if you have half an hour to do something."
Some big bets could be big busts
Some big bets on market directions could also run into ruts. Home automation? Don't hold your breath, advises Shikhir Singh, senior developer relations manager at mobile developer Sencha. "Home automation, unfortunately, is something that takes a lot of time to really get moving," he said. "People are scared to buy into a technology that one day may go away. Even if I did want it, how much would I pay for it?" You could apply the same logic to other areas as well, adding a healthy dose of skepticism when the touting of a new technology begins.
Staying generally skeptical is a wise move. "We’re likely to be proven wrong about everything," said The Nerdery's Davis. "The mobile app space is relatively new compared to other areas of development. The two biggest mobile platforms, iOS and Android, have only been around since 2007 and 2008, respectively. Furthermore, SDK access wasn’t available for both platforms until late 2008. So at the most, a mobile developer could claim they have coded for both platforms for seven years." Nothing is set in stone yet, so staying flexible is the best course developers can take.