July 2011

I started my blog back in December 2010 and it's still going strong. I've posted at least once post a month since then, so feel free to browse through the archives.

Task Management in Windows Phone Mango

At least one* of the 500 new features in Windows Phone Mango is the addition of the to-do items in the Calendar app.

The fact Exchange Tasks was not supported in Windows Phone 7 was a very sore point for a lot of users. Some even going as far as to say that the platform was not suitable for business at all until this was rectified.

It’s understandable for users to be upset. Task support has been in the Windows Mobile platform since forever, and users have come to expect it to be there. Currently the best solution is to buy a task application like the one by APPA Mundi which I use (and seems to be the best of the bunch) – but paying for something that many feel should be baked into the operating system leaves a bitter taste in the mouth.

The to-do list is included as part of the Calendar application in Windows Phone Mango – not a separate application. There is no support for folders or categories – which is somewhat annoying – and all tasks from each account is just shown in one list. But the synchronisation of the tasks is much more robust than is available in third party applications, and includes the handy features of being able to see tasks with a due date on the calendar (though  this doesn’t seem to show up on the tile) and the ability to have reminders pop up just like an alarm or calendar appointment.

As a ‘power user’ of tasks in Outlook, I’d much rather the this as a separate application in future versions of Windows Phone. I’d also like to see the ability to use organise tasks with folders and categories, and to be able to pin each of these to the start screen in a similar way to OneNote’s impressive implementation of tiles.

Until then, I’m probably going to end up using some combination of APPA Mundi tasks and the built in support.

* I’m unsure how they count a ‘feature’

Note Taking in Windows Phone Mango

One of the nice new features in OneNote for Windows Phone Mango is the ability to pin a ‘new note’ tile to the start screen. I absolutely love this feature, and I don’t remember reading about this anywhere else – so it was a bit of a surprise. When you tap on this tile you are taken to a brand new note inside your default OneNote location. For me this is synchronised with SkyDrive and is accessible from my any of my other computers. Very handy for capturing information when on the move.

Another new addition when it comes to pinning, is the ability to pin a whole OneNote notebook. Currently missing (in this build) is the ability to pin a OneNote section.

When you tap on the notebook tile you’re taken directly into the list of sections just as expected. Here you can make sure you have the latest changes from SkyDrive or pick your default location for new notes.

Once you are inside a section you can see the pages. Above you can see a few of my pages are actually nested. I don’t recall seeing the nesting like this on the previous version of Windows Phone – but it might have been there!

Once you’re actually editing a page you can now create to-do items which can be ticked off. This mirrors the functionality on the desktop version of OneNote. I’m pretty sure this feature was actually available in OneNote for the older Windows Mobile 6 operating system, so I don’t know why it wasn’t in the initial release of Windows Phone 7. I actually use these to-do widgets for simple project management, so I’m very pleased to have the feature back.

Finally, as in the previous version of Windows Phone, you can also pin a note itself directly on the start screen. All of the OneNote tiles now match the colour of the icon on the desktop version of the product, unlike the ‘Office orange’ that was used last time.

Using Hair Bands to Keep Things Tidy

Some of the more observant may have noticed that the cables in my last post were fairly tidy – and kept together by a black band.

The thing I use to keep stuff like this together is hair bands… bit of a strange thing to use – you may think – but I’ve tried using elastic bands (look horrid, feel horrid) and plastic tie wraps (permanent, big) and a few other potential solutions, but one day I decided to try using simple black hair bands from Superdrug and it worked really well.

I keep them tucked away inside a small mesh case by MUJI which is much more convenient than just wrapping them around each other like I used to do. By having a supply of them I always know that I can quickly tidy things away without having to think about it.

Thanks to the stretchy nature of hair bands, they can be used to keep all kinds of things organised such as cables, belts and accessories, small notebooks, and much more. Always keep in mind that they are not the strongest thing in the world, so do not try to stretch them out too much!

Keeping Mobile Charging Cables Organised

I love keeping things organised. In my opinion, the first things to focus on are those that you tend to use every day. Here’s one of my simple ‘life hacks’ for staying up and running while on the go.

As a user of technology (who isn’t?) I have a few mobile devices that tend to need charging fairly regularly and over the last couple of years I’ve managed to reduce the number of cables down to a minimum. Here’s how I’ve organised them into one container for easy use.

Shown above is the container for all my charging cables. It’s simply a mesh cube-shaped zip up bag which originally started its life as a toiletry gift set with a slightly adapted zipper.

Inside I have the following cables:

  • USB -> Mini USB
  • USB -> Micro USB
  • USB -> Nintendo DSi
  • USB -> Zune HD

In addition to this, I have an Amazon USB charging adapter which fits into UK power sockets, and an X-Mini portable speaker.

The benefits of having everything charge via USB are pretty obvious – the amount of space saved is huge and I don’t even need to plug anything into a wall socket if I’m close to a PC. The addition of the X-Mini speaker is simply because it’s awesome and it usually need power cables and the speaker at the same time.

This combination of cables brings simple charging and computer connectivity to most of the mobile devices I use, including my Kindle, Nintendo DSi, Zune, my telephone and pretty much everything except my MacBook and my Canon 7D.

It’s super handy to pick up when you’re about to be on the move, and I can definitely recommend setting yourself up with a simple charging kit like this if you use any more than one mobile device.

Querying TFS with TFPT.EXE and PowerShell

At Branded3 we use Team Foundation Server for source control, task managment, and various other tracking purposes. One of the benefits of this is being able to run queries with WIQL to pull off reports.

As is usually the case with me, I have set up a couple of PowerShell scripts that use TFPT.EXE from the Team Foundation Server Power Tools to make life a little simpler for myself…

Viewing Open WorkItems

$TFSSERVER   = "hq-tfs08-01.branded3.net"

Function Get-WorkItem
{
    $query = "SELECT [System.Id], [System.Title] FROM WorkItems " +
             "WHERE [System.AssignedTo] = 'Julian Kay' " +
             "AND [System.State] <> 'Closed' " +
             "AND [System.State] <> 'Resolved' " +
             "ORDER BY [System.Id]"

    tfpt query /collection:$TFSSERVER /wiql:$query /include:data
}

This little script gets a list of WorkItems which are not closed or resolved from TFS. I find this much faster than opening a copy of Visual Studio to find out which tasks I have assigned to me. True you could run this kind of script by using a batch file, but I like the fact I can use this in conjunction with the various Outlook scripts I use for PowerShell with simple one-liners like foreach ($workItem in Get-WorkItem) { Add-OutlookTask “$workItem” }

Getting Work Hours

Function Get-WorkItemHours
{
    $month = (Get-Date).ToString("MMMM")
    $year  = (Get-Date).Year
    $query = "SELECT [Completed Work] FROM WorkItems " +
             "WHERE [System.AssignedTo] = 'Julian Kay' " +
             "AND [Assigned Month] = '$month' " +
             "AND [Assigned Year] = '$year'"

    $hours = tfpt query /collection:$TFSSERVER /wiql:$query /include:data
    $total = 0.0
    foreach ($hour in $hours)
    {
       $total += $hour
    }
    $total
}

We also have custom fields which help us keep track of the hours we’ve spent on a project, and as shown above, we can even see how many hours have been spent in a month. By running this simple script I can be sure that all my time is correctly recorded to enable us to both bill correctly, and keep track of how long things really take.

Naturally, everyone has their own requirements for scripts like this, but PowerShell gives me the flexibility to create these simple utilities with very little development work.