My Virtual Earth Wish List. WPF, Silverlight, Mobile and more.

johnWeeGo.jpgFor those that don’t know I moderate the Virtual Earth forums at MSDN:

http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=537&SiteID=1

The forum is buzzing with questions and awesome answers from the likes of Ricky, Derek, Brian, Jeff, Roberto, Mike and many others. If you really want to know where the VE dev community is the forums is the place.

So today I came across another post asking about Virtual Earth in a Windows Forms (desktop) applications. My thoughts are, what a great opportunity for MSFT, harness the power of Virtual Earth data and services within rich Windows applications. I sure it will happen some day.

But hold on, I had the same thought over 18 months ago with a similar post on the forum. Is this not a good business opportunity for Microsoft? Are they not licensing the data to be used in this way? I don’t know the answer but today we still only have a JavaScript control.

So over the period of time I’ve been working with Virtual Earth what is my wish list of major additions to the Virtual Earth platform?

  1. Window Forms / WPF Native Virtual Earth control
  2. Silverlight 2.0 control
  3. ASP.NET Server Control
  4. Mobile Control API
  5. Additional Web controls from maps.live.com wrapped for developers.
  6. API for creating precise 3D animations
  7. Code Patterns

 

Window Forms / WPF Native Virtual Earth control

Rather then host a web browser and deal with JavaScript let have a proper Virtual Earth WPF control with all the power of native 3D rendering and full system resources. No issues with Browsers, DOM, AJAX and JavaScript. We would integrate this control into our business applications. Programmers would code in .Net.

Silverlight 2.0 control

On the web side lets continue this with a Silverlight 2.0 control. The .Net programming model again be used. The performance benefits of this technology of JavaScript would be put to good use. Our navigation of the map would be seem less. Yes we have all seen the PhotoSynth Demos. This would provide us an alternative web experience when Silverlight was installed.

ASP.NET Server Control

Allow ASP.NET developers to create a Virtual Earth by simply dropping the control on their web page. Set properties and events in the designer. Handle events server side where needed but maintain the JavaScript functionality to allow this control to be used even in advanced situations with maximum performance. Full intellisence on all classes and properties. There is no reason why this control could not be every bit as efficient as pure JavaScript. The power of AJAX and the updatepanel could make this happen.

Mobile Control API

Give developer access to the mobile version of Virtual Earth. Allow developers to target the mobile platform. This is an area of serious demand and growth. Since mobile browsers cannot render the AJAX VE control currently the only mobile solution is the ever aging Map Point Web Service.

Additional Web controls from maps.live.com wrapped for developers

This site has drawing tools, business searches, export formats and much more that the VE API doesn’t. You don’t need to integrate them, but offer them as additional controls to plug in. These become building blocks for developers and are the current lack of these is a major obstacle for new developers. 

API for creating precise 3D animations

Give us a way to create high quality 3D tours, videos, animations with full control over the camera angle, path and speed. I know this is a business in its own right but to give this power to all developers and even end users opens up some great opportunities. I know we can create a pre-canned experience now, but lets take it one step further.

Code Patterns, various languages.

Patterns and best practice for Virtual Earth applications. We don’t seriously put the loadmap() function in the body tag do we? Are you calling map.dispose? I know I have found out the hard way about the amazing code patterns of ASP.NET AJAX Extensions. So how do these apply to Virtual Earth? Further more how does a ASP.NET developer get data from their SQL database onto Virtual Earth? How does a PHP developer do the same for mySQL?

Wrap Up

So that is my list. I think with all these possible flavours of VE a core cross-platform API is really what I’m looking towards. A single programming experience where a developer can target the Web, the next Web, the desktop or the Mobile phone. There are exciting times ahead.

I’m sure you have though of many more ideas. Is their anything you would like to add or comment on?