What is a modern app?

Home | Blog | Bio and Contact | CSLA .NET | CSLA Store

10 April 2014

The term “modern app” is starting to gain some traction in our industry, but what is a modern app?

Microsoft started using this term to describe formerly-Metro and now Windows Store apps, but then they kind of backed off because they settled on Windows Store App as the name for what they were doing.

At Magenic though, we design and build modern apps for our customers in a platform independent way. We define the term thusly:

Modern applications support all types of devices, from phones to tablets to laptops to desktop computers, on all different platforms, from Windows to iOS to Android and HTML5. They provide first-class support for touch, keyboard, and mouse scenarios. And they rely on well-considered UX design to enable your users to leverage complex back-end or cloud-based services and data in a highly productive and compelling manner.

In our view, modern applications extend beyond simple mobile apps to include enterprise realities such as the need to work on existing computing devices (mostly PCs with keyboards and mice) as well as newer devices such as ultrabooks, tablets, and phones of all shapes, sizes, and OSes. And modern apps leverage existing backend services, as well as public and/or private cloud infrastructure where appropriate.

You can imagine that this definition of modern apps isn’t necessarily neat or simple, but it is meaningful. A typical modern app requires extensive development an integration on an enterprise’s servers and backend systems. It probably has a substantial Windows or web client for use by employees who need deep and rich interactivity with the entire system. And in today’s world it almost certainly has a meaningful subset of (or even full) functionality on tablets and phones.

At the moment enterprises are still trying to make BYOD work. As a result a typical modern app tends to have multiple client device implementations. If the BYOD trend continues it is reasonable to expect that cross-platform technologies such as Xamarin and JavaScript will become the norm rather than multiple disparate native implementations.

It is also possible that the high cost of BYOD for enterprise apps will cause enterprises to reassert control over client devices (like what happened 20 years ago as the PC and Windows emerged into the enterprise). This would likely bring out one majority client platform such as the Windows Runtime (WinRT) that enterprises would target for many internal modern business apps.

Time will tell on that front. But regardless, the high emphasis on UX, the need to support keyboard/mouse and touch equally, and the deep integration with existing enterprise and cloud systems are the cornerstones of the definition of a modern app.