If you’re interested in sharing technology with fellow students, look into becoming a Microsoft Student Partner (MSP) for 2010 and now’s your chance as signups have opened over on the Student Partner website.
This is my final year as being a MSP, as I’ve finished being a student. I highly recommend submitting an application – the MSP program is a lot of fun, offers a lot of unique opportunities, lots of free stuff (the free MSDN subscription is awesome) but most importantly gives you a huge head start in things like the Microsoft Internships (MSPs get somewhat preferential treatment), as well as being able to put down you worked with Microsoft on your résumé!
Last Friday (18th) we held the first (of hopefully many) annual inter-Uni Xbox 360 Tournament. 10 teams competed in Halo 3, fighting over 4 x Halo 3 Legendary Edition + Gears of War 2 + Ninja Gaiden 2 + Forza 2 (that was just for first place other games were awarded for the other 3 places)
Several of the teams were very evenly matched, with four of the games ending up at 50-to-49!
With about 50 people show up, it was a great night. Thanks to the guys who helped out setting up and packing up, without their help I don’t think we would have been able to successfully pull of the night!
Congratulations to Cobra Commanders (from Deakin!), who took out first place. Sabo, Camberwell Clowns and Silhouette took out second, third and fourth respectively.
This is a long overdue update to the status of the Halo tournament.
Firstly, entry requirements have changed to make it easier to compete: there will be no entrance fee, and teams may include up to two people from outside uni.
Secondly, we have a firm date and location:
Date
18th (Friday) of September, 2009 – 7pm till late
Location
HE1.021 Games Lab Deakin University, Melbourne Campus 211 Burwood Hwy Burwood Victoria 3125
Okay okay, it hasn’t exactly been all within the same month, but with exams and illness, I haven’t had time to dive into it! Unlike last time, I’m not going through every single step, just the interesting snippets. Because of that, there isn’t a starter kit, just the final project.
You may notice that I am now using Silverlight 3. Silverlight 3 is even closer to WPF than before and it solves some of the "hackery" in TastyLibrary. In the first post, I used LINQ to rebind the ItemSource every time you click a new category. Thanks to the filtering capabilities introduced in Silverlight 3, we can "do it right" by filtering the CollectionViewSource.
if (((Item)(e.Item)).Category == ((Category)lstCategories.SelectedItem))
e.Accepted = true;
else
e.Accepted = false;
}
else
e.Accepted = true;
}
Functionally, it appears to be the same… until you start adding more data. When you’re setting the ItemSource to a LINQ query, it doesn’t automatically update when new items are added into the base collection but when you are filtering every item has to pass through the filtering method even the new items that are added.
Apart from filtering, Silverlight 3 now has hardware accelerated effects, such as drop shadows or whatever you can build with pixel shaders! While it sounds gimmicky, drop shadows can help to create a much more refined UI. I’ve chosen to add this to various Grid’s in XAML:
(Don’t worry, there are plenty of other new features in Silverlight 3, but those are all I’m using)
Adding more data
In the last episode, we created a very basic clone of Delicious Library. Our version let you view a "bookshelf" of a set of albums, DVDs or games, the only problem was it was a fixed set of data. That makes it not particularly useful, because you’d have to manually edit the XML files whenever you wanted to add or remove an item. For a data source, I’d recommend and I have used Amazon simply because they are one of the (if not the largest) online stores and they provide a nice API.
If we were creating a desktop application, we could quiet easily use the SOAP interface and auto-generate the classes from the WSDL. However, Silverlight has security restrictions on the way it can interact with websites. If you are interacting with a web service on the same domain there are no restrictions, but interacting with services on other domains requires the domain to implement a cross domain policy file (and it must permit your application). Flash has similar restrictions on it. A common work around to this ‘problem’ is to use a proxy on your own server which does all the interaction with the service, but it’s messy, particularly when in this case, the Amazon Advertising (formerly ECS) REST/XML API has a cross domain policy file that works properly with Silverlight.
The SignedRequestHelper is provided from Amazon’s C# example of connecting to their API, while the Amazon namespace is a small helper library I’ve made to make it easier to choose various parameters/methods when interacting with Amazon’s API.
req.DownloadStringCompleted += new DownloadStringCompletedEventHandler (req_DownloadStringCompleted);
req.DownloadStringAsync(new Uri(requestUrl));
}
Searching for items is easy! Wait, hang on, where is the response? Silverlight requires network interactions to be asynchronous so that the calling thread (ie, the UI) doesn’t hang which would result in the entire browser locking up! (unless it separates tabs/plugins into threads like Google Chrome)
Name = item.Element(ns + "ItemAttributes").Element(ns + "Title").Value,
Image = img
};
if (cbCategory.SelectedItem == cbiGames)
temp.Category = catList["Games"];
elseif (cbCategory.SelectedItem == cbiDVDs)
temp.Category = catList["DVDs"];
elseif (cbCategory.SelectedItem == cbiMusic)
temp.Category = catList["Music"];
lstSearchItems.Items.Add(temp);
}
catch (Exception ex)
{
}
}
}
To parse the response I’ve used Linq-to-XML, created my new Item, and then inserted into the listbox containing all the search items.
This post shows off some basic Silverlight 3 features as well as interaction with web services uses Silverlight. Next post – interacting with persisting data!
In the words of Hubert J. Farnsworth, "Good news, everyone!" – Expression Studio 3, XNA Game Studio 3.1 and Robotics Studio 2008 R2 are all now on Dreamspark, free to students! Expression Studio 3 brings some awesome improvements to.. well.. every product in it – Blend 3 + SketchFlow, Web + Super Preview, Encoder now has screencasting.
Super Preview – view side by side comparisons of your website in Firefox, Internet Explorer 6/7/8 and more
Publish with SFTP/FTPS
Improved Photoshop PSD support – import just the layers you want!
Silverlight support – uses Expression Encoder 3 to encode (nearly) any video you want to Silverlight and embed on your site!
TFS SC support
Deep Zoom Composer support
XNA Game Studio 3.1 Highlights
Avatar Support: Render and animate Avatars to use in your game to represent gamers and other characters within your game.
Xbox LIVE Party Support: Enabling gamers to communicate, even when each gamer is not playing the same game in the same multiplayer session. LIVE Party supports up to an eight-way group voice chat for gamers and keeps gamers connected before, during, and after a gameplay session, persisting across title switches.
Video Playback: XNA Game Studio now supports the ability to play back video that can be used for such purposes as opening splash and logo scenes, cut scenes, or in-game video displays. This set of XNA Framework APIs supports the following features:
Full screen video playback
Video playback to simple textures in game
Control of playback such as pause/resume and stop
Retrieve properties of the video, such as playback time, size, and frame rate
Determine the type and usage of the audio track, such as if it has music, dialog, or music and dialog
Play back multiple video streams at the same time
Audio API: 3.1 has a new usage pattern of SoundEffect.Play. Sound instances created by Play calls are disposed automatically when playback ends, and SoundEffect.Play returns a Boolean to indicate success or failure.
Content Pipeline Enhancements: improvements making it much easier to add custom types (custom attributes for run-time of an object and run-time type version of an object, and the ability to determine if deserialization into an existing object is possible).
XACT3 Support: includes support for XACT3 with new features including the ability to enable a filter on every track, and support for the xWMA compression format.
Visual Studio Changes: XNA Game Studio 3.1 supports both 3.0 and 3.1 projects, and it includes support for upgrading projects from 3.0 to 3.1.
I’ve got 15 copies of the Windows Mobile Developer Tools, which contains everything (minus Visual Studio) you need to get started on enter the Student APPrentice competition.
These DVDs include
Windows Mobile 6 Standard and Professional SDK Refresh
Windows Mobile 6.1 Standard and Professional Images
Windows Mobile 6.5 Standard and Professional Developer Toolkit (which includes the 6.5 Images)
Codemason’s Guild Live Meeting videos
It totals up to 1.76gb of SDK goodness, which can be a pain to download.
If you want one of these 15 DVDs, use the contact form on our about page to give me your name and postal address, and I’ll get these out as soon as possible! First come first served basis.
Oh nuts, you don’t have Visual Studio? As a student you can get it for free via MSDNAA from your University or from Dreamspark.
If you’re interested in the APPrentice competition but have questions on the inner workings of the Windows Mobile Marketplace? Well, the Codemasons guild are holding a series of (free, I think) events on down the east coast of the country.
Next week we will be holding a series of events to help developers get their application development moving for Windows Mobile 6.5 and into Marketplace.
These Debug Days will be held from 4.30pm till 9pm on;
Monday August 10th – Microsoft Brisbane, Level 9 Waterfront Place, 1 Eagle St, Brisbane
Tuesday August 11th – Microsoft Sydney, 1 Epping Road, North Ryde
Wednesday August 12th – Microsoft Melbourne, Level 5, 4 Freshwater Place, Southbank
We will provide an update on Marketplace, the signup/registration process, and the guidelines.
The evening is then over to the developers – so what are the topics you want out MVPs to cover – let us know;
post your comments to this post
Tweet James McCutcheon or Nick Randolph on Twitter
Microsoft AU are running a competition for students to celebrate the upcoming launch of the Windows Mobile Marketplace.
Don’t worry, if you don’t have a Windows Mobile phone you can still create apps for it, thanks to the device emulators in Visual Studio. Remember students can get Visual Studio 2008 Professional for free directly from Microsoft at www.dreamspark.com
If you’ve never thought about developing for Windows Mobile, it just uses the .NET Compact Framework – so the chances are if you’ve used Visual Studio before, you can write a mobile app.
However, if you want to learn a bit more, there are some excellent videos up on MSDN entitled “How Do I? Videos For Devices”.
The competition closes AUGUST 17th! Details about the competition are below, or the full details can be found at the Codemasons Guild.
What’s up for grabs?
The two successful applicants will win:
A full pass to attend Microsoft Tech.Ed on the Gold Coast, from September 8–11, 2009 (which includes a complimentary HP Mini 2140 Notebook PC, worth $990 (recommended retail price))
A return adult economy airfare to the Gold Coast from your nearest capital city
3 nights accommodation at The Crown Plaza Gold Towers on the Gold Coast in a standard room
A session with a Microsoft Most Valuable Professional (MVP) mentor during Tech.Ed
Tickets to Smackdown on September 11, 2009, where the best Windows Mobile app will be awarded to the overall winner!
Who can enter?
To be eligible to enter the APPrentice competition, you must be an Australian resident aged over 18 years or over, who is currently enrolled in a part time or full time undergraduate or postgraduate course at an Australian University or TAFE institution.
How do I enter?
Entry is via email only. To enter, provide the required information and attachments below and send to codemgld@microsoft.com before 11:59pm (AEDST) on August 17, 2009.
Your entry needs to include the following information:
Full name, contact email address and a contact phone number
Your Mobile application name
The genre that your Mobile application fits into: Game/Entertainment/Utilities/Communications/Music & Video/Lifestyle/Finance/Business/Health, Sport or Fitness/Productivity/Travel/Education
A 300 word or less description of the application you are developing. Your response should include the operation of the application, the type of device it would target, if it would be a free app or paid app, and why you think someone would want to buy and download your application.
Your entry must include the following attachments:
Visual Studio Project file containing code for application prototype.
Although I’ve been slow in putting out part two of the Silverlight month, Silverlight has still progressed. Silverlight 3 was released a fortnight ago.
This release of Silverlight includes more HD video support (H.264/MP4), better streaming, 3D support (GPU accelerated!), Out-of-browser support and more.
Expression Studio 3 will also be released within 30 days of Silverlight 3’s release (so roughly two weeks from today), while the release candidate for Expression Blend 3 and SketchFlow have been released. Expression Studio 3 will be released free to students via Dreamspark – yay!
Microsoft confirmed yesterday that Windows 7 has been signed off for Release to Manufacturing (RTM) – it’s finished!
MSDN (including MSDNAA), TechNet and Partners will get access to it early August and general (public) availability will be October 22nd. So for those Deakin Uni students, we should get access to it through MSDNAA within the next month.
If you were one of the few who installed Windows 7 at our load fest, don’t forget that version (Release Candidate) will start shutting down every 30minutes from March 1st, 2010 and it will expire June 1st, 2010.