• Nokia Lumia 920

    Earlier this year, Microsoft ran a new competition offering the first 10 developers to publish 5 new Windows Phone apps a new Nokia Lumia 920 phone (and Lumia 820 and 620s for 4 or 3 apps respectively). Getting 5 new apps developed and published in a relatively short time wasn’t easy, but I figured the only way to have a chance at picking up a new phone was to have a go.

    I was pleasantly surprised to find that I’d just managed to scrape through picking up a shiny new Lumia 920 handset, after initially thinking I’d missed the top 10.

    The new phone arrived last Thursday – just in time for me to spend a bit of time over the Easter long weekend to get to know it a bit better (and for the kids to test out it’s game-playing functionality!)

    DSC_6976The phone came in a ‘Developer’ box. I think this is the same kind that the BUILD conference attendees would have received.

    Text inside boxThere’s a nice bit of developer-humour inside the box too.

    DSC_6981 Just in case there’s any doubt, the handset has ‘Developer device’ and ‘Not for Sale’ printed under the glass just below the buttons. This means it’s also not tied to a particular network provider, which is handy.

    Nokia Lumia 800 and Lumia 920Here’s a side-by-side of my Lumia 800 next to the Lumia 920. You can see how much larger the 920 is.

    Initial thoughts

    The screen is nice and large with bright vibrant colours. Reminds me of my old Omnia 7’s AMOLED display a bit, though according to the specs is not only a larger screen, it also has a higher DPI.

    The case finish is quite slick. In fact maybe a little too so. The 800 came with a rubber/plastic shell that not only helped protect the phone, but also made it a bit ‘grippier’. I think I might investigate getting something similar for the 920.

    The 920 is a true quad-band phone, supporting 850, 900, 1900, 2100 MHz 3G frequencies. My unbranded Lumia 800 doesn’t support 850, though Narelle’s 800 (being Vodafone-branded) does. As a bonus, the 920 also supports LTE which will be handy when Vodafone rolls that out soon.

    Ben had mentioned he’s experienced some reliability issues with his 920, and unfortunately I’m seeing similar problems already. I’ve seen my 920 spontaneously restart while I was using it once, and seen evidence of it restarting a couple of other times already. That’s not so encouraging and gives me cause to question whether to completely retire the 800 and use the 920.

    Google is being a bit annoying with Microsoft at the moment – turning off Exchange ActiveSync access to GMail & Calendars in a few months. Interesting to see if the trick of browsing to https://m.google.com/sync/settings/iconfig/welcome?source=mobileproducts&hl=en (with a UserAgent set to iPhone) still works. It is making me seriously consider moving my email over to Outlook.com instead.

    Battery life seems ok, but I have noticed that a serious bout of gaming by the kids takes it toll. One comment from our resident gamer was disappointment that his saved games weren’t

    I do like the Kid’s Corner feature – you can set up some games and apps that kids can play (and nothing else).

    The Wallet is also a good idea. I’ve enabled a separate PIN to ensure no one accidentally buys new games or apps on my phone.

  • Loaded Projects–A Visual Studio extension

    Forklift imageI’ve just published Loaded Projects to the Visual Studio Gallery.

    The inspiration for this extension was having to deal with solutions that contained a lot of projects (from 50 to 150 and beyond). Often you know that many of the projects aren’t relevant to the particular feature or bug that you’re working on and unloading those projects can give you a big performance win. Visual Studio will be more responsive and the time to build and debug will be shortened.

    The problem comes when you need to move to a different area of the solution. You now need to reload some of the previously unloaded projects, but also unload some others that are now no longer significant. Wouldn’t it be great if you could save a record of all the unloaded projects so that you could reuse it again later?

    Enter Loaded Projects!

    Click on the ‘Loaded Projects’ item in the context menu after right-clicking on a solution.

    Solution context menu

    A dialog window appears, from which you can save the current set of loaded/unloaded projects as a new profile,

    Add new profile

    select an existing profile and load that, or choose to delete a profile you no longer need.

    Select profile

    If you like the extension, please write up a review on the gallery page.

    I’ve put the source code up on GitHub, so make use of the Issues page to submit any bugs or feature requests, and of course pull requests are always welcome.

    The extension initially just supports Visual Studio 2012. If there is enough interest then it should be pretty straight-forward to back-port it to to 2010 too.

  • Windows 8 Media Center (there and back again)

    Our Media Center PC has been running reasonably well since I built it way back in July 2008. Wow – almost 5 years old – actually that probably explains the state of the remote control (currently being held together with duct tape!)

    Anyway after successfully upgrading my laptop and reprovisioned desktop (formerly the Hyper-V/Homeserver) to Windows 8 I decided I’d update the Media Center as well.

    Upgrading was relatively painless in itself. I took a backup of the Windows 7 install (just in case) and then did a fresh install of Windows 8 x64 and then activated my free Media Centre license. I’d previously been running 32 bit Windows 7, but didn’t anticipate any problems.

    One interesting side-effect of using the ‘English (British)’ install of Windows 8 was that some of the terminology in Media Centre was slightly different. What was called “original air date” was now “original date broadcast”

    win 8 mce recorded tv

    And predictably, “Program Details” became “Programme Details” (though because that was now wider than the pop-up menu, the text would scroll side-to-side so you could read all of it!)

    win 8 mce guide settings

    So that was all well and good, but there were a few things that didn’t work so well.

    Presumably because of the new Windows 8 start screen, there is no longer a setting to make Media Center start at Windows Startup (kind of handy for a dedicated Media Center PC). The workaround for that was to create a batch file that is run via a scheduled task triggered at login (a bit of a hack).

    The other problem that became quickly apparent was that despite Windows 8 generally having a better reputation for performance than Windows 7, in this instance it seemed that there were some specific problems. Audio for live TV was consistently getting out of sync with the video. I suspected that the hardware may be struggling to keep up with pushing the data around. Only 2GB of ram and using the original on-board video adapter might be an issue.

    I thought I’d try replacing one thing at a time, so swapped in a newer video card (borrowed from the desktop box). This seemed to solve the audio sync problem, so I went and purchased a separate card – an nVidia GeForce 630 card. Installing this was straight-forward, but then revealed a new problem. For some reason the video output from the nVidia card was too wide for our TV. Despite using HDMI and setting the screen to 1920x1080 (the same resolution as the onboard ATI video card was using), I couldn’t get it to shrink. Unfortunately our TV didn’t have any controls to change the size of the picture either.

    The next problem became evident later on. Almost every day the first time the Media Center PC was turned on I was greeted with a “This computer has unexpectedly restarted” message. Searching the event log revealed a consistent errors such as:

    • The computer has rebooted from a bugcheck. The bugcheck was: 0x0000009f (0x0000000000000003, 0xfffffa8001cc2880, 0xfffff80007108b30, 0xfffffa8007050360). A dump was saved in: C:\Windows\MEMORY.DMP. Report Id: 012813-315480-01.
    • Windows failed to resume from hibernate with error status 0xC0000001
    • The system firmware has changed the processor’s memory type range registers (MTRRs) across a sleep state transition (S4). This can result in reduced resume performance.

    Initially the errors related to ‘Sleep’ so I switched over to using Hibernate but as you can see that didn’t improve things.

    After enduring two weeks of this I decided enough was enough. After doing another backup (so that I could give Windows 8 another try when some of these issues might have been resolved), I dropped in the Windows 7 Recovery CD and restored back to Windows 7 (taking out the nVidia card at the same time).

    So while Windows 8 has been great for the other computers in the house, I think we’ll stick with Windows 7 Media Center for now.