Jumpstart Your Android Project - Part 2
An Overview of Software Customization
In our previous article, we looked at several commercial off-the-shelf (COTS) and customizable devices that you could use in your Android project. Today, we’ll look at software features and components that might be useful in your business.
While there are advantages to COTS devices, including low prices and easy implementation, there are also drawbacks. Since COTS devices are made for a wide variety of industries, you’ll be able to do basic tasks, but they might not exactly fit your business’ needs. If you find this to be the case, customization is something to consider. Here are common software customization options:
- Modify boot logo and animations
- Lock down Android with kiosk mode and bootloader security
- Enable special features such as multiple USB ports, serial ports, and additional APIs to access devices.
- Driver integration for RFID, barcode scanning, beacon technology, or other sensors
Modify Boot Logo and Animations
Some companies like their logo to appear on the screen when the device is booting. Software developers can easily do this at a low cost by integrating the required changes into the Android operating system (OS). If the company wants the logo to appear early, it requires modification to the bootloader. Android can also animate the logo during the boot process.
Kiosk Mode and Bootloader Security
Kiosk mode is essential for devices that run only one application. For example, the Watson XRF’s only task is to determine the alloy of scrap metal, and it uses one application to do that. A point-of-sale (POS) register also uses kiosk mode. When the device boots, the primary application runs and the user cannot access other parts of the system.
Bootloader security is important because it provides protection from hackers. Preventing them from installing trojan horses or viruses on a device is a key goal. Having a bootloader that performs additional checks through encryption and exchanging of keys helps prevent hackers or untrained personnel from loading incorrect images on a device.
Additional Ports and APIs
Companies sometimes require additional USB or serial ports for connecting to other equipment. For example, a point-of-sale (POS) device may need to connect to a cash drawer, printer, magnetic swipe reader, or other peripherals. Connecting the hardware is not sufficient-- the control of the peripherals need to be integrated into the operating system. This may require enhancements to the OS such as providing an API to access the required serial or USB ports. For one of our customers who required access to a new serial device (a magnetic identification reader), we enabled access to the OS serial port through a Serial API in Android.
There are many different ways to integrate drivers and sensors into your hardware, and the best way to do it really depends on the specific needs of your business. In this section, we’ll give examples of how we’ve helped customers meet their requirements in this area.
Sometimes, your platform may have data collection or sensors for which middleware is already available. If your new device uses barcode scanning or RFID, you can jump start your project by using our EPX software, since EPX is a general purpose solution that works on any recent Android release (4.x and higher). It includes a developer SDK that’s ready to integrate into your system and be used by your clients. Learn more about EPX here.
The Android wireless management code can be difficult to understand and modify. For a mining application, we implemented fast switch-over from one wireless access point (WAP) to another. The Wireless Manager monitors RSSI information to force switching from a weaker signal to a stronger one.
For location awareness, we have written a wireless location management client to work with a solution from Ekahau. The Ekahau Real-Time Location System (RTLS) is used for tracking physical assets and people in hospitals, mines, factories, warehouses, etc. The Ekahau RTLS relies on the existing Wi-Fi networks for location tracking and no additional infrastructure is required.
Modifying the boot load, implementing kiosk mode and bootloader security, adding additional ports and APIs, and driver integration are just a few ways that software customization can help your business. Contact us if you want to discuss your project with us.