Like HTML5? Like Phone Apps? Then you’ll LOVE Mango because…


    A few weeks ago, I wrote a post referencing how you as a developer don’t have to be torn between building mobile experiences in HTML5 or native phone apps.  In fact, with the upcoming Mango release for Windows Phone, the “better together” story is a strong one that allows you to take advantage of great HTML5 goodness while harnessing that advantages that the native platform provides (like push notifications and live tiles) to create a full, rich experience for users and a manageable one for developers.

    To that end, I was very excited to learn that Nitobi, a great Vancouver-based company with a strong history in building mobile development platforms, has announced the release a beta of its popular PhoneGap framework supporting Mango.  This is a really big deal, not only for Microsoft, but for you as a mobile developer.  PhoneGap is a framework that is already available on platforms such as iOS, Android and Blackberry that allows you to build apps using HTML5/CSS3, JavaScript and native phone resources to create amazing mobile experiences catered to the targeted phone platform.

    In a very high-level nutshell, PhoneGap allows developers to create application experiences by building code in HTML5, CSS3 and JavaScript and wrapping it in a native phone platform app.  PhoneGap generally takes care of the “plumbing” for the web code to communicate with the actual app it is wrapped around.  This allows you as a developer to leverage your web skills in creating the app’s content and then take advantage of the great, native features that the phone platform itself provides.  It is, as I like to call it, a win-win.

    There are literally thousands of apps built leveraging PhoneGap across all of the phone platforms available today.  This presents a great opportunity for developers with existing PhoneGap apps to port their solutions to Windows Phone Mango.  With IE9 as the browser on Mango, the ability to leverage HTML5 and CSS3 capabilities on the phone while merging it with the great native features of Mango brings a new and fresh look for your apps that can reach net new users.

    If you’re new to PhoneGap but know HTML5 or web development in general, then chances are it’s a great place to start if you’re interested in building apps for Mango as you can leverage those web skills and then learn how to code in some of the great app offerings that Mango provides.

    Oh, and if you know nothing about building Mango apps but you want to know how to start (or know how to code for Windows Phone 7 but want a primer on Mango), the Mango Jumpstart training course is now available on demand!  I blogged about the Mango Jumpstart training course a couple of weeks ago.  It was a two-day, deep-dive, online training course that was delivered live for free.  We have recorded each of the 14 sessions in this two-day course and they are now available for you to watch whenever you want.

    The sessions available in this course are as follows:

    1. Mango Jump Start (01): Building Windows Phone Apps with Visual Studio 2010
    2. Mango Jump Start (02): Silverlight on Windows Phone—Introduction
    3. Mango Jump Start (03): Silverlight on Windows Phone—Advanced
    4. Mango Jump Start (04): Using Expression to Build Windows Phone Interfaces
    5. Mango Jump Start (05): Windows Phone Fast Application Switching
    6. Mango Jump Start (06): Windows Phone Multi-tasking & Background Tasks
    7. Mango Jump Start (07): Using Windows Phone Resources (Bing Maps, Camera, etc.)
    8. Mango Jump Start (08a): Application Data Storage on Windows Phone | Part 1
    9. Mango Jump Start (08b): Application Data Storage on Windows Phone | Part 2
    10. Mango Jump Start (09): Using Networks with Windows Phone
    11. Mango Jump Start (10): Tiles & Notifications on Windows Phone
    12. Mango Jump Start (11a): XNA for Windows Phone | Part 1
    13. Mango Jump Start (11b): XNA for Windows Phone | Part 2
    14. Mango Jump Start (12): Selling a Windows Phone Application

    So, what do you need to do now?  Here’s a little list that is worth checking out:

    • Download the Windows Phone Mango RC tools.  It’s the first thing you’ll need to start developing apps for Mango.
    • If you’re new to Windows Phone development or looking for training, check out the Mango Jumpstart Training course links above.
    • Interested in PhoneGap for MangoDownload it here. 
    • Bookmark our Windows Phone Development resources page.  It contains a great list of resources on Mango that you’ll want to have handy.  We’ll be keeping the content fresh so check back on occasion to see what’s new.
    • Start coding apps and games for Mango!

  • Go DevMENTAL

    Everything you need for the school year and then some!


    As we kick off a new school year I wanted to take a minute to introduce you to the amazing resources we have available to help you at school, and to help you prepare for your career after school.


    Writing Code? Graphic Design? Building Web Pages? Need a database? Check out Dreamspark. The Dreamspark program allows you to download all sorts of fantastic software tools for free. These are the same tools used by professionals every day in the workplace. You can use them now to help you with school assignments or to develop your own applications on anything from Windows Phone to Kinect! Dreamspark has more than just links for downloads, it also helps you find learning videos, useful references to read, and labs you can complete to help you get rolling!


    Have you checked out Windows Phone? It really is an amazing device and with the new features being released in the Windows Phone 7.5 Mango edition it just keeps getting better.  With the mango edition we now have a full internet browser, an integrated people hub that lets you integrate your Facebook, Phone contacts, and Twitter in a single location! You also get amazing messaging capability that will allow you to switch from your Windows Live to Text messages to Facebook messaging seamlessly! For developers Windows Phone is an incredible opportunity! The number of Windows Phone users is growing and the Windows Phone marketplace isn’t saturated yet, so its much easier to generate excitement and attention around great new apps. If you have never built a phone application before, it’s not as hard as you think and listing an application you published on a resume is a great topic to bring up with potential employers in an interview. If that weren’t enough you can even add paid advertising or charge for your phone application and make some money as well!


    Proving to the world Students are the future! Imagine Cup is a competition that showcases students from around the world. Sometimes the problems of the world seem overwhelming, but if you break them down and look at the incredible capabilities of the technology around us, there are solutions! The Imagine Cup is a competition where students develop solutions to solve problems facing the real world. What would you build? A phone application that reads text out loud to help someone with a vision problem? An inventory system to help food banks inform the public of specific desperately needed supplies? What are you passionate about? How can technology help? Recruit a couple of friends and register for Imagine Cup! You could find yourself in Australia for the Imagine Cup 2012 finals!

    Having a tough time staying up-to-date? Technology moves fast! Let us help you keep up to date! just subscribe to our newsletter, or follow our blog and we’ll keep you informed of any big announcements or promotions that affect you!

    Twitter_logo_whiteBackground facebook_logo-1024x1024 LinkedIn_logo_whiteBackground

    Tell us what you think and what you want to know! Follow us on Twitter! Joined our LinkedIn Group! Like us on Facebook! Whatever your favourite way to keep in touch, we’re listening and we’re talking with other students across Canada.

  • Go DevMENTAL

    Why Can’t We Be Friends? Art and Function in Windows Phone Apps.


    Even ten years ago, “experience” was not really something that was given much thought in building software.  More often than not the primary goal of a piece of software was simply to display results, or data.  How the data or results were displayed was more often a function of technical specifications than it was a matter of user-centric design.  That is to say, while the user was often a part of the process of creating specifications for a software solution, the end result was often not differentiated on being tailored to the user, but rather the data.  It can be argued that if you polled software publishers ten to fifteen years ago on what user-centric design was, the answer would largely be centered around presenting as much data to a user on a single screen as possible (“less clicks is more productivity”).  The end result was focused on process rather than personalization and taking into account how the user works (which is not the same as process).

    That line of thinking was certainly acceptable in the past, but things are much different today.  As web platforms became richer and aesthetic design became more important to the digital consumer experience, users frankly demanded more of the software they used.  Gone now are the days where "battleship grey” is acceptable.  Software that is successful in today’s market often makes effective use of user-centric principles including the determination of user personas, natural flow of information, content taxonomies, effective and intelligent use of colour, wireframing and storyboards among other things.  Making the right experiential decisions in the software design stage has become just as important as making the effort to test the code prior to flipping the switch on a production instance.  If that sounds bizarre, think of it this way:  what use is the best, most robust software solution if your users hate the way it works for them?  If the user doesn’t buy into it, the software solution has ultimately failed in its objective.

    The phone as a platform is no different, especially in mobile platforms that are truly modern and provide great amounts of feature capabilities out of the box (GPS, modern browser, multitasking, notification engines, etc.).  The base experience that the platform provides enables software developers to create an even richer, more user-centric experience with the apps that they build on top of their chosen mobile platform.  With Windows Phone, Microsoft has built a unique base experience (in Metro) that software publishers can leverage to create applications that truly raise the expectations bar for users and the apps they install on their Windows Phone device.  The rest of this post focuses on the things that you as a developer/designer can do to create a truly amazing and user-centric experience within your Windows Phone apps.

    Fresh and Simple

    The Metro Design Language used in Windows Phone was inspired by everyday signs that are universally recognized regardless of cultural, educational or personal background.Windows Phone represents simplicity in design.  When describing the principles of modern Windows Phone design, you may have seen phrases like “fierce reduction of unnecessary elements”, “fast and responsive”, “focus on primary tasks” and “content, not chrome”.  All of these phrases revolve around the idea of making it easy for users to find the information they need. 

    When wireframing your app, think of the following things:

    • Prioritize: Top level screens should not be cluttered; make use of secondary (or “deep”) screens to provide detailed information.  Think of it like this – top level screens should be the 30,000’ view while deeper screens provide the elemental details.  Ultimately, top level screens should provide actionable data to the user, but if the user wants more information they can get it from deeper screens.
    • User Orientation:  Data should be order logically.  If you are thinking of putting two or more very different data groups on a single screen, you likely should be separating those groups into separate screens.
    • The App Bar: The only buttons that should appear on any screen are buttons that are considered primary to the screen’s action.  If you have put a button on a screen that is likely not expected to be used often or is not pivotal to the functionality of the page, you should instead transfer that button to the app bar.
    • Metro before Brand: Apply the Metro design to the page before you inject any branding on a page.  This may seem counter-intuitive, but it is in fact the most effective way to build a Windows Phone app. If you focus on the branding first, it is sometimes difficult to design the page to be consistent with the look and feel of the phone platform.

    App Navigation

    Hub and Spoke is a fundamental navigation principle for Windows PhoneNavigation in your Windows Phone app should respect the flow of the Windows Phone platform.  Always use the hardware back button for going to the previous screen and never create a navigation structure that breaks the back button stack.  Simply put, this will cause the app to fail certification.  It’s also the most common reason why apps fail the certification process in the first place.

    Below are some of the more important considerations around Windows Phone app navigation:

    • Hub & Spoke Model: Design the page flow of your app to resemble a hub and spoke. Focus on creating one major page and section off features of the app on separate pages from that main page.
    • Predictability: If you design your app to match the flow and spirit of the Windows Phone platform, your app will be much more intuitive and therefore predictable to the user.  Predictability does not equate to being dull or boring.  It means the user will actually enjoy your app more as he/she will understand what comes next.  The less the user has to think about how to get to a piece of information when using your app the more fun it will be.
    • Integrated Experiences: If your app makes heavy use of functionality that is found in the foundational experiences (aka:  hubs) on Windows Phone (like Music & Videos, Pictures, People, etc.), then you should integrate your app into those services rather than building your own. Not only does it save you the effort of implementing your own code around those features, it actually makes your app look and feel much more slick and integrated with the phone experience overall.

    Creating a User Journey

    It’s one thing to think you have a killer app idea.  It’s an entirely other thing whether that idea translates into a popular app.  Your intent as an app developer or designer is to create an experience that is lasting and meaningful.  Actually, that is the goal of not only mobile app creators but of any app creator in general. Aside from solutions that are considered “one-offs” or temporary solutions, what really drives us all is to create apps that frankly everyone wants.  Your ultimate goal for success may differ from someone else (e.g.:  “I want to become rich from the revenue from my app” vs. “I want to be popular because everyone downloads my app” vs. “I want to make a positive impact on someone’s life because they use my app”), but the fundamental desire is the same:  “I want people to download and use my app”.

    So when you are thinking of your app, there are three major questions you need to ask yourself before you hit Visual Studio and Blend:

    • Will this app be useful to my users?
    • Will this app be usable by my users?
    • Will this app be desirable to my users?

    If the answer to any of those questions is no and your intent is to make your app as popular and relevant as possible, then you probably need to think a little longer on the problem space your app is trying to solve for.

    Keep in mind this general mobile app statistic:  The average mobile application is opened by a user once.  Only around 1% of all mobile apps are used regularly long term.

    So how do you entice users to first download your app, then open your app more than once?  There is no one right answer, of course, but there are three guiding principles that greatly enhance your chances of getting to that goal:

    • Attract
      • Make the user want to download your app by providing a strong business case.  Take great care in authouring your app’s description in the Marketplace and make sure you clearly identify the value propositions for users to want to download your app.
      • Cocktail Flow is a great example of a Windows Phone app that attracts users.Embrace Metro in your App:  The best apps, regardless of the mobile platform you target, are almost always the ones that adopt the look, feel and spirit of the mobile platform it lives on.  For Windows Phone, this means using Metro in your apps.
      • Be thoughtful when you Insert your Branding:  The branding of your app is clearly important, but make sure that it flows with the look and feel of Windows Phone. If the branding is jarring or feels out of place, users will not be as likely to re-use your app.
    • Delight
      • Invite users to explore your app.  If you make it fun for users to navigate through your app and find things that they will say “Hey, that’s cool!” to, then you’ve likely won over your user right then and there. Curbside Cuisine delights users by allowing them to discover interesting app functionality, almost by accident.
      • Keep the app fresh by providing updates.  If an app goes stale, they are less likely to open it again.  Try to have a deliberate schedule for functionality updates.  Provide value-add features in as many updates as possible (i.e.:  not just bug fixes).
    • Retain
      • Let your app tell a story.  This can be done through an interesting yet effective navigation structure, great visual experience, providing some delight in surprise and yet be predictable enough that the app is intuitive.
      • Amazon's Windows Phone app makes use of Metro but also retains users by allowing them to extend their reading experience across devices by allowing the user to start reading where he/she left off on a different device.Evolution is not just a term coined by Darwin. Apps can (and should!) evolve over time.  This can include ways for users to retain and build collections of information that can be referred back to, functionality within the app that evolves with changing trends, fresh information being provided by the app whenever possible and many other ways.
  • Go DevMENTAL

    Microsoft Student Partner program – now is your chance!



    Fall is upon us and school is in high gear. Now that you’re settled in your courses, it’s time to look for further opportunities outside of the academic world. If you are excited about technology enough to want to join a club or an initiative outside of the classroom, then you should consider the Microsoft Student Partner (MSP) program.

    The MSP program is meant to engage and support students who are enthusiastic and passionate about the latest in technology. As a member (a Microsoft Student Partner), you will be challenged to use your knowledge and skills to engage in technology discussions with your peers at your school. You will get Microsoft’s resources and support to lead events, discussions and your own initiatives on your campus. And here at Microsoft Canada, you will have the backing of the Developer and Platform Evangelism team every step of the way.

    Think of this as a special opportunity with long term rewards. Hone your skills, build a career portfolio and make connections in a role that is meant to be as fun as it is rewarding. As a Microsoft Student Partner, you will have the unique opportunity to be in the know on the latest inside scoop when it comes to Microsoft’s latest products and opportunities. This is also an opportunity to further your communication and presentation skills.

    Oh and, did I mention the many benefits and perks of being a Microsoft Student Partner?

    Campus Rock Stars

    First, who can resist the exposure and recognition on campus with faculty and students? There is a good reason as to why Microsoft Student Partners are often called campus rock stars.

    Software, material and more

    There is, of course, free software. Tons of software! In fact, an entire MSDN Subscription of software that gives you access to the latest and greatest of Microsoft’s products. Along with an unbelievable amount of software, numerous reference materials and training will also be provided.

    Industry skills and connections

    And it gets better. As a Microsoft Student Partner you will interact with Microsoft Canada’s Technical Evangelists. The Evangelism team will support you through your term and provide valuable insights and connections that you can take advantage of in your academic studies as well as career planning. Speaking of career planning, as a Microsoft Student Partner you will develop real world skills to help you accelerate your future career and help land that important job or an internship opportunity.


    Throughout your MSP term you will also receive numerous rewards and incentives for outstanding contribution. These rewards range from stuff you want and love to stuff that money just can’t buy.

    Now what about you? Do you live, breathe and eat the latest in technology trends? Do you love sharing the latest in technology with your friends and classmates? Microsoft Canada is currently recruiting MSPs for the 2011/2012 academic year, and we think you should be a part of this exciting opportunity. To get started, head here, grab and fill out the MSP application and return it to us.

  • Go DevMENTAL

    Building Your Resume – Stand out from the crowd


    Show you can learn on your own

    StandOutDuckSo what really matters when you finish your program? Is it the diploma or degree? Is it what you learned in class? Is it your extracurricular work? Your work experience? All those pieces fit together to form your resume. But how do you stand out to an employer? How do you get that interview? How do you get the job.

    Of course the answer is: it depends. It all helps. Having a diploma or degree tells an employer you have specific skills you learned during your courses, you can learn new concepts and technologies, you can manage your time effectively, and you can finish a major undertaking (your degree or diploma program). Don’t underestimate the value of proving that you can learn new technologies to a potential employer. Do you know what programming language I used on my first job? COBOL! (Yes I am old, but not THAT old), then I used Oracle and PL/SQL, then it was SQL Server and T-SQL, then it was C, then it was VB, then it was VB .NET, then C#, now HTML5. The point is, the technical skills you gain in school may help you get that first job, but your ability to learn the next technology will keep you employed in the future.

    I was in the Bronx in New York, presenting at NPower (a really cool organization that provides IT training to underserved young adults). I met a student who was telling me how she felt she hadn’t performed well at her summer job, because when she arrived on the job she was told to do something in SharePoint. She hadn’t worked with SharePoint before and so she found some videos on Youtube and some training materials online and had to teach it to herself. She felt that because she didn’t have the right technical skills for the work assigned, she was letting her employer down. Absolutely not! Let me tell you, I wanted to hire her on the spot! Let me explain why.

    She showed initiative and used the resources at her disposal to accomplish the task at hand. Sometimes there is someone in the office who can give you training, or sometimes you can take a course, but sometimes that simply isn’t an option. In her case the only training available to her was what she could get online for free. There was no professor to walk her through it step by step, she had to find the information on her own and teach it to herself. I can’t tell you how many times during my career I have been faced with similar situations. There are some people who will simply freeze up in that situation and do not know how to cope. They need someone to sit down with them and show them how to do the work. When I find someone who has that ability to learn something on their own, that stands out!

    Students are great at learning! You are constantly absorbing and applying new information. That is what you are doing in every course, in every lecture, with every assignment. That gives you something to offer that is a particular strength to students. If you want to stand out from other students, show you can learn on your own.

    How do you do that? One option is to build a phone application. I am going to suggest specifically building a Windows Phone Application, and not just because I work for Microsoft. You can download all the tools you need at App Hub, and as students you can even download the full version of Visual Studio development tool for your development at Dreamspark. One of the great things about developing for the Windows platform is you have access to such a great development environment. Visual Studio is a mature development tool so you can get your code written and deployed sooner because a lot of the little things are taken care of for you. If you have talent in graphic design you may also want to download Expression Blend so you can create your own 2D and 3D graphics as well. There are also lots of great resources out there to help you learn how to build an application, Paul Laberge put together a great page of resources to get you started. We’ll be providing even more resources to help you as the year progresses. Imagine giving a potential employer a link to a windows phone application you put into the marketplace on your resume. What you learn now in your courses is important and will get you a job. But learning how to learn on your own will give you a career!

Page 1 of 2 (6 items) 12