The beginning is the most important part of the work – PLATO, The Republic
For many developers participating in the app economy is an exercise in learning to be a startup. You want to create a product (app), launch it into the marketplace (Windows Store), drive sales (downloads), receive feedback from customers (ratings and reviews) , make improvements and release the next version of your app. This is a cyclical process that is explained in great detail in the The Lean Startup by Eric Reis.<
One of the concepts that Eric lays out in his book is the idea of Continuous Innovation. This is a 3 step approach to creating, publishing and marketing your product.
One of the key tenants of Continuous Innovation is to focus on what is called a Minimal Viable Product (MVP). The goal of a minimal viable product is to get through the Continuous Innovation cycle as quickly as possible with minimal effort.
Gone are the days of yearlong development efforts followed by the big product launches. In the app economy you need to build fast, collect feedback from your customers and iterate on the next version. You need to test both the technical as well as the business hypothesis and implement features that customers want and fail fast on the things that are not driving downloads.
By starting out with a Minimal Viable App and moving through the Continuous Innovation cycle quickly, you will learn the entire process of how to launch a product, market that product, gather customer feedback and iterate on the next version. This skill set is what every developer needs to learn to be successful going forward in our industry,
For many developers coming up with a product idea can be daunting. The key to successful apps is typically tied to the richness of the data that you provide to your customer along with the set of features you provide for working with that dat
To help you with the process of getting an app in the store using open data API's and learning how to apply Continuous Innovation the Technical Evangelist team here at Microsoft has created a set of Windows App Starter Kits. These starter kits are based on open data API’s which give you the rich data set you need to create a compelling application or a mashup.
To get started let me introduce you to the wonderful world of Open Data API’s.
Motivation is what gets you started. Habit is what keeps you going. - Jim Rohn
The Wonderful World of API’s
Using open data API's are a great way to get started creating compelling apps. The internet it turns out is source of rich content. Who knew! You can get a sense of the vast numbers of open data API's by visiting API Hub or Programmable Web. There are thousands of API's covering all industry segments and topics.
Upon investigation you will soon learn that not all API's are created equal. There are differences in quality, speed, call thresholds, authentication and so on. Spending some time to validate API’s of interest is well served. Most APIs require the developer to register and request a Developer Key. Some API’s are throttled, limited to a certain number of calls a day or second. Many are free but some are not. Here is a list of criteria that you can use to validate API’s of interest:
- Developer Key Required
- API protocol – REST or SOAP?
- Authentication Required – OAuth, SessionID, etc.
- Performance – how well does the API perform?
- Service Level Agreement (SLA) – is the API always available?
- Payload format – JSON, XML, other
- Throttled – If yes what is the limit?
- Free or Pay
- Is the API mashable – can the data be used as input to another API?
Last but not least is to read the Terms and Conditions of the API provider. The details of how often you can call the API and other usage rules such as a requirement to display their logo and to have that logo link to their site will be documented. If you are going to use an API read the T’s and C’s thoroughly before investing hours of development.
For more detailed coverage of API Basics see Stacy Mulcahy’s post here.
Windows App Kits
In order to streamline your ability to leverage API’s to create compelling apps for Windows, the US Technical Evangelist team has created a portfolio of 22 Windows 8 and 12 Windows Phone 8 Starter Kits that you can use to create your minimal viable product.
There are kits that provide solutions for Windows 8, Windows Phone and in either C# or HTML5/JS. The Chuck Norris Starter Kit also provides a VB implementation. There is also a starter kit for those who want to learn how to leverage Azure Mobile Services.
Each Kit comes with one or more Visual Studio solutions, a README.MD and associated blog posts that document how to customize each kit. There are also several kits that have corresponding Video tutorials on Channel 9.
Here are examples of apps that have been created using these starter kits: