February in review

BronwenWeeGo.jpgBoy has this month just flown by!  Just a few of the highlights:

My MVP expertise was changed from Live Services to Live Services Platform

Microsoft Australia User Group site was released

We did more travelling this month visting Sydney and Perth do present SQL Spatial and Virtual Earth. The trips were really worthwhile, again, meeting lots of interesting people.

Microsoft Partner Finder was upgraded with some new features.

Today I finished up a contract in town and am starting an exciting project on Monday that I’m sure I’ll be writing lots more about soon.

March will be busy with another 2 presentations, Wave Launch in Brisbane and preparing for our trip to Canada / US in April.

New Version of Microsoft Partner Finder (Australia) released!

BronwenWeeGo.jpgWe’ve been working away on the new version of the Microsoft Australia Find a Partner site and it has now been released!

So’s what’s new since the last version?  The key features that the end users i.e. YOU see are:

  • Upgraded the map to use Virtual Earth version 6
  • You can now filter by specialisation aswell as competency
  • List of partners on a pin hover now has infinite scroll rather than a next button

MSPartnerMaps.jpg

Moving ViewState off the page

BronwenWeeGo.jpgClient wanted to move ViewState off the page to reduce page weight.  Hadn’t done this for awhile (read ages) so I found this article and the discussion about where to move it to.  So I went with cache and allow them to change it or turn it off completely.

It did help the page weight..decreased it by almost a third.  I will do some timing tests to see what difference it has made.  We’re keeping 2 pages of data and monitoring to see if we need more.

So then I moved some of the javascript sitting on the aspx pages into extenal files and reduced it by half!  Now to look into moving all the javascript in the code behind into files aswell.

Using the AJAX CalendarExtender

BronwenWeeGo.jpgClient wanted a text box they could type a date into but also a calendar control if they didn’t want to type.  So I went with a Textbox, a compareValidator to ensure the entered data was of type Date and the AJAX CalendarExtender the points to the textbox.

Looks something like this:

<asp:TextBox runat="server" ID="calHandoverTextBox"></asp:TextBox>
<asp:CompareValidator ID="calHandoverCompareValidator" runat="server" 
ErrorMessage="Not a valid date" ControlToValidate="calHandoverTextBox" 
Operator="DataTypeCheck" Type="Date" EnableClientScript="False">*</asp:CompareValidator>
<cc1:CalendarExtender runat="server" ID="calHandoverDate" 
TargetControlID="calHandoverTextBox" Format="dd/MM/yyyy" Enabled="True"></cc1:CalendarExtender>

Predictive DropDownList using the AJAX AutoCompleteExtender

BronwenWeeGo.jpgA client wanted a cool, predictive dropdownlist.  So I decided to give the AJAX AutoCompleteExtender a go. It was really easy to use, didn’t have to write a lot of code and works a treat…what else could I ask for?

To use it all i did was:

1. Put the control on the page and point it at a text box.

<cc1:AutoCompleteExtender ID="agencyAutoComplete" runat="server" 
TargetControlID="txtAgency" MinimumPrefixLength="1" ServicePath="SoulSolutionsService.asmx" 
ServiceMethod="GetAgencyNameCompletion" DelimiterCharacters="" Enabled="True" 
OnClientItemSelected="agencySelectedHandler"></cc1:AutoCompleteExtender>
<asp:TextBox ID="txtAgency" runat="server"></asp:TextBox>

2. Write a webservice to retrieve matching entries as the user types

Imports System.Web.Services

<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<System.Web.Script.Services.ScriptService()> _
Public Class SoulSolutionsService
    Inherits System.Web.Services.WebService

    <System.Web.Script.Services.ScriptMethod()> <WebMethod()> _
    Public Function GetAgencyNameCompletion(ByVal prefixText As String, ByVal count As Integer) As String()
        Return AgencyBusinessLogic.GetAgencyNameCompletion(prefixText, count).ToArray()
    End Function

    <System.Web.Script.Services.ScriptMethod()> <WebMethod()> _
    Public Function GetAgencyByName(ByVal agencyName As String) As AgencyDetailsEntity
        Return AgencyBusinessLogic.GetAgencyByName(agencyName)
    End Function

End Class

3. I wanted to fill out some additional details based on the users selection, so i just added some javascript to handel the selection.

function agencySelectedHandler(source, eventArgs)
{
    SoulSolutionsService.GetAgencyByName(eventArgs.get_text(), OnLookupComplete, OnError, source);
}

function OnLookupComplete(result, source)
{
    if <%=agencyAutoComplete.ClientID%> == source.get_id())
    {
        CopyToFundingAgency(result);
    }
    else
    {
        CopyToDeliveryAgency(result);
    }
}

function OnLookupComplete(result, source)
{
    if <%=agencyAutoComplete.ClientID%> == source.get_id())
    {
        CopyToFundingAgency(result);
    }
    else
    {
        CopyToDeliveryAgency(result);
    }
}

function OnError(result)
{
    alert("Error: " + result.get_message());
}

function CopyToFundingAgency(result)
{}

function CopyToDeliveryAgency(result)
{}

Ager airconditioning – unreliable units and unhelpful staff

BronwenWeeGo.jpgHere are some tips for anyone looking to get an Ager Airconditioning unit.

Ager will NOT honor the warranty if the owner of the property changes, no matter what the problem with the unit.  There’s no way to transfer it or get a new one, which is really annoying when the unit is 9 months old and has broken 2wce with what seems to be installation issues (by Ager) and the unit should have a 5 year warranty.

This is a pretty stupid rule, considering they are the ones that supply and install the unit, so they know EXACTLY how old it is.  So if you have a flakey unit (as we do) the $ add up pretty quickly to get them out to fix the problems.

We even asked them if they’d just remove it for us seeing it’s broken again and they could keep it for spare parts and they refused.  So we’re just going to pay someone else to do it and then we’re getting a brand new unit…different brand, much more reliable, with a warranty!

 

Tech Girls are Chic to launch on International Women’s Day

BronwenWeeGo.jpgInternational Women’s Day will see the launch of a new Australian girlie IT book : Tech Girls are Chic.

“The book presents 16 gals working in a range of Information Technology (IT) jobs in Australia. It shows the diversity of IT careers in a fun and interesting way through funky photos, an insightful personal profile, and an a quick read fiction story about technology.”

For more info about the book check out : www.techgirlsarechic.org



Perth SQL UG meeting complete

BronwenWeeGo.jpgLast night we did presentation 7 of 9 in our User Group tour.  We presented on Valentine’s Day at the Perth SQL UG.  We were thinking about grabbing some roses or the like for those who came along but in the end we were glad we didn’t…you can’t bring flowers into Perth..whew…coulda been an expensive funny story 😉

Again, we met lots of great people and had lots of good questions.  Many thanks to Brian for picking us up from the airport and inviting us to speak to his group.  So we’ve got a couple of days to look around Perth before going home.  Next week we present at the Gold Coast .Net user group and our last talk is Brisbane in March.

SQL Spatial Tour continues

BronwenWeeGo.jpgLast night we did presentation 6 of 9 in Sydney, in our series our User Group presentations. Around 20 people battled the rainy afternoon that we may have brought with us.  So thanks for those guys for turning up and giving us some great feedback.  So far Melbourne has been our biggest event with about 100 attendees.

Afterwards we headed off and caught up with Catherine and Maria.  We were fortunate that Maria was in Sydney at the same time.   It’s always great to put a real face to people who you speak to online.

So tonight we’re meeting up with some of the ladies from GeekGirlBlogs (check out http://www.facebook.com/event.php?eid=20904290649 if you’re around and want to say hi) and then tomorrow we fly to perth to do presentation number 7.  Should be a good week.

Live Services Platform training events in the UK

BronwenWeeGo.jpgAre you in the UK and interested in learning how to develop with the Windows Live Platform?  Then there’s a couple of event coming up that you might be interested in…

From UK ISV Blog

The Partner Readiness have just announced the release of the Windows Live Platform Services course. This 1.5 day deep dive covers the core technical aspects of Windows Live Platform Services including:

  • Overview  of Windows Live
  • Silverlight Streaming
  • Windows Live Controls
  • Windows Live Tools for Visual Studio
  • Windows Live Data (Authentication/Delegation model)
  • Live ID
  • Quick Apps Deep Dive (dev.live.com/quickapps)
  • Messenger Presence
  • Spaces APIs

Dates currently scheduled are:

28–29 April (London) https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=242857&site=UK&lang=en-uk

14 -15 May (Altrincham) https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=242858&site=UK&lang=en-uk

9-10 June (London) https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=242859&site=UK&lang=en-uk

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?

new Virtual Earth site released – clikitysplit.com.

BronwenWeeGo.jpgOne of our clients that John has been working with for awhile has release their new site http://clikitysplit.com.

ClikitySplit.com is the world wide web’s first visual, rich multimedia, dynamic, marketing and search engine.  Using ClikitySplit, consumers worldwide can quickly, visually, and geographically locate and research desired points of interest on interactive maps via plotted dot icons and patent-pending “dynamic billboards”.

clikitysplit.jpg

The official announcement by Eric Ward can be found here http://www.urlwire.com/news/010808.html.

Othere articles of interest include:

 

SQL Spatial with Virtual Earth in Sydney and Perth

BronwenWeeGo.jpgNext week we’re travelling to Sydney and Perth to deliver our presentation on SQL 2008 Spatial with Virtual Earth. If you’re around in Sydney on the 13th we’re going out to dinner and drinks with some of the ladies from GeekGirlBlogs.  If you want to join us check out the details and sign up http://www.facebook.com/event.php?eid=20904290649.

And if you’re in Perth and want to have a drink after the talk..let us know..we need a tour guide 🙂

The session details for our talks are:

SQL 2008 Spatial with Virtual Earth

In this visually interactive talk we explore the new spatial data types, functions and indexes directly related to the real world using the interactive browser based Virtual Earth control. We focus on the new Geography data type providing an overview of the new functionality as directly applied to mapping. This includes the storage of points, polylines and polygons as well as real world tasks like effective rendering to the map, geofencing and proximity searches. We explore the power of union and buffering. Finally we examine the new index specifically built for fast spatial lookup.

The talk will inform, teach and demonstrate. You will understand what this new functionality is all about, what data types and functions are needed, how they operate and how to add an effective spatial index to your project.

Sydney event – Register HERE

Perth Event – Register HERE

Geek Girl Bloggers unite in Sydney next Wednesday

BronwenWeeGo.jpgHad a few chats with Catherine about catching up for dinner when we’re in Sydney next week, which then grew into lets invite some other girls too, which then turned into…let’s see if we can get the bloggers on geekgirlblogs along aswell.

So now we have the GeekGirlBlogs Meet and Greet! There’s a facebook event if you want to sign up here: http://www.facebook.com/event.php?eid=20904290649.

We’re kicking off at Sailors Thai for Dinner and moving to Cruise Bar for drinks afterwards.  So if you’re in town and want to say hi…come along…if you’re a boy..you’re welcome too..afterall, John needs to have some demographic balance

 

Technorati Tags: ,