Friday, March 24, 2006

Zenview Arena 21S: Six-Screen Display

I know I'm spoiled with a laptop/flat screen monitor combo, and it's true I might be more productive. I know I'll have a hard time switching to anything but dual monitor support. Imagine how productive you'd be if you had this..

Plus now, you can save $300 bucks.

Holy Smoke!

While I was commuting back from Las Vegas, my folks were on the Princess Cruiseship freaking out. You hear this stuff happening, but it always happens to strangers. My folks are fine, but this is really unbelievable... CNN.com - Cruise ship fire survivors count themselves lucky - Mar 24, 2006

MIX06 - Bill's Q&A with Tim O'Reilly video

A day after returning from the conference, I'm still churning things over and writing posts, don't worry more to follow. But while doing some research, I found this great clip from the end of Bill's KeyNote where he had Tim O'Reilly, CEO of O'Reilly books, come up and ask questions.

It's really funny how being there and watching the video are two very different experiences. The comments on the web site see Bill as this hero, but what they don't show in the video is the very first twenty or thirty seconds where Tim came out and completely ZINGED Bill for why Tim was invited.

In short, he came out and expressed he had no idea why Bill had invited him and it put Bill on the defensive. Everyone in the room saw Tim as this non-Microsoft guy who could fearlessly push Bill around a bit and get him going (I'm totally buying O'Reilly books from here in). Once edited, the video makes Bill look the opposite, like he's on top of the questions -- but while I was there, it seemed as though he was reacting.

What I really identified with is the segment that occurs about 17 minutes in, where the software industry is changing with new business models that are unlike previous competitors. Tim implies that Apple's success is because they're the first of a new generation of software applications: the iPod has this amazing experience where the device, the software, and the Internet are married together into an epiphony experience, versus, buying a device and then having the user cobble the experience together after the fact. Bill replies by saying, "we support more devices." Sure, Bill's answers are great, and they make sense from a guy who's business model is to sell software units in his prehistoric business model: wouldn't it be nice if you had a phone that automatically configured your experience across all devices?

But to me, and many others at the conference, Bill didn't get the question.

Wednesday, March 22, 2006

Mix06 WPF - Sure it's great, but is the Jury still out?

One of the dazzling showcase items of this conference is the Windows Presentation Foundation (Formerly code named "Avalon") and the WinFx applications that are built upon it. Several sessions have been focused around it, especially around the kiosk application that was built for The North Face -- a feature rich application with dazzling graphics and hi-definition video sure to drop many jaws of developers and designers alike. The really great thing about The North Face, as a premier early adopter of WPF, is that it is so completely over the top that it is going to reset the bar, and next generation applications will leave the web as we know it today far, far behind.

But before we get into all that exciting goodness, let's talk more about WPF. This new distributable that will be downloadable for Windows XP and shipped with Vista is a framework for building feature rich next generation windows applications. Already we're seeing it being heavily utilized by the next-generation version of Windows Media Center bundled into Vista. Unlike GDI+, WPF is more than a set of classes and code examples; it's primary delivery mechanism is through structured Xml documents which drive the presentation elements, known as "XAML" (which is being pronounced as "Zam-mel").

Aside: When I first saw this, I didn't know what to think. As I was mulling it over walking to the next session, a Microsoft employee asked me what I thought. I smiled and replied, "Kinda reminds me of Liquid Motion" which got a good chuckle from him. Hardly anyone remembers this, but ten years ago, Microsoft tried to compete against Flash by creating a tool that created ActiveX based animations with DHTML. It failed miserably, and rightfully so -- it was like building a website using the PaperClip.

It takes a second or two to fully realize what exactly XAML is, and it requires you to take a leap of faith in the presenter, because initially it doesn't makes any sense. At its core XAML is a markup language that describes presentation layer elements: a page, a grid, some text, an image, a button. If that was it, we could all log off and call it Miller time. But instead, XAML goes further to describe vector graphics, animations, complex 3D modeling, lighting and transformations. To put it into context, imagine a custom shape with a drop-shadow sitting on a shiny reflective surface with an cool fog slowly undulating in the background, described purely as markup with absolutely no code. That alone is very cool. Now add data-binding from an external xml file and provide scripting support from a codebehind, and your head is spinning. I'll definitely want to download the community technology preview and play with this technology.

As a complete aside, just to give an example as to how next-generation XAML is, all colour representations are now 4 bytes (8 hex characters #FF3C3C3c) where the first byte represents opacity.

As XAML can get very confusing very fast, Microsoft is introducing a new tool called "Expression" which is graphical designer that ...well, looks like Flash MX. Tweening, objects, timelines, but with a Microsoft Visual Studio sort of IDE. After seeing how simple objects can be transformed into majestic elements simply by changing properties of objects through the IDE, the great light-bulb in your head goes off and we see that our designers and flash developers can enter the production cycle earlier, working on the same file format and at each step it becomes more specialized.

This is all very exciting, so why am I being skeptical? Okay, skeptical is a poor word. How about apprehensive, worried, or uncertain?

One of my uncertainties comes from the fact that this is the first convention I've attended where Microsoft is making a deliberate effort to involve graphic designers. Traditionally Microsoft uses personas to identify developers (like "Mort", the VB6 spaghetti-procedural-code developer turned VB.NET object oriented procedural programmer) but Microsoft has no established Persona for designers(, yet). Which begs a very good question -- how well has Microsoft identified with the designer community? and.. Will the designer community abandon their traditional Macintosh and Macromedia tools in favour of Microsoft technologies? Or are we going to get rid of them all and make our developers graphical designers? (god help us, no)

In the end, if there is no adoption from the designer community then it's becomes all promise and no delivery. After all, if I was responsible for Flash development, it'd be stick figures and powerpoint style animated text with swooshing noises. Microsoft probably knows this, and that's why this conference is trying to tickle designers into gleeful hysteria.

My second apprehension is surrounding the "demo-factor" of the The North Face example. The gotcha is that it is not a web application, but rather a full-blown executable that is going to be running on high-performant PCs inside the North Face stores. The North Face went with a kiosk application because of the sheer size of hi-def video files and needed hardware acceleration to pull off hi-def movies rendered into a 3D Modelled space. I can also assume that there's a lot of custom application logic and controls that had to be hand-coded, and probably a lot of hours in trial and error to make it the killer app that it appears to be. Fluid, the agency who did the implementation, referred to their whitepapers for explanations of key concepts, but how much code will represent howto's within WPF/XAML versus core application logic is yet to be seen.

Taking WPF to the Web

In addition, there's a lot of talk about Windows Presentation Foundation for Everywhere (WPF/E) that works like a flash substitute as a browser plugin. A lot of people are wondering just how much of TNF can be ported to the web experience, and what the implementation will look like. In fact, the session I attended for WPF/E was about 40 minutes demo / 40 minutes of endless questions.

WPF/E is an interesting beast, with gotchas of its own. The first one being that WPF/E won't be available until after Vista launches. The others are hard to explain, so I'll start by explaining what I know (which is very little). At the same time, this technology is bleeding edge and is more than a year out from ship date, which translates into another 18 months before market penetration is significant enough to make this discussion relevant.

Although this is not a definitive list, the targeted audience for WPF/E is IE 6 SP2, FireFox / Mozilla 1.x, Safari running on Windows XP or Mac OS X. There appears to be some discussion happening about Linux support as well, but like most things that are a year out from their release, everything is "under consideration".

Most of the examples shown in the sessions used an object tag (embed tag for FireFox) with a CLSID and a script block that hosted the XAML as a data-island, though some examples did illustrate referencing the XAML as an external file. From a client-scripting standpoint, JavaScript is the language of choice to directly manipulate the XAML through its Document Object Model just like it was DHTML; changes to the XAML are immediately reflected in the browser. A second option for scripting exists which the presenter quickly glossed over, but the audience was so horrified by the implications that it inspired dozens of follow-up questions (people started lining up at the microphones seconds after he moved to the next slide).

The second option sounded like we were witnessing the birth of the Anti-Christ in ActiveX version 2.0 format: You can write your script in C#, compile it into a wpse file and then download it to the client where the runtime will parse the IL and execute your code. Sounds like a recipe for disaster, and I can just picture the continual stream of security advisories related to it, but I don't think it's as bad as it sounds. Let's decipher Lucifer...

Mentioning "IL" to a conference room of .net developers means "managed code", and it also implies that the end-user must have the .net framework installed. Not true: "IL" in this case refers to an IL interpreter as part of the WPF/E browser plug-in. The classes within the WPF/E can be compiled using the same compiler built into Visual Studio, but only the classes within the WPF/E will be accessible via client-code. As such, you won't be able to include .net core classes that require the .net framework as part of the wpse file.

Automatically executing arbitrary code simply by visiting a page on a website is scary and implies massive security holes that will be continually patched up. Also not true, but I'm willing to place bets that exploits will eventually be made. The classes within the WPF/E namespace will be limited only to the rendering engine and manipulating the XAML DOM. Currently, the wiring of the codebehind to web-services for AJAX style XAML inside the wpse is "under development". As an aside, it was mentioned that cross-domain scripting for IL won't be supported for version 1.0, probably because they don't want to expose themselves to security exploits. The thinking here is they want to do it right the first time.

Compilation of code implies that my codebehind is somehow available for download and bundled with my assembly, or, we're creating projects for each xaml file? Although I didn't understand the explanation that was given to me (it's something i need to see), they glossed over it by saying my MS Build script would compile my xaml codebehinds and bundle them up. Referring to my "MS Build Script" really means someone better get cracking on the wpse Nant contribution for CruiseControl integration, or I need to better understand what they mean by "bundled up".

The other observation that I have is that most of the code samples provided were ports of the The North Face kiosk application, which may work fine to demonstrate the portability of XAML to the web, but the actual implementation of that code is unsuitable for Internet applications. To illustrate, one of the samples is this amazing product shot of a jacket which can be rotated in 3D. Under close inspection of the sample, the product shot is not a 3D rendered model represented in a SVG format, but rather a collection of transparent PNG images taken in 360 degree angles. Where the example breaks down, is the javascript that manipulates the XAML is simply changing the image path to represent the requested angle of the product shot: if these images aren't preloaded, the experience will be remarkably different online compared to when the images are being served locally.

Issues like this are fundamental problems that start alarm bells ringing in my head. Flash developers have long since identified and addressed these issues ages ago, and we take them for granted -- yet these problems are essentially brand-new and waiting to be rediscovered by a new set of developers. While this can be seen as a cost impedement to adopting WPF/E versus Flash, this is clearly an opportunity for early adopters and advocates of this new technology to establish key best practices. Since XAML is a well structured document format, we're already better positioned to start building tools and third party libraries compared to the current state of cobbled together flash solutions. Kinda wants you to go out and buy a Wrox XAML book, doesn't it?

All in all, it looks like it's an amazing technology that is going to radically change many aspects of web and desktop applications. But its the minor considerations that cast shadows of reasonable doubt that will keep the Jury closely watching its evolution before coming to a decision.

Monday, March 20, 2006

Mix06 - Internet Explorer... seven, eh?

Internet Explorer has a huge skeptic to convince. Ok, aside from me, there's an 11% market share of FireFox users who'll give the "who cares" argument to Microsoft's Internet Explorer release. Right out of the gate, I'm expecting nothing exciting from the next generation browser. After all, Microsoft themselves (Paul H the Microsoft Program Manager for IE himself) declared "We screwed up." Technically the last major release of Internet Explorer was five years ago in 2001, since then Microsoft has failed to demonstrate their commitment to the web, and thus has let the fruit rot on the vine. What's so important about Internet Explorer 7? Frankly, why should we care?

Microsoft puts forward that they've got some great new browser enhancements, and I'll admit, they are pretty cool but there's nothing so dramatic that it won't be available as an extension for FireFox in a few weeks. What Internet Explorer is going to provide is the experience of FireFox rolled out to the non-tech saavy masses; Think of Windows Update as the great equalizer of the Internet, correcting a major wrong and restoring balance that has been rapidly shifting to FireFox.

Though I wouldn't call better or proper css implementation a "feature", it is certainly well received. The real question is how strict is Internet Explorer on proper HTML implementation, since Internet Explorer's greatest weakness is it's ability to forgive bad HTML: it might look ok in IE, but browsers that strictly comply with HTML standards clearly don't render the same markup.

Sadly, ActiveX support is still available for Internet Explorer so "the" wrong has not been removed, but the security settings that support ActiveX will warn the user as they make changes (the configuration section turns bright red), when they run under these settings and they get warned everytime they start the browser. It's kind of the <slap><slap><slap>"Are you nuts?" warning that tells them they are at risk. Whether this warning is perceived by end-users as the car dashboard "DANGER: Car needs Servicing NOW" directive or the "Please fasten seat belts" notification is still yet to be seen, but is a very good step in the right direction. It would appear as though MS is gearing to make ActiveX disabled by default. Ontop of all the excellent security visual enhancements, the low-level stuff is what's changed the most from the previous version. How's this -- even the administrator gets locked down... <head tilt>really? Outside of toolbar plugins, this move feels very much like MS might be planning the obsolecense of ActiveX. (haha, maybe in ten years)

The tabbed browsing experience is not new to FireFox users, but the implementation is very clean: the new tab button appears as a very small tab at the end of the current tabset, making it a very intuitive experience. What is unique is the ability to save entire groups of tabs as a Favourite (which I'm sure will bring new meaning to the copy-n-paste snippet demo) and the ability to preview all the current tabs at the same time.

Also interesting is the removal of the menu bar from the main browser window. It is now conveniently tucked away as a button in the toolbar. As a side-effect, it's as though the site is running in full-screen mode which means that more screen real-estate will become the norm.

While the visual enhancements and features do appear to be borrowed from FireFox, there's a lot of plumbing in the background that represent an interesting shift in the way we think about websites. Most notably is the native support for RSS Feeds. Two important aspects about this: how RSS is displayed in the browser and how RSS feeds are treated.

Regarding native display of RSS, similar to the way the xslt-transform that is applied to XML files in the browser, RSS is given a nice xslt transform so that the data is made pretty when viewed in the browser. As the primary usage of RSS today is to represent blog posts, the standard xslt makes it easy to sort the entries by Title or by Date. While this is convienent, the twist is that IE7 supports the concept of rich-data in the RSS Feed: you'll be able to add some additional meta data within the feed to describe what the feed contains. Some examples include Amazon's top music feed which includes images for the artist and links to download or buy music, plus the ability to sort by many different attributes in the data, such as Artist, Song Title, Genre.

Secondly, RSS feeds are now considered outside the scope of Internet Explorer. Feeds become centralized on the computer as a repository for all feeds, which provides a wide range of new opportunities for web 2.0 integration. Consider the newsgator plugin that automatically synchronizes your feeds with their server, or the Windows Vista desktop gadget that consumes that data in new and interesting ways such as the myspace.com buddy gadget which displays updates and pictures posted by your online friends.

Now, if only Microsoft had embraced the extension model that FireFox has... I would probably switch.

Mix06 - Bill's KeyNote

Like waiting for a rock concert, the theatre hall is alive with a buzz. Massive screens glow with contest entries for website redesign of the mix06 website.

Bill comes out and there's lots of cameras flashing, like it was a new york fashion runway. But with all the money he's got, he's still comes out looking like a big nerd: signature glasses and uncombed hair. Couldn't somebody say, "Mr. Gates, let me take care of your onscreen makeup?" Scary thing is, someone may have already put work into making him look the way he does.

Bill's focus is getting the experience to cross as many devices, and the market is really expanding from high-resolution monitors, to TVs, to xBoxes, to PDAs to mobile phones. The key is to get a toolset that acts an abstraction to assist from large to small screen sizes.

One of the main focuses is Internet Explorer. There are three areas of improvement:

  • streamlined user interface (tabs, print-preview, improved print capabilities)
  • security enhancements (low rights mode, phishing filter - reputation services)
  • enhancements improved css, rss support, native xml, transparent png's

With what they've done for IE7, it's no wonder why Bill sees that RSS usage is going to explode. RSS represents a fundamental shift, the "programmable web". Simple APIs for your website treat your website as a service or component that is consumed elsewhere for other purposes, ie eBay. Much like native XML support for Internet Explorer, IE7 provides built-in support for rendering of RSS feeds which provides the ability to render the RSS with rich data tags. Apparently, Microsoft released a standard for the rich-data tags within RSS about six months ago. Amazon, eBay and others have adopted the standard and are including rich-data tags within their feeds to date.

There's a big buzz about "Atlas", the suite of tools for building AJAX websites. Bill expects that new tools such as Office 2007, outlook web-access and other core applications will leverage AJAX. They're touting Atlas as more than an AJAX library, it's a consistent methodology for building ajax applications.

Bill also mentions it's a big year for Media Center with 6 million units sold. Bill has big hopes for partnerships in this space to take it further over the next few years. XBOX 360 as an extender also plays a big role in the media center expansion. This is the focus of the next 3 days, where we look "Beyond the browser"...

Bill highlighted a few mobile devices, but was very brief... "here's one. here's another. this was is cool, too. Check this one out..." Wasn't anything that exciting.

Showcased in the Keynote are the CTO for MySpace.com and the director of New Media for the BBC. Both had amazing stories to tell. MySpace showed how Microsoft technologies made them the #2 traffic site on the Internet, and the BBC showcased how they're looking to use some of the new features of Vista and tight integration of Microsoft technologies to allow them to find new cost effective means to deliver their content over the Internet.

Regarding VISTA, all I have to say is that at first glance it is really slick. I'm expecting a huge pouty lip from our Mac user friends who'll claim they've stolen all the cool things out of Mac OS X. Transparent toolbars, widgets, slide-in/slide-out windows. Really slick. The registration package includes copies of Vista (among other swag) plus they've got labs set up to play with IE 7, Vista, XBox -- lots of stuff to play with.

Mix06 - No sleep, but hey.

7:30 AM PST

Ok. This is where having an infant is helpful. Sleep deprevation actually pays off -- 5 hours sleep and I feel great. My wife is planning on taking off with my son to my parent's place. Unfortunately, they're on vacation somewhere in the Carribbean, so she's by herself at night, but has my brother's and sister-in-law's and nephews to keep her company. I give her a call just to say that I made it ok.

I open the blinds of my hotel window, I have a pleasant view of the parking garage. But in the distance -- wow: mountains and palm trees, a rare combination indeed. Add the crazy architecture and neon lights, and you can only be in Las Vegas.

Mix06 - Back from the foray

Okay. Back at my laptop, thoughts are swimming around my very tired brain. The best place to start (and to sign off for the night) is: I can't believe the scale of it all.

The Venetian is a colossus, the Mirage is huge, the 100 foot billboards of lounge singers. And I've only really walked around the block.

I want to take pictures but not sure where to start. Oh, second thought: open booze. People are walking around with beer bottles and mixed drinks. This floors me. Growing up in a small town (and having been fined for open liquor once) all I see is liability lawsuits everywhere, but I guess that's the thinking behind it all -- I can sell you the booze, but what you choose to do with it is your problem.

Mix06 - Sleep?

Great. Checked-in. Unpacked. Go to sleep? Why not, it's only 3 am my time? No way, it's only 12 am Nevada time. Besides, I don't have any idea as to where I'm supposed to be going. I should venture out in the bright-lights and see what all the fuss is about.

Mix06 - Vegas, baby! Vegas

Arrived in Sunny Las Vegas, Sin City, City that never sleeps, 2:30 in the morning. Despite the late hour, the city is still a-buzz. Perhaps the most surprising of all is how close the airport is to the strip. Coming into the gate, you can see it all! Pyramids, New York, Paris -- feels just like a CSI fly-by sequence.

Managed to find my luggage and the taxi line up. As luck would have it, a few gentlemen were chatting with some of their seat-mates, and I overheard that they were headed to the Venetian -- the location of my event. I was pretty lucky with the travel arrangements; although I couldn't get the discounted rate at the Venetian, they managed to get me into Harrahs, which is next door.

I was able to pool together and take a cab with these guys to the Venetian, and then I had to find my way to Harrahs. I had to skirt through a parking garage, cross the street at an unlikely intersection and then pulled my travel luggage into the valet parking area.

Sunday, March 19, 2006

Mix06 - Start

Off to Mix06 -- Microsoft's event where they'll be showcasing Internet Explorer 7, Windows Vista, Avalon, Atlas, etc. Should be pretty cool, as it's in Las Vegas. Bill Gates is giving the keynote, so all in all, an exciting time to be had.

My flight pulls out of Pearson at 8:35 Sunday night, which means I'll get there late...

Wednesday, March 15, 2006

Recorded Media Center Programs Meet Pocket PC: Part II

A few posts back, I was lamenting about trying to get my Windows Media Center recorded TV programs onto My Pocket PC. After upgrading to PocketPC 2003, the native support for Windows Media 9 has made transcoding MS-DVR files into WMV painless:

In the morning, I transcode my TV show while I'm in the shower. I plop my 2 GB SD card into the media-drive on my Media Center and drag-n-drop 60Mb worth of Stephen Colbert's Colbert Report for viewing while on the TTC.

And... I'm happy to report, that I've suddenly found my PDA useful again.

Screen Capture for Invisible Windows

I was recently tinkering around in an admin tool that is used to build web-sites, and found myself wondering if it was possible to create a "preview" of the web-site as an image. The idea being, I want to show a list of pages in the website with thumbnails of page previews; thus the site administrator can see the entire site on a single page and would be able to know what they were editing before they opened the page configuration.

If you're like me, these kinds of problems drive me crazy. I ear mark them as "nifty ideas" and I slowly mull them over in my head when my head has idle time. (What, you don't have head idle time? Between 3-4 in the morning when I change sleeping positions, I have to force myself not to address my mental challenge To-do list. I recently discovered that our brains solve a lot of problems after only a few hours of sleep.)

So although I haven't actually cracked the code open to tackle this problem, here's what I envision the implementation to be:

  1. Use the .NET Process object to launch a window to the web page.
  2. Grab the handle of the Process and pass it to the GDI+ to convert into an image. This CodeProject article gives a really good overview of doing just that.

I'm hoping that if the .NET Process is launched with the ProcessWindowStyle set to "Hidden" that it still has a valid device context used to paint onto the screen. If that's true, there should be no reason why I couldn't convert the hidden window's content into a Bitmap.

Few other things to consider, such as when to determine that the browser has fully loaded the requested page? I might have to consider using the WebBrowser control to load the webpage and wait until the document onload event or page status changes....

Yet another task to play with...

submit to reddit

Tuesday, March 14, 2006

Shell extensions in C#

I work with a lot of Xml files, where the filenames are random GUIDs. Since all the documents have the same structure, I wonder if it would be possible to create a shell extension for Windows Explorer that could add a column to the details tab.

This CodeProject article, Explorer column handler shell extension in C# - The Code Project - C# Programming, looks like a good starting point.

Update 06/07/2008: I've written a few shell extensions following this example.  Although they work, they can seize a lot of memory if you need to spawn a debugger.

submit to reddit

Friday, March 03, 2006

Recorded Media Center programs, meet Pocket PC

Dang!

Recently I bought a 2 GB SD card cheap from Future Shop ($99 CAN) so that I could start to take some of my recorded Media Center TV shows onto my Pocket PC. This has proven to be a bit difficult task...

First off, it's takes a lot of time to find a convenient way to transform Microsoft's dvr-ms files into something less... massive. One hour of recorded TV is roughly 2.5 GB. And -- everyone has got a piece of software to do the job for a price. I've test-driven several freeware applications, but you've got to be really frikkin patient to try some of these things out.

DVR 2 WMV has proven to be the quickest way to convert into Windows Media Format, where 1 hour of video takes about 20 minutes. Initially I had some problems getting the application to work, but after I turned on Compatibility mode, things seemed to work fine. (I've also got my eye on using the MSDVR Toolkit to automatically strip out commercials and convert into various formats, but it's not as straight forward as DVR 2 WMV)

The next big challenge is actually my PocketPC. I have an iPaq 3870 which was released back in 2002 as a Compaq product before the big HP merger. At that time, the 203Mhz, TFT screen, 64Mb internal memory, SD Card slot and built in Bluetooth was HOT. It was crazy expensive compared to some of the units available today. (Yet another pioneering effort on my part. You do realize that me buying this stuff at the early-adopter stage is what it makes it affordable for you people? You're welcome)

Although I've used my PDA fairly frequently, I even wrote some applications in Compact .NET framework, it's become more of a second-class peripheral on my cluttered desk. I use it mainly to display my calendar for the day, and since my Laptop has Bluetooth, I don't even have to worry about hooking it up in the morning.

Sadly, it's also only running PocketPC 2002 which has Window Media Player 8.5 for Pocket PC. Guess what format DVR 2 WMV uses? If you guessed Windows Media 9 you would be absolutely correct. Enjoy a coke on me.

So, at long last, I finally found a reason to download and install The Core Pocket Media Player, an opensource media player for pretty much any portable device. It can play most media formats, including divX. But I was shutout again! It looks like the Windows Media Support for TCPMP is based on the windows media codecs installed on the device. Back to square one, either find a way to acquire the codecs, or look at finding another tool to encode the DVR-MS files.

Although I wasn't able to find the codecs as a separate download, the real killer is that you can't just download Windows Media 9 for Pocket PCs -- you have to upgrade your OS, which is... sub-optimal. Turns out you can't just walk into a store and buy a copy of PocketPC 2003, it can only be upgraded through the manufacturer of the device. Specifically, the ROM has to be reprogrammed. Do you think HP is going to have a ROM for a 4 year old Compaq device available for purchase on their site? Rhetoric question answerers may drink another coke for answering no.

Then, on a whim, I tried E-Bay. I was pleasantly surprised to find the ROM for only $2.99 US, free shipping. Skip the afternoon $2 coffee, have that sucker shipped to my office, pronto. So, we'll see what an upgrade brings. Maybe I'll find myself with a renewed interest in my Pocket PC. Or, as a late-adopter, I'll break down and buy an iPod like the rest of you (thank you for making that stuff affordable)

Wednesday, March 01, 2006

SubInACL

Pretty powerful ACL tool for windows.