Atlas Class Browser

Wilco Bauwer has posted an Atlas Class Browser which will show the public properties/events/methods of each Atlas type.

It includes the Web, Web.Net, Web.Data, Web.Services, Web.UI, Web.UI.Data namespaces.

If you prefer, however to explore the actual Atlas JavaScript files, but prefer a more “spaced out” version, check out Ralph Sommerer’s post. He’s got some funky “InScript Code Listing Enhancer” going on.

Looking at one of Ralph’s links (AtlasCore), you can click on the InScript link to see another representation of the classes/global variables/functions for each JavaScript file.

This is all very handy as there is still very little documentation aside from the Hands on Labs, and the QuickStart documentation.

I’d also recommend reading Wilco’s blog posts on Atlas.

Atlas Demo

On Wednesday night I did a demo of Atlas. I was going to do a little demo on the Virtual Earth Atlas Server Control. In hindsight, doing a demo that depended on “external resources” was probably not the best idea. But it was working fine just moments before the presentation, and I hadn’t noticed the delays. And I also never noticed any delays during my practice runs days before the presentation.

I need to learn to be more patient during my presentations because I just ran the exact same demo on my PC at home.

And it took some time to load (over wifi).

It showed the same blank map canvas as it did during the demo, but for a brief moment or two. Perhaps the maps would have shown up if I had waited longer that night, rather than declaring straight away that the net connection was playing up? Possibly. Well, it’s all done and dusted now. Admittedly, I should have prepared for a worse case scenario rather than on the fly decide to go look for something I did several days ago (the hands on labs). But some of these things you learn through the experience of doing a presentation.

I had prepared several longitude and latitude locations to show a demo of the power of Atlas. How easy it was to use.

Below is the actual demo for those interested…

Here’s the code for the Virtual Earth part:

<atlas:VirtualEarthMap ID="VirtualEarthMap1" runat="server" Latitude="-37.83"
Longitude="144.98" MapStyle="Aerial" ZoomLevel="10" PushpinActivation="Hover">
</atlas:VirtualEarthMap>

The Lat/Long figures above are for South Yarra (37.83South/144.98East), which is where the presentation was held.

I had a few other Lat/Long figures prepared for the next part of that demo that didn’t go ahead.

The next step would have been to put two Atlas TextBox controls and one Atlas Button control onto the canvas above the Map.

So we end up adding:

<span>Latitude</span>
<input type="text" id="txtLat" />
<span>Longitude</span>
<input type="text" id="txtLong" />
<input type="button" id="btnChangeMapLocation" value="Change Map Location" onclick="Change_Location();" />code>

I've also decided to change the map style to Hybrid so we can actually see the place names of the various locations we goto.

Note the onclick event is calling a Change_Location() javascript function.

Let's code that now:

function Change_Location()
{
var latitude = document.getElementById("txtLat").value;
var longitude = document.getElementById("txtLong").value;

var veMapCtrl = document.getElementById("VirtualEarthMap1");
veMapCtrl.control.set_latitude(latitude);
veMapCtrl.control.set_longitude(longitude);
}

The first two lines are pretty simple, just getting the values entered by the user in the Latitude and Longitude text boxes.

I’ve not actually seen the last two lines documented anywhere, but after doing some “research” (digging into the AtlasUIMap.js file from the Atlas Script Library), they set the latitude and longitude values for the Virtual Earth map.

One thing to keep in mind, the “.control” means you’re accessing one of these Atlas controls.

Here’s a few Lat/Long locations I had prepared for the presentation (More Latitude/Longitude values):

City Latitude Longitude
Melbourne (-)37.50S 145.0E
South Yarra (-)37.83S 144.98E
Redmond 47.41N (-)122.07W
Paris 48.50N 2.20E
Luang Prabang 19.52N 102.10E
New Orleans 29.58N (-)90.04W

There’s a lot more that can be done to show what is possible with Atlas, but this is all I had prepared for the presentation because of time constraints.

Continue reading “Atlas Demo”

Ajax at VDNUG

Here’s the actual presentation file: VDNUG_AjaxPresentation.ppt

I’ll post the actual demos another time.

Just a quick note, there’s a lot of links below. You could spend a long long time reading about it.

If you’re interested in Atlas, do download the Hands On Labs and play around with it. There’s a lot there, and there’s also a lot not yet documented fully on the Atlas website.

There’s a whole host of PDC slides available here for those interested.

UPDATE: Also, check out these videos on MSDN’s Channel 9
Scott Isaacs – MSN DHTML Foundation unveiled
Omar Shahine and team – New Hotmail “Kahuna”

And below is the links from the resources slide:

To all that came to the presentation, thanks for listening! ๐Ÿ™‚

UPDATE (25/09/2005): I’ve finally found enough time to post the Atlas demo that I did of Virtual Earth here.

Some JavaScript stuff

Noticed this on Scott Isaacs’ blog (bolding signifies the area that I found the most interesting):

Having a strong framework for building and integrating rich, highly interactive components enables MSN to deliver much better (and consistent) user experiences. The Framework provides us with a client-side component model, network stacks, firefox compatibility, and OO language enhancements that allows us to “engineer” rather than ad-hoc script the client.

Many of our goals and work is going to be captured in the Microsoft Atlas effort. Microsoft Atlas, from the ASP.net team, is an upcoming toolset to quickly enable any web-developer to create and build highly-interactive web-sites.

Interesting, it’s probably quite easy to draw many conclusions from that quote, so I won’t. I was actually thinking the other day when browsing the start.com pages whether or not they were using a “version” of the Atlas framework, or if Atlas would build upon previous JavaScript frameworks that I’m sure do exist internally at Microsoft (just an assumption that I made that they would have one already.).

I also noticed via the Ajaxian blog a link to an article on the IBM website entitled “Migrate apps from Internet Explorer to Mozilla“, an interesting article that goes through the various differences between the browsers and how to accomodate for both in your apps. Basically, an article about developing for cross browser compatibility.

OOJS and Ajax

Oh look, so Microsoft is creating an Atlas hey?

Actually, it’s their codename for their new “Web client framework” which will provide us (developers) with tools for developing AJAX style applications.

I think what web developers really want is a really good JavaScript IDE. Well, I do anyway… And i’ve seen lots of posts around to place (mostly web forums) where people are asking questions like “what is the best JavaScript IDE out there?”

JavaScript’s been around for awhile, it’s not going to go away anytime soon.

I think people should really start exploring Object Orientated JavaScript. The way that JavaScript does its’ OO is fairly different from the way say C#/Java etc do OO.

Exploring some of the below articles you’ll get introduced to a term called “prototyping”. If you already get inheritance, then looking at the code here and you’ll get prototyping straight away. Just one of the many new terms you’ll start seeing a lot of when exploring the below articles on OOJS as they call it!

For those that want to get up to speed with OO JavaScript, here’s a few articles.

From Code Project: Part 1 Part 2 and Part 3.

From JavaScriptkit.com: JavaScript and Object Oriented Programming (OOP)

From WebRerence.com: Object-Oriented Programming with JavaScript Part 1 Object-Oriented Programming Part 2

JavaScript can be a mess if you don’t write it well, which is basically the same any other piece of code you don’t write well. It’s a mess and a headache to go back to and debug later.