Avalon Changes

Mon, Aug 30, 2004

Everyone is still digesting what exactly is going on with Avalon, WinFS and Longhorn.  Scoble is a great place to start for links to the reaction in general.  ChrisAn also has some Q&A on what this means to Avalon.

I think that I can answer some more questions that people might have.  I'll take the Q&A format that ChrisAn used.

1. What does this mean for the Avalon graphics architecture as you presented it at WinHEC?
Actually, things mostly don't change from an architectural point of view.  We will have to make some tweaks and compromises to ensure that Avalon runs well on XP and W2K3.  All of these compromises will be because we probably won't be able to update any system binaries (User32, GDI, etc.)

2. You said that Avalon had to have Longhorn to work well.  Now it is going to run on XP and W2k3.  What gives?
There were some very good reasons for us to restrict Avalon to run just on Longhorn.  However, when looking at what customers said and our schedule, it made more sense to bend on some of those reasons than to force developers to wait for wide adoption of Longhorn before being able to write apps.  Here are some areas where we are going to have to get creative in making Avalon work on XP and W2k3:

  1. Lack of the LDDM (Longhorn Device Driver Model). Right now the XPDM (XP Driver Model), wrt DX, is really built to work well for one app at a time.  It uses first come, first server, winner take all approach to resource allocation.  While Avalon runs just fine on the XPDM, it isn't clear that lots of Avalon apps running at the same time will work really well without the LDDM.  There are also concerns around the stability of current DX drivers under the XPDM.  These drivers have been written with the gaming market in mind.  Using them for every day applications may push them to some breaking points.  All sorts of options are being considered on how to deal with this.  And for machines that we can't support hardware acceleration on, we always have our software rendering layer that we can fall back to.  Early on we decided no to rely on hardware being available on every machine.  That decision is paying off now.
  2. Inability to really tweak User32. In Longhorn builds we had the ability to do "child window redirection".  This is a Win32 interop solution where child hWnds get redirected by the system to a bitmap that the Avalon compositor then hosts.  This allowed Win32 content to alpha blend and rotate just like any Avalon content.  Since we won't be able to change system binaries on older systems, we won't be able to do this redirection on XP and W2k3.  We'll have to find a compromise solution to hosting legacy content.  You probably won't be able to treat it like regular Avalon content.  Eventually we want to be able to support these advanced legacy hosting solutions, but it probably won't work on XP and W2k3.
  3. Terminal Services and Remote Desktop. We were planning on remoting Avalon at a completely different layer.  It is unclear how we will address this issue on platforms other than Longhorn.  The long term plan and architecture still encompasses enhanced remoting.
  4. Media decoding system.  A lot of the video hosting relied on components being delivered from the media team.  Since we are now perhaps shipping via a different mechanism than they are, the level of integration and interdependencies are now up in the air.  We are working on figure that out.
  5. Desktop Window Manager.  The DWM will still exist and be included as part of Longhorn.  There are no plans to make the DWM run on XP and W2k3.  The cross process UCE architecture presented at WinHEC remains unchanged for when Avalon apps are running under the DWM on Longhorn.

3. How has the Avalon vision changed?  Is it a less ambitious plan now?
The long term Avalon vision hasn't changed.  We still want to enable the same hardware accelerated, media rich, easy to develop, network connected application platform that we've been talking about since the 2003 PDC.  The real change here is a new pragmatic staged approach to getting it out the door and in the hands of developers.  If we've talked about some feature or doodad that has to be compromised to make Avalon work under these new constraints, don't worry.  Chances are that that feature is still on the list for when we can do it.

4. What is your personal opinion on these changes, Joe?
Thanks for asking!  Personally I'm really excited by these changes.  It is painful to have to sacrifice (at least when running on XP and W2k3 -- they may "light up on Longhorn") some of the features that require deep changes to the system but the overall result of being able to deliver Avalon to XP and W2k3 outweigh that pain dramatically.  Anything we can do to get Avalon out the door on a more deterministic schedule and to deliver it to a wider audience of developers seems like a good thing to me. 

Making hard decisions like this is necessary to get big projects out the door.  While it would have been great if we had figured some of this stuff out a year (or more) ago, this is better late than never.  $50 billion in the bank (or whatever it is these days) is a lot of money but it still doesn't buy you a crystal ball to see in to the future.

16 bit Panoramas

Sat, Aug 28, 2004

I've polished up my pano building tool so that it now works with large 16 bit panoramas. 

To recap from last episodePTAssembler and PanoTools are really cool but there are some bugs in PanoTools that prevent it from working with really large images or 16 bit images.  The first is that PanoTools outputs tiff images that use packbits compression.  For some reason Photoshop chokes when loading these files.  The second issue is that PanoTools doesn't know how to create 16 bit photoshop files with layers as photoshop didn't do 16 bit layers when it was written.  I've worked around this with my latest version of PanoTiffToPSD.

It does the following:

  1. Optionally uses libtiff to reencode a set of tiff images with no compression.  To save disk space, you can choose to overwrite the original images or do the conversion and leave the original images alone.  The converted version will be deleted after being used by photoshop.
  2. Loads up each of the tiff files and drives Photoshop (via IDispatch COM interfaces for you dorks out there) to load up each file and move it to a layer in a new image.

Check it out here: Binaries, Source and License (it's free).  It is written in C# and requires the .Net Runtime.  That is available at windowsupdate.

Google AdSense

Thu, Aug 26, 2004

I'm trying out putting some Google Ads on my web page.  Mostly this is an experiment but I wouldn't mind something to offset the (pretty low already) cost of hosting this site.  It looks like the first batch of ads are all about seattle driving school and legal help.  Apparently my entry on traffic court in Seattle is what the ad algorithm keyed in on.

Check it out!

LensBaby Sample

Thu, Aug 26, 2004

I finally got my LensBaby and had a chance to play with it.  It is a little tricky to get the hang of and not every photo is a winner, but you can get some super cool effects.  Here is a quick sample:

Hamster-power

Wed, Aug 25, 2004

Check out this story about an experiment to hook a generator up to a hamster wheel.  They even hook up a bike computer so that they can calculate the speed and distance that the hamster runs.  [via boing boing]

The real question here: How many hamster power to the horse power.

Changing ISPs

Wed, Aug 18, 2004 I'm changing my blog over to a new ISP.  If all goes as planned the DNS changes should prop and you should be seeing this.

CirculaFloor

Wed, Aug 18, 2004

This is so cool.  You really have to watch the video [22MB MPG] to really see this thing in action.

(via JWZ)

EOS 20D details leaked

Wed, Aug 18, 2004

Check out the DPReview forums if you are interested in the devloping details.  The rumors have been flying for a good two weeks or so, but it looks like it is official.  Now the question is if there is going to be a new higher end camera (the EOS 3D) that has more features than the 20D but is smaller, lighter and cheaper than the 1D mk II.  I'd love to buy that camera.  I'm torn as to upgrade my D60 to the 20D.

the new 20D viewed at an angle

Traffic court

Fri, Aug 13, 2004

This morning I spend a couple of hours hanging out in the Redmond courthouse to contest a speeding ticket.  I didn't get my act together enough to file for discovery so I couldn't put together a real defense.  There appear to be two easy ways to beat a ticket around here.  First the infraction might not have been filed on time.  Second, your trail might not be speedy enough -- two months after the infraction, I think.  Neither of these applied to me so I ended up getting a deferred finding (a sort of probation).

While I probably could have done this via mail, it was enlightening to watch how things work.  First, your trial doesn't get scheduled really.  You are grouped with all of the other cases to be covered that morning.  You sit there from the beginning of the session until your name comes up.  The judge presiding this morning worked it such that the actual lawyers got to go first and the rest of us schmoes representing ourselves go after that.  It was interesting to see how much time it really took the lawyers to beat a case.  It mostly was about finding a loophole and arguing it.  The judge has some discretion as to how to interpret things but most of it is cut and dried. 

The thing that really surprised me was that by the time my case came up there were no lawyers in the room.  This included the prosecutor.  I think it really sucks that you can be tried for an infraction without a prosecuting attorney even present.  To me it is a slap in the face that the state wants to extort money out of me (via the traffic ticket) without even bothering to have somebody there to personally do the extorting.  At least the mafia comes and collects in person.  Apparently this has been fought over and gone to the Supreme Bourt (at least that is what the judge said) but I don't have the time to really dig in to it.

In any case, I would urge everyone to contest a ticket just once to see how it all works.  Or just show up in Redmond courthouse courtroom two any morning and sit and watch.

SEC to examine Playboy for boobs

Fri, Aug 13, 2004 Get your mind out of the gutter.  The Register comes up with the best headlines.