Steve Ballmer Keynote - 2

Continuing from the previous post

Guy commented on how Microsoft is different. Responsive, helpful and a change from what Microsoft's image has been historically.

Some questions from the audience

On Adobe

They are a big competitor in some areas. Specifically in the Silverlight and .NET vs Flex and Flash arena. There is no expectation that they are going to "go away". Will continue to work with Adobe where it makes sense.

On Internet Explorer not moving at the speed of .NET

Many innovations, including the browser, were tied to the "next O/S after XP". Microsoft .NET was not. It was because they took dependencies on the O/S. That will not happen in the future. Future IE will incubate the innovations outside of the O/S and move them into the O/S once they have been proved out

On the PHP applications that Yahoo has

There will be some refactoring of the search, ad and email technologies when Yahoo and Microsoft get together. Some technology will come from Microsoft. Some will come from Yahoo.

On the Synergies between Microsoft and Yahoo

Scale is an advantage in the search game. More search = more ads = higher bids on ads. The more ads you have, the larger the number of ads that can be inserted into the results of a search. Google has more ads that either Yahoo or Microsoft. The merger will help scale out in this market.

On the Virtualization Server Licensing Scheme

The question was regarding the licensing cost for virtualization to be able to compete with Amazon's computing in a cloud (ECC or EC2, I can't remember the acronym). The answer was that Microsoft has plans to provide a similar service.

On Silverlight on the iPhone

Microsoft would love to get Silverlight on every mobile platform they can. There is currently no free runtime license for apps on the iPhone. Apple apparently wants 30% of all of the revenue generated through the iPhone. So while it would be nice to have, the expectation is that developers are unlikely to bite. And it was suggested that perhaps Apple is not being embracing of external developers.

On Silverlight and Microsoft applications

The question is whether Silverlight will become part of Microsoft apps, such as Hotmail. As the product cycle for the relevant products is appropriate, Silverlight will become part of the deliverable. But only on those technologies where appropriate. MSN Messenger was called out specifically as not a likely choice.

On HD DVD vs Blu Ray

Microsoft doesn't make peripherals. They support the devices where the demand is and will continue to do so. In the long term, the format isn't that important, as content is more likely to be delivered over the network.

On Enterprise adoption of social networking

The ways in which people interact with each other within the corporation is changing. Sharepoint provides collaboration services, so there is already some knowledge about how people interact. The key is to leverage these areas to provide more 'social-like' capabilities. This area is early technology, so there will be advances in the future.

Steve Ballmer Keynote - 1

The keynote is actually an interview between Guy Kawasaki (as interviewer) and Steve (as interviewee). A number of interesting points.

Regarding competing with Google

Of the four areas in which Microsoft is focused, Google is really only present in one of them (on-line ads). But the on-line ad space is expected to be the next big thing.

On why he keeps working

This is the answer that everyone should give. He:

  • Loves what he does
  • Works with smart and energetic people
  • Enjoys the challenge

From personal experience, this should be what everyone strives for.

On the place of XBox in the Microsoft world

Steve put it into perspective. XBox has 25 million users world wide who are passionate about the products that Microsoft creates. But there are 1 billion Office users. It makes sense to focus efforts on driving passions appropriately

On Web and Windows forms technologies

Microsoft is trying to blur the boundaries between Web and Forms, in terms of capabilities. Apparently 1.5 million Silverlight downloads per day. WPF currently has a broader reach because of Windows Update

On Apple's MacBook Air

"My laptop is lighter", "It's missing half the features of my laptop", "Where's the DVD?", "We'll get rid of this (the Air that Guy has) and get you a real machine"

On Vista

The number one issue for Vista is application compatibility and driver compatibility. Made choices to create a secure O/S. The result is that compatibility is hurt. As drivers and applications are updated, the compatibility issues have decreased. With SP1, the uptake in the business market will increase.

On Microsoft's Skill Set

Microsoft is trying to focus on two skill sets: consumer devices and business platforms. Most companies only attempt to create one. Microsoft is lucky enough to be able to focus on two, with a third and fourth still a possibility

On Social Networking

People will continue to use the Internet to keep in touch, to find friends, to connect with people. It is unlikely that any one company/website/technology will be able to stay on top forever.

Real World AJAX with ASP.NET Session

I have to give credit to Nikhil Kothari. He just ran a session the way that I like to see sessions run. As I read the title and abstract for the session, I was expecting not much in the way of new information. I actually attended the session mostly because it was the only one in this time slot that might be of interest.

Nikhil started out with just some basic stuff on AJAX. But very quickly he got past that and the session became very interesting. The idea is that if you plan on using AJAX in a "real" application, there are a number of issues that need to be address. Simple issues to identify, but complex to deal with. For example:


Say you have a page that makes a number of AJAX calls, updating the screen each time. Then you click on the back button. The typical action is to go to the page prior to the initial view of the current page. But what you generally what to do is go to the results from the previous AJAX call.

The solution is to use an AJAX UpdateHistory control. More details can be found on Nikhil's weblog here. It requires some work by the developer to determine when the browser history needs to be updated, but if you put the effort in, your users will love you. OK, not really. This is one of those features that users will ignore if it's there, because your site is working as they think it should. But if you don't have it, they will hate you. It's almost the same thing.


If you have a page that uses AJAX to retrieve and display information, you have a problem with making that page appear in the appropriate place within Google. After all, Google depends on static data for its indexing.

The pattern that Nikhil is suggesting is to create a static page that contains all of the data. Make the data static on page. Put the data into a hidden div. Then create a separate frame and use script to pull the data from the hidden div into the frame. When viewed normally, the data will appear in the frame. When crawled by a spider, the script is not executed, so the data is just available for indexing. This pattern might not work in all situations, but there are enough to make it worthwhile being aware of. Again, a blog post (here) provides some additional details.

Overall, a nice presentation with some useful takeaways.

Silverlight 2 - Fundamentals

I'm sitting through the first part of the Building RIA using Silverlight 2 session. The starting point is some of the new, but quite fundamental elements of Silverlight 2

First off, the schedule of releases at the moment are:

Beta 1 = today, with a non-commercial go-live license

Beta 2 = Q208, including a commercial go-live license

Silverlight 2 now includes a TextBox (only about a year too late).

Silverlight works in a sandbox. It has access to local storage through isolated storage. But basically consider Silverlight applications to have the same level of local storage as your current web browser.

Silverlight supports cross-domain requests, but the target domain needs to be configured (via a policy file) to accept requests from Silverlight.

Silverlight has a number of classes available to allow a number of easy mechanisms to make a request to the current or a different domain. And those requests can be made both synchronously and asynchronously.

A large number of intrinsic controls are now available. And the controls are very skinable.

There is support to one- or two-way data binding. The binding mechanism seems to be quite similar to ASP.NET, although the syntax is a little different.

Scott Guthrie Keynote - 3

Silverlight 2 beta includes

  • Multi-language support - VB, C#, Iron Ruby, Iron Python
  • WPF UI, including data binding
  • Networking stack - REST, SOAP, WS-*, sockets. And cross-domain stuff is supported
  • Integrated Data Support - LINQ, and the ability to cache data across browser sessions
  • High performance
  • Small download, fast install - 4.3 MB download, no .NET Framework download required, working with Novell on a Linux implementation

Includes a lot of built-in controls

  • Sliders
  • Calendars
  • DatePicker
  • DataGrid

Built-in controls are shipped with source included in the beta. Open license allows for modification and resale.

The built-in controls are now completely skinable, including custom animations.

Also including unit testing capability for Silverlight controls. Around 1200 unit tests included for the built-in controls.

They are also shipping preview versions of Silverlight tools for VS2008 and Expression.

Scott Guthrie Keynote - 2 - Silverlight and the Olympics

Silverlight is a major part of the Olympics 2008 Site

2200 hours of live streaming coverage over 22 days. This, plus the 1100 hours of content on the 5 NBC broadcast networds, will be made available as Video On Demand.

Also, through Silverlight, you will be able to see live streamed coverage of all 34 sports. As part of the live coverage, you can

  • rewind and rewatch the stream
  • view pop-up alerts of other activities in other sports.
  • share link to the live coverage with others.
  • include picture in picture (PiP) of multiple sports
  • view multiple live streams of the same sports, even PiP

Very cool, especially if you're a fan of non-traditional sports. But I wonder if such a service will be available outside of the US.

Scott Guthrie Keynote - 1

Silverlight 2 Beta 1 is available for download after the keynote

Changes include enhancements for media. Sorry, but this section includes terms that don't mean that much to me. High Def? I thought he was a rapper. ;) But let me make some notes

Adaptive Streaming - The Silverlight client can adaptively determine the bandwidth between the client and the server and set the bit-rate appropriately. And can change on-the-fly, if necessary

Total Cost of Ownership - Windows Media Services 2008 is free. Provides 3x the scalability of other services, yet maintains a high level of reliability. Also, there is support for progressive downloading, including bit-rate throttling. Progressive downloading means that the initial 10s or so of content is bursted out, but beyond that it just maintains the 10s buffer instead of trying to get as much content as you can to the client as quickly as you can.

Business Opportunities - Integration of advertising into the Silverlight experience. Jon Harris demos a Silverlight Advertising Template. Template is a Visual Studio 2008 project template and the wizard used to create it. The result is a project that includes a fair bit of commonly used Silverlight functionality

Dean Hachamovitch Keynote - 1

Dean is responsible for IE 8. And he is talking about 8 points (because developers can count higher than 3). If you've given presentations, you'll understand that reference.

1. CSS 2.1

There are issues with CSS support in IE7. IE8 addresses these by focusing on full support for CSS 2.1 standard.

2. CSS Certification

Getting certified is the best way to ensure that all browsers will render standard CSS correctly. Microsoft has provided a large number of test cases to include in the certification process. The problem will be backwards compatibility. There are instances where pages look gook in IE7, but don't look good in Firefox. Because IE8 is more CSS compliant, it also looks bad in IE8. There is, however, an IE7 compatibility more (under control of the page developer) to force IE8 to work like IE7

3. Performance

They have improved JS script performance by a factor of approx 2.5 times. Not always as good as Firefox/Mozilla, but a great improvement over IE7. And they are still working on it.

4. HTML 5 Support

The back button doesn't work well with AJAX functionality. Sometimes 'Back' doesn't get you what you expect. Support for HTML 5 means (among other things) an interaction that is more like what the use expects

Also, HTML 5 support includes network awareness. A connection gets lost and the page responds, including the ability to modify the content of the page.

5. Developer Tools

IE8 includes built-in developer tools. Includes a script debugging window, complete with breakpoints, watches, an immediate window, etc.

Also includes the CSS debugging info similar to what is found in Visual Studio 2008. When you select a particular element in the document, you can see the styles which are applied to the element. This allows 'wrong' style values to be quickly identified with regards to their source.

6. Activities

Activities are context-sensitive bits on a web page. Select text and quickly get to a map of the address it represents. Or find the selected item on Ebay. "Quickly' invokes a right click or selecting from an Activities menu that is similar in location to the Exception Helper in Visual Studio.The context for the selection is provided through an architecture known as OpenService format. It is called the OpenService Specification and Microsoft has made it available for comment.

7. WebSlices

The Web Slice is a part of a web page that contains basically a summary (a slice) of another web page. Provides quick, pop-up summary of a separate web page. A summary of a Facebook friend can be  retrieved through either a context-sensitive click or a toolbar click. And the current page is not left.

The is a WebSlices spec that contains the details.

8. IE 8 Beta 1 is now available. Or at least, after the keynote.

Ray Ozzie Keynote - 2

The idea behind the concept of connected devices is to create software to provide a personal device mesh using the Internet as a hub. By having a central personal data store, complete with synchronization, the devices will become much more a part of 'you'. A current research team has been working on this starting with the PCs.

A second scenario is connected entertainment devices. The vision includes having DRM be transferable between your own devices. Purchase music and be able to listen to it on your computer, your Zune and your XBox without requiring additional licenses.

Office Live Workspace, opened up to a broad public beta as of yesterday, has a major role in the connectivity picture. You will be able to tag Office documents and make them available to people who are interested in what you have to offer.

You will be able to run Exchange, Sharepoint and Office Communications Server in either the typical, on-premise server or as a hosted service (called Exchange Services, Sharepoint Services, and, well, you get the idea).

He also touched on SQL Server Data Services as a developer database in the cloud. I'll have to check that out.

And  now, on to Scott Guthrie.

Ray Ozzie's Keynote - 1

If you want to know why Microsoft made the play for Yahoo, look no further than one of the three main focuses that Ray Ozzie sees for the near future. He expects on-line ad revenues to double to $80B annually over the next two years. And to not make such a play is to basically concede the bulk of the market to Google (my opinion, not his)

The second prong in Microsoft's strategy is based on the idea that the Internet has become a hub of a large number of devices. The list goes from PC to gaming systems to cell phones to cars. The idea of the Web is to bring together a collection of personal devices. And one of the guiding principles of Microsoft's software offerings is to provide a mechanism to facilitate this future.

The business side of the "Internet is a hub" is being brought out in virtualization. Current software will be "refactored" to support virtualization in many different ways.

"Small pieces loosely joined" (a Weinberg quote, I believe) is the new motto.

More to come...