Mobile App Development Services

mobile app development servicesAt Cardinal Peak, our IoT app development experts develop differentiated mobile applications that address the complex issues connected devices and audio/video systems face. Whether consumer-facing or an enterprise solution, our typical mobile app development empowers organizations across industries to collect, manage and display data from a large variety of devices to a significant number of users in a secure, seamless and scalable fashion.

From smart home ecosystems to video distribution systems to Spotify-like applications, we specialize in end-to-end mobile app development services for audio, video and IoT solutions. By collaborating closely with our in-house embedded and cloud developers to handle the app development process from ideation and UX design through development and testing to ongoing support, our team of mobile app developers solves the toughest systems challenges — and optimizes your app.

Mobile App Design Services for Every Platform

Founded in 2002, Cardinal Peak has been developing apps since the release of the iPhone. Our development expertise includes:

Native Mobile App Development

Native mobile applications are written in the programming language and use the frameworks provided by the platform owner. Cardinal Peak develops native iOS and native Android applications. The benefits of native applications include speed, access to the hardware on the device, and an interface that matches the design language of the OS. If you are developing for both Android and iOS, then the disadvantage of native application development is cost as there is very little beyond basic UX elements that can be shared across the two platforms.

Hybrid Mobile App Development

Cross-platform mobile applications can be written in a variety of programming languages and frameworks before they are compiled into a native application that runs directly on the device operating system. While we’ve developed apps in several cross-platform tools, our standard is React Native. It provides the best tools to streamline development and launches applications that look and feel like native apps, running at comparable speed. Developing in React Native reduces the costs of developing two standalone apps (Android and iOS). The ability to blend Native code for accessing hardware makes it a great solution for applications that need access to hardware and therefore cannot run in a browser.

Progressive Web App Development

Progressive web apps (PWAs) skip the app store delivery and app installations — they’re web applications that utilize a set of browser capabilities and appear as a shortcut on the device home screen. Despite having limited access to hardware components when compared to native apps, PWAs do have a distinct advantage: they are device independent. A leader in audio, video and IoT app development, Cardinal Peak can support your PWA development to deliver apps with a UX on par with native apps.


Our IoT Application Development Experience

Cardinal Peak has developed mobile applications for many IoT devices including virtually all smart home categories from smart thermostats, sprinklers and window blinds to water filtration systems, water softeners, water heaters, air conditioners and more. In some cases, we developed the smart devices as well as the apps. In all cases, our deep understanding of connected device engineering — as well as our ability to develop cloud systems — was valuable in the project outcome.

Whether developing just the mobile app itself or other elements of the system, like the device or cloud components, we prefer to own end-to-end system testing. Making up about 15% of our staff, our QA testers are experts in understanding the entire system to determine whether a particular defect is due to the app, cloud or device. By finding root cause and working alongside the dev team, our testers improve product quality and speed development.

Our engineers have the expertise to develop all aspects of your IoT system. For additional information on our IoT app development, check out our case study for smart home device engineering and pages for IoT engineering and AWS IoT Core design.


Audio & Video Mobile App Development Experience

Cardinal Peak has extensive experience developing a wide array of systems capable of collecting, processing and distributing audio and video. While the applications we’ve helped develop vary greatly, the underlying skills of managing DRM and large volumes of video and audio data — and scaling these systems — remain the same. Below are a few examples of IoT, audio and video systems for which we developed the mobile app, and in some cases provided the cloud and device engineering as well.

Access Control App Development

For a leading developer of enterprise physical security solutions, we developed two apps – one for end-users’ building access and the other for security professionals managing building security. The end-user app was the simpler, with functionality including basic credentials, system registration, access control, mustering features and requests for help or escort. For the security professional app, our client wanted a mobile solution for monitoring buildings on the move. This meant that the security officer could control all doors and passageways from one app including watching live or recorded video from any access point. Beyond development, our QA team provided end-to-end system testing.

Security App Case Study

Hardware, Cloud & Mobile App Design Project

In another mobile app project, we helped a serial entrepreneur make radio interactive, thereby capitalizing on the deep connection that millions of people have with their favorite radio stations.
The app empowered users to “clip” a piece of digital content when they heard something interesting on the radio so that they could engage with it later. The project included:

  1. A feasibility study to determine whether the system could consistently recognize audio in the most popular radio listening venue: a car.
  2. Digital signal processing so the mobile app could reliably identify radio content in a car in many conditions, including driving down a bumpy road with the windows open.
  3. Develop a cross-platform app and cloud connections so that listeners can capture, manage and interact with their radio clips.

Interactive Radio Case Study

Music Streaming Application Development

For another start-up, we created a music streaming service similar to Spotify, but with a variation on the subscription business model. Instead of monthly payments, the streaming service was bundled with the sale of a mobile device or data plan, free for the life of that device on the data plan. In effect, it was a white-labeled, bundled music service to differentiate products that otherwise only competed on price. The app was designed to be “social first” allowing friends to share activity, recommendations and playlists. Cardinal Peak developed both the cloud back-end for storing and managing tens of millions of pieces of content as well as the mobile application.

Streaming App Case Study

Medical IoT App Development

In the highly regulated world of health care app development, we developed a HIPAA-compliant system to collect live video of patient visits with providers. The Medical Memory app lets users view recordings any time using a rich set of playback controls. This helps patients recall exactly what the doctor told them and securely share those videos with loved ones and caretakers, ultimately improving communication and patient outcomes.

Healthcare App Case Study


Commonalities in Our Mobile Application Designs

While the markets may vary from IoT and consumer to enterprise access control, medical and everything in between, some common threads weave through Cardinal Peak’s mobile application development efforts. The apps we develop tend to be complex and frequently involve managing large amounts of data and scaling to large numbers of devices and users. In addition to supporting mobile app development, we often aid in the development of complex cloud back ends and/or connected devices too. In all cases, our mobile team is supported by embedded and cloud experts when necessary to better manage the transport, storage and display of data to minimize cloud costs and create an intuitive UX.


Our Mobile App Development Process

Our typical mobile application development starts with discovery to understand your goals, the product features and your brand’s identity. Next we guide you through the user experience (UX) and user interface (UI) development process.

Discovery scales depending on your application. For a simpler app, we have weekly video calls to explore a portion of the app. During the week, we develop clickable models which are used in the following week’s meeting to solicit feedback. For more complex apps, we have a multi-day workshop at your facility to dig deeper. A couple weeks later, we present an array of design options for feedback.

Once the UI is laid out, the developers start their work. The number of developers depends on the complexity of the project and the desired schedule. We typically run on 2-week sprints as described in our project execution blog post. With each sprint, we strive to execute vertical slices of features so both QA and the customer can evaluate the app as soon as possible.

Once the app is feature-complete, we have a final quality sprint before we start the “friends and family” alpha testing. While you pick your friends and family, we manage all other aspects of the testing. We may expand the testing if needed, then we are ready for product release.

Mobile app development process

 


How Apps Work & Other FAQs

For a deeper understanding of app development, here’s information they work with the cloud, a major component of mobile apps.

What is the front end vs. the back end?

Most mobile apps are not standalone applications but instead provide a way for users to view and interact with data stored in cloud systems. The mobile “front end” is the app, while the “back end” is the cloud application where the data lives. For example, the Yonder app’s user interface (the music player) is the mobile front end while the back-end cloud serves up the content (the music files, artist information, social content, etc.). Sometimes, we are a little crafty and might bridge directly from the app to a device (like a video camera) to save costs, but the basic idea is the same: The mobile app is the front end and content comes from somewhere else.

How do the front end and back end communicate?

The mobile front end obtains the data from the cloud back end via a variety of service calls, such as application programming interfaces. In some cases, these APIs may be developed and owned by the same company developing the mobile application, while in others, the API may be controlled by a third party and access is granted via a commercial agreement.

Why use a cloud back end?

Beyond providing the data that the front end displays, the cloud typically manages security rules and access control. A few settings in the cloud back end manage who has access and how they are authenticated — multifactor authentication, for example. Fortunately, much of this type of workload is handled by cloud service providers, which allows developers to focus on features and functionality rather than IT issues of scalability, security and reliability.

The other major reason to keep most information in the cloud is the ability to login in from multiple devices to access up-to-date information that may have been generated on any other device. For example, when you switch devices when watching Netflix, the app knows exactly where you left off in the program and what you added or subtracted from your watch list.

From the manufacturer’s perspective, collecting all data (from users and devices) in the cloud provides the opportunity for data mining, which can ultimately reveal insights used to improve the user experience.

How do mobile apps use SDKs and APIs to integrate with the cloud back end?

Back-end services are typically accessed through a variety of different types of APIs. While some back-end service APIs are available directly to the application through calls in the platform itself, many of the specialized services have to be integrated into the app via a software development kit, commonly known as an SDK. Once the SDK has been added to the app via the development environment, then the application can make use of the APIs defined in the SDK.


Mobile App Design Services Resources

Interested in learning more about our mobile app development services? The blogs below provide details surrounding what to expect during your IoT, video and audio app development project.

Blog Post Native Modules Vs React Native
Bridging the Gap: Native Modules and React Native

Cross-platform development languages like React Native are true game-changers. From developers and designers to scripters, folks in QA and product owners, everyone wants the one-to-many relationship from code base to platform this tool unlocks.

Cross-Platform App Development
Blog Post faster debugging with loggly
Faster Live Debug With Loggly

One of our senior engineers discusses in this final segment of his three-part guest blog series on the Loggly blog live debugging and how it can be done faster, providing a list of nine strategies for improving development speed.

Improving Debug Speed
Blog Post considerations for code reuse blog
Four Things to Consider About Code Reuse

Given the chance, many developers would rather not reuse existing code, but rewriting an entire codebase is not always good for business. This blog dives into a project’s different motivating forces and how reusing code can help meet deadlines.

Reusing Code in App Dev