No matter who you are or what your involvement in the ever-evolving world of technological advancements may be, some sort of learning curve is to be expected. For users, the implications are obvious. Think back to your first smartphone or tablet. There are gestures to learn, concepts to master, and a slew of commands waiting to burn their way down your neural pathways and into your muscle (and regular) memory.
Developers face the same problems while building your software. With so many new technologies coming down the pipeline, how does the average dev cope with all the learning? Moreover, what gadgets in today’s upcoming class pose the most potential for the people making the software?
The answers are as diverse as the number of new gadgets appearing on the market today. Whatever the product, however, it’s clear that the software industry at large is full of fast adapters and natural problem-solvers.
Learning a multitude of programming languages isn’t a problem when it comes time to embrace new hardware. Programmers have a number of tools to ease the transition from one language to another: virtual machines, compilers, and so on. What’s important is how devs use their new tech verbiage.
Take device convergence, for example—a topic we’ve covered extensively in the past. Building a new hardware line off an existing platform doesn’t just make things easier on developers, it also gives existing users a backbone of knowledge to carry into their new devices. As with many positives in the software development world, the benefits here are cyclical. Developers who are comfortable with an existing set of tools build better software that looks and works similar to the old product while embracing new features. Users then enjoy those benefits and buy those products, giving developers the funding and motivation to move onto new projects … and so on.
Apple’s family of products, which have made extensive use of Objective-C, are a great example of this idea at work. While cross-device functionality is a given these days, Apple led the charge as applied to consumer entertainment products. Even before the days of smartphones and App Stores, basing an entire product catalog off a single language—as opposed to a product-by-product approach—allowed for the synchronicity consumers expect from pretty much every computing gadget there is today.
With speculations ranging from TVs to watches to the CNET-rumored iAnywhere platform, it’s clear that Apple’s collaborative-device experimentation is nowhere near finished. Whether or not we’ll hear anything during the WWDC keynote is still anyone’s guess, but whatever hardware does emerge will probably make use of Objective-C. That’s perfectly fine for seasoned Apple programmers excited to get their software on another revolutionary device.
Though they’re not as big on the hardware side as their Cupertino counterparts (yet), there’s no doubt that Google is gearing up for the future. With Google Glass, Android Wear and their own self-driving cars coming down the pipeline, the Big G is preparing to make a major splash in the mobile world.
On the development side, that means app creators with big ideas have plenty of outlets to place their software—kind of. Google made a splash at this year’s SXSW by confirming their plans to keep Android gadgets (like Wear-watches) separate from their Chromebook product. Still, there are plenty of options available for developers looking to make a cross-device entry into the world of Google.
Wear offers a particularly easy entrance, especially for those with previous Android experience. Google’s powerful Access Notifications API gives devs an easy way to port their previous products to whatever watches end up sporting the OS. In some cases, they may not need to do any work at all.
Interplay between Access Notifications and Android devices works especially well when an app’s major functions revolve around pushing notifications to users. It’s smart enough to tell what various notifications and buttons within an app currently do, giving them appropriate spots within the trimmed-down Wear interface. What’s more, the software functionality is close to what it would be on a full-blown phone or tablet touchscreen.
The benefits here for developers are many. Even with devices converging, going cross-platform within an ecosystem can be a taxing and expensive affair. The fine folks at Mountain View seem hellbent on reducing both the workload and the financial investment required to expand our increasingly connected world.
Further lessening the effort and cash costs of developing for new hardware are a number of tools specifically devoted to easing the transition. Anywhere software is built, these source development kits (SDKs), application programming interfaces (APIs) and various other packages (with and without acronyms) can be a huge boon. In mobile—where hardware is always improving, functions are always being added and fragmentation sometimes rules the roost—they can be a godsend.
Take the humble smartphone camera, for instance. While taking pictures is simple, editing them or posting the finished product to your social network via a third-party app requires a serious API investment. Without it, these applications would have to build every interaction from scratch, rather than pull a chunk of code from a library and build around it.
The Access Notification API mentioned earlier is a good example of how future apps (and the devs behind them) might best make use of the hardware coming down the pipeline, like beacons and other IoT devices. Generally speaking, manufacturers are responsible for providing developers some sort of help getting started.
This sort of documentation and guidance often goes beyond nuts-and-bolts code. Apple’s developer site features tons of guides on designing user interfaces, graphics and other tools that fit the overall feel of iOS. Google does the same with offerings like their Glass Development Kit (or GDK). All in all, making it easier to develop software for a new product benefits everyone from the CEO to the average customer.
We’ve barely scratched the surface of exciting new hardware coming up in the near future. From the Facebook-acquired Oculus Rift technology, to in-car infotainment systems equipped with mobile operating systems, to who knows what else, companies will be optimizing software for devices of all shapes and sizes.
While this expansion undoubtedly represents a certain amount of learning for devs hoping to put their wares into new hardware, the experience will rarely feel like starting from scratch. Although learning new programing practices is a major part of any developer’s job, so is innovation. With the industry’s big dogs enabling the latter by encouraging the former, the software of the future looks to be every bit as exciting as the hardware it’s running on.
Stay up to date with the future of mobile by following us on Twitter.