The SharePoint 2013 app store is rife with possibilities. While the number of apps in the store is constantly growing, there is a lot of opportunity for all sorts of apps to be put into the store. TCSC recently made the jump into the App Store with our very first app, Profile Jumpstarter.

The idea for the app came from a recent push to get all of our employees to fill out their profile in SharePoint. They had some basics but for the most part they were pretty blank. We needed something to encourage them to fill it out and see at a glance how far away they were from completing everything. We looked in the store and couldn’t find exactly what we were looking for. So we thought, “Hey, we have some pretty darn good developers in house. Let’s write our own!” So we did. And without further ado, here is our TCSC’s Top 10 things learned when creating a SharePoint App:

  1. Writing an App is a lot different than writing a traditional farm solution.When writing traditional SharePoint solutions you have access to pretty much everything. When writing an App you have a limited set of things you can have access to (even more so if you are writing a SharePoint solution).
  2. There are a ton of options when starting an app.When creating your app there are a lot of options. SharePoint Hosted, Auto-Hosted or Provider-Hosted? Web Forms or MVC? Do you want to use Azure Access Control Service or supply your own certificate? There is a lot to consider with each option, and can be a little overwhelming.
  3. Give yourself plenty of time to get into the store.When getting the first app in the store make sure that you give yourself plenty of time to go through the approval process. You may find some surprises. They told us that our company (that has been around for over 30 years) was out of business.
  4. The good people reviewing your app are actually quite helpful and give detailed errors/issues.The people who are reviewing your app will give you a PDF of all the issues they uncovered when testing your app. This PDF may contain screenshots of exactly what they saw, what requirement you failed on, and possibly some remediation steps if they can. Very helpful.
  5. You have to support IE8.SharePoint 2013 supports Windows 7 and therefore IE8 which shipped by default on Windows 7. If you don’t support IE8 you simply have to mention that in your description of your app.
  6. There are some pretty specific and rather esoteric size requirements for app icons and screenshots when submitting to the store.I think this bothered me more than it really should have, but the size requirements of the screenshots and the app icon you are required to upload when submitting your app are really strange. Your app icon must be 96×96, and the screenshots you upload have to be 512×384. The app icon I can see more, the 96 is a strange number, but you had to pick something and you want to everything to look uniform. Sure, makes sense. But the 512×384 is just odd. It isn’t a normal screen resolution, and seems just out of the blue.
  7. You can develop in any language and on any platform when creating apps.If you wanted to create a SharePoint app on a LAMP (Linux, Apache, MySQL, PHP) stack you absolutely could. Obviously this would have to be provider hosted, but the point is that you can do it.
  8. You have to be language and region specific when submitting to the store. Just English was not enough. We had to specify English-US.You have to be very explicit when defining your languages. I was unable to just say English. I had to say US English. While my app should work perfectly well for our friends across the pond, I only listed English-US as a supported language.
  9. You cannot auto-host an app and put into the app Store.While auto-hosting your SharePoint app is an awesome idea and is a great option in many cases, you cannot auto-host an app and put it into the SharePoint Store. Which I suppose makes sense—this would open up a lot of security holes.

And the number 1 lesson learned when writing a SharePoint 2013 App is…

  1. Creating apps is relatively easy and painless. You can do it! Or of course we do have some pretty darn good developers in house…but I am a little partial.