• 22/03/2012

Dr. James Truchard: Embedded Systems and Mobile Devices

Without any additional hardware cost, engineers building embedded control and monitoring systems can provide users with a specialized and rich mobile device interface easy to access.

Trefwoorden: #Android, #Embedded Systems, #iOS, #Mobile Devices, #National Instruments

Lees verder

BLOG

Unfortunately fragmentation in the mobile an tablet market is not going away any time soon. Looking only at the smartphone market, there has been a drastic change in market share since 2009. In this time, Android and iOS have gained market share and Blackberry OS, Symbian, and Windows Mobile have all but disappeared.

The tablet market is even more volatile, with iOS maintaining a massive market share and several large vendors including Google, Microsoft, RIM, and HP developing a new round of competitors.

Ultimately, with all of the information available today, the choice seems to be one of two dominant platforms. With such an immature market, it is impossible to predict what the landscape will be in just two years.

Knowing that most embedded measurement and control systems have a life span of more than five years, the best you can do is employ short, iterative, and flexible design cycles while monitoring the market for disruptive change.

Cloud Computing
In addition to the ubiquity of connected networks, a primary enabling technology in the mobile revolution is cloud computing. In the context of embedded measurement and control applications, cloud computing generally provides one of the following benefits:


Aggregation of Data: If the distance between elements of your system is measured in kilometers as opposed to millimeters, you may want to consider cloud data storage. For example, if you are monitoring the condition of each of the gear boxes in a wind farm with hundreds of turbines, collecting data can become extremely costly and cumbersome. With cloud storage, such systems can store data in a common location so that you can easily collect, analyze, and compare it.


Access to Data: In some cases, the embedded control or monitoring system that you are designing is difficult to access physically. For example, if you are monitoring the health of a pipeline in a remote stretch of Alaska, you would ideally not need to send a technician to log the information and check the status of the system.


Offloading: The near infinite computing resources that are available in the cloud provide an opportunity for software to offload computationally heavy tasks. These can be sophisticating image or signal processing or even compilation and development.

Supporting Multiple Platforms
There are emerging technologies that make cross platform support a reasonable option. There are also some drawbacks to the general concept of cross platform applications, as well as issues to consider with each implementation approach.

When looking only at Android and iOS, each platform has slightly different user experience models and conventions. What an Android user might see as normal may be jarring to an iOS user. This makes cross platform development limiting, as you must avoid those operations that are not common between the two major platforms.

Here are a few examples:
- Most Android developers shy away from a global tab bar for navigation, but this practice is common on the iPhone.

- Some iOS elements are redundant with Android hard buttons. Some examples include Back and Action buttons, as well as search bars on top of list views. Most users can still use these, but they immediately notice them as peculiar, which negatively affects their perception of the app.

- Some iOS elements need to be replaced by Android conventions. A prime example of this is the Detail Disclosure button, which does not exist on Android.

HTML5
The most robust approach for supporting multiple platforms is basing a Web application on HTML5. This technology has become the preferred way to present dynamic content to users in mobile browsers.

Even Adobe has recently adjusted its strategy away from mobile Flash and toward HTML5, and Microsoft has announced that their Metro OS will not support browser plug-ins in favor of HTML5.

This technology shows promise, but the tools are immature and there are questions about the richness of the experience that you can provide with HTML5 compared to desktop technologies like Silverlight and Flash.