Monday 31 March 2008

Popfly for the win!

Popfly has been nominatged for a CNET Webware 100 award and have been selected as one of the 300 finalists by CNET editors. However to get Popfly to we they will need all the votes they can get.

To vote for Popfly all you have to do is follow the below link, this will take you straight to thevoting page where Popfly is already checked.



Voting runs from now until April 21, so tell your friends and get them to vote also. The competition is pretty stiff, so it’s going to take a lot for Popfly to win.

Saturday 29 March 2008

Pacman Silverlight Updae

Having been left with the previous application we have been able to get a moving sprite going around a game board and boundaries within the board to stop Mr Pacman walking through walls. Now I've decided to start adding some "dots" onto the board which will get eaten as pacman goes past.
There have been 2 approaches that I've taken, the first is a bit more clunky but and time consuming used to create the bigdot. With this method being so time consuming i looked into a more benificial way of doing it (especially with the ammount of smaller dots).

In this section of code the big dots are being created exclusivly in the C# code, first a Rect is created so that we can check to see if Pacman intercepts the dots, the width and fill of the big dot is then configured and finally the positoning is specified using the Ellipse.setValue() method.

These rects and dots have then been added to an array so that the rect in the rect array corresponds to the ellipse in the bigdots array so that when an intersect happens we can get rid of the dots.

The bigdots array is then added to the canvas, so that they can be seen on screen.

The second method that has been used to add the smaller dots to the board is much nicer and uses a combination of Expression Blend 2.5 to create and place the dots within the canvas and then using C# code to apply a rect to each of the dots.

Straight away you can see that this method reduces the ammount of code needed, and creates 158 dots compared to the 4 big dots.

The code loops through each of the ellipses on the canvas using canvasname.children.oftype which returns all ellipses in the specified canvas. For each of these ellipses we must then add them to a littledots array and then create rects based on the values of the ellipses using the Rect constructor and add that to a corresponding littlerects array.

A small section of code is then also generated so that Pacman can eat up the dots, this uses a very similar approach to checking the boundarys by creating a rect in the direction pacman is moving and then see if it intersects the dot.

One the dots have been intersepted the visibility of the ellipse is set to collapsed so that it cant be seen anymore. And the player score is then incremented and displayed.

A problem that did occour is that originally when the ellipse disapeared the rect was still there in the background and would rack up the score each time pacman intersected with the rect, and high scores of a couple of thousand were attainable in a second.

This was solved by creating a new Rect in place of the one which had just been intersected. Im sure there must be a nicer way of doing this, however there dosnt seem to be a destructor for Rect, ~Rect() doestnt want to work for me.

The current version of the game can be found at the bottom of the main page of this blog. Go test it out and give some feed back.

Friday 28 March 2008

Google Turns Out The Lights

Those of you from the UK, will have noticed that Google.co.uk has "turned out the light" by changing the white background of its site to black.



This has been done to support Earth Hour a global campaign for people all around the world to save energy by turning off their lights from 8pm till 9pm.

However, during some research ino my teams imagine cup entry Matt Duffin brought to the teams attention a site called Blackle which uses a black background on a custom google search to reduce the ammount of energy used by CRT monitors as white backgrounds uses up more energy. To find out more about Blackle go here.

Currently Blackle has currently saved 534,302 Watt hours.

Thursday 27 March 2008

Pacman Game




Finally found a way to get this baby online. WARNING Application is no where near complete


Because of the width of the app it looks real bad on such a narrow blog, so either scroll down to the bottom of the page or use this link.

Pacman Silverlight

Ive have recently been following Ben Coleys article on how to create an XNA pacman game, the first two articles of the series can be found here:



Reading this post got me thinking of how good it would be to create a similar game using Silverlight, so I've decided to try and follow along with Ben's tutorials implementing the game using Silverlight instead of XNA. Hopefully this will work out well.

To develop the game I will be using Silverlight 2.0 Beta and Blend 2.5 Preview, not to forget glorious C# code. :D

So I first started out using the images provided in Ben's article to create the game enviroment and Mr Pacman himself, using the short XAML Code below.






One thing to note here is the "KeyDown" event handler on the UserControl, this is the event that will be handeling all the movement of player.
The inital variables for spriteX, spriteY, moveX, moveY were all set up as in Bens code at the top of the class, so that they can all be used in multiple methods. Along with a creatoutofbounds method, that will create the objects for collision detection.

This createoutofbounds method just creates 46 different rectangles that will act as the walls in the game enviroment and each time the player moves we will then check to see if they have been hit.
I mentioned previously about the KeyDown event, this is virtually the same as how Bens was implemented, except passing in the event args and comparing this to a key value, which would then check the player position and update it if possiable.

To update the position of the image we need to set the XAML Canvas.Top and Canvas.Left attributes to new values, this can be done using the setValue method assosiated with the image, named pacman for obvious reasons.


Before we update the position of the player however a check is done to see if the image will intersect any of the rects we previously created. Rects were used instead of normal rectangles as they have a Intersect method which checks to see if two Rects have intersected on another. So as with bens code a Rect was created in the direction of the player movement and then checked to see if an intersect occours.


Unfortunatly the Intersect method in Silverlight doesnt return boolean values it returns a number of points (i think) if a collision occours, so we contrinually check to see if there are any values assigned to the collision, if so return false.

A counter was also added to the game to act as the timer, an incremented each time the player movers which is then used to replace the image of pacman between having his mouth open and closed so he can gobble down those lovely dots.



Using this code we have been able to create the game board below, with a moving image of packman, with collision detection. I will try to update the game next time Ben releases some code and keep you all updated on the progress.



Unfortuanatly I couldnt figure out how to host the app with it using C# so that will have to wait till later in the week.

Tuesday 18 March 2008

All your HD belong to Blu-Ray

One of my best mates and myself have a on going joke about the fact Blu-Ray have won the DVD format war.

Whilst searching the net I found this video and thought you guys may also appeciate it.

MACH Final Assesment

I had my final assesment for the mach graduate scheme this week and it consisted of a group work assignment, followed by two interviews and finally a presentation which I had previously prepared.

My presentation was on "Search & Advertising on a Rich Mobile Device" showing how the power of Silverlight on mobile devices could bring benifits to both Microsoft and its Customers.

Below is a link to my presentation, feel free to have a look through it and tell me your opinions.

http://cid-9ae2ab5b779a00fe.skydrive.live.com/self.aspx/Public/Location%20Based%20Search%200%20Advertising%20on%20Rich%20Mobile.pptx

Hopefully I performed well enough in the interviews, and will post when I get told the results of the application process.

Sunday 9 March 2008

What does the industry want?

If your looking for a job or tech industry, check out these two videos from Channl 8. With people who are already in the industy talking about what they look for in a new grad / intern.

Will give some great ideas as to how to play to your strengths as well as giving an insight into what you should be doing if you want to work in the industy.

The videos can be found here:

Part 1

Part 2

Friday 7 March 2008

MACH Graduate Scheme

Great news, I just received an email from Stepstone that I have been accepted through to the final stage of the application process for the MACH graduate scheme. I’m so happy! I’ve been waiting for this email all week.

So now that I’m through to the last stage the pressure doesn’t stop, in the email I received Stepstone have told me that I will have to give a 15 minute presentation on one of the following topics:

  • 'One new idea, which could make a difference to Microsoft and its customers'
  • 'How I would win even more new customers for Microsoft'
  • 'How I would ensure that my customers were the best advocates for Microsoft

And then there will be a 20 minute q and a session after the presentation.

Any ideas or help will be much appreciated by anyone willing to help out. :D

Thursday 6 March 2008

Silverlight 2.0 Tools


Im sure everyone knows by now that yesterday saw the first day of MIX08 ad the incrediable footnote that gives us an insigiht into whats to come.

So with the relese of Silverlight 2.0 Beta what do we need to get started?

Well first off before we go downloading all the new software, you should probably delete all the current Silverlight installs you have on your machine such as Silverlight 1.1 and the tools for Visual Studio as you will be replacing these.
Once you have finished installing all the current things on your machine you first need need to get the Silverlight 2.0 Runtime.

This runtime will allow you to run any of the Silverlight apps that have been created using the new SDK, such as the Hard Rock Cafe memorabilia site. Which uses SeaDragon to zoom into any number of pictures, as you zoom in the pictures seem to be constantly buffed and enables you to zoom in far enough to see the stitching on shoes.


If you want to develop Silverlight apps you will then have to download the SDK which can be found here.


Finally the bit everyones been waiting for since this time last year when Silvrlight was first announced at MIX07 Visual Studio components for Silverlight allowing you to drag and drop components onto the Silverligt canvas, meaning you dont have to spend hours creating new buttons, lists or check boxes. The tools for Visual Studio can be found here.
Once installed you can start up VS2008 and witness all the glory of the Silverlight controls.
Also take a look at these videos of creating Silverlight 2.0 apps, based on ScottGu's posts.

Wednesday 5 March 2008

MIX08 Live Online

MIX 08 is being streamed live online here

Go check it out.

Microsoft & Xobni

Xobni, inbox backwards is described by Bill Gates as "brining social networking into Outlook".

Xobni is a small addon to Outlook which allows users to view statistics and other useful information about emails recived, such as a graph of what time someone sends email so you know when they are most accessable, extracting contact numbers form emails and creating a list of common contacts.

Look at Ben Nunneys blog to see more about Xobni.

After the initial launch of Xobni it looks to have gotten Microsoft a little excited and now they seem to be opening talks with Xobni to look at buying it. The initial bid of $20 Million has been rejected by the company, but it looks like Microsoft will be bringing a bigger deal to the table soon.




More information on Xobni, visit their blog.

Skydrive goes Live

Skydrive is Microsofts online storage area for .NET passport holders.

I got the chance to use Skydrive whilst it was in beta and felt that it was a really good idea, a storage area that you can connect to no matter where you go, as I usually forget to take my pendrive with me most of time.

Beta has now finished and Skydrive is out in the wild, bigger, badder and new improvements.



Microsoft has upped its online storage capacity for its users from 1Gb to a massive 5Gb which means you can fit near enough anything you want on the internet (so much for my 2Gb USB).
However I seem to remember that you are some what restricted by the file sizes that you can upload, so no putting movies on there (unless you split).

Along with the size increase MS have also added an ActiveX drag and drop function to SkyDrive, gone are the days where you need to use "Browse..." all you do is drag straight from you desktop to the browser window.

Hopefully the SkyDriveteam will replace the ActiveX control with a Silverlight app in the near future.

The only bad point that I can currently see at the moment is that there is no option to map your skydrive account to your desktop. It would have been so nice to be able to see your Skydrive as a logical drive that is displayed in My Computer and then be able to drag and drop files onto the net from here. This is another feature that I think would really get people using the product and will hopefully come in the future.

I think Microsofts Live package is really starting to hot up now and can see Live being a real internet contender, especially if Yahoo! come on board.

Check out the SkyDrive Team's blog here.

Tuesday 4 March 2008

MSP Live Meeting 2: Andy Sterland

On Monday the second MSP Live Meeting took place, with guest speaker Andy Sterland speaking on Popfly.

Andy who was previously a MSP himself, competed in the Imagine Cup in 2006 and managed to get to the world finals in India (see link). Now Andy has jetted off to Redmond and works on the Popfly Team.



The meeting open up with a quick introduction from our glorious leaders Mark and Mo, before launching Andy straight into the action (even thought it was 8am in Redmond). Andy then started his presentation with a quick run through of Popfly and how it enables non-developers to quikly build a mashup of various web services into a single application which can then be deployed to a webpage, gadget or even Facebook.
After the standard Flickr / Virtual Earth demo Andy started a bit more of a deeper dive, showing how blocks can actually be built up using a some real code all be it JavaScript. One thing to note is that since coming out of Alpha Popfly now uses Silverlight to display blocks etc. and can also be deployed on websites as a Silverlight app. however Andy did point out that Facebook only currently support Silverlight in the application page and not on profiles. This should hopefully be fixed in the near future when Facebook arn't "too busy making money".
One of the things that I had never seen before which come form the presentation was the ability to intergrate Popfly with Visual Studio by downloading the Popfly Explorer.


Saturday 1 March 2008

MMU Visual Studio Launch


As part of HEROES Happen {here} there are going to be hundreds of events held around the globe to showcase the new products being launched. The products:
Visual Studio 2008
SQL Server
Windows Server 2008
To welcome the launch of these products I have organised a launch event at Manchester Met University for all of the students and lecturers, the event will be centred around Visual Studio 2008 and the great new features that are in the product such as multi-targeting, WISYWIG web design, and not forgetting LINQ.
This event will take place on the 12th of March, in room E221 of the John Doltan building between 1 and 2pm. Microsoft have been kind enough to donate a number of prizes for people who attend (not to mention DreamSpark).
I will also be helping out at the Manchester VBUG event on the 27th of March more information about this event can be found here, or on Phils blog here.