Category Archives: Design

Four Ingredients for the Perfect Enterprise App

At the end of 2014, the iOS and Android app stores collectively boasted approximately 2.5 billion apps. A staggering amount, but hardly surprising when you consider that nowadays there’s an app for almost every thinkable use. The vast majority of these cater to consumers, however enterprise apps have a sizeable and growing minority presence in these stores. That said, enterprise mobile apps don’t generate a fraction of the usage that their computer counterparts enjoy. But why is this?

Primarily, low usage levels stem from a lack of functionality and features when compared to computer software. They are also plagued with some of the most common app development mistakes, which make them less usable and ultimately desirable. This creates a chicken and egg challenge for enterprises, many of which struggle to recoup the investment made in their mobile solutions. As such, the challenge of finding the perfect recipe is still very much present for anyone seeking to develop a successful enterprise mobile app.

To shed some light of the situation, we’ve picked out four ‘ingredients’ that we think make the secret sauce for developing an enterprise mobile app, based on our experience:

User Experience

To be successful, apps must be intuitive. Most enterprise mobile apps are built to replicate their PC or website interface. In an ideal world, this would work, giving the user a similar experience on every platform. However unfortunately this rule does not apply to mobile platforms, as users have a completely different way of interacting with these devices. Mobile app developers and brands need to identify this unique nature, and design the app to work well within each eco system.

To deliver the best user experience, mobile apps should be simple to use, without foregoing any of the functionality and features required by enterprise users. Developers should bear this in mind when creating apps for a mobile platform, and shape the user experience to suit the challenges, benefits and nature of these devices.


Although network coverage is fast improving whilst data charges are getting lower by the day, most towns, cities and regions still have nooks and crannies where the average smartphone user cannot access data services. This poses a challenge for app users and developers; mobile app developers and enterprises must understand the need to design apps that only utilise data when required, and enable users to interact with the app without any data coverage. This does not necessarily mean that a cloud storage app has to store all data on the user’s mobile device to enable offline access, as this would eat up a lot of space on a smartphone or tablet.

Of course, there’s no getting around the fact that some services require the user to have access to data. However imagine an app that enables a salesman to take potential buyer information and send it to a central CRM system. If the buyer is located in an area where coverage is poor, the app could by design disable the salesman from entering any information at all. Now imagine if the same app allowed the salesman fill in the data and save it on the device, to then transfer to the database when he/she has access to data coverage. The second scenario is the essential direction for enterprise apps; users need to be able to collect live information, with the option to transfer when they have sufficient data coverage.


Just like in the PC industry, it’s always crucial that the end product is of premium quality, to ensure that all of the dependent processes work smoothly. However this philosophy often gets lost in translation when carried over to mobile apps – the standard of the end product somehow gets lost in the development process. When an app is lacking in quality, eventually it can lead to it being discarded, wasting any previous investment. For this reason, quality assurance should be a priority from day one of development, not an afterthought at the end of the process.


One of the main reasons why enterprise mobile apps have not become the go-to apps for users is their lack of features. Lots of enterprise PC apps have hundreds of features that can be used by the employees of an enterprise on a daily basis. But when the employees are out of work and on the move, they are provided with an app that lacks even the most basic functionalities found on the PC software. This presents huge obstacles for users wanting to work away from their desk, and hence poses a challenge for productivity.

To be fair, it would be almost impossible for all of the features found on a traditional PC or web-based software to be implemented effectively in a mobile app. However the secret to overcoming this is to club similar activities into separate apps, enabling users to interact with multiple apps and complete their work easily. This approach protects the quality and user experience of each app, whilst allowing users to access as many features as possible from their devices.

Enterprise mobile apps have huge potential to improve the productivity of employees in the post-PC era, but many currently lack the quality and functionality required to meet the needs of users. However by taking on board these 4 key ingredients, develops can overcome the challenges of mobile apps for enterprise, to create effective solutions for mobile devices.

Original Source


Characteristics of Modern Apps

The way of doing things are always changing. This is true in the mobile app realm as well. There are some characteristics that one should look for when developing modern apps that an article form the San Diego Times laid out very well. Check out the characteristics of modern apps below:

  • Mobile: Supporting touch interaction and adaptability to a large range of screen sizes and pixel densities. Factoring application functions into simpler, shorter workflows. Factoring applications into many apps. Factoring systems into APIs and apps.
  • Cloud-Backed: Project assets stored in the cloud catalyze collaboration between stakeholders. Using cloud resources for testing. Using MBaaS services such as authentication and notification. Avoiding hardware provisioning. Adopting more abstract and machine-independent application models for back ends in the form of PaaS.
  • Agile: Incremental, frequent releases. Rapid response to change. Teams working in an integrated fashion. Collaboration with social tools, and integration of users into the development process, including frequent user validation.
  • Continuously Integrated and Delivered: Applications must be integrated to run daily. Heavy reliance on automated testing. Integration of testing into the development cycle, and frequent and incremental changes to application users, potentially while preserving a managed degree of generational compatibility.
  • DevOps-Enabled: Developers own deployment or work seamlessly with Ops staff to release, test, refine and rerelease applications to users. Using self-service portals to enable many stakeholders to participate and have accountability for the application. A view of the application life cycle that integrates its performance through delivery to the end user.
  • App Store Delivered and Extended: The app is delivered in an app store and/or uses modules or off-the-shelf components and services. Components and extensions are surfaced in module or app directories where they can be discovered and integrated.
  • Analytics Infused: Developers get rich intelligence on application usage. Data on app modules and screen elements are used. Fielding experiments and tests with automation and quick turnaround (e.g. A/B testing of planned features).
  • User Experience-Centric: Focusing on the design and appearance of the application that brings the front-end designer and/or application programmer into the enterprise development process more fully than ever before.
  • Socially Oriented: Integrating of user-interface patterns borrowed from social networks, such as timelines, event streams, social graphs and other social metadata. Data is updated using event-based push-oriented patterns. Integrated search functionality. Seamless support for content elements such as images and video. Integration with consumer or enterprise social networks.
  • API Factored and Surfaced: The move to APIs involves a comprehensive movement to componentize and granularize back-end software in order to achieve composable and easy-to-evolve back-end platforms. Today’s API architectures use standardized, loosely coupled and lightweight REST call formats to reduce complexity and maximize accessibility.
  • Lightweight: Less complex software that is less time-consuming to install, learn and use. Software that uses a smaller resource footprint—including on disk, memory and CPU—and enjoys quick startup and recycling times. The trend toward lightweight can be witnessed in both the tools sphere, such as the increased use of editors or online IDEs, and in deployment architectures, such as the use of Web Servers in place of App servers, the use of NoSQL in place of relational databases, and the use of containers (e.g. Docker) in place of virtual machines.
  • Model-Driven: Rich use of visual tools to support abstraction in the development toolset such as for relations in a data model, business logic flows, and process flows. Some tools rely entirely on such approaches to construct applications, while others use them selectively in domain-specific ways for building various parts of the application such as the user interface or process workflow.

Original Source