Apple really opened the door for independent developers to build applications and then to efficiently market, sell, and distribute those applications to a mass market. When the iPhone first came out, I remember more than a handful of people I know bought a MacBook, learned Objective C, and resolved to build the next killer mobile app. The lure of selling a million copies of their software at a dollar a piece was quite seductive. Google and Microsoft have certainly taken note of the sales model and, with both the release of SharePoint 2013 and the introduction of the Office Store, SharePoint developers can now edge in on the app marketplace action.
If you aren’t familiar with the new SharePoint 2013 App model, then you may want to take a look at the following article: An Overview of SharePoint 2013 App Development Model.
Why An App Store?
Microsoft is introducing this model for a couple of different reasons, the first of which is technical. SharePoint is most effective when it can be customized to a company’s particular needs. SharePoint offers a number of out-of-the-box, ‘zero-code’ customizations, but these can only cover a subset of the almost endless specific requirement of businesses around the world. Custom-coded solutions are, therefore, extremely popular and highly effective. Cloud based environments, however, are multi-tenant. This can present a huge problem because poorly-written or malicious custom code can quickly bring a server to its knees, and all of the tenants housed on that server are then adversely affected by the outage. As such, the SharePoint App Model moves all custom code execution off the server and relies on either client-side execution or execution on an external server.
The second reason is financial. In addition to charging companies to host their SharePoint sites on Office 365, Microsoft also opened the Office Marketplace. The Office Marketplace is very similar to the App Store on an iPhone or iPad, except that, instead of buying apps for a mobile device, you can buy apps for your SharePoint sites. Imagine a small company that needs an IT Support Ticket System, a Time-Off Request Manager, a HR Forms library, or any other application that can help them accomplish their goals. A SharePoint App that helps them in very specific areas can be up and running on their Office 365 instance with a few clicks and a couple of bucks spent. Of course, Microsoft will skim a bit off the top just as Apple or Google do in their Marketplaces, but if you are a developer with an awesome business app then this is a small price to pay for the exposure.
The final reason is usability. Microsoft cannot build a SharePoint app for every possible niche business scenario, so the Marketplace is a way to let developers fill the void. Ultimately, it makes Office 365 more useful to businesses and provides a great deal of value to Microsoft in terms of marketability of Office 365 as a whole.
At any rate, an individual SharePoint 2013 developer definitely has the potential to make a small fortune if they can build an app and position it accordingly.
What Are the Financial Arrangements of the Office Store?
If you are looking to profit from the Office Store one of the first things you’ll probably ask is how much will Microsoft be charging to sell your apps? As of the time of this writing, it looks like the number currently being thrown around is 20% of app sales. Naturally, this is subject to change at Microsoft’s discretion. However, I think it will remain 20% for the immediate future because Microsoft needs to attract developers to the platform and foster the creation of a well-rounded set of products for Office 365 customers.
For the sake of comparison, Apple and Google both charge developers 30% of their app sales. Apple also requires developers to pay $99/year to participate in the developer program. Microsoft does not currently charge developers to submit apps to the Office store.
Do You Really Have to Pay Microsoft to Sell Your App?
Oddly enough, no you do not. There are basically two ways around having to pay Microsoft to sell your app, one of which circumvents the Office Store and the second of which is basically cheating the system.
Your first option for keeping 100% of that app revenue is to sell your app outside of the Office Store. A SharePoint 2013 app is just a zip file that you can deploy to a SharePoint site, and while the Office Store makes the process seamless, there is nothing stopping a customer from deploying an app they bought somewhere else or made themselves. So you just need to make a website showcasing your app, market it effectively, and wait for customers to come knocking at your virtual door. You just have to ask yourself whether it is worth the effort of setting up and maintaining your own sales pipeline and billing system in order to avoid losing 20% of my sales revenue?
Another option is to try and cheat the system. Microsoft allows “free” applications in the Office Store. You can use this to your advantage by having an apparently “free” app coupled with a subscription model. Office 365 users would be able to see your app in Office Store and install it on their system for free; then the minute they try to use it you can inform them they need to buy it. Of course, you will be entirely responsible for building the subscription model into your app, and handling the billing process on one of your own servers, but at least you can get a lot more customer exposure through the Office Store without Microsoft charging you. This approach may sound unethical and a bit nefarious, but Microsoft is actually on board with this option for the time being. I’m sure someone in accounting is going to challenge this approach one day.
How Does Licensing Work?
SharePoint App licensing is not as simple as smartphone app licensing. Smartphones tend to be single-user devices and smartphone apps tend to be single-user licenses, making it fairly easy to provide a consistent licensing model. SharePoint apps, on the other hand, may be targeted to a single user, tens-of-thousands of users, or even licensed by site. In a multi-user environment, some users may have access to the app while others do not, and licenses may move from one person to the next as people’s roles in the company change. This makes licensing a bit more complex.
Currently, the Office Store supports two licensing models: Per User and Per Site. It is my understanding, however, that “Per Site” does not refer to a SharePoint site – it really refers to a classic “Site License” in which the entire Office 365 instance can use the app even if there are multiple “SharePoint Sites” in the instance.
There is a disjoint between licensing and the enforcement of licenses in an app. Instead of forcing Apps into a single pre-defined licensing model, Microsoft actually does not enforce SharePoint App licenses from SharePoint at all. SharePoint App developers are expected to connect to SharePoint, pull licensing information about their app, and make an appropriate decision about what to do, given the available licensing information.
Enforcing your own licensing may seem like a daunting task, but the reality is that the most common licensing schemes have already been thought up, coded, and placed out on the internet so you can incorporate those practices into your SharePoint App (see Best Practices and Design Patterns for App Licensing Checking). So you should be able to apply the CTRL+C / CTRL+V design pattern and get licensing working.
What Does the App Submission Process Look Like?
Before you can buy a private island in the Caribbean with your app proceeds, you’ll need to get it into the Office Store. Doing so it’s a fairly straightforward process that requires you to:
- Register for an account
- Fill out company or Individual Profile Information
- Fill out product Information
- Upload the app
All of the information in the submission process is fairly straight forward, though you will need to have a 96 x 96 pixel logo for both your company and each app you wish to sell. Since the application will be tested by Microsoft before being put out in the store, you will also need to provide instructions for the testing team so they know what your app is supposed to do.
If you are interesting in knowing more details, you can always check out the following page: Understand the account approval process in the Seller Dashboard. Therein you will find more detailed specifics about how to write descriptions, format text, and it also includes a myriad of helpful hints such as ‘spell things correctly, use appropriate capitalization, and don’t upload files with viruses’.
Once your app has been submitted, a team at Microsoft will look it over to determine if it works as expected. Note that they will test it against multiple versions of multiple browsers, so you’ll need to account for Safari, Chrome, and any supported version of Internet Explorer. If your app fails verification, you will get detailed information outlining the issues the testing team encountered so you can resubmit the app. Depending on the load of the testers, the verification process can take a couple of days or more than week. Once the app is has successfully passed verified by the testers, it will immediately be available in the Office Store.
Payouts from Your App Sales
After you build an app and put it out in the Store, you’ll be hoping that it’s going to sell and make you money. If that is the case, then you’ll need a way to get that money into your pocket. Fortunately, this is not Microsoft’s first venture into a marketplace model. It appears that the Office Store will ultimately use the same infrastructure that was put in place for the Windows Phone Dev Center, which has been around a while and has undergone some updates allowing integration with PayPal. This means that you have the ability to get paid in a number of different countries, in a number of different currencies, and link to multiple bank accounts without much of a problem. So you should be good to go when your apps start flying off the shelf.
How does your SharePoint application perform? The Beta release of ANTS Performance Profiler 8 adds support for SharePoint 2013, helping rapidly identify and understand SharePoint performance issues. Try the Beta.