“TFS On The Road” now on Codeplex
Hi Folks!
First of all I would like to thank everyone for the feedback that I’m taking for this App. This is the kind of thing that makes things nicer!
To keep up the good mood, I have some news! I just finished the very first check-in of the “TFS On The Road” project on CodePlex.

http://tfsontheroad.codeplex.com/
As it is a project that I made mainly targeting the “TFS Community”, I think it is reasonable to share the source code with everyone. And better than that, I invite everyone that is interested to make it better. So this is a typical CALL TO ACTION. If you think you can contribute, just join us. The idea now is that we will plan and implement the features to the version 2.0.
Some of them are:
I alert that, as this was my very first WP7 project, the code needs some improvement. J I know that and it will come on the next release as well.
To some of the features it would be nice to start thinking to use “Mango” as the base. But this will be discussed later.
So that’s it! Just join the project team! Your contribution will be valuable.
Join us!
Announcing “TFS On The Road”
Hi all!
Have you been looking for a good TFS Client running on your nice WP7? So you will be happy to read this post!
I’m very proud and happy to announce one of the first Wp7 TFS Clients based on TFS OData Service !



TFS On The Road is the WP7 TFS Client that you were waiting for and it is completely FREE! You will be able to access a lot of data from your TFS in order to support you to take decisions “on the road”. The tree bellow shows the basic App Navigation Map:

Click here to download the App and access the TFS On The Road page that I prepared showing the key app features.
This is just v1! A lot more will come! Feedbacks are welcomed!

Application certified! Lessons learned…
No pain, no gain! J
I just got this mail! Iha! Now the app is certified and it is on the way to get published on the WP7 Market place!
It took a while until I got the application certified but now it is time to learn from my mistakes! J
So, here are some topics that I definitively learned!
- They will really test your app! Be sure of this! They will go over your app upside-down and they will potentially find that bug that only you know! J I’m really impressed with the quality of tests that the MS is doing on each app that is being published.
-
Do not use any kind of trademark unless you have a clear approval to use it. You need to provide the information about this approval during the submission.
A good example on this one is the mistakes that I made on my app using Visual Studio Logo and Sharepoint Logo (actually was an icon).
- There are people out there using the WP7 Light background (aka battery killer!)
This means that you need to run the whole app with Light background. Just be sure that everything looks nice. Use all existing themes and brushes from WP7(
http://msdn.microsoft.com/en-us/library/ff769552(v=vs.92).aspx)
- Test your app tombstoning deeply! This mean that you should check what happens case you press the “Windows” and “back” on every single screen of your app.
It is important to be sure that you are not trying to set something on the phoneState that cannot be serialized/deserialized -
If your application needs some credentials to be accessed, be sure that you provide test ones during the certification process
In my case I had to setup a test TFS project on Codeplex in a way that the MS guys could get access to run the application. Boring but required. If they cannot get into your app, it will not have the green-light!
- Make as much tests as possible before you submit!
That’s it! Now my next post will happen when the App gets officially published.
Where is my Binding UpdateSourceTrigger= PropertyChanged on WP7 Silverlight ?
WTF! Where is the UpdateSourceTrigger= PropertyChanged on WP7 Silverlight? J
I got surprised when I saw that there was no PropertyChanged option on the UpdateSourceTrigger… All I could see was Default and Explicit…

The Default behavior works like our “LostFocus” from WPF, where the value is updated only when the control loses focus. This works most of the time, but there will be situations that you need the value to get updated as soon as the control values changes (equivalent to PropertyChanged).
To achieve this behavior you will need to do:
Set the UpdateSourceTrigger to Explicit

When you say that it is “explicit”, basically you will have to handle it…. Next step is to add one event handler to your bound control. On my sample it is a TextBox.

On the event handler comes the magic:
private void TextChangedUpdateTrigger(object sender, TextChangedEventArgs e)
{
TextBox txtbox = sender as TextBox;
BindingExpression bindingExpression = txtbox.GetBindingExpression(TextBox.TextProperty);
bindingExpression.UpdateSource();
}
The code above sets the binding explicitly! Great!!(or not so if you know what I mean) Anyway, this will give you the “PropertyChanged” like behavior…
That’s it for now!
BTW I found this solution on the very nice free book
Programming Windows Phone 7 from Charles Petzold. Read the whole book or jump to page 387 to know about this issue in particular. J
The 3rd Failure…
Again! L
So this time only one bug was reported:
The thing is that I’m using MVVM Light and I made the mistake to just set one complete ViewModel object(inherits from MVVMLight.ViewModelBase) during a tombstone operation.
The issue is that the ViewModelBase parameterless contructor is protected… Then this failure happened. Taking a look on the web, this issue might be solved on next MVVM releases.
Source:
http://stackoverflow.com/questions/3976170/issue-with-mvvmlight-viewmodelbase-public-parameterless-constructor-in-inherited
OK. In the end was my mistake to just save a complete viewModel to the phone state. Now it is fixed… I just submitted the app few minutes ago.
Let’s wait and see what comes next…
Failing the test(again)
Hi Folks!
Well… This is becoming too boring. J My app failed again… L
This time was Sharepoint!? I believe that they were mentioning to the icons that I was referring to Team project…. Here they are:


I think this time they really exaggerated…. But OK. I removed these icons and I’m using some “generics” now.

I hope that now they don’t come up with any complaints!
Besides that they detected one bug when the user has the background set to light… Who is really using this light background? This is a battery killer! J But anyway…
So this is the chart that they refer to. You can see that it is really hard to read the axis data….:
This was one mistake from my side. I fixed the backcolor to “black”… Everything looks ok when the phone background is dark… But when it was light…. So I just changed to use the {PhoneBackgroundBrush} and life is good.
OK… Application re-submitted… I hope that this time it gets the green light and gets published to the MarketPlace.
This certification process is a bit boring but I’m happy to see that the guys are really testing the app. That’s the only way to have a not so high # of bugged aps. J Let’s move on!
The day that I failed the test :(
Hi Folks!
It took a while (6 days) until I got a feedback from WP7 market place. The feedback was that my application failed the test. L

OK OK! J I was innocent enough to believe that the usage of Visual Studio logo would create me any trouble…. I could try to get some sort of approval from MS but I think that they should not allow me to use the logo and at the end the process to get one answer would take really long… Then I changed the logos to avoid problems!
![]() |
![]() |
OK…
The other requirement that the app failed was:

To be honest I was not thinking that they were going to really test the app by running it and so on… This creates some trouble for me because I would need to give them access to a test environment… OK OK. Codeplex came to save my day! I created one test project to give them access… As soon as the app became public I will publish the test credentials also on the blog.
Another very important topic was that I didn’t give any instruction to the tester guys…. So when you submit your app, be sure to give something on the “Tester notes” field.

This time when I re-submitted my app I gave very clear instructions to the testers…
Let’s see if this time we come through! J
I will update the blog as soon as I hear something new. I hope this time I hear something faster!
Publishing one App to the Market Place
As previously mentioned, on this post I will cover the submission process of the MSDN App Hub.
To follow this procedure you will need to register yourself on the App Hub. This includes paying the annual subscription fee (75€, $99 USD). So, no new Xbox game this month…. Or you should cut some of your beer/coke to pay that. J
You can submit one app even before your account gets verified by GeoTrust. Actually I was advised by the support guys to submit an App (even if it would be just a test app) in order to trigger the verification procedure from geoTrust.
The general process is described on the image Bellow:

Source:
http://msdn.microsoft.com/en-us/library/hh184843(v=VS.92).aspx
You should be patient and read all the requirements in order to avoid that your application fails the certification process… This is boring but very important. Take your time to read it…
One of the advices that I followed before send the app was to use the Capability Detection tool to only have on my manifest what my app really needed.

Manifest before.

Tool execution results:

Manifest after.
Before start the submission you should have:
- Application name and version (Of course you need it! J)
- One description about the app. You will need to give it. It’s important that you think in pre-hand.
-
Have images on the following dimensions:
- 173 x 173(Large phone application tile icon)
- 99 x 99(Small phone application tile icon)
- 200 x 200 (Large PC application tile icon)
- 1000 x 800(Background panorama [optional])
-
480 x 800(Page screenshots [at least 1, up to 8]). Just use the tool that I proposed on this post to take as much screenshots you can.
- Once you are logged, just click on My dashboard/Windows Phone

-
If you don’t have anything published you will see the screen bellow. Click on submit App.

-
Now just fill in the Application name and Version. Then you should also provide the XAP. DON’T FORGET TO SEND YOUR XAP FROM THE RELEASE FOLDER. If you send debug bits, the TEST WILL FAIL.

-
Once you click on next it might take a while depending on how big your XAP is…

-
Then it is time to provide your description

-
After that you should provide the images that I described before… Just add all of them.

-
If you are looking for money, just give your price at the Pricing step. That’s also the place where you say if your app has a demo version or not. On some next post I want to talk more about Trial versions…

- Ready! Easy, isn’t it? If you don’t want to publish even if it passes the certification, just uncheck the checkbox.

Now you need to wait… Like I’m waiting… J I read that the average time to have one app certified is 1.8 days…. Mine already went over. I hope that it passes. J

I give more news when I have!
All the way up to WP7 Market Place…
Hi!
On my last post I’ve mentioned that TFS is one “hot”topic of the moment on this blog. But I forgot to mention the obvious!
I’m really happy with my WP7 device. I was all the time looking for applications to allow me to access TFS from my WP7… That’s exactly what I have been working on the past days… Very soon you will have more information on that.
On the next posts I will show all the process from to publish an App on the WP Market Place.
One very critical thing is to take screen-shots of my Application. It is very painful to take a print-screen and use “MS Paint” to crop it. J Some other fancy would use some other tools, but let’s not waste time when there are smart people out there creating nice tools! J
And I found one very good to help us on that! You can get it here.
The application usage is very simple. Once you have the WP7 emulator running, just run it.

The usage is quite simple. You have two options: Take a screenshot for WP Marketplace (without the skin) or to do something else(with the Skin).
Check out here the Images:
This one was for Marketplace:

This one was made for “Other”:

Have fun!
Kick-off
Pedrão, aka pedro castelo, is back! J
After a longer time away from the community I’m coming back to share some experiences over this blog. So let’s get started!
Lately I have been working a lot with TFS and I really like this product. Actually TFS will play a very important role during the next days on this space. I’m not going to say too much, but I want to show some pictures:


Looks nice, hum!? Prepare yourself! Nice stuff coming on the line! J

