Telecoms, Datacoms, Wireless, IoT


“There’s an app for that” – how your product can leverage the cloud

4 February 2015 Telecoms, Datacoms, Wireless, IoT

Today’s prevalence of both wireless connectivity and smartphone applications has fundamentally redefined the user experience for products across all industries. From parents remotely viewing the camera feed from their infant’s nursery on their mobile device, to the service professional who is proactively alerted by a device in need of repair, the ‘user experience’ has extended far beyond arm’s reach of the product itself.

Whether driven by customer feedback, competitive pressures, or opportunities to streamline business processes and minimise costs, more and more product developers are being tasked with adding a smartphone interface to enhance their product offering.

In reality, it’s a version of shorthand to speak in terms of simply ‘adding an app’ to a product. In most cases, the product requirements are really asking for the product to become part of a cloud-connectivity system, which leverages cloud servers and the Internet connectivity of phones, tablets, laptops and, of course, the developer’s product to provide remote monitoring and control capabilities. So in many cases, a request to deliver a companion app for a product is really a request for the product to be cloud-connected.

Much like the ‘green initiative’ eco-conscious movement of the previous decade, companies across all industries are being challenged to understand and articulate a strategy for this white-hot topic of the ‘Internet of Things’ (IoT). Recent industry data indicates that over three quarters of companies globally are either using or exploring the technology driving the IoT, with 95% of corporate executives expecting their company will be using IoT technology within three years’ time. Whatever an organisation’s motivation is to leverage the technology of IoT, the need to be thoughtful and strategic in its implementation remains the same.

While the benefits are significant, there are, of course, key considerations and obstacles to address when developing a cloud-connectivity solution for a product. For example, industry survey results point to both the lack of internal skills and the investment costs of IoT infrastructure as two of the most pressing concerns. These concerns are likely driving the rapid adoption of leveraging comprehensive ‘IoT platform’ solutions to simplify and accelerate product development efforts.

So a seemingly innocuous statement that ‘We need an app for our product!’ may very well require a powerful, complex system design. The goal of this article is to walk through the elements of building a cloud-connectivity system to support remote app connectivity for a product, so that developers can have a robust and exciting solution to share when a customer, sales professional or CEO asks, “Is there an app for that?”

As the elements of a cloud solution are defined, key design considerations that a product development team will need to address are also highlighted. Lastly, the white paper will provide a simple, intuitive framework for defining the capabilities a design will need to include.

What is the cloud?

At the simplest level, a cloud refers to remotely located servers providing software and computing capabilities delivered as a ‘service’ over a network, typically reachable via the Internet.

For the most part, the cloud is an evolution of the local network server systems commonly used by organisations for decades now. It is an enhanced version of a network-accessible resource that provides a set of software services for data transfer, storage, computation and analytics. The ‘cloud’ terminology denotes that the system is not bound by physical location since it can be accessed and utilised from virtually anywhere when connectivity to the Internet is established.

Why should a product be cloud-connected?

As mentioned above, the motivation to pursue the development of cloud-connectivity for products varies. Product manufacturers incorporate this technology in order to leverage a number (or all) of these significant benefits:

Enhanced customer experience: The smartphone is quickly becoming today’s ‘universal remote,’ so providing the end user with an intuitive, convenient interface to the product on their phone can enhance how the customer uses, and ultimately values, a product.

Improved service and support capabilities: The end-user is not the only benefactor of being able to remotely access and send commands to a device. Cloud connectivity can also enable technical support and customer service professionals to remotely troubleshoot product issues, minimising downtime and repair costs. Going a step further, cloud connectivity can also be used to enable the device to proactively alert the consumer or repair professional of preventive maintenance reminders or device failures.

Additional revenue opportunities through consistent customer touch points over the life of the product. The app or web interface can provide a portal to market additional products, accessories or premium features to a customer. These marketing opportunities can increase sales revenue through both cross-selling and up-selling efforts. In addition, if a product incorporates a service model, this cloud connectivity can provide an elegant solution for trialling, renewing and managing subscriptions.

Managing product software with minimal complexity: Unlike a natively installed software application, cloud-based software can be updated once at the server and all users can instantly benefit from the change. This model can also minimise the headaches of managing updates to software embedded in a product. In some systems, cloud connectivity may be utilised to provide over-the-air (OTA) updates to the embedded software within the product.

Gathering product data for future product enhancements: The logging and data mining aspects of a cloud solution can provide product developers with a wealth of information they previously could only dream of having. Understanding how, when and potentially even where the end user is interacting with the product can uncover valuable insights into future product enhancements. Be aware that such abilities open up new complexities regarding the use of user-specific data that must be thoughtfully considered.

Interoperability with existing cloud apps: By adding cloud connectivity to a product, the door is opened to a myriad of cloud-based apps and services enabling new user experiences and functionality. Connected devices can automatically file service issue reports, update inventory lists during manufacturing and distribution, post tweets, check the weather or even change behaviour based on geo-location. Server-side software can be developed to enable any web-based app with a services API to interact with the cloud-connected product.

Is a cloud solution necessary to have a smartphone app that interacts with a product?

Deciding whether a cloud-based solution is required for a specific product application ultimately depends on the use cases being designed for. For example, a short-range, point-to-point wireless solution, such as utilising the Bluetooth or local area Wi-Fi network capabilities of a smartphone, would provide a product a means to communicate directly with an app without passing data through a cloud server. Such point-to-point wireless communication is adequate for some applications, but there are some limitations to this approach that may make it unsuitable for a particular product.

Point-to-point wireless technologies require the user to be in relatively close proximity to the product. This type of solution does not typically support remote connectivity utilising an Internet connection or cellular network to span the distance. Such a solution would also not provide the same opportunities for data-logging, analytics and centralised management provided by a cloud-based network solution over a cellular network or Internet connection.

For many product developers, the use case requirements for their app include providing the user ‘anytime, anywhere’ access to either view the status of the product or send commands to it. This is where a cloud-based solution provides essential features, acting as the hub of communication and providing data access to any Internet-connected device.

The four elements of a cloud connectivity system

At the highest level, a complete solution can be considered to comprise of four essential components:

First and foremost, the product must be designed to be a ‘connected product’. A common path may include augmenting a product design with a radio to wirelessly connect to a network and establish an Internet connection. In other cases, it may be suitable to utilise a wired Ethernet solution. For the sake of this discussion, it will be assumed that a wireless connection is necessary to suit a product application and meet customers’ expectations.

Secondly, the wireless connected product will need a wide area network (WAN) to provide the medium for transmitting and receiving data. Where Wi-Fi is readily available, such as a home or business setting, this could be an access point configured for a specific Internet service provider (ISP). In applications where the product may be utilised in rural environments or the product is mobile and routinely travels to different locations, the best WAN solution may instead be a cellular network. For the purposes of this article, the focus is on a cloud connectivity solution based on a Wi-Fi network.

Thirdly, the solution will require a cloud server to act as the hub of communication. A system’s cloud will typically include software services to intelligently manage communication with connected products, communication with a smartphone app, hosting of a web application for customers or service professionals to use as a portal to the product, and to provide a robust array of data-logging, analytics and rules-based engines that aggregate product data and make it actionable.

Lastly, the solution will need to feature some form of a network client serving as a portal for the customer or service professional to remotely access the product. Today, it seems the mobile app has become the portal of choice, but in many situations additional options, such as a website, would be required to address all potential use cases. For example, a technical support team would likely find greater value in having a web portal or desktop application when downloading larger data sets or working with tabular formats not easily managed from a mobile app interface.

Now that the four elements have been defined, it’s important to dig one level deeper and begin to understand the software components that compose the infrastructure of a cloud connectivity system (see Figure 1).

Figure 1. Software components that span various embedded components of a product, the cloud server and the user’s mobile device must be designed to work seamlessly together to deliver robust system performance.
Figure 1. Software components that span various embedded components of a product, the cloud server and the user’s mobile device must be designed to work seamlessly together to deliver robust system performance.

A cloud-connected system truly is a platform that is comprised of software elements deployed in multiple places, from embedded firmware on a microcontroller to database code on a server. So while there are four distinct elements that comprise such a system, it’s the interoperability created by these software elements that bring it together as a seamless solution.

1. Adding wireless connectivity to the product

Most products where cloud connectivity would be an ideal fit are electronic in nature, so there likely already exists circuitry within the product that includes some form of processor, such as a microcontroller (MCU). This MCU has embedded software that interacts with application-specific peripherals such as sensors, actuators, indicators and perhaps some form of user interface (screen, buttons, LEDs, etc.). For a cloud-connected solution, the product’s printed circuit board (PCB) layout needs to be updated to incorporate a network interface, such as a wireless module, that offers a simple means to add Wi-Fi connectivity.

The MCU will require additional embedded software, enabling it to act as a ‘host’ that intelligently controls the wireless module and its networking stack. This embedded software, referred to as the ‘client’ in Figure 1, acts as an intermediary between application firmware and the wireless module.

The client software provides services to the application firmware for sending and receiving data to/from a cloud server once the wireless module is connected to the network. To minimise impact to product firmware on the host, wireless modules are available that include an embedded networking stack.

The network module requires application-specific embedded software to act as an ‘agent’ for the cloud system. This software allows the module to properly transmit and receive the data flowing between the client and the cloud server.

2. Provisioning Internet connectivity to the cloud via Wi-Fi

Wi-Fi, the commonly-used term for the IEEE 802.11 protocol for implementing WLAN communication, is perhaps the most popular wireless technology for Internet connectivity, enabling cloud connectivity and offering practical benefits.

For a large number of applications, product developers can leverage an existing Wi-Fi network in the location the product will be used. This means the product can integrate into existing Wi-Fi infrastructure and instantly communicate with other networked devices, enabling a whole host of new user experience opportunities.

With its pervasiveness across existing networked devices, Wi-Fi also offers the ability to easily communicate with mobile phones, laptops and Internet servers, enhancing a product’s capabilities for user interaction and data collection. Integrating a Wi-Fi module into a product allows it to tap into an existing wireless infrastructure that in many ways has already been designed for connecting that product to the cloud.

The key step that many times can make or break a successful user experience with a connected product is the approach to provisioning. Provisioning refers to the required steps of helping the connected product identify (scanning for networks) and then successfully connect with the intended password-protected network access point over Wi-Fi. In short, a product isn’t cloud-connected until it is directed to connect to the Internet properly.

To understand how critical provisioning is to a design, consider the difference in the experiences of provisioning a smartphone versus a typical connected product such as a carbon monoxide detector. When entering a business that offers free Wi-Fi, it is fairly straightforward to tell a phone which network to connect to, navigate password or service agreement pages via a web browser, and get connected.

Provisioning isn’t quite so easy for most connected products, which often have a limited user interface component. In the example of the carbon monoxide detector, it doesn’t have the benefit of a full LCD touch screen for user interaction to instruct what needs to be done to get connected.

So how can provisioning be approached if a robust user interface isn’t part of a product’s design? In some instances, a developer may try to work with what they have on the product, such as buttons or switches, to facilitate provisioning. Unfortunately, this approach typically necessitates a long and complicated instruction manual.

Luckily, Wi-Fi technology has continued to evolve and in most cases the developer can look to utilise solutions like Soft AP (a direct connection with the radio acting as an access point) or Wi-Fi Protected Setup (WPS) that help facilitate provisioning by simplifying the device/user interaction. The key is to recognise that the final product design must account for the challenges of provisioning and have a user-friendly solution in place.

3. Maximising the versatility of the cloud

The cloud server acts as the hub of a system, managing the flow of data to and from the networked device (refer to Figure 1), networked clients (i.e. apps or web portals running on smartphones, tablets or laptops), and any other necessary database and software applications.

In order to support interfacing with connected devices, apps and other external cloud services, a cloud server solution will require integration of several software applications and/or services. These applications may include a messaging system, web server, backing data store and web services to provide the features that users will need. It is important to ensure these applications are designed to seamlessly interact with one another and support the intended use cases for the product.

The device services interface provides a communication interface between the connected product and the cloud server. Devices typically identify themselves and post data updates periodically, reflecting the status of their peripherals. In some systems, devices may also receive messages and take action.

The app services interface provides a communication interface between the web and/or mobile application and the data reported by the networked product. This software typically manages user sessions, lists product information and supports configuration of alerts.

In addition to device and app interfaces, some cloud solutions include additional data APIs allowing them to interface with other cloud applications. When selecting a cloud provider, make sure to understand what data needs to be accessible to other systems and ensure appropriate APIs are available.

4. More than an app, it’s the user’s experience

For a technically complex wireless product development effort such as this, there is an inherent risk that the user interface of the mobile app becomes a mere afterthought in the project. In truth, the smartphone app and/or web portal are arguably the most critical elements of the system that will ultimately determine its success in the market, because it will become the face of the product to the customer.

For the carbon monoxide detector example, maintenance personnel may need information such as the location of the unit that needs service, how long it has been since the last service, and perhaps error code information. Given these parameters, an appropriate user interface may convey this information using intuitive visuals such as displaying a facility map identifying the various locations with icons representing status and service alerts. Identifying the use cases for a product and walking through how the app is involved at each step is critical to a successful product-centric app design.

It is important to consider whether the user experience is best met through a native app or browser-based web app. Native apps provide user interface features more familiar to a user of a particular platform, however they require development expertise and custom software per platform. Web-based apps can save development time by supporting multiple platforms from a single solution implemented utilising HTML5-based frameworks.

Last but not least, developers must consider how a product’s branding can be re-enforced through the user interface design. Everything from colour schemes to font selection and graphical layout will have an effect on how users perceive the product. The most common interactions with the product via the application should require the least amount of effort on the part of the user.

Defining the functionality of a cloud connectivity system

With a solid understanding of the elements of a cloud connectivity system and identification of many of the key design considerations of each element, a valuable next step in the process is to define the list of data elements and controls that should be made available through the app or web portal. In the case of the TiWiConnect platform from LSR, this activity is simplified by thinking in terms of ‘the three A’s’: Attributes, Actions and Alerts.

Attributes correspond to the captured data and device state information the developer is interested in monitoring remotely. Attributes can be thought of as representing the critical runtime information in the product. These values can be sent to the cloud to report the status of the product and serve as the basis for a monitoring user interface. For the carbon monoxide detector example, attributes may include time-stamped measurements, battery level and error codes.

Actions define remote commands typically initiated by a user to trigger an activity on the product. They serve as the ‘remote control’ features of the product, allowing users or other devices to trigger processes or adjust parameters. Going back to the carbon monoxide detector example, a potential action could be to silence an alarm or change a threshold for an alert trigger.

Alerts represent messages the product sends to notify a user or another device that a user-defined condition has been met. Alerts can be thought of as a user interface feature similar to an alert dialogue or notification on a smartphone intended to notify the user of a condition that may require an action to be taken with the product. These notifications can often be configured as ‘in app’ notifications or to trigger e-mail or SMS messages allowing a connected product to signal when it needs attention. For the carbon monoxide detector, a text alert to a facility manager could indicate a measurement has exceeded a set value.

This exercise of defining the three A’s should be repeated for each use case a solution must support. It’s common to define the attributes, actions and alerts for each of at least three use cases: admin, service and user. For example, an admin user may be interested in a complete listing of all the attributes and actions available, whereas an end user may require only a simple subset to be accessible.

Once the product’s data, control interactions and user notifications have been defined in terms of the three A’s, embedded software can be developed on an existing processor or MCU to act as a cloud client, with the logic to report the attributes, receive the actions and trigger the alerts that have been mapped out.

Bringing it all together

So how can all these design elements come together to create a high-performing product that offers a strong user experience? As pointed out earlier, two of the top concerns business leaders have in developing an IoT product is (1) the lack of internal expertise and knowledge; and (2) costs of investment in IoT infrastructure. Those obstacles certainly are real, as Figure 2 provides a fairly comprehensive look at the technical expertise required to build such a system from the ground up.

Figure 2. The complexity to develop and support a cloud connectivity system requires an array of engineering expertise few organisations have.
Figure 2. The complexity to develop and support a cloud connectivity system requires an array of engineering expertise few organisations have.

Having developed loyal customers and competitive advantages within an organisation’s market through expertise in its product’s core technology and a deep understanding of its customers’ needs, taking on the additional learning curve of developing a cloud connectivity system runs the risk of becoming a distraction. But like most problems, there are solutions available.

By looking to an established partner, such as LSR, that can offer both the comprehensive cloud connectivity platform and the wireless design services needed to deliver the necessary customisations for a solution, developers can focus their internal resources on the most critical design consideration of all – ‘Are we developing a solution that will meet our customers’ needs and exceed their expectations?’ With a bit of help from the right wireless, cloud and app development partner, developers can confidently move forward to create a market-leading product innovation powered by the cloud.

For more information contact Arnold Perumal, Avnet Kopp, +27 (0)11 319 8600, arnold.perumal@avnet.eu, www.avnet.co.za





Share this article:
Share via emailShare via LinkedInPrint this page

Further reading:

Wide-Bandgap Developer Forum
Infineon Technologies Telecoms, Datacoms, Wireless, IoT
This year marks a new chapter for this exclusive event series – all specialist presentations will be broadcasting live from a studio in Munich.

Read more...
Multimode smart LTE module with GNSS
Quectel Wireless Solutions Telecoms, Datacoms, Wireless, IoT
The AW200Z LTE module is equipped with Bluetooth and Wi-Fi functionalities, and is powered by Qualcomm's advanced 64-bit quad-core Cortex-A53 processors, coupled with an integrated Adreno 702 GPU.

Read more...
LEXI-R10 series cellular module
RF Design Telecoms, Datacoms, Wireless, IoT
The LEXI-R10 Series from u-blox are LTE Cat 1 bis modules that support multi-band LTE-FDD, and are designed for size-constrained devices.

Read more...
Quectel modules above average in security
Quectel Wireless Solutions Telecoms, Datacoms, Wireless, IoT
Quectel Wireless Solutions has announced that nearly 95% of all its modules shipped to the United States since the beginning of 2022 have industry-leading security scores based on penetration testing and binary analysis by Finite State.

Read more...
AIROC Bluetooth LE MCU
RS South Africa Telecoms, Datacoms, Wireless, IoT
Infineon has launched its new AIROC CYW20829 Bluetooth LE MCU, a full-featured Bluetooth LE v5.4 device with best-in-class RF performance, security, and energy efficiency.

Read more...
Ultra-low noise phase locked frequency translators
RFiber Solutions Telecoms, Datacoms, Wireless, IoT
These ICs are the perfect solution to translate a low-frequency master reference clock or reference oscillator to a higher frequency to improve phase noise, reduce power consumption, and simplify circuit complexity.

Read more...
What 2024 holds in store for Wi-Fi in South Africa
Telecoms, Datacoms, Wireless, IoT
Wi-Fi is poised for significant advances in 2024, to the point where fixed wireless services in unlicensed spectrum will start taking over from the currently dominant cellular and fibre services in South Africa.

Read more...
Easy wireless mesh networking
CST Electronics Telecoms, Datacoms, Wireless, IoT
NeoCortec has announced three new NeoMesh Click boards that are ideal for wireless mesh networking, eliminating the need for engineers to create any development PCB hardware themselves.

Read more...
Compact RF-link module
Telecoms, Datacoms, Wireless, IoT
The SCALAE CONTROL is an RF-link module that can be configured to operate as both a transmission and reception module.

Read more...
Revolutionising spectrum sensing with AI
Tamashi Technology Investments Telecoms, Datacoms, Wireless, IoT
Anritsu Corporation has now enabled advanced AI capabilities for solving difficult problems in wireless communications systems using DeepSig’s proven AI machine learning technology.

Read more...