My first experience developing for Windows Phone

Christian HissibiniWindows Phone developer Christian Hissibini (Histech Solutions) shares the story of his first encounter with Windows Phone and share the lessons he learned along the way.

This post is also available in French/Cette poste est aussi disponible en francais.

Curious by nature, passionate, and too often searching for that great mood generated by taking on and accomplishing a new challenge. One of the objectives I set myself last September was to learn how to develop Windows Phone applications.

For a strong start: Combine fun and utility

From experience, I’ve learned that the best way to approach a new development platform is to start with small bite size and concrete projects.

Speaking of bite size, food is one of my passions, but I hate cooking (I suspect I am not alone in this J). So for lazy gourmets like us, the perfect thing for us would be easy access to an assortment of quick recipes; hence the idea for an application “Fast Food Recipes”. Now that should provide motivation, don’t you think?

Why the Windows Phone Platform?

Some may wonder why I chose Windows Phone over other platforms. Here are a few reasons that motivated my choice

  • It’s an emerging market where there is the maximum potential for applications to be developed.
  • A good opportunity for me to learn more about C# and XAML
  • The charming Windows Phone Interface
  • Etc.

Before you begin, get your workspace ready and equip yourself with all the essentials

Getting the developer tools

As a student, I get to take advantage of the DreamSpark program. This is a program for students that provides free access to a host of software, making it easier to learn, and fostering innovation and the creation of new applications.

Among the collection of three tools offered by DreamSpark, I needed the following :

  • A developer license valid for 1 year
  • Microsoft Visual Studio 2012 (or 2013 now) and the Windows Phone SDK

If you are not eligible for DreamSpark, you can get the Windows Phone SDK for free, and when I wrote this post, a developer license was $19 (cheaper than 2 Big Mac combos)

Documentation and learning resources

Famished for code, but with no desire to spend hours digging through a library of books, I needed documentation that would quickly satisfy my appetite for action. This need was easily met, due to the online resources at the MSDN site.

I recommend anyone trying to get started being with the resource titled Getting started with developing for Windows Phone.

The approach here is very interesting. In fact, it’s a series of detailed tutorials broken into sections. By following the instructions step by step you find yourself very quickly being taken by the hand through development, the language is easy and clear.

One of my favorite sections was How to create your first app for Windows Phone. It’s always fun to get something working in your first 30 minutes. Just think back to that euphoria and motivation that comes after the much loved “Hello World” J.

The other sections are no less interesting, and you will find precise explanations on how to use tools and templates, directions for creating beautiful applications, additional helpful information on the platform and a number of sample applications available for download.

One more thing I really appreciated, is the way the platform benefits from the MSDN support and an active developer community.

I really enjoyed the series of tutorials entitled Building Apps for Windows Phone 8 Jump Start. These tutorials, following a simple approach, are targeted at beginner and experienced developers alike.

I would be remiss moving to the next step without mentioning Microsoft Virtual Academy, a veritable gold mine of free training, primarily around Microsoft technologies.

To Work!

Plan of attack

Energized by my first attempts, I threw myself into Visual Studio determined to create my first application “Fast Food Recipes”. I told myself I know exactly what I want, so it shouldn’t be hard to jump straight into writing code …BIG MISTAKE!

In the end, I spent two hours going in circles, I kept coming up with new ideas and my basic app concept kept getting derailed. You know how hard it is to bring to life an idea that isn’t fully flushed out.

Paper and pencil – The dynamic idea duo

I therefore had no choice but to interrupt my work and go back to square one, this time returning to habits that have frequently smiled on me in the past. In this case, planning out exactly what I want on a piece of paper with the goal of answering questions such as:

  • What will this application do?
  • What are the main goals of the application?
  • What functionality will it contain?
  • Etc.

With the help of a pencil, I sketched out the structure of the application and the different interactions of the interface as a storyboard.

Below you can see one of my early sketches for my application interface.

clip_image002

These sketches were very useful because they allowed me to visualize the UI (application user interface) and by doing so, evaluate if my ideas made sense or not.

For example, when I started, I hadn’t considered the need to organize the recipes into categories, but when I walked through scenarios, I realized I had to include a menu to help the user navigate or just to make suggestions, the way restaurants do ;)

clip_image004

NOTE: At the moment when I did my first sketches, I didn’t know about the Windows Phone design templates. To make proper drawings, I recommend you downloads the template here https://cmsresources.windowsphone.com/devcenter/en-us/downloads/Sketch_Templates.pdf

Once I had my sketches completed, it was easy to start working on the XAML and to create the interface for my application

<The Code />

For readability purposes I am not going to talk about the code itself here, but in future posts, I will explain certain technical coding details, and will share some best practices I learned, often after many failed attempts, so come back for more!

Conclusion

After reliving this first experience I recall a few concepts that helped me out :

  • Start with a small project
  • Get the tools you need
  • Learn the basics with the online documentation
  • Find code examples to help you figure out certain concepts
  • Sketch out your idea to better flush out your project and vision
  • Check the online forums and reach out to the community for answers to your questions.

I hope you enjoyed this post.

Enjoy your adventures on Windows Phone!

Here’s my Fast Food Recipes application on the Windows Phone Store: https://www.windowsphone.com/fr-fr/store/app/recettes-de-fast-food/f7507661-dcaa-4154-9947-91c00287cf97

P.S. A quick note from Susan – first of all: great post Christian thank you! Second, a reminder that Canadian Developers can earn rewards as they learn to code and publish apps on the Windows platforms, visit Developer Movement to find out how you can earn points and cash them in for rewards!