A new and enhanced developer experience for Office and SharePoint

Editor’s note: Brian Jones returns to Office Next for the 2nd of 3 posts on the new development experience for Office and SharePoint. Today Brian is joined by Cyrielle Simeone, Product Marketing Manager for SharePoint.

On Monday, we introduced the end user experiences around the new class of apps available for Office and SharePoint and their associated Office Store. Today, We’d like to focus on the developer experience that we have enabled to help them build and sell apps.

As you all know, there are already a huge number of mission critical solutions out there that our customers have built on top of the Office platform. On SharePoint alone there are well over 700,000 developers building solutions, and that number is small when compared to the full set of developers targeting Office.

If you are already an Office or SharePoint developer, you’re going to love what we’ve done with the new model, while we continue to support your existing solutions. If you aren’t yet an Office developer, but you build web solutions, you’re going to want to give us a big hug, as we’re bringing you a huge set of potential customers. J

You’ll see with these new investments though that we are committed to making our platform more open and flexible. With the new cloud app model, we have embraced web standards and technologies to transition our platform to the cloud, and become more connected and accessible.


Developers can now build apps that enable brand new user experiences and scenarios by combining web technologies and cloud services right in Office and SharePoint. New experiences that we could not have dreamt off before. As an example, customers can acquire a collection of apps on stitch them together to create powerful solutions to monitor metrics with KPIs right in Excel. Apps in SharePoint that help solve specific goals that users have like planning events or managing their business contacts.

Three components of a successful platform

When we think about the overall set of investments to make developers successful, we think of three key pieces, which are all necessary for the platform to succeed:

  • Services & APIs – A key goal around all apps is that they run across multiple platforms and devices, which is why we’re focused completely on standard web technologies like JavaScript, HTML, CSS, REST, OAuth, and OData. Long term, our goal is that apps surface on all of your devices, and are backed by the rich set of Office 365 services.
  • Distribution & Lifecycle – We made a huge investment in making it as easy as possible to deploy and manage apps. There are no heavy installation steps required, and your apps will roam with you. We’ll also handle the transactions for app purchases, so as a developer, it’s very easy to build and publish an app to our store and immediately start getting paid as customers acquire your app.
  • Tools & Learning – The application model is built around the cloud and web technologies, so of course we wanted to make sure the tooling experience was the same. Thanks to the investments the Visual Studio team has made in the “Napa” app, you can start building apps today directly from your web browser, and never need to install any client bits if you don’t want to. Access has also been re-invented, so that it’s now the easiest way for a non-developer to build and publish a cloud based app for SharePoint. We’ve invested in dev.office.com to get people started building quickly, prioritizing code snippets and examples over deep reference documentation.


How apps work

An app for Office or SharePoint is simply put a web app deployed and running on a web server, using an .app package or a simple XML manifest file. In reality though, they are much more powerful, as once they are rendered within Office or SharePoint they can take advantage of the new set of JavaScript APIs and REST end-points, which allow a direct interaction with the content of the document, sites, or SharePoint services.

In SharePoint Server 2013 we are now supporting authentication through the OAuth 2.0 protocol, and we’ve made a bet on REST and exposed all the services a developer should need, including new Search and Social REST APIs just as an example.

In the new Office, we are releasing a new JavaScript API for Office that is content-based as opposed to application-based. By focusing on the content rather than the application runtime, we can provide richer portability, where not only can apps run on multiple platforms, but that can even run across different application hosts. As an example, when you work against data in a table, whether the table is in Word or Excel, the APIs are the exact same. When you think about it, reading or writing content into a document, workbook, or presentation should work the same way, and skills you learn building an app for Word should apply when building an app for Excel or PowerPoint. That’s what we enabled with this new JavaScript API.


You can learn more about apps for Office and SharePoint anatomy and architecture in Rolando’s post Anatomy of apps for Office and in Howard’s post Building apps for SharePoint and Office 365.


Familiar toolsets and flexible lifecycle

We wanted developers to have choice and flexibility while building their apps: choice to use familiar languages, their favorite web development tools and any hosting services to run and deploy apps.

For the client-side code, apps for Office and SharePoint are built using web standards like HTML/HTML5, CSS/CSS3 and JavaScript. On the server-side, developers can use any language such as ASP.NET, C# or PHP. To deploy and host their apps, developers are also free to choose just about any hosting services: Windows Azure, IIS, LAMP or AWS.

Because apps are deployed on a web server or hosting services, and run in secure sandbox, they actually offer lots of advantages to users, developers and IT Pros. We have designed apps to improve forward compatibility to avoid future migration blockers, to support versioning to make it easier to update and maintain, and to run in isolated processes in order not to impact Office and SharePoint performances.

As we wanted to ease and streamline apps development and deployment in the cloud, we have built an integrated and enhanced development experience with Office 365, Visual Studio and Windows Azure.


Enhanced development experience in the cloud

If you want to get started building apps, you can go to dev.office.com and from there it will only take you about 15 minutes to not only have an instance of SharePoint, Exchange, and Office running, but you’ll also have your first “hello world” app installed and running. With the new Office 365 for developers offering, we really wanted to streamline the time it takes to go from 0-60 in terms of building and enabling developers to get started with their first app with just a few clicks. By now you might have already setup an Office 365 Enterprise Preview tenant which is also perfect. In that case you don’t need to get the developer offering; you can just install the tools in your existing tenant by following the same process as described here. That will give you a Developer Site as part of your Enterprise tenant (the difference between the Office 365 Developer and Enterprise offerings is the number of users supported: the Office 365 Developer is available for just one user).

As announced by Jason Zander and S. Somasegar in their respective articles Introducing “NAPA” Office 365 Development Tools and Office Development with Visual Studio 2012 and “Napa”, we also launched a new and powerful web-based development tool: “NAPA” Office 365 Development Tools. This tool is included as part of the Office 365 Developer offering and enables developers to build apps without installing anything on their machine, directly in the browser. This is actually the perfect example of a real world app for SharePoint.



NAPA: Office 265 Development Tools


From NAPA, developers can, in just one click, deploy their app to the cloud or open their projects in Visual Studio 2012 to continue to build their apps and do more. If you want to have your apps hosted in Azure, we have included templates to help you get started as part of Visual Studio 2012. That way, apps can be easily packaged and deployed to Windows Azure and leverage Windows Azure SQL Databases. You can learn more about Windows Azure and Office 365 integration in Scott Guthrie’s post.


A new developer center: dev.office.com

As part of this journey to improve the developer experience, we also launched a new developer center: http://dev.office.com that is dedicated to apps for Office and SharePoint. There, developers can learn more about apps, explore the concepts, sign-up for Office 365 Developers Preview, download tools and code samples and get trained.

Once their apps are ready, developers can publish apps directly to the Office Store from the Seller Dashboard. Think about this: the total user base of Office worldwide in over 1 billion users today. Currently, one copy of Office 2010 is sold every second. Of course, nobody knows what will happen with the new Office. All I can say is that we are pretty excited to give such an opportunity to our developer ecosystem thanks to the new Office Store. You can also read Vivek’s post The Office Store is now open! for more information about the Store.



Wrap up: Choice, Cloud, Consistency

As you can see now, one of our core principle was to open the platform to provide choice to developers while building apps for Office and SharePoint. We have designed this new model for the cloud. We actually call it the cloud app model. But we also wanted to provide consistency with on-premise solutions too. So that an app for SharePoint can be written once and still run the same way in Office 365 or SharePoint Server 2013 (on premises). Similarly, we wanted apps for Office to be built for the Office suite and not siloed by Office applications like today’s solutions. We wanted apps for Office to run seamlessly in the traditional desktop Office applications, or Win RT Office applications or Office Web Applications. This is our first step towards this model and I am really happy to share with you the progress we’ve made to modernize our existing and compelling platform, and improve the development experience.

Developers, please visit http://dev.office.com to learn more. Stay tuned in the new Apps for Office and SharePoint Blog for developers deep dives, and join the game right now by participating in the App Contest we just launched!

In our next post, we will talk more about how to manage those apps within an organization. Thank you for reading us!

– Brian Jones, Group Principal Program Manager
– Cyrielle Simeone, Product Marketing Manager