Deakin Microsoft Student Partners
Get Microsoft Silverlight


Student Partner 2010 signups open!

November 30th, 2009, Paul , Tags: , ,

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é!


No Comments »

Xbox 360/Halo Tournament wrap up

September 25th, 2009, Paul , Tags: , ,

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)

IMG_2782 by you.

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. 

See the rest of the photos up on flickr


No Comments »

Halo Tournament: Deakin vs Monash

August 31st, 2009, Paul , Tags: ,

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

1 Comment »

Silverlight Month: Silverlight 102

August 18th, 2009, Paul , Tags: ,

What you’ll need

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.

imageClick to view the demo!

Silverlight 3 bringing in more awesome

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.


private void lstCategories_SelectionChanged(object sender,     System.Windows.Controls.SelectionChangedEventArgs e)
{
    cvsItems.Filter += new FilterEventHandler(cvsItems_Filter);
}
 
void cvsItems_Filter(object sender, FilterEventArgs e)
{
    if (lstCategories.SelectedIndex >= 0)
    {
        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:

<Grid.Effect>
    <DropShadowEffect BlurRadius="16" Direction="238" ShadowDepth="0"/>
</Grid.Effect>

(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.

private void Search(string Keyword, string SearchIndex)
{
    SignedRequestHelper helper = new SignedRequestHelper(amazonAccessKey,       amazonSecretKey, Amazon.Destinations.US);
 
    IDictionary<string, string> requestParams = new Dictionary<string, String>();
    requestParams["Service"] = "AWSECommerceService";
    requestParams["Version"] = "2009-03-31";
    requestParams["Operation"] = Amazon.Operation.ItemSearch;
    requestParams["Keywords"] = HttpUtility.UrlEncode(Keyword);
    requestParams["SearchIndex"] = SearchIndex;
    requestParams["ResponseGroup"] = Amazon.ResponseGroup.Medium;
 
    string requestUrl = helper.Sign(requestParams);
 
    WebClient req = new WebClient();
    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)

The response…

private void req_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    XNamespace ns = NAMESPACE;
    XDocument results = XDocument.Parse(e.Result);
 
    var resultItems = from i in results.Descendants(ns + "Item")
                select i;
 
    foreach (var item in resultItems)
    {
        try
        {
            var img = (from i in item.Element(ns + "ImageSets").Elements(ns + "ImageSet")
                       where i.Attribute("Category").Value == "primary"
                       select i).First().Element(ns + "MediumImage").Element(ns + "URL").Value;
        
            Item temp = new Item()
                    {
                        Name = item.Element(ns + "ItemAttributes").Element(ns + "Title").Value,
                        Image = img
                    };
            if (cbCategory.SelectedItem == cbiGames)
                temp.Category = catList["Games"];
            else if (cbCategory.SelectedItem == cbiDVDs)
                temp.Category = catList["DVDs"];
            else if (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!

Checkout the demo or grab the full source code


No Comments »

Expression Studio 3, XNA Game Studio 3.1 and Robotics Studio 2008 R2 on Dreamspark!

August 18th, 2009, Paul , Tags: , , ,

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.

expression_studio_3_photoscope

Expression Studio 3 Highlights

  • Expression Encoder 3
    • Improved H.264
    • VBR Smooth Streaming
    • Source CODECs
    • Audio Enhancements.
    • Performance
    • Live Encoding
    • Screen Capture
    • Improved profile pallete
    • Silverlight 3 Media Players
    • New player skins
    • API Enhancements
    • Win7 Integration
    • SDK "in the box"
  • Expression Blend 3
    • SketchFlow – Sketch WPF/Silverlight interactive prototypes.
    • Photoshop and Illustrator support
    • Styling Controls: Creating templates from artwork
    • Styling Controls: Creating TextBox Templates from Artwork
    • States: Improved Support for VSM
    • Interactivity: Behaviors
    • Working with and Generating Data
  • Expression Web 3
    • 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 xna_20

  • 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.

1 Comment »

WinMo 6.5 SDK DVD giveaway

August 5th, 2009, Paul , Tags: ,

IMG_2248

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.


No Comments »

WinMobile "Debug" Events

August 3rd, 2009, Paul , Tags: ,

 

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.Codemasons_2

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

We’ll update the topic lists here @ WMOZ, @ the Codemasons’ Guild, and James/Nick will Tweet as well.

Rego links coming soon – but slot some time in your diary.

PS – we’ll have some drinks & food on hand as well :-)

via WinMoOZ


1 Comment »

Windows Mobile Competition: Student APPrentice

August 2nd, 2009, Paul , Tags: ,
Windowsmobile_new_logo
I’ve been very slack in posting this, sorry Karo!

Microsoft AU are running a competition for students to celebrate the upcoming launch of the Windows Mobile Marketplace.

howdoiDon’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:

via Codemasons Guild (MSFT AU)


3 Comments »

Silverlight 3 Released & Expression info

July 24th, 2009, Paul , Tags:

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.

The Silverlight 3 Tools for VS2008 have been released too.

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!

More information can be found on Scott Guthrie’s blog.


No Comments »

Windows 7 finished!

July 24th, 2009, Paul , Tags: ,

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.


2 Comments »