Martin Hinshelwood (MrHinsh) on Visual Studio ALM

A Scottish software developer | SSW Solution Architect | Microsoft Visual Studio ALM MVP | Microsoft Visual Studio ALM Ranger | Scrum Developer Trainer
posts - 443, comments - 722, trackbacks - 57

My Links

News

Profile photo of Martin Hinshelwood Martin Hinshelwood on LinkedIn
Martin Hinshelwood on Twitter
Martin Hinshelwood on Facebook
Martin Hinshelwood on Messenger
Martin Hinshelwood on Feedburner

Martin is a Solution Architect at SSW, and also one of three Microsoft Visual Studio ALM MVP in the UK and has over 9 years experience in the software industry. Martin has recently joined the ranks of the Microsoft Visual Studio ALM Rangers deliver out of band solutions for missing features or guidance.

Microsoft Visual Studio ALM MVP

Martin speaks at DDD Scotland, one of the top events in the UK along with a number of User Groups across UK and Europe. And is excited to be presenting the Professional Scrum Developer course which he is one of only three qualified trainers in the UK.

Professional Scrum Developer Trainer Certified ScrumMaster

He aims to continue improve the engineering practices of development teams in the UK and Europe. He does this by migrating them to, and coaching them in the use of, Microsoft’s ALM offering in combination with Scrum. These offerings include Team Foundation Server (TFS) and Visual Studio.

Microsoft Certified Technical Specialist: Team Foundation Server  

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Locations of visitors to this page

Twitter












Tag Cloud

Article Categories

Archives

Post Categories

Image Galleries

Blogs I read

Blogs of Friends

Personal

Projects

VSTS

Thursday, September 02, 2010

Running Android 2.2 (Frodo) on your HD2

imageWhile my HD2 was away getting fixed I had to slum it using an Android phone from Vodafone. It was a small cheap Vodafone 845 running Android 2.1 and you know what… I loved it.

Don’t get me wrong… the phone was crap… but Android is good.

While I wait to get my hands on Windows Phone 7 I would rather use Android than Windows Mobile 6, but how can I do that without buying a new phone?



Running Android on your HD2 is not the easiest thing to wrap your head around. Basically you start Android from Windows, but it turns off Windows Mobile during the process. This means that you can start any version of Android, or even Ubuntu you want.

It is worth mentioning is that the entire OS runs from your SD card, which does impact battery life but the performance is very close to native.

I started by finding a version of Android that I liked on the  HD2 Android Development forum. I have been running FroyoStone Sense - V1 from darkstone for about 24 hours without a problem. While writing this post I noticed that they have just released v2, so I will be updating to that.

If you are going down this road then you are going to have to accept that there are some things that just do not work, and others that mostly work. However if you keep an eye on the forums you will see that they release updates quite regularly and more things work with every version.

SNAGHTMLa83b3e
Figure: Downloading may take some time unless you have a premium account

Once you have it downloaded you need to copy it to SD card. It is best to keep each version in its own folder so you can easily switch if you are not happy with the new one.

 SNAGHTML147d31d
Figure: Always keep the old version around until you are happy

I like to use the default “Android” folder as it causes me a lot less pain than trying to use a custom folder. If you are a more advanced user I am sure you could solve the problems, but I could not be bothered. I just want something that works…

Make sure you read the “readme” to get the latest information, but you can now just run the “CLRCAD.exe” and then the “haret.exe” applications. However I have found this to be problematic and I guess other have as well as there is now a little runner application for Windows Mobile.

Install Exceller Multiple Build Loader for Android/Ubuntu 2.1 on your windows mobile so you can choose the version you want. You can also use this application to Auto-Run the version of Android you want, which is nice.

image
Figure: I have added the Loader application to the home screen

There is really no requirement to do this, it just makes it quicker to launch after booting into Windows.

image
Figure: You need to tap to change the version of Android you want to load

You can see the Auto boot options at the bottom that allow you to just turn on your phone and have it ultimately running Android.

image
Figure: You can tap anywhere around the Android logo to run this version

Once you start Android you will have to wait for a while Smile and even longer if this is the first time you have booted that version. In fact it could take as long as 5-10 minutes on first boot, but you just need to wait. With this new v2 it creates a 1gb data file which takes a while and eats your battery. This is normal, and will only happen the first time you boot.

If you notice the message “failed to find rootfs.img on SD card” then you probably have an issue. Similarly if you notice that your phone has been “Booting” for over 30 minutes its probably configured incorrectly. If this is the case then you should retry and watch the boot sequence. You will see an “Error with XXX” or a “Could not access XXX” and just Google the exact message to find the problem. This is why I went back to using just the “Android” folder.

 Android4
Figure: Running Android on your HD2 is very nice on the 4.2” screen.

I really do like Android, and if Windows Phone 7 does not live up to its expectations this is probably the OS I will run. I had first exposure to it when my wife got her first Android (HTC Tattoo) and recently I used a Vodafone 845. These phones are small, but they still offer a far better experience than Windows Mobile 6.

Running Android on my HD2 is such a superior experience that Windows Phone 7 will need to be almost perfect beat it; I really hope it is…

Technorati Tags: ,,

posted @ Thursday, September 02, 2010 4:14 PM | Feedback (0) | Filed Under [ WM6 Android HD2 ]

Wednesday, August 25, 2010

Rangers shipped Visual Studio 2010 Database Guide

vs2010almRanger

Have you ever struggled with the Database Developer (was DataDude) components of Visual Studio? Well I have…and now the ALM Rangers have released a new guide to help us all get the benefits. There is Guidance as well as Hands-On-Labs and even how to do WIX integration for deployment.



The Visual Studio 2010 Database Guide is available to download from Codeplex and you should try it out and submit some feedback. Wondering what this is all about? Well…

Project Description

Practical guidance for Visual Studio 2010 Database projects, which is focused on 5 topic areas:

  • Solution and Project Management
  • Source Code Control and Configuration Management
  • Integrating External Changes with the Project System
  • Build and Deployment Automation with Visual Studio Database Projects
  • Database Testing and Deployment Verification

This release includes common guidance, usage scenarios, hands on labs, and lessons learned from real world engagements and the community discussions.
The goal is to deliver examples that can support you in real world scenarios, instead of an in-depth tour of the product features.

Visual Studio ALM Rangers

This guidance is created by the Visual Studio ALM Rangers, who have the mission to provide out of band solutions for missing features or guidance. This content was created with support from Microsoft Product Group, Microsoft Consulting Services, Microsoft Most Valued Professionals (MVPs) and technical specialists from technology communities around the globe, giving you a real-world view from the field, where the technology has been tested and used.
For more information on the Rangers please visit http://msdn.microsoft.com/en-us/vstudio/ee358786.aspx and for more a list of other Rangers projects please see http://msdn.microsoft.com/en-us/vstudio/ee358787.aspx.

What is in the package?

The content is packaged in 3 separate zip files to give you the choice of selective downloads, but the default download is the first of the listed packages:

  • Visual Studio Guidance for Database Projects --> Start here
  • Visual Studio Database Projects Hands-On-Labs document
  • Hands-On-Labs (HOLs), including:
    • Solution and Project Management
      • Refactoring a Visual Studio Database Solution to Leverage Shared Code
    • Source Code Control and Configuration Management
      • Single Team Branching Model
      • Multiple Team Branching Model
    • Integrating External Changes with the Project System
      • Maintaining Linked Servers in a Visual Studio Database Project
      • Complex data movement
    • Build and Deployment Automation
      • WiX-Integration with deployment of databases
      • The Integrate with Team Build Scenario
      • Building and deploying outside team build
    • Database Testing and Deployment Verification
      • The “Basic” Create Unit Test Scenario
      • The “Advanced” Create Unit Test Scenario
      • Find Model drifts Scenario

Team

Obviously this type of work would not be possible without many people contributing their free time to make it happen.

  • Contributors: Shishir Abhyanker (MSFT), Chris Burrows (MSFT), David V Corbin (MVP), Ryan Frazier (MSFT), Larry Guger (MVP), Barclay Hill (MSFT), Bob Leithiser (MSFT), Pablo Rincon (MSFT), Scott Sharpe (MSFT), Jens K. Süßmeyer (MSFT), LeRoy Tuttle (MSFT)
  • Reviewers: Christian Bitter (MSFT), Regis Gimenis (MSFT), Rob Jarrat (MSFT), Bijan Javidi (MSFT), Mathias Olausson (MVP), Willy-Peter Schaub (MSFT)

posted @ Wednesday, August 25, 2010 2:04 PM | Feedback (1) |

Sunday, August 15, 2010

Commit to Visual Studio ALM on Area51

image

A few weeks ago I proposed a new community for StackExchange and it has been growing at an exponential rate. We are about half way there, but we need your help to make this community a success.

 


Monday 16th August 2010 – Commit to Visual Studio ALM on Area51

If you are not familiar with StackExchange, it has a community driven voting system for creating new sites like Stack Overflow.

Thanks everyone for your efforts and excellent questions. Although we suffered a little from question overload at the Proposal stage I think this is a good omen for the future beta.

clip_image002

We are now in the Commitment stage and need a score of 2000 user points (which gets us to 100%) to proceed to the Beta. This is apparently calculated based on a user’s reputation:

To get a feel for it:

  • A user with no reputation gets a score of 1
  • A user with 200 reputation on 1 site gets a score of 1.7
  • A user with 200 reputation on 3 sites gets a score of 3.1
  • A user with 10000 reputation on 1 site gets a score of 7.2
  • A user with 10000 reputation on 3 sites gets a score of 19.6 (these are extremely rare)
    Source http://meta.stackoverflow.com/questions/53650/area-51-commit-percent

So if you are interested in Visual Studio ALM or any of its features, be sure to Commit and send this to anyone you know who might be interested.

Commit to Visual Studio ALM

Friday 13th August 2010 – Vote for Visual Studio ALM on Area51

Visual Studio ALM StackExchange Proposal

We have now reached 1 of the three milestones required to get the site to the “commit” stage.

image
Figure: We have enough followers but not enough votes

We now have question overload and need to concentrate on getting those top 5 On Topic and 5 Off Topic questions to have 20 votes each.

Top 5 On-Topic
  • What’s a backup and recovery process for Team Foundation Server 2010?
  • How can I automatically version my assemblies in TFS Build 2010?
  • How can I sync two Team Foundation Servers?
  • How do I do branching if I want to be able to create hotfixes?
  • Default value: Are they assigned only when a work item is created?
Top 5 Off-Topic
  • Do I need to purchase additional Client access Licenses for TFS 2010?
  • How do I migrate my TFS content to Visual SourceSafe?
  • What and who are the ALM Rangers and what role do they play within Microsoft?
  • How do you install Visual Studio 2003?
  • How do I debug my WPF application?

If everyone can concentrate their votes in at least the current top 10 we should have enough! If you currently have a vote on a question with fewer than 10 votes it may be worth removing it and adding it to one of the questions higher up.

Visual Studio ALM StackExchange Proposal
You have 5 on-topic and 5 off-topic votes to cast.

posted @ Sunday, August 15, 2010 11:10 AM | Feedback (1) |

Wednesday, July 07, 2010

Active Directory Groups not Syncing with Team Foundation Server 2010

For a little while now I had been investigating an odd occurrence in Team Foundation Server. Users added to Active Directory groups have not been filtering back into the Team Foundation Server groups cache. The meant that we had to add users directly to Team Foundation Server in order to give them permission. While this was not ideal, it did not really inconvenience us that much, but we are now trying to streamline our security and need it fixed.


 

Updated 27th July 2010 – SOLUTION - Craig Harry spoke to a couple of the product team guys for both TFS and Active Directory and they came up with a temporary solution.


Although we do not have a high turnover of core staff, we take on a lot of developers for Work Experience and we now have three guys in the root Project Collection Administrators when we already have an Active Directory group the are in added at this level.

clip_image002

Figure: These are all work experience, and are in the AD group, but don’t show in the AD group SSW2000\Developers on the TFS server

Snapshots from the SSW2000\Developers groups (as records on the TFS server)

clip_image004

clip_image006

clip_image008

Figure: TFS does not show these guys even though they are in AD

Now, don’t get me started as to why all developers get Project Collection Admin! It better than in TFS 2008 when they all have Server admin, but we have not yet tackled the security model update that we need. We have over 170 Team Projects and I have not yet had the time to go through and add them all in. Yes I know I could build a tool for that, but again, I have not yet had the time.

The first thing to look at is the Event Log, but as you can see there are rather a lot of entries, over 13000 of them so applying a filter to just the TFS events is a good idea.

image
Figure: Check the event log for common errors

You can see the hourly “TFS Services” errors, and in fact they reoccur every 24 hours. If you check the 3071 error you will see that the core error is TF53010 that is caused by a timeout in the “Team Foundation Server Identity Synchronization job”.

The description for Event ID 3071 from source TFS Services cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 7/07/2010 1:38:49 PM
Machine: BASALISK
Application Domain: TfsJobAgent.exe
Assembly: Microsoft.TeamFoundation.Framework.Server, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Service Host: fba54aae-87d6-47bf-a192-0e58693b9ade (TEAM FOUNDATION)
Process Details:
  Process Name: TFSJobAgent
  Process Id: 7976
  Thread Id: 9136
  Account name: NT AUTHORITY\NETWORK SERVICE

Detailed Message: The Team Foundation Server Identity Synchronization job has timed out. Please restart the job service.

the message resource is present but the message is not found in the string/message table
-Event Log entry from TFS Server

The next thing you want to look for is the job definition. Is it there and is it configured correctly. To do this you need to run some SQL on your TFS server. Please remember that you loose support if you make changes to the data without the aid of MSFT Support. Note that I am not doing this alone, Mr Craig Harry MSFT has my back on this one.

USING tfs_Configuration 
SELECT TOP 1000 *  
FROM [Tfs_Configuration].[dbo].[tbl_JobDefinition] 
WHERE JobId='544DD581-F72A-45A9-8DE0-8CD3A5F29DFE'

You will likely get the following single entry returned by SQL Server.

JobId: 544DD581-F72A-45A9-8DE0-8CD3A5F29DFE
JobName: Team Foundation Server Periodic Identity Synchronization
ExtensionName: Microsoft.TeamFoundation.JobService.Extensions.Core.IdentitySyncJobExtension
Data: NULL
EnabledState: 0
Flags:  0
LastExecutionTime: NULL

Figure: Job Definition returned from SQL for the AD Sync job

Looks OK to me, and as I understand it is normal for the LastExecution to be NULL.

The next thing to check is the history for the Job runs.

USING tfs_Configuration 
SELECT TOP 1000 *
FROM [Tfs_Configuration].[dbo].[tbl_JobHistory] 
WHERE JobId='544DD581-F72A-45A9-8DE0-8CD3A5F29DFE'

You will hopefully not get the same result as me:

HistoryId: 519100   
JobSource: FBA54AAE-87D6-47BF-A192-0E58693B9ADE
JobId: 544DD581-F72A-45A9-8DE0-8CD3A5F29DFE
QueueTime: 2010-04-21 01:00:00.000   
StartTime: 2010-04-21 01:00:00.597   
EndTime: 2010-07-02 16:34:13.653   
AgentId: 5D5939AB-4F76-4BDC-A518-FC09EC352152   
Result: 7
ResultMessage: NULL
QueuedReasons: 1
QueueFlags: 0

Figure: Data from the Job History table shows something interesting

Because of the timeout in the error message above the TFS Job Agent has marked the job as “Inactive” with a 7 above.

So, how do we figure out what can we do to try and identify where the problem is. Well its time to enable the built in tracing functionality and look at what is going on and where the error is occurring.

The job agent is located in “C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\TFSJobAgent” and you need to edit the “TfsJobAgent.exe.config” file to enable the trace. This file is stored in a location that needs admin access to the folders, so start notepad in Administrator mode and find the trace section and uncomment the Listners.

<trace autoflush="false" indentsize="4">
  <!--To enable tracing to file, simply uncomment listeners section and set trace switch(es) below.
      Directory specified for TextWriterTraceListener output must exist, and job agent service account must have write permissions. -->
  <!--<listeners>
    <add name="myListener" 
      type="System.Diagnostics.TextWriterTraceListener" 
      initializeData="C:\temp\jobagent.log" />
    <remove name="Default" />
  </listeners>-->
</trace>

You can see on lines 4 and 9 there is the standard XML/HTML comments and you just need to remove them and set the “initializeData” attribute to a location that you can write to; this is usually “c:\temp”.

Once you have that there is one more thing to do. Usually traces are broken up into categories and we want to enable verbose tracing on at least the “General”, “API” and “Authentication” switches.

<switches>
  <!--  Trace Switches
        Each of the trace switches should be set to a value between 0 and 4, inclusive.
          0: No trace output
          1-4: Increasing levels of trace output; see Systems.Diagnostics.TraceLevel-->
  <add name="API" value="0" />
  <add name="Authentication" value="0" />
  <add name="Authorization" value="0" />
  <add name="Database" value="0" />
  <add name="General" value="0" />
  <add name="traceLevel" value="0" />
</switches> 

Set the “value” attribute to a 4 for “Verbose” for those switches and save the file.

After examining the logs Mr Harry sent me a little bit of code to run on the server… Rather innocuous looking in its terseness, but it helped isolate the issue.

using System;
using System.Collections.Generic;
using System.DirectoryServices;
using System.Linq;
using System.Text;

namespace ReadLocal
{
    class Program
    {
        static void Main(string[] args)
        {
            using (DirectoryEntry de = new DirectoryEntry())
            {
                de.Path = string.Concat("WinNT://./Administrators");
                Console.WriteLine(de.SchemaClassName);
                de.Path = string.Concat("WinNT://BUILTIN/Administrators");
                Console.WriteLine(de.SchemaClassName);
            }
        }
    }
}

This code have been running on the TFS server for nearly an hour with no sign of returning. The code is trying to resolve accounts against the local machine so as not to have to call out to Active Directory and make things a little faster. I am amazed that Craig was able to diagnose this over IM (Yes the code came through IM as well) and all credit should be sent in his direction.

This is an edge case code problem on our domain and the TFS product team is going to have to speak to the Active Directory guys and see if it is a domain setting change or a hotfix that is needed.

Craig spoke to the relevant guys and it seams that although they will be fixing the code and releasing a hotfix, there is a work around for the problem.

If you remove the “BUILTIN\Administrators” group from the “Team Foundation Administrators” group the code takes a different path and does not encounter the hang.

image
Figure: Open “Team Foundation Server Administration Console | Application Tier | Group Membership | [TEAM FOUNDATION]\Team Foundation Administrators” and remove the “BUILTIN\Administrators” group.

I then restarted the “Team Foundation Server Job Agent” service and after a few minutes the problem above had resolved itself correctly.

 

Technorati Tags: ,

posted @ Wednesday, July 07, 2010 11:02 PM | Feedback (3) |

TFS Event Handler for Team Foundation Server 2010

I am looking at re-working the TFS Event Handler and I was hoping that you would help me decide what handlers to build!

[Request an event handler]

The original Event Handler sends emails when:

  • A work item is assigned to you
  • A work item that is assigned to you is reassigned to someone else
  • A work item that you created is assigned to someone else.

The TFS Event Handler that I built for Team Foundation Server 2005 and Team Foundation Server 2008 used a service subscription to then handle events in a separate service host. This posed its own problems of writing the wrapper, API and host for the handlers. Well, now the Team Foundation Server team have stepped up and created their own.

The new TFS Event Handler will use these new Server Event Sinks to process the events more efficiently and quickly, but there is also the option to handle certain decision points on the server. This opens the window for Server Side check-in policies as well as a whole host of other options. These events should run more efficiently and benefit from the entire TFS Object Model that was extremely inefficient to load in the old Event Handlers.

There are lots of new integration points so I have listed all of the events here so you can get an idea what can be achieved.

[Request an event handler]

Version Control Decision Notification
CheckinNotification Has this feature Has this feature
PendChangesNotification Has this feature Does not have this feature
UndoPendingChangesNotification Has this feature Has this feature
ShelvesetNotification Has this feature Has this feature
WorkspaceNotification Has this feature Has this feature
LabelNotification Does not have this feature Has this feature
CodeChurnCompletedNotification Does not have this feature Has this feature

Figure: Version Control events

Build Decision Notification
BuildCompletionNotificationEvent Does not have this feature Has this feature
BuildQualityChangedNotificationEvent Does not have this feature Has this feature

Figure: Work Item Tracking events

Work Item Tracking Decision  
WorkItemChangedEvent Does not have this feature Has this feature
WorkItemMetadataChangedNotification Does not have this feature Has this featureminimal
WorkItemsDestroyedNotification Does not have this feature Has this featureminimal

Figure: Team Build Events

Test Management Decision Notification
TestSuiteChangedNotification Does not have this feature Has this feature
TestRunChangedNotification Does not have this feature Has this feature
TestPlanChangedNotification Does not have this feature Has this feature
TestCaseResultChangedNotification Does not have this feature Has this feature
TestPointChangedNotification Does not have this feature Has this feature
TestRunCoverageUpdatedNotification Does not have this feature Has this feature
BuildCoverageUpdatedNotification Does not have this feature Has this feature
TestConfigurationChangedNotification Does not have this feature Has this feature

Figure: Test Manager Events

Framework Decision Notification
StructureChangedNotification Does not have this feature Has this feature
AuthorizationChangedNotification Does not have this feature Has this feature
IdentityChangedNotification Does not have this feature Has this feature
SecurityChangedNotification Has this feature Has this feature
SendEmailNotification Has this feature Does not have this feature
HostReadyEvent Does not have this feature Has this feature

Figure: Framework Events

I will do a series of blog posts as I build the handlers so you can build your own, but I wanted to get the most common cases pre-built and ready to go. I know that emailing an assignment is a good one to start with, but what else do you see on the cards?

The Email handlers would not work so well in the Scrum environment, but what would?

[Request an event handler]

Technorati Tags: ,,

posted @ Wednesday, July 07, 2010 11:20 AM | Feedback (3) |

The search for a single point of truth

imageIt may be a trivial matter to get your contacts on your phone, but if you do the social network thing, then you need to do a little jiggery pokery to get everything to sync so you have the same contacts everywhere. Over the last couple of weeks I have vowed to get them sorted.

 

[Updated 7th July 2010] – I found a client that works with Outlook 2010 http://sourceforge.net/projects/syncmldotnet/ 


 

What we want is a “single point of truth” that will suck all of our contacts in and try and make sure that we have no duplicates.

SNAGHTML2e12b72

Figure: Target model of a single point of truth

Before today I was a premium Plaxo user, but I have been steadily disenfranchised by their increase in social networking features and decrees in effort on the core Contact Sync features. I used to be able to sync my LinkedIn, Live Contacts, Google contacts and more. They provided a basic Windows Mobile application and a decent outlook client. If you are also a Plaxo user you will have seen a steady move from Sync points to Imports, which in my opinion sucks. It also does not sync pictures.

I have over 1700 contacts built up over a long time. Yes, some of them are crap, but it is very difficult to get rid of the crap in favour of the good stuff. Today I went looking for a solution.

I tried lots of local apps:

  • OutSync – Invaluable for importing your Facebook pictures
  • androgyny – Good Facebook app for getting the pictures into Google, but lacks stability.
  • GO Contact Sync – Sucks... could not get it to work with Outlook 2010
  • Xobni – No sync capability as it is just an overlay (to lock you in)

This is all well and good for Facebook, but what about LinkedIn or Live? I want all my contacts and pictures to be the same on all of my sites that “stores” contacts. So no Sync with LinkedIn or Facebook, but it should pull the valuable updates to details and pictures.

I tried re-doing Plaxo, but no luck. I used uber-google-fu to find very little and the I stumbled across some sites. But first lets look at what I want to sync. In an ideal world I want to be able to sync everything.

  • Outlook
  • Google Contacts
  • Google Calander
  • Facebook (One way)
  • LinkedIn (One way)
  • Windows Live Contacts
  • Yahoo Contacts
  • Twitter (Not sure how this would work)
  • Windows Mobile
  • Android
  • Plaxo
  • Soocial
  • SheduleWorld
  • UNYK
  • Vodafone 360

You may be thinking, why the hell do you have so many services. Well, I have been on the internet a number of years and I have contacts and links and settings on services that I  have moved away from, but me contacts have not. I even still pull email from my old cable & wireless email account that I had pre 2000. Why, because people may only have my old email address and try to contact me. You know, old friends and family who are incapable of updating their contacts.

Its the same reason that I have had the same mobile phone number for 12 years and landline number for just as long even though I have moved house, district and providers. I like to be consistent.

Its not hard to do, it just takes a little effort, and I can’t understand why I get a new mobile number from some people every year when they change mobile.

What is that all about?

Lets look at a couple of the “sync your contacts” services.

Plaxo – http://plaxo.com

imageI used to consider this the best, but it seems to have gone backwards in features and is no longer useful as a single point of truth.

Used to sync with Google, Live and Facebook… now? Nothing…

Its still good for keeping the contacts you do have in there updated, and it is worth checking periodically if people have joined as you will get updated details automatically.

SNAGHTML278f1ba

Figure: Plaxo

Syncing with Plaxo is a must…

Soocial - http://www.soocial.com/

imageSoocial provides good but limited functionality for syncing. After checking the feature requests and when they were requested there seems to be very little development going on. It has by far the nicest UI, but what use is a nice UI with no features.

SNAGHTML27b1e17
Figure: Soocial

So what does it sync with?

image
Figure: Soocial syncs with a few, Yahoo, Gmail and Live

This was the first service I tried after Plaxo, and with 1700 contacts I had to pay to prove that it was no use for me. Sucks, but true.

But where is Facebook? Well, I went looking and found a support thread that stated that they would have the feature within they next couple of months. Hmmm, dated 12 months ago… not good. I checked other threads and found a similar story.

If you are going to provide Sync you have to sync everything and do it well…

Memotoo - http://www.memotoo.com/

imageMemotoo has an initially unfriendly user interface, but boy do the features make up for it. Not only that but I reported 3 bugs and asked for 1 new feature and had them all implemented in under 24 hours. Its stable and fast as well.

SNAGHTML275a292
Figure: Memotoo

This is the only service that can act as the core of any single source of truth due to it breadth of connections.

image
Figure: Could you imagine more connections?

Well I can imagine more connection Smile But did you see the “Synchronize a SynML server”?

You would be surprised by how many services use SyncML. I was.

I remember reading an article in the mid naugties that talked about community sites. If you were building them, you just had to provide a method of getting peoples connection in and out in an easy standard manor. SyncML has grown to be this solution and there are some open source SyncML solutions out there. So there is no excuses for not using them.

image
Figure: Built in SyncML settings

Memotoo will let you add any other SyncML server that you want with a nifty form to setup the connections, but clicking the icon for your favourite service above will fill out the form for you, phew.

image
Figure: Set up any SyncML settings you like.

Memotoo is only £12 for a year, so it is not even that costly. It will even do files, calendar, email, tasks and notes.

Another nice thing that Memotoo does is to allow custom types and it matches your contacts on that basis. There is a field for the Facebook URL and one for LinkedIn. This allows the background sync system to know that it should match your “one way” syncs to there particular contacts. Most of the other services will probably do this behind the scenes, but you cant configure it, nor identify which contact is which without it.

When adding a contact you have the usual Home and Work details, but the real magic happens on the “Other” tab.

image
Figure: Built-in and added fields

If you have the MSN ID fields filled out that will make sure you don’t get duplicates from you Live Messenger contacts, I assume that it is the same for AIM ID. In the configured fields at the bottom it matches and updated information and pictures from Facebook and LinkedIn buy using the profile URL.

image
Figure: Custom field definitions

I had added my own twitter field and then emailed Thomas (The genius behind Memotoo) and within 6 hours not only had he added it as a standard, but he has written a basic Twitter sync point.

So if you use an obscure profile service, or even want to add the profile of your internal corporate intranet you can…

image

The only problem I have is that Office 2010 is not currently supported by the Funambol Sync software that Memotoo recommends.

[Updated 7th July 2010]

I have found a SyncML client that does support Outlook 2010, and it is even written in .NET

image
Figure: SyncML.NET client will not win a beauty pageant

http://sourceforge.net/projects/syncmldotnet/ 

Putting it all together

In order to get this to work, you are going to get duplicates that you are going to have to deal with. If like me you have gazillions of contacts you could end up with lots of duplicates. In fact I ended up with over 1200 duplicate matches, but once I had merged the ones I really cared about and deleted the rest of the duplicates it all fell in to place.

SNAGHTML127a069

Figure: MrHinsh’s Single point of truth – [Updated 7th July 2010]

You will occasionally get duplicates over time, but sorting them often will keep them at bay. This pretty much covers all of your bases and I am sure that any new services will be added by Thomas (Mr Memotoo) very quickly.

I am very happy with my contact syncing setup Smile

 

 

Technorati Tags: ,,

posted @ Wednesday, July 07, 2010 12:44 AM | Feedback (2) |

Monday, July 05, 2010

Changing the Team Project Collection of the Team Build Controller

BuildIcon_Large

When you are doing demos or training for Team Foundation Server 2010 (TFS 2010) you may have multiple Team Project Collections (TPC) for different scenarios or process templates. You may even be attaching a pre-built TPC image so you can start from a particular point. If you try to do create a build you will find that it complains about there not being a Team Build Controller (TBC).

 

 


One thing you learn very quickly when working with TFS 2010 is that you can only attach ONE Team Build Controller to ONE Team Project Collection. This one-one relationship can cause issues if you have many Team Project Collections because there can only be one Team Project Collection configured per server.


Figure: Two Team Project Collections

This means that if you have 2 Team Project Collection you will need two serve to manage the builds. It can be the same server as your build server, but that depends on your throughput and load.

In the presentation scenario you will need to reconfigure your Team Build Controller on the fly. But how do you do this.

If you open the Team Foundation Server Administration Console you will see a “Build Configuration” node. If you select this it will show all of the configuration options for your build server on that box.


image
Figure: Team Build Configuration screen shows the Controller and any Agents running on that server


In this case this is our TFS server and we only have the Build Controller running with no Agent. We run all of the agents on another box as it takes lots of processor to do a build and we don’t want that impacting our TFS server.

In order to make the change, we need to alter the options not on the Controller instance itself, but on the Build Service Instance.


image
Figure: Change the options on the service instance

Select the “Properties” option on the Build service and then stop the service to make the changes.

image
Figure: The Build Service Properties are only available when the service is stopped

 

image
Figure: Select any server and then Project Collection you want to bind to


You need to select the server and then the Team Project Collection that you want to bind to. In fact you could have this Build Service bind to any Team Foundation Server even if the current server hosts TFS. I don’t know why you would want to, but it is possible.

Now that you have the Build Service configured to work against your new Team Project Collection the Build Controller and any Build Agents configured under it will now work for that collection.

You can now go forth and create builds…

 

Technorati Tags: ,,

posted @ Monday, July 05, 2010 4:57 PM | Feedback (0) |

Friday, July 02, 2010

SSW Brain Quest: Team Foundation Server and SharePoint 2010 (London)

thumb_SharePoint_and_TFS_2010If you are unable to commit to the 5 day Professional Scrum Developer course we are holding in London, Adam Cogan is running his famous Brain Quest 1 day session on Wednesday 21st July.

This full day training course brings developers up-to-speed on the new features and benefits of Visual Studio 2010 Ultimate, Team Foundation Server 2010 and SharePoint 2010. With detailed insight into project management, requirements gathering, user stories, testing, workflow, document management and Office integration, attendees will leave with a strong understanding of how to embrace TFS 2010 and SharePoint 2010 in their organization.



This course is split into two parts and you can attend one (£61.08) or both (£105.51). Sorry for the crazy prices, but you know these Aussies…

These two sessions are fantastic and for the price I think you will find it difficult to argue that it is over priced.

image

Here is a break down of the SSW Brain Quest: Team Foundation Server and SharePoint 2010 and agenda for the day.

Session 1: Team Foundation Server 2010

Team Foundation Server 2010 (TFS) for Successful Project Management

Visual Studio Ultimate (formerly Visual Studio Team System (VSTS)) and Team Foundation Server (TFS) are the cornerstones of development on the Microsoft .NET platform. These are the best tools for a project manager to have successful projects and for the developers to have a focused and smooth software development process.

Come and see Adam Cogan, Microsoft Regional Director, Visual Studio Team System Champ and Chief Architect from SSW show you:

  • How to successfully gather requirements with User stories
  • The right way to use work items
  • The way to complete a work items and send a 'done'
  • How to use templates for your standard work items
  • The extra work items that developers always forget
  • What is good and bad about Excel and Project integration
  • What you can use from the built in reporting as well as the Project portals available from the SharePoint dashboard
  • The important reports to give your Project Manager

Walk away knowing how to see your project health and progress. Visual Studio Ultimate is designed to help address many of these traditional problems faced by project managers. It does so by providing a set of integrated tools to help teams improve their software development activities and to help project managers better support the software development processes.

During this session we will cover the lifecycle of creating work items and tracking of releases using Visual Studio Ultimate and Team Foundation Server.

Visual Studio 2010 Team System - An Overview

Microsoft Visual Studio 2010 Team System is an integrated software development platform to build the mission-critical applications that businesses depend on. It extends Visual Studio's integrated and productive experience from the developer to the entire development team by delivering powerful new role-based tools for software architects, developers, testers and project managers. In this session you will see an overview of these tools and how they can improve your software development cycle.

Visual Studio 2010 Testing with Team Foundation Server (TFS) 2010 - the life of a bug

Visual Studio 2010 makes up a large part of a .Net developers life. This session will delve into the 'life of a bug' by taking a walk in the shoes of an everyday bug from discovery to release (and the steps that make up the in between). Come along and check out the new features that will make you happier by making your code better, your job easier, and your team more productive by reducing the obstacles you face in your everyday coding life. Learn:

  • What the new features for testers and developers
  • How you now care - even if the tester can't reproduce the bug
  • How to stop struggling to find the source of the bug in your code
  • How can you streamline the testing process and make sure you don't repeat the same bugs
  • How to automate more and reproduce bugs easier and discover problems sooner.

Session 2: SharePoint 2010

What's new in SharePoint 2010

In this session Adam Cogan will provide information about what is new in SharePoint 2010 and his personal favourites. The SharePoint Team has invested in many including:

  • UX support for Silverlight and Ajax
  • Their Web Content Management System
  • Digital Asset Management System (for videos)
  • Visual Studio 2010 tools for SharePoint 2010
  • Developer Platform
  • Office 2010 integration
  • RESTful Web API
  • Tagging and Rating

Lets see what's good and what's not.

Something About Mary (SharePoint and Office 2010)

Come see Adam Cogan explain what works well with SharePoint and Office for Mary and the other knowledge workers.

First you will get an overview of what is great about having SharePoint in your business. Then see real world examples of:

  • Using SharePoint 2010 and Office 2010 together
  • Where it fits with other important Microsoft products like CRM 4 and TFS
  • Examples of how Word and Excel can be integrated into business processes (separate from SharePoint)
  • Examples of how Word, Excel, PowerPoint can be combined with SharePoint to improve visibility/searchability/versioning across the company
  • Overview of how data can be synchronized between SharePoint and external data sources (eg using Access and Excel)
  • Overview of what 'workflow' (really!) means
  • How Office can be incorporated into company workflows with SharePoint
  • Extending SharePoint with Office SharePoint Designer 2010 (free!)
  • Where VBA and VSTO fit in terms of how solutions can be developed
  • Examples of other interesting Office/SharePoint integrations (eg the the Atlassian SharePoint Connector and Atlassian Office Connector)

This is a good chance for you to consider new ways of using Office in your company, along with pitfalls to avoid. Adam gets excited about this session because too often companies limit Office to just an email application, word processor and spreadsheet - completely missing the positive impact it can have on the entire business process.

Agenda

Session 1: Team Foundation Server

9:00am – 1pm  with a 15 minute break

Session 2: SharePoint 2010

2:00pm - 6:00pm  with a 15 minute break.

 

image[7]

posted @ Friday, July 02, 2010 11:05 AM | Feedback (0) |

Friday, June 18, 2010

Professional Scrum Developer (.NET) Training in London

SSWLogoOn the 26th - 30th July in Microsoft’s offices in London Adam Cogan from SSW will be presenting the first Professional Scrum Developer course in the UK. I will be teaching this course along side Adam and it is a fantastic experience. You are split into teams and go head-to-head to deliver units of potentially shippable work in four two hour sprints.


Update 18th June 2010 – SSW Is offering a massive 50% discount to make this 5 day course only £1,168 but I have been told that this depends on availability so it may go back up.

Update 05th July 2010 – One lucky attendee will be getting a copy of MSDN Ultimate.


ProfessionalScrumDeveloper_200px[3]

The Professional Scrum Developer course is the only course endorsed by both Microsoft and Ken Schwaber and they have worked together very effectively in brining this course to fruition. This course is the brain child of Richard Hundhausen, a Microsoft Regional Director, and both Adam and I attending the Trainer Prep in Sydney when he was there earlier this year. He is a fantastic trainer and no matter where you do this course you can be safe in the knowledge that he has trained and vetted all of the teachers. A tools version of Ken if you will Wink


LondonCallToAction[1]

If you are outside the UK you can find out where this course is being run near you. Make sure you have a look at the scrum guide from Scrum.org and the syllabus from Accentient.

With the launch of Visual Studio 2010 in April we have been furnished with a copy of MSDN Ultimate that will be given to the PSD that gets the highest score on the PSD Smile Now there is an incentive to do well…


What is the Professional Scrum Developer course all about?

imageProfessional Scrum Developer course is a unique and intensive five-day experience for software developers. The course guides teams on how to turn product requirements into potentially shippable increments of software using the Scrum framework, Visual Studio 2010, and modern software engineering practices. Attendees will work in self-organizing, self-managing teams using a common instance of Team Foundation Server 2010.

Figure: Sam and Ken discuss the PSD Course

Who should attend this course?

This course is suitable for any member of a software development team – architect, programmer, database developer, tester, etc. Entire teams are encouraged to attend and experience the course together, but individuals are welcome too.

Attendees will self-organize to form cross-functional Scrum teams. These teams require an aggregate of skills specific to the selected case study. Please see the last page of this document for specific details.

Product Owners, ScrumMasters, and other stakeholders are welcome too, but keep in mind that everyone who attends will be expected to commit to work and pull their weight on a Scrum team.

What should you know by the end of the course?

Scrum will be experienced through a combination of lecture, demonstration, discussion, and hands-on exercises. Attendees will learn how to do Scrum correctly while being coached and critiqued by the instructor, in the following topic areas:

  • Form effective teams
  • Explore and understand legacy “Brownfield” architecture
  • Define quality attributes, acceptance criteria, and “done”
  • Create automated builds
  • How to handle software hotfixes
  • Verify that bugs are identified and eliminated
  • Plan releases and sprints
  • Estimate product backlog items
  • Create and manage a sprint backlog
  • Hold an effective sprint review
  • Improve your process by using retrospectives
  • Use emergent architecture to avoid technical debt
  • Use Test Driven Development as a design tool
  • Setup and leverage continuous integration
  • Use Test Impact Analysis to decrease testing times
  • Manage SQL Server development in an Agile way
  • Use .NET and T-SQL refactoring effectively
  • Build, deploy, and test SQL Server databases
  • Create and manage test plans and cases
  • Create, run, record, and play back manual tests
  • Setup a branching strategy and branch code
  • Write more maintainable code
  • Identify and eliminate people and process dysfunctions
  • Inspect and improve your team’s software development process

What does the week look like?

This course is a mix of lecture, demonstration, group discussion, simulation, and hands-on software development. The bulk of the course will be spent working as a team on a case study application delivering increments of new functionality in mini-sprints. Here is the week at a glance:

image

Monday morning and most of the day Friday will be spent with the computers powered off, so you can focus on sharpening your game of Scrum and avoiding the common pitfalls when implementing it.

The Sprints

Timeboxing is a critical concept in Scrum as well as in this course. We expect each team and student to understand and obey all of the timeboxes. The timebox duration will always be clearly displayed during each activity. Expect the instructor to enforce it.

Each of the ½ day sprints will roughly follow this schedule:

Component

Description

Minutes

Instruction

Presentation and demonstration of new and relevant tools & practices

60

Sprint planning meeting

Product owner presents backlog; each team commits to delivering functionality

10

Sprint planning meeting

Each team determines how to build the functionality

10

The Sprint

The team self-organizes and self-manages to complete their tasks

120

Sprint Review meeting

Each team will present their increment of functionality to the other teams

≤ 30

Sprint Retrospective

A group retrospective meeting will be held to inspect and adapt

10

Each team is expected to self-organize and manage their own work during the sprint. Pairing is highly encouraged. The instructor/product owner will be available if there are questions or impediments, but will be hands-off by default. You should be prepared to communicate and work with your team members in order to achieve your sprint goal. If you have development-related questions or get stuck, your partner or team should be your first level of support.

Module 1: INTRODUCTION

This module provides a chance for the attendees to get to know the instructors as well as each other. The Professional Scrum Developer program, as well as the day by day agenda, will be explained. Finally, the Scrum team will be selected and assembled so that the forming, storming, norming, and performing can begin.

  • Trainer and student introductions
  • Professional Scrum Developer program
  • Agenda
  • Logistics
  • Team formation
  • Retrospective

Module 2: SCRUMDAMENTALS

This module provides a level-setting understanding of the Scrum framework including the roles, timeboxes, and artifacts. The team will then experience Scrum firsthand by simulating a multi-day sprint of product development, including planning, review, and retrospective meetings.

  • Scrum overview
  • Scrum roles
  • Scrum timeboxes (ceremonies)
  • Scrum artifacts
  • Simulation
  • Retrospective

It’s required that you read Ken Schwaber’s Scrum Guide in preparation for this module and course.

MODULE 3: IMPLEMENTING SCRUM IN VISUAL STUDIO 2010

This module demonstrates how to implement Scrum in Visual Studio 2010 using a Scrum process template*. The team will learn the mapping between the Scrum concepts and how they are implemented in the tool. After connecting to the shared Team Foundation Server, the team members will then return to the simulation – this time using Visual Studio to manage their product development.

  • Mapping Scrum to Visual Studio 2010
  • User Story work items
  • Task work items
  • Bug work items
  • Demonstration
  • Simulation
  • Retrospective

Module 4: THE CASE STUDY

In this module the team is introduced to their problem domain for the week. A kickoff meeting by the Product Owner (the instructor) will set the stage for the why and what that will take during the upcoming sprints. The team will then define the quality attributes of the project and their definition of “done.” The legacy application code will be downloaded, built, and explored, so that any bugs can be discovered and reported.

  • Introduction to the case study
  • Download the source code, build, and explore the application
  • Define the quality attributes for the project
  • Define “done”
  • How to file effective bugs in Visual Studio 2010
  • Retrospective

Module 5: HOTFIX

This module drops the team directly into a Brownfield (legacy) experience by forcing them to analyze the existing application’s architecture and code in order to locate and fix the Product Owner’s high-priority bug(s). The team will learn best practices around finding, testing, fixing, validating, and closing a bug.

  • How to use Architecture Explorer to visualize and explore
  • Create a unit test to validate the existence of a bug
  • Find and fix the bug
  • Validate and close the bug
  • Retrospective

Module 6: PLANNING

This short module introduces the team to release and sprint planning within Visual Studio 2010. The team will define and capture their goals as well as other important planning information.

  • Release vs. Sprint planning
  • Release planning and the Product Backlog
  • Product Backlog prioritization
  • Acceptance criteria and tests
  • Sprint planning and the Sprint Backlog
  • Creating and linking Sprint tasks
  • Retrospective

At this point the team will have the knowledge of Scrum, Visual Studio 2010, and the case study application to begin developing increments of potentially shippable functionality that meet their definition of done.

Module 7: EMERGENT ARCHITECTURE

This module introduces the architectural practices and tools a team can use to develop a valid design on which to develop new functionality. The teams will learn how Scrum supports good architecture and design practices. After the discussion, the teams will be presented with the product owner’s prioritized backlog so that they may select and commit to the functionality they can deliver in this sprint.

  • Architecture and Scrum
  • Emergent architecture
  • Principles, patterns, and practices
  • Visual Studio 2010 modeling tools
  • UML and layer diagrams
  • SPRINT 1
  • Retrospective

Module 8: TEST DRIVEN DEVELOPMENT

This module introduces Test Driven Development as a design tool and how to implement it using Visual Studio 2010. To maximize productivity and quality, a Scrum team should setup Continuous Integration to regularly build every team member’s code changes and run regression tests. Refactoring will also be defined and demonstrated in combination with Visual Studio’s Test Impact Analysis to efficiently re-run just those tests which were impacted by refactoring.

  • Continuous integration
  • Team Foundation Build
  • Test Driven Development (TDD)
  • Refactoring
  • Test Impact Analysis
  • SPRINT 2
  • Retrospective

Module 9: AGILE DATABASE DEVELOPMENT

This module lets the SQL Server database developers in on a little secret – they can be agile too. By using the database projects in Visual Studio 2010, the database developers can join the rest of the team. The students will see how to apply Agile database techniques within Visual Studio to support the SQL Server 2005/2008/2008R2 development lifecycle.

  • Agile database development
  • Visual Studio database projects
  • Importing schema and scripts
  • Building and deploying
  • Generating data
  • Unit testing
  • SPRINT 3
  • Retrospective

Module 10: SHIP IT

Teams need to know that just because they like the functionality doesn’t mean the Product Owner will. This module revisits acceptance criteria as it pertains to acceptance testing. By refining acceptance criteria into manual test steps, team members can execute the tests, recording the results and reporting bugs in a number of ways. Manual tests will be defined and executed using the Microsoft Test Manager tool. As the Sprint completes and an increment of functionality is delivered, the team will also learn why and when they should create a branch of the codeline.

  • Acceptance criteria
  • Testing in Visual Studio 2010
  • Microsoft Test Manager
  • Writing and running manual tests
  • Branching
  • SPRINT 4
  • Retrospective

Module 11: OVERCOMING DYSFUNCTION

This module introduces the many types of people, process, and tool dysfunctions that teams face in the real world. Many dysfunctions and scenarios will be identified, along with ideas and discussion for how a team might mitigate them. This module will enable you and your team to move toward independence and improve your game of Scrum when you depart class.

  • Scrum-butts and flaccid Scrum
  • Best practices working as a team
  • Team challenges
  • ScrumMaster challenges
  • Product Owner challenges
  • Stakeholder challenges
  • Course Retrospective

What will be expected of you and you team?


This is a unique course in that it’s technically-focused, team-based, and employs timeboxes. It demands that the members of the teams self-organize and self-manage their own work to collaboratively develop increments of software.

All attendees must commit to:

  • Pay attention to all lectures and demonstrations
  • Participate in team and group discussions
  • Work collaboratively with other team members
  • Obey the timebox for each activity
  • Commit to work and do your best to deliver

All teams should have these skills:

  • Understanding of Scrum
  • Familiarity with Visual Studio 201
  • C#, .NET 4.0 & ASP.NET 4.0 experience* 
  • SQL Server 2008 development experience
  • Software testing experience

* Check with the instructor ahead of time for the exact technologies

Self-organising teams

Another unique attribute of this course is that it’s a technical training class being delivered to teams of developers, not pairs, and not individuals. Ideally, your actual software development team will attend the training to ensure that all necessary skills are covered. However, if you wish to attend an open enrolment course alone or with just a couple of colleagues, realize that you may be placed on a team with other attendees. The instructor will do his or her best to ensure that each team is cross-functional to tackle the case study, but there are no guarantees. You may be required to try a new role, learn a new skill, or pair with somebody unfamiliar to you. This is just good Scrum!

Who should NOT take this course?

Because of the nature of this course, as explained above, certain types of people should probably not attend this course:

  • Students requiring command and control style instruction – there are no prescriptive/step-by-step (think traditional Microsoft Learning) labs in this course
  • Students who are unwilling to work within a timebox
  • Students who are unwilling to work collaboratively on a team
  • Students who don’t have any skill in any of the software development disciplines
  • Students who are unable to commit fully to their team – not only will this diminish the student’s learning experience, but it will also impact their team’s learning experience

 

 


 

LondonCallToAction[1]

If you are outside the UK you can find out where this course is being run near you. Make sure you have a look at the scrum guide from Scrum.org and the syllabus from Accentient.

 

Technorati Tags: ,,

posted @ Friday, June 18, 2010 3:53 PM | Feedback (0) |

Thursday, June 17, 2010

Flashing your Windows Phone 6 for Dummies

image

The rate at which vendors release new updates for the HD2 is ridiculously slow. You have to wait for Microsoft to release the new OS, then you wait for HTC to build it into a ROM, and then you have to wait up to 6 months for your operator to badly customise it for their network. Once Windows Phone 7 is released this problem should go away as Microsoft is likely to be able to update the phone over the air, but what do we do until then?

I want Windows Mobile 6.5.5 now!

 



I’m an early adopter. If there is a new version of something then that’s the version I want. As long as you accept that you are using something on a “let the early adopter beware” and accept that there may be bugs, sometimes serious crippling bugs the go for it.

Note that I won't be responsible if you end up bricking your phone, unlocking or flashing your radio or ROM can be risky. If you follow the instructions then you should be fine, I've flashed my phones (SPV, M300, M1000, M2000, M3100, TyTN, TyTN 2, HD2) hundreds of times without any problems!

I have been using Windows Mobile 6.5.5 before it was called 6.5.5 and for long enough that I don’t even remember when I first started using it. I was using it on my HTC TyTN 2 before I got an HD2 a couple of months before Christmas, and the first custom ROM’s for the HD2 were a couple of months after that.

I always update to the latest ROM that I like, and occasionally I go back to the stock ROM’s to have a look see, but I am always disappointed.

Terms:

  • Soft Reset: Same as pulling out the battery, but is like a reboot for your phone
  • Hard Reset: Reinstalls the Operating system from the Image that is stored on it
  • ROM: This is Image that is loaded onto your phone and it is used to reinstall your phone whenever you do a “hard reset”.
  • Stock ROM: A ROM from the original vendor… So HTC
  • Cook a ROM: Referring to Cooking a ROM is the process a ROM developer goes through to take all of the parts (OS, Drivers and Applications) that make up a running phone and compiling them into a ROM.
  • ROM Kitchen: A place where you get an SDK and all the component parts of the phone: OD, Drivers and Application. There are usually lots of Tools for making it easier to compile and build the image.
  • Flashing: The process of updating one of the layers of your phone with a new layer
  • Bricked: This is what happens when flashing goes wrong. Your phone is now good for only one thing… stopping paper blowing away in a windy place.

You can “cook” you own ROM using one of the many good “ROM Kitchens” or you can use a ROM built and tested by someone else. I have cooked my own ROM before, and while the tutorials are good, it is a lot of hassle.

You can only Flash new ROM’s that are specifically for your phone only so find a ROM for your phone and XDA Developers is the best place to look. It has a forum based structure and you can find your phone quite easily.

XDA Developer Forum

Installing a new ROM does have its risks. In the past there have been stories about phones being “bricked” but I have not heard of a bricked phone for quite some years. if you follow the instructions carefully you should not have any problems.

note: Most of the tools are written by people for whom English is not their first language to you will need concentrate hard to understand some of the instructions. Have you ever read a manual that was just literally translated from another language? Enough said…

There are a number of layers on your phone that you will need to know about:

  1. SPL: This is the lowest level, like a BIOS on a PC and is the Operating Systems gateway to the hardware
  2. Radio: I think of this as the hardware drivers, and you will need a different Radio for CDMA than GSM networks
  3. ROM: This is like your Windows CD, but it is stored internally to the Phone. Flashing your phone consists of replacing one Image with another and then wiping your phone and automatically reinstall from the Image.

Sometimes when you download an Image wither it is for a Radio or for ROM you only get a file called *.nbh. What do you do with this? Well you need an RUU application to push that Image to your phone. The RUU’s are different per phone, but there is a CustomRUU for the HD2 that will update your phone with any *.nbh placed in the same directory.

Download and Instructions for CustomRUU

#1 Flash HardSPL

An SPL is kind of like a BIOS, and the default one has checks to make sure that you are only installing a signed ROM. This would prevent you from installing one that comes from any other source but the vendor.

NOTE: Installing a HARD SPL invalidates your warranty so remember to Flash your phone with a “stock” vendor ROM before trying to send your phone in for repairs.

Is the warranty reinstated when you go back to a stock ROM? I don’t know…

Updating your SPL to a HardSPL effectively unlocks your phone so you can install anything you like. I would recommend the HardSPL2.

Download and Instructions for HardSPL2

#2 Task29

One of the problems that has been seen on the HD2 when flashing new ROM’s is that things are left over from the old ROM. For a while the recommendation was to Flash a stock ROM first, but some clever cookies have come up with “Task29” which formats your phone first. After running this your phone will be blank and will only boot to the white HTC logo and no further. You should follow the instructions and reboot (remove battery) and hold down the “volume down” button while turning you HD2 on to enter the bootloader. From here you can run CustomRUU once the USB message appears.

Download and Instructions for Task29

#2 Flash Radio

You may need to play around with this one, there is no good and bad version and the latest is not always the best. You know that annoying thing when you hit “end call” on your phone and nothing happens? Well that's down to the Radio. Get this version right for you and you may even be able to make calls. From a Windows Mobile as well Smile

Download

There are no instructions here, but they are the same as th ROM, but you use this *.nbh file.

#3 Flash ROM

If you have gotten this far then you are probably a pro by now Smile Just download the latest ROM below and Flash to your phone. I have been really impressed by the Artemis line of ROM’s but it is no way the only choice. I like this one as the developer builds them as close to the stock ROM as possible while updating to the latest of everything.

Download and Instructions for  Artemis HD2 vXX

Conclusion

While updating your ROM is not for the faint hearted it provides more options than the Stock ROM’s and quicker feature updates than waiting…

Technorati Tags:

posted @ Thursday, June 17, 2010 12:00 PM | Feedback (0) |

Powered by: