Modern mobile devices are, in most cases, pretty boring. They're slabs of plastic, metal, or glass, with decent cameras and a fast internet connection. That's all to the good, but we're missing the spirit of innovation we saw at the start of the 3G era, with phone designs that went off in strange new directions.
Perhaps the glass rectangle is the ultimate nature of the device. After all, it's how Larry Niven and Jerry Pournelle described far-future pocket computers in their novel The Mote in God's Eye. They even got the near throwaway nature of the unmaintainable device right, with their characters' devices described as being akin to a single large integrated circuit, replaced in the event of the smallest problem.
So what then of our future? Are we going to be limited to slabs of glass, or will we have devices that are more flexible, able to fit in with work and play, adding functions by snapping on and off new hardware as we go?
Under the hood Moto Mods are an interesting idea; add-ons that connect to a dedicated port on the back of a phone. The idea is that you can use them to build hardware that wouldn't be economical to build into every single one of a range of mass-market devices -- but still has enough of a market to make it a viable add-on. But how do you get new developers to build Mods?
Motorola's Moto Mod developer kit is part of its answer to that question, providing hardware and code samples that help you start building your own phone add-on hardware. I've been looking at a selection of the kit and various sample modules, using the Motorola Z2 as a host. The underlying plan is clear, by showing developers what can be built, they're able to first try out software ideas before building their own hardware.
The development kit is simple enough, a case that's big enough to fit any of a selection of basic modules, and a downloadable SDK. Open the back of the case, and you'll find a perforated circuit board, ready for you to add your own circuitry.
The development board provides access to the available connectors, so your software running on the phone can work with firmware running on your devices. It's a sensible way of keeping the phone hardware separate from add-on hardware, by giving you a way to send data between the two.
In practice, the development board is unlikely to be your first plugin board. Instead, you're likely to start with any one of four different personality cards. These demonstrate how to use Mods to host audio, display, sensors, and batteries. They plug in to the developer Mod, and come with software in the Play Store to demonstrate basic functionality, as well as sample code to help you with writing your own Mod apps.
Open source code on Github is a good way to build your first apps, and Motorola gives you plenty of documentation. There's code for both sides of the Mod, firmware for the Mod itself, and Android libraries that work with your own device apps. The sample apps are relatively basic, but that's an incentive to build something a lot more compelling and a lot more focused on what your users want.
The sample boards are a good way to start developing your own Mod code, but you're going to want to build your own hardware to differentiate your Mods from everyone else's. That's where the perforated board comes in, as a way of connecting your own circuitry to the Mod expansion port.
There's another option, too, in the shape of a board that accepts Raspberry Pi-compatible HATs. That way you can build and test hardware and firmware on familiar maker boards and using open source hardware, before taking your HAT and using it as the basis of a Mod.
Mods are constrained by the shape of Motorola's Z-series devices, so part of the program includes CAD and 3D printer files for cases, as well as pin outs for the connector used to link phone and Mod.
Once you've built your hardware, written your software and firmware, and printed a case, you're ready to get your Mod certified and manufactured. Motorola runs a series of hackathon-style events to help developers get started, and also has a partnership with Indiegogo to encourage crowdfunded Mod development.
There's a lot to like in the Mod development kit. Motorola has done an interesting job in putting together a platform that works well for both commercial development and for hobbyist makers. Separating development board from the interface Mod makes it easier to make risky decisions, as all you'll need to swap out is a relatively low-cost circuit board. Support for Raspberry Pi HATs also means you can take advantage of a wider IoT ecosystem.
As we wait for Essential to release its first phone, Motorola is back with a new Moto Force that uses its Moto Mod architecture. The better approach to expanding functionality depends on how you use add-ons.