Posts tagged with xbox

Using your Xbox Kinect as a webcam for Skype on Windows

Thanks should go to ScottOrange on the MSDN forums however it’s along thread that has lots of pieces to pick out and try.

Still getting odd noise, corruption and other issues in Skype. Wouldn’t recommend using a Kinect as a webcam on Windows right now.

What worked for me (eventually):

  1. Download the Kinect SDK from Microsoft
  2. Install the Visual Studio 2010 Runtime if you don’t already have it
  3. Go to the KinectCPP site and download KINECTSQM.DLL and MSRKINECTNUI.DLL
  4. Create a folder for your Kinect camera drivers to live and copy those two files there
  5. Go to Wildbill’s Github repo and download the three files there into the same folder
  6. Open a Command Prompt as Administrator and CD into the folder
  7. Type install and press return

You should get a success message. If you don’t then you probably missed steps 2 or 3 – if all else fails open KinectCam.ax in Dependency Walker and see which DLL it claims it can’t find. (the IESHIM one missing is fine)

Restart Skype and see if it shows up in the list of cameras. If it doesn’t.

  1. Quit Skype entirely
  2. Go to %appdata%\Skype\shared_dynco in Windows Explorer
  3. Delete dc.db
  4. Restart Skype

[)amien

My one-year check-in with my Windows Phone 7

It’s been almost a year since I bit the Windows Phone 7 bullet and put my iPhone 3G away. As a long-time Mac fan (our house is nothing but Macs) I wasn’t sure I’d last…

Contact & calendar management

Contact and calendar management is truly awesome as I wrote about previously. With the latest mango release Twitter and LinkedIn get brought into this unified system and messages that start with a text message can switch in and out of Facebook and Live Messenger as available.

What has this meant? Over the last year I’ve barely had to maintain contacts. Whenever I need to get hold of someone the information is there. If I want to see what they’re doing, it’s there. You can pin people to your start menu so having it automatically pick up a photo from a service is another bonus.

My Windows Phone is better for this than any other system I’ve used including my desktops.

Gorgeous user interface

The metro user interface is beautiful to use. It’s clear, fluid and fast and makes using the phone a breeze. You can see why Microsoft are adopting a similar user interface for their upcoming Xbox dashboard and seeing how far they can push the concept in Windows 8.

Such a bright fast user interface works best on the AMOLED displays such as that on the Focus – the LCD refresh rates on the HD7 for example seem to struggle with scrolling resulting in a shimmering on the screen.

Tasty Mango

  • Maps now includes both turn-by-turn directions (although you have to tap the screen after each one) and a useful Scout function that shows you nearby places to eat and visit.
  • Multitasking is a breeze, just double-tap the back button and visually pick the image showing the app you want to switch to. Not all apps support this yet but it’s getting better.
  • Voice has been underplayed – it’s like a mini Siri that can do a few things by voice activation such as calling people, finding places with Bing, opening applications and sending text messages. Just hold the Windows key to activate and speak :)
  • Power saver is a life-saver and something that Apple should be copying given recent iOS battery issues. It turns off wireless, email checking etc. either when you know battery is going or automatically when low and gets you through the tough spots.
  • Background music means not only can you play music in background with the built-in Zune stuff but even third party apps like Spotify can too! The controls and track names will appear on the lock screen and slide in anywhere you adjust the volume.

Hardware choice

I currently own a Samsung Focus on AT&T and regularly get to use both a HTC HD7 on T-Mobile and a HTC 7 Trophy on Verizon for testing.

Having a choice of hardware is great – you can pick the screen size (from 3.5″ to 4.7″), type, speed (1GHz to 1.5GHz) and specifications including slide-out keyboards, microSD expansion slots, a waterproof model and up to a 13.2 megapixel camera.

The negative side of having choice is that all the devices I’ve used have a combination of matte and shiny plastics none of which have the same quality feeling as the iPhone 4’s aluminum and glass. The LCD displays and the Super AMOLED with it’s PenTile display also don’t look as gorgeous as the iPhone retina display and has a sort of dithered effect with some solid colors when viewed closely.

Here’s hoping the Nokia Lumia 800 raises the bar.

Most favorite apps available

The thing that really made the iPhone were apps. The good news is the best ones are also on Windows Phone 7 too often making better use of the display through the metro style they adopt.

  • Amazon Kindle
  • Evernote
  • Facebook
  • Flixster
  • foursquare
  • IMDB
  • Netflix
  • Spotify
  • Twitter
  • YouTube

There are of course many extra great applications and games available in the marketplace and games usually count towards your Xbox LIVE gamerscore :)

Some notable omissions still exist including Pandora (can play on the site though) and Skype (only a matter of time given Microsoft’s acquisition).

Some cool extras

Hidden features

  • Calendar can skip between months and years in month mode – just tap the month for a selector
  • Calculator can turn into a scientific one when rotated left and a programmer one when rotated right

You can also check and tweak all sorts of settings via the diagnostic options.

Microsoft’s extra free apps

Microsoft put together a bunch of slick small free apps that perfectly complement the metro style look and feel. They include:

  • World Clock – Lets you setup a number of clocks around the world. Useful if you often converse with people in other time zones.
  • Tranlsator – Text translation tool that also pronounces translations between English, French, German, Italian and Spanish.
  • Weather – Simple and convenient weather application that supports multiple locations.
  • Unit Converter – Translate between various lengths, areas, volume, capacity etc.
  • Stocks – Keep track of your stocks and the indexes.
  • Shopping List – Simple shopping list management.

The bad bits

While most of the WP7 experience is great there are some rough edges that even Mango hasn’t yet sorted out.

Overly sensitive buttons

It’s actually great having a back button and prevents wasting screen on a back button like iOS does. The problem however is that both the back and search buttons are overly sensitive. It’s difficult to hold the phone in one hand and use it without your thumb hitting the pesky back button. It’s unfortunately something even the Xbox 360 slim picked up with the eject mechanism which is suitably annoying when putting away a controller.

Microsoft should add code to limit button presses to a distinct no-touch, touch for 0.4s, no-touch process.

Volume control

For some reason the phone has only one volume control that is shared by both applications and the ring-tone so if you’re the sort of person who like your phone low and your music loud you’re going to be constantly shifting back-and-forth and in my case that results in either embarrassing rings when it should be silent and silent rings when it should be working.

The volume control needs to be context sensitive. When in an app or the background music player is active adjust the audio volume otherwise adjust ringer volume.

Equalizer settings

There’s no sound equalizer settings so if you don’t like the sound coming from your speakers or headphones you’re stuck with it.

Build in a system-wide equalizer that at least affects the background music player.

[)amien

Behind the scenes at xbox.com – RSS enabling web marketplace

A number of people were requesting additional RSS feeds for the xbox.com web marketplace. (We had just one that included all new arrivals)

Looking across our site as the various lists of products we display today the significant views are:

  • Browse games by department
  • Search results
  • Promotions (e.g. Deal of the week)
  • Game detail (shows downloads available beneath it)
  • Avatar item browse

These views also have sorting options and a set of filters available for things like product type, game genre, content rating etc.

So we had a couple of options:

  1. Write controller actions that expose the results of specific queries as RSS
  2. Introduce a mechanism whereby any of our product result pages can render as RSS including any user-defined filtering

Our web marketplace is written in ASP.NET MVC (like most of xbox.com) so while option 1 sounds simpler MVC really helps us make option 2 more attractive by way of a useful feature called ActionFilters that let us jump in and reshape the way existing actions behave.

ActionFilters

ActionFilters can be applied to either to an individual action method on a controller or to the controller class itself which applies it to all the actions on that controller. They provide hooks into the processing pipeline where you can jump in and perform additional processing.

The most interesting events are:

  • OnActionExecuting
  • OnActionExecuted
  • OnResultExecuting
  • OnResultExecuted

We’re going to hook in to the OnActionExecuted step – this is because we always want to run after the code in the controller action has executed but before the ActionResult has done it’s work – i.e. before page or RSS rendering.

Writing our ActionFilter

The first thing we want to do is identify that a request wants the RSS version. One way is to read the accepts header and switch when it requests mime/type but this can be a little trickier to test,  another is to append a query parameter on the url which is very easy to test.

Once we’ve identified the incoming request should be for RSS we need to identify the data we want to turn into RSS and re-purpose it.

All the views we identified at the start of this post share a common rendering mechanism and each view model sub-classes from one of our base models. For simplicity though we’ll imagine an interface that just exposes an IEnumerable property.

public class RssEnabledAttribute : ActionFilterAttribute {
  public override void OnActionExecuted(ActionExecutedContext filterContext) {
    var viewModel = filterContext.Controller.ViewData.Model as IProductResultViewModel;
    if (viewModel == null)
        return;

    var rssFeedTitle = FeedHelper.MakeTitle(viewModel.Results);
    filterContext.Controller.ViewData.Add("RssFeedTitle", rssFeedTitle);

    var format = filterContext.RequestContext.HttpContext.Request.QueryString["format"];
    if (format == "rss" && rssFeedTitle != null) {
      var urlHelper = new UrlHelper(filterContext.RequestContext);
      var url = QueryStringUtility.RemoveQueryStringParameter(filterContext.RequestContext.HttpContext.Request.Url.ToString(), "format");
      var feedItems = FeedHelper.GetSyndicationItems(viewModel.Results, urlHelper);
      filterContext.Result = FeedHelper.CreateProductFeed(rssFeedTitle, viewModel.Description, new Uri(url), feedItems);
    }

    base.OnActionExecuted(filterContext);
  }
}

This class relies on our FeedHelper class to achieve three things it needs:

  1. MakeTitle takes the request details – i.e. which page, type of products, filtering and sorting is selected and makes a title by re-using our breadcrumbs
  2. GetSyndicationItems takes the IEnumerable and turns it into IEnumerable by way of a foreach projecting Product into SyndicationItem with some basic HTML formatting, combining the product image and setting the correct category (with a yield thrown in for good measure)
  3. CreateProductFeed then creates a Syndication feed with the appropriate Copyright and Language set and chooses the formatter – in our case RSS 2.0 but could easily be Atom 1.0, e.g.
public static SyndicationFeedResult CreateProductFeed(string title, string description, Uri link, IEnumerable<SyndicationItem> syndicationItems)
{
    var feed = new SyndicationFeed(title, description, link, syndicationItems) {
        Copyright = new TextSyndicationContent(String.Format(Resources.FeedCopyrightFormat, DateTime.Now.Year)),
        Language = CultureInfo.CurrentUICulture.Name
    };

    return new FeedResult(new Rss20FeedFormatter(feed, false));
}

The FeedResult class is a simple one that takes the built-in .NET SyndicationFeed class and wires it up to MVC by implementing an ActionResult that writes the XML of the SyndicationFeedFormatter into the response as well as setting the application/rss+xml content type and encoding.

Advertising the feed in the head

Now that we have the ability to serve up RSS we need to let browsers know it exists.

The ActionFilter we wrote above needs to know the title of the RSS feed regardless of whether it is rendering the RSS (which needs a title) or rendering the page (which will need to advertise the RSS title) so it always calculates it and then puts it into the ViewData dictionary with the key RssFeedTitle.

Now finally our site’s master page can check for the existence of that key/value pair and advertise it out with a simple link tag:

var rssFeedTitle = ViewData["RssFeedTitle"] as string;
if (!String.IsNullOrEmpty(rssFeedTitle)) { %>
<link rel="alternate" type="application/rss+xml" title="<%:rssFeedTitle%>" href="<%:Url.ForThisAsRssFeed%>" />
<% }

This code requires just one more thing – a very small UrlHelper which will append “format=rss” to the query string (taking into account whether there existing query parameters or not).

The result of this is we can now just add [RssEnabled] in front of any controller or action to turn on RSS feeds for that portion of our marketplace! :)

[)amien

Three weeks with Windows Phone 7 – a Mac users perspective

It’s been a few weeks since I took up Microsoft’s employee offer of a free Windows Phone 7 (when you renew a 2 year contract) and combined it with AT&T’s offer of buy-one-get-one-free for my wife.

So how have things been going?

Physical

Compared to the iPhone 3G the Focus is much more comfortable.

The larger screen size means a wider and taller phone but with less surround it’s not unwieldy – far from it. In fact the phone sits far more comfortably in my hand than the iPhone did. This is partly because it’s a better match for the size of my hand, partly because it’s a little lighter but mostly I think because the bevel is a lot more subtle and less steep and awkward than the iPhone’s shiny-pebble inspired design.

On the flip side it does look and feel a little cheaper and less solid but a small part of that is because the back of the phone flips off like many other allowing you access to the battery, sim and memory expansion slot. The dedicated back and home buttons below the screen help keep the display clear of chrome and give the apps the space they need.

The major disappointment for me here is the screen. While it is very bright and has great contrast if, like me, you hold it rather close to your face you can see a dithering pattern caused by the unusual LED sub-pixel arrangement called PenTile on every color except green. I’ve learned to hold it a little father away as the text rendering is very nice otherwise but compared to a friends iPhone 4 the screen is a letdown.

User interface

Until you’ve used the Zune-inspired interface (part of an overall design strategy called Metro) it’s a little hard to put it into words. Static screenshots certainly don’t do it justice as it’s all about movement and flow in a way other devices aren’t.

Starting from a tiled home page that gives you a peek into your mail, messages, people and games through a gorgeous combination of animation, text and imagery that keeps the page feeling fresh and alive – a spirit that is carried through the rest of the device – not just with the built-in screens and features but also into many third-party apps (more on that soon).

In a way it feels like a window onto a bigger world behind it instead of a subset of that world crammed onto a small screen. It’s like the difference between a mobile web browser that scales in and out on a whole page versus a mobile-optimized page that lacks detail and finesse.

As many will know my wife and I are primarily based on Apple technology but even after a week with the Focus my wife announced (with a slightly sad face) that her iPhone 3GS felt old – even with iOS 4.1 on it. I have to admit the same feeling. Sure the iPhone is cure but the icon-and-list approach with the odd red circle to indicate some activity now lacks engagement.

Part of Microsoft’s advertising campaign has been the get-in-get-out approach and the home page and email works really well here. So much so that it’s broken my 3 year ritual almost instantly in that I now check my email on my phone each morning when I get up instead of using the laptop to do the same. If I can find a good Google Reader app then the laptop might not open until I get to work.

I had an initial worry when I first turned it on as there were a bunch of AT&T applications and tiles installed however it let me remove all the ones I don’t want or use (e.g. U-Verse) Score +1 for consumers over providers :)

Mac integration

I’m in a minority among friends as I actually like iTunes. It sorts, it plays, it lets me get audio-books, podcasts and legal music quick and fast. I’ve also used it to rip a fair number of my own tracks from CD and bolstered my collection with tracks from Amazon MP3 sometimes (like their $3.99 Tron: Legacy deal). Sure I wish it allowed plug-ins for different music formats – I have a soft spot for chip-music – but apart from that it’s been quite pain free.

iTunes however only likes to play with iPods, iPads and iPhones. Other companies have hooked their devices in unofficially in the past and Apple have been sure to quickly break it.

Thankfully Microsoft haven’t let the Mac fans out in the cold and provide the Windows Phone 7 Connector for Mac.

The software does an okay job at sending music and videos from your iTunes library over to your USB connected phone although obviously DRM-protected content isn’t going to work.

What was disappointing however is even “Purchased music” from iTunes won’t actually play on the Windows Phone even though it syncs. I’m assuming this is a bug as there isn’t any DRM here (that is marked “Protected music”) and the file format is Dolby’s own AAC not Apple’s so I don’t see why it shouldn’t work.

It also won’t sync your Mac’s Address Book and Calendar’s directly however there is a way to do this quite easily indirectly – see below.

Contacts

Enter your Facebook name and password and it will fill your contacts from Facebook with each getting their own ‘what’s new’ etc. Like most people this isn’t exactly what I want but I took the opportunity to prune 100 people I never speak to – an option also exists to only supplement existing contacts on the phone with their Facebook pictures and feeds.

It also helpfully pulled in my Gmail contacts and in the cases where I have a contact card in Gmail for somebody on Facebook did a good job of joining them up. Some it seems were automatic possibly based on email addresses and full names. Others had recommendation when I went to join that were always correct and in a handful of cases I just had to tell it which ones to join up manually because they had changed their name on Facebook.

In some cases I merged three cards for a single person – their semi-public Facebook profile and photo, their private telephone numbers from Gmail and their semi-public Windows Live details for messenger and Xbox.

Finally I added my Outlook/Exchange account – all worked flawlessly and for each account you get to choose whether to bring in contacts and calendars and in most cases mail (but not for Facebook).

The result of all this is that my phone is now the best contact list I have on any device. It combines them beautifully in a way no other device I’ve owned has and not once in the three weeks since I set it up has it got confused, lost details or had sync problems.

Very sweet… unless of course your primary contact information is your Mac’s Address Book as any Mac-owning iPhone owners will be.

Getting Address Book contacts onto Windows Phone

Please forgive the SEO-tuned heading but I didn’t find any useful information online and want to share this simple technique with others :)

You’ll need a Gmail account to make this work (it also works with Google Apps for Domains too), simply:

  1. Copy important details from your Gmail contacts manually into Address Book as needed
  2. Wipe out your Gmail contacts (or backup with Export first if you want but don’t re-import)
  3. Open the Address Book application and head into Preferences
  4. Choose the option to sync “On My Mac” with Google and hit configure to enter your Gmail details
  5. Delete the Gmail profile from your Windows Phone 7 and then re-add it (otherwise it won’t sync phone numbers)

This means you’ll have your Mac contacts at your fingertip in Gmail so make sure your Gmail account has a secure password and follow their steps to ensure your account is well protected.

Reception & call quality

I was nervous about getting back into bed with AT&T for another two years. I need coverage at work and home as I don’t have a dedicated phone at either location and many times AT&T had left me with only a single bar to get by.

I am somewhat confused that I get 3-4 bars on the Samsung Focus in both locations and I’ve yet to have the chopping up or disconnecting of calls that I attributed to AT&T when using my iPhone 3G. Stranger still is that when I have had 1 bar (one place in my apartment) I am actually still able to make calls without it cutting out or dropping. My iPhone taught me never to try with 1 bar…

Visual voicemail is gone as I guess that was an Apple exclusive but I’ve only had a handful of voicemail messages over the last 2 years so I doubt i’ll miss it.

Camera

The camera seems pretty good and has some HDR and anti-shake options as standard as well as limited bunch of image effects. It also does video but I haven’t tried that yet.

Marketplace

You sign into this with your Xbox LIVE credentials and once you’re there it’s not a far off experience from the iTunes store except that it has a lot less apps. While it’s good you don’t have to wade through so much junk to find good stuff there are some omissions too like Hulu and for many people they’ll be missing Angry Birds and their favorite games and apps. I also haven’t found a good Windows Phone-like navigation app although the built-in Bing app is no worse than the Google Maps app on the iPhone that occasionally gave me nonsensical (drive into the ocean) or wrong directions (Seattle hotel being off by 2 blocks).

On the plus side some favorite sites have their own apps and they have fully embraced the metro user interface to provide a great experience – these include IMDB, eBay, Facebook, Twitter.

The bad side here is that the marketplace you’ll be presented with is the one your Xbox LIVE account is associated with and once you’ve set-up your phone YOU CAN’T CHANGE IT!

For me this means I can’t get Netflix on my device as my Xbox account is set to USA. Previously Xbox didn’t let you change your country but recently introduced a facility to let you migrate your account to one of several new countries they now support. I’m hopeful they’ll let more general country changes next year as I’m not giving up my 8800 gamer score and cool gamertag (damieng) without a fight.

Summary

There are a whole bunch of extra things I haven’t covered here including the Bing maps, Office docs, Xbox LIVE, Zune and the various apps. I’ll either update this article or post another :)

I haven’t switched my iPhone on in three weeks. There are a few apps I do miss but they’re also on my iPad.

[)amien