What do we need for a Version 1 release?

Oct 13, 2008 at 11:15 PM
Edited Oct 22, 2008 at 4:10 AM
We could even call it a 0.1 release if that makes more sence.
I think at a minimum we need:
  • Working base layers
  • Basic dashboard
  • Offical Virtual Earth support
  • Secondary tile provider
  • Pushpins, Polylines and Polygons
  • Find (Geocode)
  • Routes

So as a list of tasks to make this happen I see:

  1. Upgrade to Silverlight release (compatible with RC0)
  2. Fix the SetView bug
  3. UI controls for Find and Route
  4. Performance upgrade for shapes
  5. Enhance Pushpin to have rollover popup to show title and description
  6. Refactor all code to remove duplicates, tidy.

I'm actively looking at number 4, number 2 is driving me nuts.

Oct 19, 2008 at 3:41 PM
Glad to be a part of the team.  This is really some great work.  I'll help look at some of these issues. 

Oct 21, 2008 at 4:21 AM
Edited Oct 21, 2008 at 9:04 AM
Another suggestion for the list:  Refactoring redundancies in Tile Sources.
  • 2 Bugs I've found were the result of code duplication in the VE branch and not been updated in OSM.
  • This duplication will make adding additional sources more difficult than it has to be.

Oct 22, 2008 at 4:12 AM
I agree. Added, also I'll make these actual Issues and assign to a release Version 1.0.

So we have now done 1 and 2.
Oct 25, 2008 at 3:34 AM
I think that v1 should also include a test suite. What do you think?
Nov 11, 2008 at 3:45 AM
We are very close. I have been trying my hardest to get a production VE key for demo site for release with no luck so far.
Although DotNetNoobie has been creating an interface around routing I think this better left out of the release, at this stage it will make a great extension but there is a tonne of work in providing the tools nessesary to do a nice UX for the routing selection.

We talked about the control offering the basics of functionality, we then can easily build ontop of this within another project. As we build out really good examples that are really useful these will be integrated into the core control.

The tasks I see as outstanding are:

Geocoding: http://www.codeplex.com/deepearth/WorkItem/View.aspx?WorkItemId=2380
This is implimented as far as the control goes, we should extend the sample to show a disabiguation dialogue and use a different shape.
(This could be an example created after the release)

Routing/Directions: http://www.codeplex.com/deepearth/WorkItem/View.aspx?WorkItemId=2389
Again we have implimented the general method and have a simple example but really need to build out full UX around this.
(I defn see this as being moved to an example after the release) 

Properties: http://www.codeplex.com/deepearth/WorkItem/View.aspx?WorkItemId=2494
Where are we on this, all the properties are there - what needs to be done?

Events: http://www.codeplex.com/deepearth/WorkItem/View.aspx?WorkItemId=2392
What is left here?

Reduction of points in geometry: http://www.codeplex.com/deepearth/WorkItem/View.aspx?WorkItemId=3274
This is still relivant, should we just reduce the points to distinct pixel values and add a more complex algorith later? Is this actually taken care of inside SL anyway? If I draw a path with many sequential identical points does this effect rendering performance?

Rollover Popup for shapes: http://www.codeplex.com/deepearth/WorkItem/View.aspx?WorkItemId=3276
We have a seperate shape "InfoBox". What is the plan here - should we not emulate a rollover or click event on a normal shape triggering a popup. Am I missing something, is the infobox actually a pin and an infobox?
What is left to be done here - do we need to add some collision logic for the side of the page?

Refactoring / Cleanup: http://www.codeplex.com/deepearth/WorkItem/View.aspx?WorkItemId=3277
Great work done by many people on this already. This job will stay open until a final cleanup for release. Please comment if you feel there is still any major areas that need work.

  • Take into account the rotated angle when determining mouse actions.
  • MSI should oversized to take up the whole screen during rotation
  • Placement of functional buttons in example - should we make a collapsable panel off the top right?
  • Unit tests - what do we need?

In terms of launch the plan is to:

  1. setup a mini site to show a live working version linking to here (better url then the current one) I'm happy to host this and as mentioned hope to have a production key so it won't have staging all over it.
  2. Have us all test a RC
  3. Trigger the release here
  4. Send a Press Release to everyone we know (I'll start a private disscussion around this - login to see it)
  5. We can all blog it, put demos on our sites.
Nov 11, 2008 at 9:29 AM
 I now have more time now to tackle the refactoring/cleanup task.  For specifics of this issue, let's continue discussion on the original work item thread.
Nov 12, 2008 at 7:03 PM
Wanted to add my thoughts to the question of unit tests.  Since this is probably assuming functional testing, I just want to suggest that we put in at least one unit test or a separate task altogether for "Developer Usability Testing".  This might measure items such the following:
  • How many steps does it take for a new developer to be up and running?
  • How much time does it take for a new developer to be and running?
  • All the basic setup steps are clear.
  • All of the classes and APIs named self describing and clear.
  • API's that depend on any assumptions or cleverness are commented with clarification.
  • We are IDE friendly, (VS and Blend) allowing items to be set as properties.
  • We set defaults to allow for a quick out of box experience. (e.g. VE source).
Perhaps we can get many of the developers setting up DeepEarth for the first time to give us this feedback.