• Go DevMENTAL

    Code-a-Thon - Waterloo University's Session

    • 0 Comments

     

    University of Waterloo and Microsoft are collaborating together to bring a 24 hour all out creative coding contest on Janurary 21st 2011.  This is a great opportunity for students to come meet with Microsoft employees and explore how their ideas may be realized on the Windows Phone 7 device.  Students all over the world are able to enroll in ImagineCup and take their ideas from concept and turn it into an experience that is worth a lifetime. 

    The Code-a-Tron University Waterloo session is an opportunity for Waterloo students to come learn about the Windows Phone 7 development platform and collaborate on ideas to turn them into actual products that the entire world can experience through the marketplace.  Microsoft will be working towards adding Canadian Universities across Canada to bring the Code-a-Tron to students 

         

    Not only will you be able to submit your applications to marketplace for free, but the tools will all be offered to you through Dreamspark and you may also use the same application to compete in the ImagineCup competition and The Battle of the Apps!  This is an application competition for University Students and best app creators will win a Windows Phone 7 device.  The semi-finalists will be able to interview for a co-op position within 4 companies and 1 winner will get a paid trip to TechEd Australia.

    Date and Location:

    -Friday January 21st 2011 6:00 p.m. – Saturday January 22nd 6:00 p.m

    Location:   University of Waterloo, VeloCity Residence 200 University Avenue West

     

    Please RSVP for the event here: http://codeathon.wufoo.com/forms/microsoft-24-hour-codeathon/

     

    If you really want that Windows Phone 7, come prepared!

     

    Download and try out the Window Phone 7 app developer software before the event so that you are a step ahead!  http://create.msdn.com/en-ca/home/getting_started

     

    Register for Marketplace for free to download and submit apps and games - http://create.msdn.com/en-ca/home/membership

     

     

    Best Windows Phone 7 Application winner based on the following criteria:

    •Creativity (Differential factor between the app and what is available currently in the Marketplace)

    •User Engagement/Influence (How likely will users use/purchase the app?)

    •Quality (Does the app face complications during a simple quality assurance testing?)

  • Go DevMENTAL

    Introducing XNA: A tri-platform game development framework – Part 1 By Alexander Yakobovich - MSP

    • 0 Comments

    If you do a quick search for XNA tutorials, you’ll notice that the majority of articles introduce XNA as either a platform-specific (PC, Xbox or Windows Phone 7) tool or a completely generic (platform independent) game development framework. Introduction of the framework on all three platforms simultaneously is rare perhaps due to the – supposed – complexity that it will add to a “beginner level” tutorial.

     

    In reality, getting started with XNA on all three platforms at the same time is fairly simple.

     

    This is the first part of a series of articles that introduces XNA as a true tri-platform framework. Using the same codebase we will create and deploy a simple 3D XNA game to all three platforms simultaneously. To keep the introduction as elementary as possible, I’ll walk you through the differences in syntax and solution organization, omitting advanced fundamental differences between the three platforms such as performance considerations.

     

    If you haven’t already done so, head over to create.msdn.com and grab XNA Game Studio 4.0. Visual Studio 2010 Express is included with the full XNA package. Although, the distribution is branded as “Windows Phone Developer Tools”, it includes everything needed to develop for PC, Xbox 360 and Windows Phone 7 devices. If you’re a student, be sure to grab Visual Studio 2010 Professional from DreamSpark (www.dreamspark.com). Professional edition of Visual Studio is not strictly required for XNA development. It is, however, highly recommended given that it allows you to install useful third-party tools and add-ons.

     

    Getting started:

     

    Let’s begin by creating an XNA project. In Visual Studio, go to File -> New -> Project…

     

     

    Select Windows Game under Visual C# -> XNA Game Studio 4.0. Alternatively you could select either Xbox 360 Game or Windows Phone Game, but for this tutorial I’ll use a Windows Game as the base project. To stay consistent with this tutorial name your project XNAIntro.

     

     

    In the Solution Explorer (View -> Solution Explorer if you don’t see it), you’ll notice the solution, having the same name as the base project, is at the very top of the hierarchy. This is standard Visual Studio solution organization, and much like any other .NET project, XNA application structure adheres to it. Inside the solution, we already have two projects, XNAIntro and XNAIntroContent. XNAIntro is the main game project where your game code goes. Its name is bolded to indicate that it is the start-up project; the project that will launch when you start a debugging session. XNAIntroContent is the content project; its type is also known as the Content Pipeline. All your game assets (models, textures, sounds, etc) go into this project. We’ll look at the Content Pipeline in a little more detail later.

     

    At this point, your project is ready to be launched. You can go ahead and start debugging (F5). You should be greeted with a blue (better yet, Cornflower Blue) window.

     

     

    You can think of this screen as the “Hello, World!” of XNA. It indicates that XNA is properly running and you’re all set to begin development.

     

    Expanding to multiple platforms

    Before we write a single line of code, we can already create projects for other platforms. Let’s create an Xbox version of our project and deploy it to an Xbox. Right-click on XNAIntro project and select “Create Copy of Project for Xbox 360”. 

     

     

    The new Xbox version of the project will reference the same files found in the Windows version.

     

     

    Files that are not needed on other platforms, can be excluded (Right-click a file -> Exclude From Project) from the perspective projects. For example, if you have a class that is exclusive to mouse input, it can only be used in the Windows version of the application, so it can be excluded from the Xbox project. However, exclusion of assets and code files that are used elsewhere in the project will result in build errors. For such cases, we’ll use selective inclusion/exclusion within code. More on this in part 2.

     

    Since the new project is in the same solution as the base project, it can reference the same Content Project that our Windows project references right now.

     

    In fact, any project can reference any other project within the same solution. This is both convenient and important for reusable components and complex solutions such as game engines. A project that is referenced by another project is a dependency and will be built by Visual Studio before the project that references it. Two projects cannot reference each other, as this would create a circular dependency. Generally speaking, a project of one platform should not reference a project of another platform. There are a few exceptions to this rule, particularly when dealing with the Content Pipeline.

     

    In our case, the new Xbox project automatically referenced the Content project that was created along with our Windows project.

     

    Go ahead and create the Windows Phone project the same way you created the Xbox project (Right-click on either XNAIntro or Xbox 360 Copy of XNAIntro and select “Create Copy of Project for Windows Phone”).

     

    Deploying

     

    Under Solution Platforms (Right-click on any toolbar -> Standard if you don’t see it), the three platforms that we are targeting can be selected individually. By default, Mixed Platforms option is selected and will target all platforms in our solution.

     

     

    Go ahead and build the solution (F6). You’ll right away notice that we have a number of warnings.

     

     

    No need to panic! The problem is really simple and the solution is even simpler. Visual Studio is simply letting you know that the assemblies in question are not available on the platform you’re targeting. In our case Avatars, XACT, and a number of other XNA features are not available on the Windows Phone. Therefore, we will simply remove them. Note that the project that is the source of the warning (or error) is shown in the Project column.

     

    Expand the References folder in the Windows Phone project and select all of the references to be removed. Visual Studio already marked them for you with a yellow exclamation mark. Simply right-click on any of the selected and select Remove.

     

     

     

     

    Rebuild the project and the warnings will disappear. We can now deploy our application to the three platforms. Only the start-up project will be launched for a debugging session. You can change the start-up project by right-clicking on any project and selecting Set as StartUp Project. As with other applications, the project must have a static main method in one of its classes in order to start. For the Windows phone project, the class that derives XNA’s Game class will automatically become the start point. More on this in part 2.

     

    We can now go ahead and start debugging. With Mixed Platforms selected, Visual Studio will automatically deploy to all three platforms. On the PC the process of “deploying” is nothing more than outputting the game executable, its dependencies and content to the bin folder in the project directory. For Windows Phone, Visual Studio will package all of the aforementioned things into a XAP package. After packaging it will deploy the XAP to a Windows Phone device or emulator. In our case, Visual Studio will automatically launch the Windows Phone 7 Emulator. Note that the emulator requires a DirectX 10 or higher video card.

     

    Since there is no Xbox emulator, the project must be deployed to an actual Xbox 360, which at this point will result in the following error.

     

     

    You will need to setup XNA Game Studio Connect in order to deploy to an Xbox 360. Up-to-date instructions for doing this are available here: http://msdn.microsoft.com/en-us/library/bb203929.aspx. Note that the Xbox must be on the same subnet as the PC deploying to it, which is often the case if both the PC and the Xbox are connected to the same router. Internet connection is also required in order to deploy.

     

    If you do not have an Xbox, you can still build the Xbox project but need to skip the deployment process. To do this, select Configuration Manager… under Solution Platforms.

     

     

    Under Deploy uncheck the box for the Xbox 360 copy of the project.

     

    You project will still build and all corresponding warnings and errors will be exposed, but Visual Studio won’t attempt to deploy to the Xbox. This means that you won’t be able to debug the project.

     

    Since we already launched the application on the PC, let’s launch it on the phone emulator this time. Select the Windows Phone project as the start-up project and start debugging. You’ll be greeted with the same Cornflower Blue screen that you already saw with the Windows version.

     

     

    If you did setup XNA Game Studio Connect on the Xbox, be sure it is running. Select the Xbox project as the start-up project and start debugging. While the size of this project is small, a large project might take a while to deploy for the first time. Subsequent (incremental) builds will be significantly faster, since only the changes will be deployed.

     

    And that’s all there is to it! In just a few easy steps you created an XNA game and deployed it to three platforms. It’s not much of a game, in fact it’s nothing more than a solid color screen but it is a start. In part 2, get ready for a bit of code.

     

     

  • Go DevMENTAL

    Welcome to Microsoft By Sarah Rosenquist - An Intern's Experience

    • 0 Comments

    My Background

    I grew up in a very tech-heavy environment – both of my parents were computer science graduates and I can remember learning the alphabet through a computer game. So needless to say, gadgets and electronics naturally get me excited.

    All that being said, instead of following in the footsteps of my parents I decided to take the route of pursuing a business degree at Wilfrid Laurier University. After two years of study, I was to head to my first co-op placement… and never did I imagine that at 20 years old I would have Microsoft in the employment history section of my resume.

    Going into the office for training, I purposely didn’t set many expectations (mostly because this was my first “corporate office” type of job). I knew I was going to be doing marketing, but it’s such a broad concept that I had no real idea of the specifics that I would see day-to-day. Now that my term is done, I still don’t know if I can succinctly summarize the activities I was involved in, other than that they were all fun and challenging experiences.

    The Position

    My 8-month role at Microsoft was that of a “Marketing Associate” in the business group that was responsible for all of the Server products & tools. Definitely not one of the sexiest marketing jobs out there, but our group drives a large percentage of the company’s revenue.

    My activities varied and evolved throughout the term: I purchased thousands of dollars of what we call “chachka” (really it just means giveaways), I planned, organized, coordinated, and attended countless events, spearheaded Microsoft’s presence at an industry-leading conference on computer security, sourced content for a monthly newsletter that is read by over 19,000 subscribers, researched specific vertical industries, developed creative materials, went through the entire hiring process involved with finding my replacement, and the list goes on.


     

    The Environment

    It’s hard for most people to believe that the culture in our office is casual and cool; I myself didn’t buy it until I showed up on my first day feeling way overdressed. When most people think about Microsoft, I find they tend to push the company in to a corporate stereotype, “Surely in a company this big, the people must be very one-dimensional: work, work, work.” It is true that there are a significant amount of driven, Type-A personalities… however there is so much more to them all.

    Honestly, this was the biggest relief for me because I don’t really like the idea of having to change myself in order to conform to a corporate culture. I was completely accepted in the office with flaming red/orange hair (it depended on my mood that month), casual dress, and not to mention the ½ inch holes in my ear lobes. Obviously there’s a time when this isn’t appropriate – when you are customer-facing – but there was no need to feel uncomfortable when you’re sitting at your desk.  


    The End Result

    Now that I’m back at school and out of the Microsoft building, I can really see the reciprocal impacts that were made between the company and myself. The culture opened itself up to me and accepted me as the individual I was, and at the same time I opened up myself to the Microsoft cause and know now that I will always be involved with the company in some way or another. Right now, I am being contracted to run one of the company’s websites, www.webcentralstation.ca, while I am in school (separate from the co-op program).

    Shameless plug – if you are a developer you should get in contact with me about the site and I may be able to find a way to involve you!

    So it seems for me, with this new job offer, the beginnings of a career are starting to take shape. And what did I do to achieve this? It’s actually pretty simple (and corny)…

    My Two Cents of Advice

    The best advice I can give as far as getting into Microsoft or being successful there is concerned is… be yourself. You can bring so much more to the table when you feel free as an individual, and you will get so much more of a reward in return. I interviewed 10 hopeful students who had a shot at being my successor, but the ones that stood out most were the ones that spoke intelligently but freely and let their personality shine through. Once you’re in, it’s all about the “work hard, play hard” mentality. If my lengthy diatribe has given you any inkling to try out an internship with MS, give it a shot. It’s worth it.

  • Go DevMENTAL

    Microsoft Research: Microsoft Tags by Shahrad Rezaei MSP

    • 0 Comments

     Having fun with Microsoft Tags

    One thing you should know about me is that I am a geek. This explains why I’m writing a blog post right after I discover some fun, nerdy thing. My cousin has recently bought a Windows Phone 7, and since I don’t have one, I’ve been fiddling around with it a bit. One app he downloaded was what he thought was a barcode reading app, but he claimed it didn’t work, so I had a look, and I discovered that it was actually a Microsoft Tag reader. A good while back, this technology was being developed at Microsoft Research (the guys who brought the World Wide Telescope and Songsmith. You can check out what they’re up to at research.microsoft.com), and back then, I had no way of really testing it out, so I didn’t do much with it. But now that he had the app, I gave it a go, and I was surprised to find out that it actually works! You can download the app on the Zune Marketplace and try this out for yourself as well. It is also available for the iPhone, the Android and other mobile phones. The tags allow companies to deliver digital information quickly and easily to consumers, by having them take a picture of the tag and receive digital content on their mobile devices, such as text messages, URL links, contact information, or phone numbers. And the best part is: you can make your own tags, free of charge!

    This one sends a Hello World text message

    This one redirects to this blog

    This one gives you my contact information

    This one dials the Microsoft Canada HQ phone number (yes, that’s the best I could think of…)

     

    This might take a few tries to get it to work well (I didn’t follow the guidelines because I wanted to make it fit in this blog…) but this is pretty cool. While this is mostly used in marketing, the average Joe can use it and make their own tags as well! And the process is very simple too. All you have to do is sign in on tag.microsoft.com with your Windows Live ID, then click on the “Tag Manager” link on the top of the page. Once you do that, you’ll be presented with a table containing a list of your tags (yours should be empty):

    It’s pretty straightforward, so I won’t go into much detail. You can create a new tag by clicking the “Create a Tag” button on the top right corner, and you’ll see a form. Fill it up, save it and you’re done. Now comes the fun part: generating it!

    To generate the tag, you’ll need to click on the little tag icon in the “Render” column. Then, you’ll have to select which kind of tag you want, and stick it everywhere! Be sure to follow the Implementation Guidelines though, that’s what will assure that people can actually read your tag (yes, I didn’t but shhh… don’t tell anyone J). You can also make your own customized tag, with a picture in the back, or you can even cover up the dots with your picture, so you can make it pretty nifty too. Once you save your tag (be sure to select the format you want it to be saved in at the top of the popup), you can use it however you want. (Just don’t spam people…)

    But there is more! According to the Microsoft Research website, the “father technology” of the Microsoft Tag, the High Capacity Color Barcodes (or HCCB for short) could be able to store a whole page from a novel (or 1, 750 characters long) on a tag no bigger than a penny!

    This means that these new barcodes can be used in much more contexts than what we currently have on our pasta sauce cans. While they are not meant as replacements for our typical black and white barcodes, they will be able to provide additional information to the consumer. We have seen some examples with the Tags, but they could be used for more advanced things such as passports or driver licences (the tags can even be encrypted by RSA-1024). But, while we wait for these tags to become mainstream, you can print a big one, frame it, put it in your room, and say it’s abstract art that only cool people can understand. J

    If you want to read more about the HCCBs, I suggest you visit the page dedicated to it on the Microsoft Research website.

  • Go DevMENTAL

    The Imagine Cup Journey- Part 3: "The Long Road Ahead"

    • 0 Comments

     

    The end goal was simple enough.  Do whatever it would take to get into the finals and go to Egypt to compete.  The actual planning and execution was nothing close to being clear cut or clean.  Let me explain.  Simply put none of us had taken up a project of this scale and none of us understood what really took to succeed.  We all had classes and some of the team members even had jobs.  

    Taking on this project meant time was needed to be set aside outside of our workload and that is not something easy considering that everyone has different schedules.  Once we got the idea for our project some what determined, it was now the time to start mapping out what needed to be done.  First off, this being a greenhouse project, we needed a greenhouse or somewhere to grow our plants and measure the results.  Approaching January we were unable to build or buy a greenhouse so the next best thing was to search for one.  We found a greenhouse far from our main campus and that took us nearly a hour and a half to travel to.  It had to be done and it was worth the journey.  Over there we talked with professors specializing in plants and natural environment. We were students in the plant science before we designed or engineered anything.  We studied the conditions, the environments, lighting conditions, anything and everything that would effect the life of plants.  Never did we think we would be taking out books about tomato growing conditions or medical facts about what causes iron loss.  These new knowledge was all made possible by ImagineCup and I encourage you to visit and learn something new!

     

     

     

     

     

     

     

Page 2 of 2 (10 items) 12