If you are a developer, technologist, or technologically savvy business person involved in developing software on modern operating devices and platforms, you know what the term Application Sideloading means. Most of the world, however, doesn't.
Before I define Application Sideloading, let me set you up by explaining that when Windows 8 first surfaced, the Sideloading process of getting a WinRT app into production was so awful and painful that I basically gave up on it. Giving up broke my heart, though, because at the time, there was so much excitement and potential for the development platform on Windows 8. It was clear that Windows 8 and the applications that were going to be built for it were designed for the consumer market and that's where it ended. That was bad news. I was devastated because my company doesn't typically build consumer software like you'd see in an app store; we typically build LOB software for the enterprise. The good news, however, is that recently Microsoft fixed the issue, like they are so apt to do. This particular fix is interesting to me because it appeared recently without a lot of fanfare and most of us, including me, missed it even though it was a very important announcement and technology.
The term Sideloading goes way back into the early ages of the internet. Defined, it's simply a process of transferring data between two local devices. What we are talking about here is Application Sideloading, however, and in my simple definition, Application Sideloading is the process of getting an application installed and running on a device that has an application store dependency. Developers didn't always have these app store dependencies on the Windows platform—until Windows 8. The app store was revolutionized by those brilliant business folks at Apple. Historically, we built installation packages for our software on the Windows Platform, but install technology has changed many times throughout the years. Most currently, we developers used a technology called WIX on the Windows Platform, and it was new and complicated and powerful, but we made our way through it. WIX even has a toolkit in Codeplex to help us with our install packages. In addition to install technologies, there are plenty of powerful deployment technologies on the Windows platform that facilitate the delivery and installation of an application to a myriad of computers in the enterprise in a stream-lined and efficient way over the LAN and even over the WAN and common internet protocols.
Then Windows 8 came out. WinRT was exciting and new and had 3 ways to manifest applications (HTML5, XAML, and C++). But getting applications deployed and installed was a chore;it required the equivalent of a corporate app store, and that corporate app store required licensing dollars. Even testing an application was a chore because it required a complicated slideloading configuration and installation process as well as a developer license just to get the application to run on a Windows 8 computer or device. It seemed so broken at the time and we Windows Platform programmers said to each other, "It can't be this difficult on the IOS side."
But dwelling on the details of past problems is really not worth the space. So, let's talk about the bright future.
The Fix and the Solution
On April 3rd of 2014, Ben Hunter from Microsoft wrote a post on the Windows blog that most of us missed. That blog post, however, was very important news for those who had plans to build Windows 8 LOB applications for the Enterprise. The post included the simple words, ". . .we have also provided a mechanism called 'sideloading' that allows the installation of apps without using the Windows Store." This was huge news, yet most of us missed it due to the lack of fanfare or promotion.
So with any power comes responsibility. For any Windows 8 applications that you build and distribute through sideloading, you'll be responsible for validating and signing those applications because sideloading bypasses the validation and signing requirements of the Windows Store. Also, you are responsible for deploying any app updates to your users. It just makes sense.
You can sideload your Windows 8 Enterprise LOB apps by 'Provisioning' or 'Installing'. Provisioning means you deploy your application(s) to all users on targeted Windows 8 devices, and it allows you to include one or more applications as a standard part of the user experience on the Windows 8 device. You need administrative privilege to provision Windows 8 applications to your enterprise. In concept, provisioned applications are similar to those that ship in the "Metro" interface for Windows 8. Installing means an application is deployed to individual users on targeted devices. You don't need admin privileges to install Windows 8 enterprise applications. In concept, installed applications are similar to applications acquired through the Windows Store.
For all the instructions, details, and processes by which you set up Windows 8 sideloading for deploying your LOB applications into the enterprise, visit the Microsoft Technet page on sideloading.