Supporting Innovation at the Local Level

Creativity drives innovation.  Innovation creates value.  Investing in innovation has created massive fortunes for venture capitalists.  When local governments support innovation the community benefits.  By fostering innovation as a service to the community, like public parks, cities develop a dynamic, entrepreneurial, and competitive workforce while driving value creation through innovation.

Societies that support the spirit of innovation create a platform from which commerce and culture flourish.  Creative people become innovators with access to the right resources (mentioned below). Making these resources available to the masses opens the door for people, who may otherwise have no chance, to pursue their creative dreams.

Since Hatch focuses on custom Android hardware development, this article relates to creating an innovation infrastructure for hardware related projects, specifically in the electronics space.  Driving innovation in the software space requires less physical infrastructure, as the main inputs for that are computers and teachers.

A local government can start to support grassroots hardware development by embracing and empowering key groups.  These groups include engineer associations, makerspaces, and business or academic communities.  People who are passionate about their creative pursuits help spread that passion and experience to newcomers.  Put these people under one roof, like a makerspace, where mentors teach and students undertake demo projects to develop their engineering skills.

In addition to education, newcomers need materials used for product development.  That way they can apply the concepts they learn and experiment new ideas on their own.  Useful materials include engineering tools like soldering irons and measurement tools, electronics like development boards, and electronic components.  The same principles of development apply to many kinds of products.  For that reason the mentors should focus on only 2 kinds of development boards.  Using just 2 different boards will build a deep competency, while providing principles for further development.

After 1-2 years of educating the community, engage local companies to get involved.  They can give students real life assignments and training.  Like an internship program.  The goal is to have the students develop prototypes for experienced companies, under the supervision of the company.  This gives students a goal to work towards and a chance to receive an evaluation of their work.  Companies have the chance to give back to the community, get development services for a reduced cost, or find new employees through their participation.

Empowering creative people to pursue their interests builds an ecosystem of innovation.  Much like Silicon Valley did with the internet and Montreal is doing with video games, prosperous cities must embrace changing workforce needs.  Providing resources to attract creative people and give them the means to exploit their creativity is one of the cheapest and most effective ways for a society to generate advanced competency and prosperity.

2 Tips to expedite custom Android hardware development

Developing a custom Android product, like all new product development, is a process of educated trial and error.  Developers with more experience require less experimenting, but, at an acute level, each product comes with unique challenges to resolve.  The key to faster development is reducing unknowns in the development process.  In this article we’ll look at two ways to remove unknowns that affect the initial stages of a product’s development.

Custom electronics development consists of 3 main engineering disciplines.  In no particular order, there’s the electronics, mechanical (case), and firmware design.  Within these 3 parts, the integration of the electronics with the case requires another layer of engineering attention.

Building Electronics into an Existing Case for Early Production Runs

In China’s electronic manufacturing ecosystem, some companies just sell cases.  These ‘open market’ cases are generally for high volume commodity products (like Android tablets and smartphones).  The case suppliers don’t make the final product, but sell their cases to companies that make the final product.  The case supplier makes assessments about what design(s) will sell well, invests in molds for the cases, and sells their cases on the open market.  Buyers include factories that make the final product or product companies that do their own component sourcing.

Case manufacturers will help electronic engineers design electronics into the existing case.  In this scenario the electronics engineers don’t need to go through the trial and error process of designing new electronics into a new case.  At the same time the company buying the finished product doesn’t need to spend the time and money to invest in making a custom mold.

Easily update the Android OS or individual apps

OTA, the acronym for ‘Over the Air’, refers to pushing software updates to remote hardware over the internet.  This is commonly seen when a new iPhone or Android OS version comes out.  When that happens people using an older phone will get a notification asking if they want to update to the newest OS.  This is an OTA update.  OTA updates are great for custom Android devices.  The alternative is having to manually update each device, which takes substantially more time and money, sometimes making it impractical.

A custom Android device’s firmware and special, embedded, apps also go through an ongoing development process.  Ideally, by the time the units go to mass production all the software is final, but it’s common to discover bugs or have software updates after units are produced.  This is even more true before mass production, during the development process.  Modifications to either the firmware or apps that run on the device happen daily.  Delays in trial production due to finalizing either of these softwares are completely unnecessary with OTA capability on the device.

In summary

Reducing moving parts and uncertainties makes development faster and less risky.  When changes are necessary, which they almost always are, making them as easy as possible also makes development faster and less risky.

Benefits of MDM software in Custom Android Hardware

This article goes over the benefits of Mobile Device Management (‘MDM’) software in application-specific custom Android hardware.  MDM software is specific to mobile devices and gives a central authority means to remotely control and interact with many end devices (through an internet connection).  The number of devices the MDM controls could range from just a few devices to millions of devices.  Devices could be located anywhere in the world.  MDM software is commonly used by companies to control and protect sensitive data on personal devices of their employees, but it also can be used with single application devices.  Here we focus on the use of MDM solutions in single application, sometimes standalone, devices.

MDM software works by installing an app on an end device (for example an iOS or Android phone or tablet).  The app has the ability to modify settings, push data, and control the end device it is installed on.  The MDM app is controlled remotely.  This means each device can be controlled remotely, from one central location.  Imagine a wall of TV’s that can all be controlled with one remote control.  This is a simple example to help visualize one central point controlling multiple end devices.  The ability to control thousands of devices remotely, in real time, creates tremendous efficiency compared with having to manually make changes to each device individually.

There are scores of companies that make MDM software.  Even Google makes MDM software.  For the most part these MDM software providers allow any modifications that can be made on the device, and usually more, to be made remotely.

When considering which MDM solution to use for standalone, single application, devices, many of the features useful with employee devices are the same, although there are some differences.  In this article the meaning of ‘standalone’ device is a device that stays in one place, like an interactive menu at McDonald’s, rather than a device that someone carries on a day to day basis, like an iPhone.  Here’s a refined list of MDM features that matter the most for single application, standalone, custom Android tablets or phones.

Device Configuration

Suppose there are 5000 Android medical devices deployed in hospitals across a country.  After experiencing connectivity problems your IT department decides the devices should use a VPN to connect to the internet.  Through the MDM’s online interface the VPN settings of all 5000 devices can be updated at once.  Updating device configuration like VPN, APN, notifications, wireless connections, brightness, can all be done using a MDM software.

Kiosk Mode

This is a device status that restricts access to the device (often referred to as ‘locking’ the device), allowing someone to only use a limited number of apps (possibly just one) on the device.  An example where this would be useful is when hotels use Android tablets for checking in new guests.  The hotel just wants the guest to use the check-in interface, and not have the ability to use the internet browser, download any apps, or any other functionality than checking in.

Monitoring/Analysis

Visibility on a device’s status provides insight into its health and condition.  Data transmission, battery level, application usage, location, and even the camera are some examples of what MDM software can monitor on a device.  This list could go on.  In addition, the MDM software provides visibility on physical conditions such as device temperature and movement.  When a device runs abnormally hot for a long period of time that can damage components which will break the device.  There’s also risk of damage to a device that suffers from being dropped or handled in an abusive manner.

Updating apps or the Android OS Over The Air (OTA)

OTA makes it possible to update firmware or apps over the internet.  The alternative is manually updating each device using a USB cable.  Think about OTA as an essential insurance policy.  Essential because the costs are minimal, while the value is extremely high.  It’s almost a given that apps or the OS will need an update, as new features and security patches become available.

Remote Access

Examples of uses for remote access include troubleshooting device or user problems, erasing data, and shutting down devices.  The ability to address problems remotely reduces the need to send technicians for service calls, and the associated costs.

Other noteworthy MDM features include Unified Endpoint Management (‘UEM’) functionality and how to download the MDM.  A UEM solution provides control over multiple endpoints (endpoints means ‘devices’), including devices running non-Android operating systems or a Real Time OS.  This is more complex and used in specialized scenarios.  Downloading the MDM app on a device is an issue when using MDM in Bring Your Own Device (‘BYOD’) scenarios.  When devices are made for specific use cases the MDM app can be embedded in the firmware before manufacturing, eliminating the need to download it later.

Further research will reveal more MDM features, but for the majority of use cases the topics covered in this article should give a solid understanding of what to look for in MDM services.

Does your Custom Android device need GMS?

To the general public, Google is synonymous with Android in large part because of Google Mobile Services (‘GMS’).  GMS refers to a mix of popular apps and backend services (provided by Google) that run on Android.  For the most part all consumer Android tablets and smartphones have GMS on them.  When making a custom Android product for use in business, commercial, industrial or medical settings GMS becomes less vital; in many cases unwanted.  This article explores what benefits GMS brings to Android products and why it’s not suitable for many custom Android products.

What is GMS?

Pure Android, often referred to as Android Open Source Project (‘AOSP’), is a robust, mature, and flexible mobile device Operating System.  Since Android is open source many companies have spun off unique versions of Android.  An online search for ‘custom Android ROM’ comes up with scores of examples.  Apps are installed on top of the base Android OS.  GMS includes many popular apps such as Google Maps, YouTube, Gmail, Play, and several others.  GMS also provides services that improve the Android experience like auto app updates, location services, notification services, and others.

A product that comes with GMS has passed a series of performance and usability tests.  CTS and GTS are automated software based tests that test the devices’ hardware performance and compatibility with Google apps, respectively.  These tests ensure that any Android device (with GMS) will satisfy a user’s expectation of quality and, regardless of the brand, all Android devices provide a similar user experience.

This works well for consumers and for Google.  Consumers get a great device and operating system loaded with useful apps for free. Google, an advertising company that leverages user data to deliver high value ads, gets more user data to monetize.  The amazing free software Google provides, like Android or Google Docs, the software this article is written on, all serve the business case of delivering high value ads.

Is GMS necessary for a custom Android product?

While GMS works great for consumer devices, many companies producing custom Android devices for alternative uses (commercial, business, medical, industrial) just want Android and not Google.  GMS comes with a lot of obligations for manufacturers.  Firstly to get GMS the device must use the newest version of Android.  Using the newest version of Android poses a problem for custom devices.  Most custom Android devices run a special app.  App development happens at the beginning of a project; usually on a generic retail device, well before starting a custom device.  Between the time app development starts and mass production of a custom product several versions of Android could have passed.  The brand has no reason to update the Android version and probably reasons not to.  Updating the Android version means having to retest the app and modify the code so the app works smoothly with the new Android version.  New versions of Android usually have updates which benefit consumers, but only sometimes are relevant to custom products.  Custom Android products need stability more than the latest feature updates.

Meeting the requirements of GMS limits the customization possibilities.  Hatch does varying degrees of firmware modification on all of our projects.  Due to the kind of customizations Hatch’s clients need, most products wouldn’t pass CTS and GTS, prerequisites to obtain GMS.  Beyond this, GMS is the link between Android and Google.  Companies may not want to share information about their business with Google.

How does not having GMS affect Android’s usability?

On the surface, devices with GMS certification come with some of the most popular Google apps like Maps, Play, YouTube, Gmail, and several others.  Under the surface GMS powers important features like location services and OTA updates.  While Google’s apps aren’t usually applicable to speciality Android products used for commercial, industrial, or medical purposes, the backend services are useful.  Devices that don’t come with GMS need alternative ways to include these important backend services.  Brands can either manage these services by themselves, use outside companies or open source projects (like F-Droid and MicroG) that offer ‘GMS-alternative’ services.

Google has a mobile device management (‘MDM’) platform for enterprise customers.  To use Google’s MDM software the device must have GMS.  There are third party MDM providers that provide the same services without the restrictions inherent to GMS.  Retail products struggle to find a seamless alternative.  Huawei was forced to create an alternative when they lost the right to work with Google.  They came out with HMS to replace GMS, but Huawei is one of the biggest mobile phone manufacturers in the world.  Not everyone has such deep pockets, and even HMS struggles to compete with GMS from a user experience standpoint.

What’s the verdict on GMS?

In most cases custom Android devices made for specific use cases not only work well without GMS, but don’t need GMS and wouldn’t meet GMS certification requirements anyway.  Removing the challenges that come with having GMS opens up possibilities to fully customize Android hardware.  Alternative software solutions exist for replacing the parts of GMS that non-GMS devices need.  So, for the most part, GMS is great for consumer Android products, but isn’t necessarily beneficial to custom Android devices.