Nick's .NET Travels

Continually looking for the yellow brick road so I can catch me a wizard....

TFS in the Cloud - great concept but the reality is difficult

Both Grant and Mitch have started talking about a plan by Readify to create a TFS in the Cloud solution. Here are my 2 cents worth....

Clearly price is a major consideration from the point of view of a development shop and after taking a look at the various options I doubt that TFS in the cloud is going to be able to reduce this – ok, so you might be able to get rid of the once off server licensing, but you still end up paying a per seat license.  One area that would be great would be if you could combine TFS in the cloud with the benefits associated with the partnering program.  For example if I’m a certified partner, so I get 10 CALs, I can sign up for your TFS in the Cloud solution and only pay a relatively small amount for each user (ie the incremental cost (+markup) of hosting an additional user) instead of the amount inclusive of the CAL.

I guess the real benefits of a TFS in the cloud would be the fact that a team doesn’t have to host it themselves.  In addition any upgrades or additional tools could be provisioned by the hosting company which means that all the subscribers benefits.  The other thing would be if you could establish a community around the TFS in a cloud – the typical forums would be useful for people to share experiences.

I think when it comes down to it, it really comes down to a decision by an organisation as to whether they want to host their own TFS server(s).  For what it's worth if there is zero cost difference, I would much prefer to see this outsourced as it is one (or more) less thing that can go wrong for the dev team.

Комментарии закрыты
Windows Phone 7 beta: Who Killed My Application

Nick's .NET Travels

Continually looking for the yellow brick road so I can catch me a wizard....

Windows Phone 7 beta: Who Killed My Application

If you hadn’t already noticed Microsoft have released the first beta of the Windows Phone 7 developer tools. There are some significant, breaking, changes from the previous release from April. These have been quite well documented in this migration post however there are some gotchas that aren’t pointed out. The first of these is what happens when your application goes into the background.

As most of you will be aware Microsoft has been avoiding the question as to what the behaviour is when your application goes into the background (eg the Start is displayed and/or another application loaded). This is in part because they don’t want developers to develop according to the current Windows Phone implementation. Rather they want developer to develop against a contract which states that “should your application go into the background, it should assume that it will be terminated at any point in the future by the operating system”. What this means in practice is that Windows Phone has the option of leaving your application in memory, effectively running in the background, or terminating it immediately or at a later stage.

Let’s take a look at what happened in the April CTP – in this case when your application went into the background there was a Paused event raised on the Application which you could intercept and persist any information about the current state of your application. However, your application wasn’t actually terminated when the user presses the Start button (on the emulator that is).

Now, let’s look at the behaviour in the beta of the tools. Now, when you run your application, then click on the Start button you will notice that your application is terminated (this is evident because you will notice Visual Studio is no longer attached to the running process). However, when you click the Back button, your application should reappear, right? Wrong! Well, at least, without you doing anything that will be the case. What you actually see when you press the Back button is a blank screen. At this point if you run your application from Visual Studio 2010 it will start as if the user had pressed the Back button.

Take the following scenario:

1) Application loads and displays page 1
2) User navigates to page 2
3) User clicks Start (application is terminated)
4) User clicks Back (application is not running)
>> Press F5 or Run in Visual Studio
5) Application loads and returns to page 2.

Note that when the application loads for the second time, page 1 is never loaded. However, if the user presses the Back button again page 1 will again be displayed.

You should also be aware of the events that get raised within your application (these are exposed by the PhoneApplicationService and are wired up by default in App.xaml to methods in the App.xaml.cs file)

Launching – This event is raised when the application is launched from the Start screen. This event is not raised when the application is reloaded when the Back button is pressed.

Activated – This event is raised when the application is returned to by clicking the Back button. This event is not raised when the application is launched from the Start screen

Deactivated – This event is raised when the application is sent into the background. This might be due to the user clicking the Start button, or launching a task. You should save both persistent (between application sessions) and transient (for the current application session) at this point. You should assume that your application may get terminated at will by the operating system. You will not get another opportunity when this happens to persist information.

Closing – This event is raised when the application is closed by the user pressing the Back button when at the home/first page of the application.

I can’t reiterate this enough: When you get the Deactivated event, make sure you save both the persistent and transient state of your application. This should also include information about the visual state of the current page (eg what text the user may have entered, perhaps even which control has focus). When the user clicks the Back button, they will want to see the same page that was there when they pressed the Start button, irrespective of whether the application was terminated and relaunched, or not.

Comments (5) -

  • autoblog blueprint 2

    7/18/2010 11:01:43 PM |

    I think that is an interesting point, it made me think a bit. Thanks for sparking my thinking cap.

  • Mark Lui

    7/19/2010 4:28:09 PM |

    I actually love windows 7. It's one of the best Operating systems I know.

  • event planning software

    8/4/2010 2:18:56 AM |

    Finally I found  here very creative content which that I want. This is very good information about windows phone. I have no ideas about this and many duration I was searching this type content. keep up great work

  • Puma Ferrari

    11/1/2010 7:54:55 PM |

    I want to thank you for the efforts you've created in writing this put up. I'm hoping the identical very best do the job from you inside the future too. The fact is your inventive writing skills has inspired me to start out my personal BlogEngine weblog now. Genuinely the blogging is spreading its wings quickly. Your write up is really a fine instance of it.

  • philippines roses

    11/19/2010 9:47:38 PM |

    I wonder how you got so good.  This is really a fascinating blog, lots of stuff that I can get into.  One thing I just want to say is that your Blog is so perfect!

Pingbacks and trackbacks (3)+

Comments are closed