Moving right along…Content moving to Canadian Developer Connection


    I just wanted to give you a heads up that moving forward I will be posting to Canadian Developer Connection and this site will no longer be posting new content.

    By posting to Canadian Developer Connection, I can combine the great content we have been posting here with content from other members of our Canada technical evangelist team, so you will have more helpful tips, tricks, and news in one place!

    If you are a student, do check out Canadian Student Facebook page (fb.com/MicrosoftStudent), so you can be first to know about any big announcements, contests, discounts or promotions for students in Canada!

    Thank you for all your comments, shares, likes and tweets! See you at Canadian Developer Connection!


    Susan aka @HockeyGeekGirl


  • Go DevMENTAL

    Call for applications–Microsoft Student Partners Canada 2014/2015 year


    I am currently accepting applications for Canadian Microsoft Student Partners for the 2014/2015 school year.

    MSPheaderIt’s June, and that means we are currently accepting applications for the Microsoft Student Partner position in Canada.  If interested please apply ASAP we would like to identify all our candidates by the end of the month. We will consider other candidates throughout the year. But this is our target period for identifying new MSPs.

    What is a Microsoft Student Partner?

    • As a technical evangelist I try to help developers make educated decisions. As I look into 2014/2015, I want to be sure that developers understand what Visual Studio can do, how the cloud on Azure can help your software projects, and why you might choose to develop for Windows Phone or Windows 8. If a developer is interested in one of these topics, I want to make sure they know how to get started with the technology.
    • Canada is really big so I need help. Microsoft Student Partners (MSPs) are basically campus evangelists, who help me educate developers at their school.

    What does an MSP Do?

    • Let other students on their campus know about Microsoft programs such as DreamSpark and Imagine Cup.
    • Ideally host one event per term. the event might be a lunch and learn, a 2-3 hour workshop, or an all day workshop or hackathon.

    Who makes a great MSP?

    • A self starter
    • Someone comfortable organizing and promoting events.
    • Someone with a passion for Microsoft technology.
    • Someone comfortable doing a presentation in front of others.
    • The ideal candidate has experience with Visual Studio, or Azure, or building mobile apps. At a minimum you must have a desire to learn about one of these technologies.

    What do I get out of being an MSP?

    • You get an MSDN subscription, which includes monthly Azure credits
    • Opportunities to connect/network with other MSPs and people at Microsoft
    • A chance to be seen as the campus expert on Microsoft programs and technology
    • A chance to better connect your school to Microsoft

    How do I apply?

    Email mspcanada@Microsoft.com tell us your

    • name
    • school
    • program
    • graduating year
    • a paragraph explaining why you want to be a Microsoft Student Partner and why you think you would be a good candidate.

    We look forward to hearing from you!

  • Go DevMENTAL

    How the Imagine Cup Changed my Life and Touched Others


    “Not only did it give me a huge boost in terms of technical skills and employability, but it even convinced me to change my field of study.” – Mansib Rahman talks about the impact of Imagine Cup sponsored by intel and shares his tips for anyone who is considering competing.

    clip_image002“You’re not declaring it as a global variable, which is why you can’t access it from your main class.” I said to a pretty girl. She switched to another tab on her IDE and started typing up some short methods. “Ah I see, so if I make a public method to return foo, I can use it in my main constructor?” “That’s right.” We spent about another half-hour going through her code before I had to leave for class. “Say, are you free tonight? You know… to help me with some code?” I thought about it for a moment. “Yeah, sure.”

    “No one I knew, certainly not myself, believed that I’d actually end up winning.”

    No one I knew, certainly not myself, believed that I’d actually end up winning. I’m quite honestly surprised that I was able to complete the project at all. Despite the positive outcome, the brunt of the Imagine Cup’s magic had its effects on me during the course of the competition. Not only did it give me a huge boost in terms of technical skills and employability, but it even convinced me to change my field of study.

    I’m currently studying Health Science at Marianopolis College & Elly is studying Social Science with a Law concentration, also at Marianopolis. That’s a picture of my mentor Elly and I (along with our mascot, Soju the cat).

    The project I submitted was titled Mass Assaying Relaying Inquiring Survey Apparatus, or MARISA. It’s essentially a framework that permits various sensors (such as cameras, microphones, Kinects, etc.) to collect data from a disaster zone (i.e. tsunami or earthquake) and relay it to the cloud, where algorithms comb through the data and delegate optimized tasks to rescue authorities. It’s an ambitious project no doubt, but right now it’s still just a Kinect doing cool tricks with some algorithms.

    I entered the World Citizenship category. While the project had some crossover with the Innovation category, after scrutinizing the judging criteria, I ultimately felt that it would have more success under World Citizenship. For those of you not familiar with the Imagine Cup, World Citizenship is one of the three major categories. The goal is to make the world a better place by tackling a social or environmental issue of your choosing; mine being casualties from natural disasters.

    “ I wanted to create a futuristic system that scans you to save you.”

    The idea for the project really came out of the blue. I was taking a walk at night when I suddenly starting thinking about the scouters from Dragon Ball Z. Basically, they’re nifty eyewear type devices that permit you to sense details about people around you. Incidentally, a few months back I had attended a Windows Phone Design workshop and one piece of advice I was given was that good UI/UX designers often base their concepts off of Hollywood movies such as Iron Man. I steeped these ideas together and ended up deciding that I wanted to create a futuristic system that scans you to save you.

    The whole journey started 2 years ago, when I first entered CEGEP (for any non Quebeckers/Habs fans, CEGEP is Quebec’s equivalent to the last year of High School + first year of university in other parts of Canada). I wanted to compete in something, anything, but there was nothing that was really clicking for me. I tried Model UN conferences and rowing regattas, but they were too rigid in terms of structure and formalities. Browsing through online for competitions, I finally stumbled on one that in between offering large sums of cash, travel opportunities and being available in Quebec (many competitions don’t permit us to participate due to stringent local laws. From what I’ve been told, Microsoft takes extra steps to provide this opportunity in Quebec), allowed me to be ultra-creative and flexible in how I chose to compete (e.g. time and skill commitments).

    “Initially I couldn’t even figure out how to add the Kinect and OpenCV .dlls”

    Seeing as no one at my school had heard of the Imagine Cup, I set out to get the administration’s support in setting up a few teams and a club to orchestrate our endeavours. An alumnus and Microsoft Student Partner at Waterloo who was still subscribed to our school’s computer science club’s mailing list, heard about us and referred me to the MSP program. I applied and was accepted, which was pretty awesome. Several months passed by and some individuals had made cool projects. By the end of the year though, many Imagine Cup competitors at my school and I were feeling discouraged. How could we possibly compete? All the entries that we read about sounded truly phenomenal. I probably couldn’t code myself out of a paper bag either. The deadline flew by and many of us hadn’t so much as an idea of what we wanted to do.

    Being an MSP started changing things however. Considering that the position requires teaching people how to make apps, I inadvertently ended up internalizing a few more C# snippets than I had anticipated. Within a couple of weeks, I was as fluent in C# as I was in French. I released a few relatively simple apps in order to learn, but I entered them all for Developer Movement and within weeks, there was a brand new Nokia Lumia 820 waiting on my doorstep.


    Mood("W00t"); it said under the cover.

    Next year I vowed to submit something to the Imagine Cup regardless of my skill level, or whether or not I got to find a good teammate. I still wasn’t much of a coder, but I was going to learn on my way. Initially I couldn’t even figure out how add the Kinect and OpenCV .dlls to my project and compile it under x64, but I kept at it, asking questions online when I couldn’t figure something (MSDN being quite useful and to an extent, StackOverflow) and inching forward one semicolon at a time.

    “My victory had reinvigorated many students and programming suddenly became trendy. People I had never talked to started coming to me asking how they could learn to code, students in commerce or arts and even teachers! “

    When I won, everyone was both surprised and ecstatic. After last year, no one really expected anyone to have made headway in any Imagine Cup projects. My victory had reinvigorated many students and programming suddenly became trendy. People I had never talked to started coming to me asking how they could learn to code, students in commerce or arts and even teachers! It seems like this was a secret desire that many had but could not manifest.

    The biggest complaint seemed to be that no one understood how any of the code they were learning translated into real programs. The lucky few who were privy to a programming course only knew how to make console apps in Java (and couldn’t export them from the IDE either). Using my brilliant MSP skills, I showed to how to make a simple Windows Phone app. There was still a challenge left for the Imagine Cup, the Windows Phone challenge, so I organized a hackathon where 30+ students got together for 24 hours to make and submit apps. Needless to say, everyone had an amazing experience.

    All in all, the Imagine Cup has given me the confidence I needed to go out and write my own programs from scratch. I never had a formal computer science education, but I’m coding everyday now and churning out more lines and less compilation errors than my counterparts studying software engineering in university. I was also planning on going into medicine, but I’ve now decided to study computer science with a bio minor instead.

    I’ve also become a lot more employable and local companies have been seeking my services. Recently, an eyewear shop in Belgium contracted me to develop a solution that would allow clients to use a Kinect for Windows device to try on different glasses virtually. Of course they had many others to choose from, but they favored me when I told them I was an Imagine Cup winner for Canada!

    What’s next for me? I’m still working on MARISA. I’m going to bring it to life one day, even if I don’t end up going to the world finals. I started leveraging the skills I accrued developing MARISA to work on autonomous drone avionics. The club I founded at my school to compete in the Imagine Cup has long expanded its horizons and has now taught nearly a hundred students how to code. Finally, I’m starting to think of cool ideas for next year’s Imagine Cup!

    My suggestions and advice for anyone interested in competing next year:

    1. Compete in the Imagine Cup. Compete in the Imagine Cup. Compete in the Imagine Cup, I can’t say this enough. If you go through and actually submit a project (or maybe more than one), you’ll come out with so much just for trying. You’ll have a project for your portfolio, which most young programmers DON’T have. You’ll learn how to collaboratively design software with TFS or Git(hub), which a surprising number of students lack as a skill. You’ll learn how to beget a creation completely by yourself, without instructions from a professor. Imagine yourself in the shoes of a recruiter or a company. Who would you rather pick? A student with the aforementioned experience or one of the many others who are sitting and twiddling their thumbs?
    Furthermore, you underestimate your chances of winning. By signing up, you’re already ahead of countless individuals who are still thinking about it. By writing your first line of code, you’re already ahead of the countless individuals who have only signed up. By completing your first prototype, you’re already amongst the top competitors in your country. If you’re Canadian, there’s no doubt you’ve heard this Gretzky quote already, but it couldn’t be truer for a competition such as the Imagine Cup: “You miss 100% of the shots you don’t take.”

    2. Get teammates. Perhaps you’re thinking about doing the project alone, either because you envision winning a bigger share of the prize (granted you make it that far) and/or because you want to do everything your way. Chances are, that unless you have rock solid determination and a very diverse skillset, you won’t make it to the top. Much of the project will involve things that are not necessarily code and there is probably at least one thing you won’t excel at. Trying to complete different parts of the project alone will bring your progress down to a crawl. Maybe you have a friend you’d like to work with, but she or he doesn’t know how to code. That’s great, teach them how. Anyway, it’s a lot more fun. (Note: there are some people that may indeed excel on their own, if that’s the case with you, then it may in fact be more suitable for you to work alone. If the issue is that you can’t find anyone to work with, try searching online. The rules actually permit you to work with people outside of your school and even your country!)

    3. Don’t be deterred by the competition put up by your fellow Imagine Cup contestants. Some competitors are doing research for their PhD thesis. Others are in med school. Certain individuals will have been coding since they were 12 or 13 and have a decade of experience. A few teams have even founded their own start-ups. Yet many of the Imagine Cup finalists and winners are high school students (I’d technically be included in this category). Every participant is unique and has their own set of skills in which they are proficient at, which they can leverage to create the ultimate project. Age and experience is no substitute for initiative and motivation, just as genes are no substitute for hard work and determination. To quote Gretzky again: “When I was 5 and playing against 11-year-olds, who were bigger, stronger, faster, I just had to figure out a way to play with them.” Out of all the guidance I can offer, this has absolutely got to be the most important. (I’d really like to see more pre-university/early university students next year.)

    4. Don’t heed the naysayers. If it doesn’t exist, be the first.

    5. Compete in the Challenges, in addition to the actually competition. This year, there was the Pitch Video, Blueprint & UI/UX design Challenges. When I was completing my proposal and video presentation for the final submission, I was able to recycle a lot of the stuff I wrote for the Blueprint Challenge (which I received an Honorable Mention for, but didn’t win). This was no coincidence. The Blueprint Challenge is more or less the precursor to the project proposal and the Pitch Video Challenge is the same for the video presentation. The initial blueprint I made guided my design for the entirety of the contest and I still refer to it when I discuss my project with interested parties. And who knows, you might just win a nice chunk of pocket change in the process.

    6. Get support. You’d be surprised by how much your professors, parents and peers know. Even if their expertise isn’t computer science or software engineering, they may have the chops in maths, sciences, business or arts to address certain aspects of your project. You can also bounce ideas off them and get insights on your project that you wouldn’t had you not vocalized. Although the technical component is obviously stressed, the Imagine Cup is actually a holistic competition. At least 50% of the judging criteria is based is on things that are not necessarily related to code, e.g. artistic design, impact, business and marketing strategy, user experience and the innovativeness of your concept. My own mentor didn’t know how to code (and she’s actually younger than me), but she was a great help with other things such as logistics and showing me how to sell myself and the project.

    7. Follow the criteria and guidelines for your category to the pixel. You can make the best ukulele simulator (Kinect instruments anyone?) but if it doesn’t specifically address any of the points stipulated in the regulations, you’ll lose out to a lesser project (tsk... banjo simulator). This reflects the real world, where you’ll have to sell your ideas and projects to co-founders, parents, investors, consumers, etc. I was fortunate to come across this advice before submitting my entry and no doubt, it contributed to its success.

    8. Finally, don’t expect to win. Don’t get disappointed if you don’t win. But do your project to win. Put your all into it. Simply put, the person or people who are going to get the prize are those who want to win the most. Even if you’re not looking to win, do your project to win so that you achieve the best result.

    All the best and hope to see you compete next year!

  • Go DevMENTAL

    Calgary students use Virtual Reality to make learning fun!


    A team of students from University of Calgary created a game with Oculus Rift and Kinect to make learning more fun. Their idea earned them top spot in the Canadian Imagine Cup 2014 Games Category. In this post the team talks about their project: Funiverse and their Imagine Cup win.

    What is your project/idea?

    Funiverse aims to make learning more fun for children. With the increasing amounts of technology in our lives, children often find that traditional classroom education can be dry. Indeed this has been realized by education officials around the world and there is serious efforts to integrate technology in education but this is still in its infancy. Realizing the need, we are contributing Funiverse as a 3D game which makes use of awesome technology both within the game and outside the game to make learning more fun. The game follows the players as they explore galaxies in a funny-looking space ship, where each planet holds different lessons on various subjects like math or science.

    Another way that Funiverse makes learning more fun is that it is designed to be used with the virtual reality headset Oculus Rift®, and with a Kinect®. Overall, the players have fun while they absorb their learning material in an immersive way.

    Funiverse oculus rift

    Meet the team

    From left to right:

    Omar Zaarour will complete his masters in computer science at the University of Calgary in August 2014. His first degree was in Computer Engineering and was completed at NNU-Palestine and BU-Turkey.

    Alper Aksac will complete his PhD in computer science at the University of Calgary in August 2017. His first degree and master were in computer engineering and were completed at TOBB University in 2011 and 2013

    Gabriela Jurca will complete her computer science at the University of Calgary after-degree in December 2014. Her first degree was in Biochemistry, which was also completed at the University of Calgary in 2012.

    Omar Addam will complete his masters in computer science at the University of Calgary in August 2014. His first degree was in Computer science which was completed at Global University in 2012.


    Why did you enter Imagine Cup?

    Gabriela - I heard about the Imagine Cup in some of my classes prior to participating, but it had not occurred to me to participate until our mentor Prof. Reda Alhajj recommended that I be on this team. It sounded like an exciting idea to me, and I had always wanted to learn to make a game, so of course I had to do it.

    The Omars - After the great success our SANO team had last year, we decided to give it another try this year. Thanks to the support of our professor Reda Alhajj who made it possible for us.

    Alper - After the recommendation of our professor Reda Alhajj, I found this competition as an amazing opportunity to learn new concepts.

    What category did you enter in the Imagine Cup?

    We entered the Games Category of the Imagine Cup. It is the most challenging category as fun is the main key for success.

    Did you think you would get this far when you entered?

    Our team is unique in the sense that it combines expertise from various backgrounds integrated with the rich experience of the two Omars and our mentor Prof. Alhajj who participated in last year’s competition. This helped us build high self-confidence and move forward smoothly to achieve the target. Indeed, we were excited and happy that Funiverse was selected as the winning game, yet we were confident that our project had a large potential to succeed. We believe that virtual reality has a strong potential in both the educational system and the gaming industry. We wish that we could have had a game like Funiverse when we were kids in school as well, so that we could had seen more facets of the learning material and experience it in an exciting way.

    What do you think you did really well with your project?

    Funiverse stands out as an educational game because it makes learning more fun by fully immersing the players into their gaming environment through the Oculus Rift® and Kinect®. Oculus Rift® provides the 3D visuals around the player, while the Kinect® allows the players to navigate their game using gestures similar to those used in real life, such as walking or turning. Funiverse shows how technology can be used to teach people about worlds that are not easily reached.

    However, Funiverse is also accessible to people who do not have an Oculus Rift® or Kinect®, since there is also a Web version of the game available. We wanted to keep the game accessible to our user, even if the player does not have the technology that we designed our game around.

    If you were starting over again from scratch what would you do differently?

    If we could start the project all over again, it would be helpful to get a lot more feedback from teachers at the very beginning of the project. We sought feedback from teachers after we had already done some development, so that we could have something to get feedback on. However, performing some more investigative research early on would have made it easier to develop the content of the game accordingly.

    What’s next for you after Imagine Cup?

    Our plan for Funiverse was to design it in a way that could make it easy for teachers to teach their students the learning material. In the future, we would like to implement a way for the teachers to modify the content of Funiverse according to their own curriculum.

    Another plan that we have for Funiverse is to make it even more immersive by using technology such as the Virtuix Omni® or Wii Board®, which make it easier for the player to move around while the Kinect detects his or her motion®.

    What’s next for…

    • Gabriela: Plans to pursue a Masters in computer science starting in January 2015.
    • Omar Addam: Plans to pursue a PhD in computer science starting in December 2014.
    • Omar Zaarour: Plans to finish his master and gain some experience in the industry.
    • Alper: Plans to finish his PhD and gain some experience in the industry.

    What advice would you share with a student who is thinking of entering Imagine Cup?

    One advice for a future competitor is to get a great team together with a great mentor, where ideas are easily shared and expanded. The greater the pool of ideas that you have, the more likely you are to choose really great ideas. Working in a team also keeps the spirit of the project alive when challenges are encountered, whether the challenge is technical or a case of the writer’s block.

    Another piece of advice is to keep a working schedule for your project from the beginning. Making small deadlines for yourself or the team will ensure that progress will be achieved on your project.

  • Go DevMENTAL

    Building with Node.js Tools for Visual Studio


    Node.js Tools for Visual Studio (NTVS) brings the goodness of Visual Studio to developers building with Node.js.

    Software developer Kowsheek Mahmood helps you understand how to use Visual Studio for node.js development. Take it away Kowsheek!

    The official description of NTVS is:

    “NTVS is a free, open source plugin that turns Visual Studio into a Node.js IDE. NTVS supports Editing, Intellisense, Profiling, npm, TypeScript, Debugging locally and remotely (Windows/MacOS/Linux), as well Azure Web Sites and Cloud Service.” - https://nodejstools.codeplex.com/

    What that means is it's possible to use one of the best (if not the best) IDEs, with all its awesome cutting-edge features and extensions, to build Node.js applications.

    The Tools

    First, we're going to need Visual Studio 2013. Since NTVS beta 1.0 Visual Studio 13 Express Web is supported and can be downloaded for free. If you are a student, you can download a free copy of Visual Studio Professional 2013 from Microsoft DreamSpark.

    Next, we're going to need the node.js tools themselves. Download the tools from its site on CodePlex. The installation process is simple enough, and detailed installation instructions are available in the NVTS Wiki.

    New Project

    Having installed the tools, we can start by creating a new project.

    New Node.js project

    When creating a new project, there are several templates available. You can choose create a project with existing Node.js code. There are Express application templates available as well. And I'll be using an Express application template that's Windows Azure ready (streamlining the deployment).

    When I hit OK, I'll am asked to download packages that are defined in this template. We'll be seeing what these packages are shortly.
    Download Node.js Packages

    While the project is being created, packages from the npm registry are downloaded and some sample code is generated.

    New Project Solution View

    At this point solution is ready with Express, Jade & Stylus, bringing us to a very familiar Node.js set up. And if I run it, we'll see yet another familiar screen but now, powered through Visual Studio, its visual debugging tools and much more.
    NTVS First Run


    With NTVS, npm is fully integrated into Visual Studio. Right click on the npm node on the Solution Explorer and select Manage npm Packages to bring up the package manager UI.

    npm async package


    Just to play around with it, let's rename the user.js file to coffee.js. We'll also create an array of drinks and their ratings and rework the list method to return that array.

    var coffees = [{ name: "Latte", rating: 1 }, { name: "Mocha", rating: 5 }, { name: "Mochachino", rating: 2 }];
    exports.list = function(req, res) {
    If I run my application as is, we'll notice the first glimpse of what NTVS is all about. I am told that there was an error with finding a defined module since I haven't updated the app.js file to correctly point at the new module I've created.

    Coffee app Error

    Let's fix this by first changing the module name and file name on line 8 of app.js.

    var coffee = require('./routes/coffee');

    And changing the call to users on line 33.

    app.get('/coffees', coffee.list);

    Running the application and navigating to /coffees this time will show us what we expect, a list of drinks and their respective ratings.

    Coffee app Error Fixed


    Regardless of the browser you are testing your application in, you can visually debug your application in Visual Studio. It's as simple as navigating to the line you want to break at and setting a breakpoint. When your application hits this point the debugger will kick in.

    Debugging with Visual Studio

    How awesome is that?

    Publish to Windows Azure

    Now that I have somewhat of an application done, let's publish it. Choose Publish from the Build menu.
    Publish Menu

    Choosing Windows Azure Web Sites will guide you through a log in (or sign up) process for your Windows Azure account. Next, you can either choose to deploy to an existing site or create a new one.

    Create a New Azure Web Site

    At this point, it's possible to configure several things such as availability and database for the application. And once I hit Create, a site will be provisioned for me under expressoapp.azurewebsites.net.

    Published to Windows Azure

    This is a Node.js application, built in Visual Studio, deployed to the clouds of Windows Azure in a matter of few clicks.

    Closing Points

    1. Since the first build of NTVS there have been many improvements made, there are performance enhancements on the way for the current version as well. More details are available on the release notes.
    2. In the latest beta release, it is also possible to remotely debug Windows Azure Web Sites. Try it out!
    3. There are already many resources available to help you get started with NTVS. Check out this post by Scott Hanselman and videos on the NTVS Videos channel.

    With NTVS the entire development lifecycle of any Node.js application can now leverage one of the best developer experiences available today in Visual Studio. Happy building!

    KowsheekKowsheek is a software developer focused on application design and architecture specializing in cross-platform and open-source technologies.

    Find out more about his work & blog at http://kowsheek.com/. This post is also available on Kowsheek's Blog.

Page 1 of 82 (409 items) 12345»