A mobile app is a desktop app that you open on a mobile device.

Desktop and application virtualization tools continue to improve. Not only are they more responsive, they are highly secure, which makes virtualizing Windows desktop apps for use on mobile devices more viable than ever.

Touch-based user interfaces have revolutionized the way we interact with applications, but to date, Windows desktop apps just haven't worked well enough on mobile devices. Most Windows-based applications are significantly enhanced by a mouse, and some can't perform without one -- that archaic right-click button and scrolling wheel are still important. The performance of virtualized Windows desktops and apps on mobile devices is often uneven. And forget about trying to use applications that feature sophisticated graphics, such as computer-aided design or geographic information systems.

But times are changing, and the technology has evolved to a point where new possibilities are continuing to emerge.

Giving employees the ability to work from any device, anywhere at any time allows organizations to create a more productive, efficient and satisfying environment. Revisiting how they provision applications to mobile platforms is getting more important. There are thousands of core business applications that organizations haven't or wouldn't even contemplate mobilizing, but it's starting to make more sense to do so.

There are several approaches to porting applications to mobile platforms. Refactoring -- the process of streaming an application to a mobile device and tweaking aspects of the user interface to interact better with touch -- is certainly a hot topic right now. But simple application virtualization comes with plenty of benefits, too.

The technology has evolved to a point where new possibilities are continuing to emerge.

The most obvious: The risk of data leakage is greatly reduced because information is stored in the data center or cloud rather than locally on the employee's mobile device. Pairing application virtualization with identity management, to track who is accessing which apps and when, can further improve security.

Another important advantage is that streaming an application enables IT to render the application's images inline and process display data and input events at the application level. Not only does this technique maximize performance, but if combined with a secure container, it can completely isolate each user session.

Running menu-heavy applications on a mobile device -- such as Microsoft SharePoint, Oracle and SAP -- has been simply out of the question. For a long time, it was nearly impossible to deliver the required user experience for those kinds of apps, unless developers completely rebuilt the application natively for mobile. But virtualization vendors such as Citrix and VMware now have software development kits that can help IT develop mobile front ends for core Windows applications. Citrix even released the X1 Mouse, which optimizes Windows application use on iPhones and iPads.

These vendors have also made significant advances in integrating GPU acceleration into their platforms.  Today, native-like performance on virtualized core applications such as Microsoft Office is possible. GPU acceleration really shines by enabling a richer and faster experience on applications that require sophisticated graphics, which are commonplace in industries such as construction, health care and engineering.

We can expect to see more organizations mobilize complex legacy and graphics-heavy apps going forward as virtualization and streaming technologies continue to advance.

This article originally appeared in the July/August issue of the Modern Mobility e-zine.

- [Instructor] In addition to the applications you use on your desktop or laptop computer, you'll probably also spend a lot of time working with apps on your mobile phone or tablet. Apps behave similarly on mobile devices compared to desktop apps, but you'll often find more limitations to mobile apps in terms of power, functionality and ease of use. Now, this isn't to say that you can't get work done, play games and perform other tasks on your mobile phone. You definitely can. And apps for mobile devices are usually designed specifically for optimizing the experience of using a smaller screen and a virtual keyboard. Mobile apps are generally good for brief periods of work, especially on phones. Tablets with their larger screens are more suitable for extended periods of work. But with the prevalence of wifi and cellular connections on mobile devices these days, it's easy to not just to work and play on a mobile device, but also to continue your work on a desktop computer later. For example, let's say I'm working on a document here in Microsoft Word on my phone during my morning commute. It's a little difficult to see, but I can zoom in. And when I need to make edits, I can just tap on the screen and a keyboard will appear. Now, I have this document saved over the internet to my OneDrive account, which is a cloud-based service I can store my documents on. Then, later, when I arrive at my office, I can open up the desktop version of Word and here open the same document from OneDrive and keep working on it. But now, on a much larger screen with a full range of editing tools found in the desktop version of Word. Or I might add a lunch meeting to my calendar here in Microsoft Outlook on my computer. But later, on my commute home, I realize I need to change the appointment to another day. I can open up the mobile version of Outlook on my phone, see all of my appointments and make my changes. You'll find that many work and productivity apps now have this ability to sync over the internet so you can work seamlessly between devices, making your mobile devices an extension of your desktop computer, in a sense. But lots of mobile apps are also designed as standalone apps on your phone or tablet, apps that are designed for a quick check of the weather, or for finding driving directions, or to check on the status of a flight. Probably one of the biggest differences between mobile and desktop apps is that while you can acquire desktop apps through many different places, like the Microsoft Store or an app developer's website, or purchase physical copies of applications in a store, although, that's becoming less and less common, mobile apps, on the other hand, are acquired only through dedicated stores like the Google Play Store for apps that run on Android mobile devices, and the Apple App Store for apps that run on Apple's iOS mobile operating system. These mobile app stores are your one-stop location for every app you may want to install on your device. You can browse through multiple categories, or use the search feature to find specific apps. When you select an app, you can read about its features, check out reviews from people who have used the app. And if you want the app, you can download or purchase it to immediately install it. Once apps are installed, you'll find their icons among all the other apps you have on your device, and you can tap them to start using them right away.

Watch courses on your mobile device without an internet connection. Download courses using your iOS or Android LinkedIn Learning app.

We often meet with businesses and entrepreneurs who are looking to create the next big app. Their initial idea is to create a traditional app, to be downloaded and installed onto a mobile device. But when we start to walk through their requirements, we often discover that their decision to go the mobile app route is unfeasible.

The problem is that apps can be built in many different ways, targeting many different platforms. Identifying the right type of app for your project is critical for the success of the project – both in terms of cost and user acceptance. So, what are the options, and when should you choose one over the other? Let’s find out.

The different types of apps

When you hear the word app, you might think we are referring to the traditional mobile app, such as the Facebook app on your iPhone. But the word “app” is short for application, and applications come in many different forms. Each has pros and cons, and so it’s important to identify the right option for your project.

Mobile apps

A mobile app is typically made available via app directories such as Apple’s iTunes, Google Play and Windows Store. These apps offer a high level of integration with handheld device features, such as motion sensors, GPS, messaging, audio and video input, contact directories and even augmented reality.

Apps downloaded from these app directories are typically not available for desktops, and so the developers usually offer an alternative product for desktop users, which we will discuss later.

Like with all apps, mobile apps can be created in many different ways. However, the key categories are defined as Native and Hybrid. Native apps offer the best integration and performance, as they are built in the native language of the device. Hybrid apps, on the other hand, are built using an alternative language or framework, meaning the app can target multiple platforms (iOS and Android) using the same source code. Which one you choose would depend on your budget and the number of platforms you plan on targeting.

Web apps

Web apps are accessed via a web browser such as Chrome, Firefox, Edge, Safari etc. When you type in the URL of a web app into your browser’s address bar, a request is made over the internet which, in turn, renders HTML, CSS and JavaScript to open the browser view. Web apps are typically not installed on your device, and, if configured for public availability, it can be accessed by anyone with internet service.

A web app can be built in hundreds, if not thousands of different languages and frameworks. All you need to host a web app is a server that is configured to handle incoming requests from users over the internet. The same web app can be accessed on a Mac, using Safari, while a different user can access it on a Windows machine via Chrome.

To give you an idea of the differences between a web and mobile app, here’s an example:

Web app: https://www.instagram.com/

Mobile app: https://itunes.apple.com/app/instagram/id389801252

Instagram is an app that is traditionally used on a mobile device. However, there’s also a web app available, enabling users to access their Instagram account via their favourite web browser. The web app has less functionality than its mobile counterpart, but some people will no doubt find it useful.

Desktop apps

A third type of app that our clients often overlook, or are not aware of, is a desktop app. A desktop app is installed on a desktop computer, and they have been around the longest. Desktop or laptop owners use them all the time, and they are essentially programs on your machine that you access from either the start menu or launchpad. These apps may come pre-installed on your computer, or you may download or install them off a CD.

You can also think of this as a mobile app that is installed onto a desktop machine. Because they are installed on different devices, they are similar in many ways, but also crucially different.

When to choose one over the other

Now that we’ve covered the definition of each of the different types of apps, we can delve into when to use which.

As a rule of thumb, I like to think of it this way:

  • If you need your application to tap into the core components (e.g. camera, motion sensor, GPS, biometric security etc.) of a mobile or handheld device, build a mobile app.
  • If you need to utilise a considerable amount of processing power or desktop computer components, build a desktop app.
  • For pretty much all other scenarios, a web app will arguably be your best option.

My reasoning behind this is as follows: for various reasons, the cost of mobile app development is still much greater than that of web development. In addition, the number of users who can access your app is greatly increased if it is in a web-based form. Lastly, releasing updates is far easier with a web app, as both mobile and desktop apps need to be packaged up, and then downloaded and installed by the user.

Progressive web apps – the new form of web app

The new kid on the block is the Progressive Web App, or PWA, and you can think of PWAs as being the next generation of web apps. They are built, packaged, released and hosted in a similar way to web apps, but they employ some of the newer technological features that modern web browsers support.

By leveraging the latest browser features, PWAs reduce the advantages of mobile and desktop apps over web apps. Probably the most advantageous new feature is the web-worker. Although not fully supported by all browsers yet, the web-worker opens a host of new possibilities for web apps.

With the web-worker, PWAs can operate when no internet connection is available. This is something that both mobile and desktop apps support natively. Standard web apps need to connect with a server over the internet, whereas PWAs can be cached on a user’s mobile device or desktop and still operate, although with limited functionality.

The ability to work offline means that PWAs look, feel and behave more like mobile apps. Yet, they retain all the advantages of web apps. For this reason, they are becoming increasingly popular in modern application development, and we feel they are often a necessary new feature.

Final thoughts

Web applications or progressive web apps are, in our opinion, still the most versatile and cost-effective additions to most projects that come our way. However, if your requirements dictate the use of native hardware components or enhanced processing power, a mobile or desktop app may be the way to go.

Of course, it all comes down to the specific needs of your project. As always in software development, it is not a case of “one size fits all”. So, if you have an idea for an app, make sure that you spend time researching and considering what type of app will be most practical for your purposes.