TinyCLR and Invisible Computing

When I was at PDC, I saw the Phidgets folks in the Coding4Fun booth. Is it just me, or is this stuff dying to get merged with MSR’s Invisible Computing project? Haven’t heard of Invisible Computing? Here’s the description:

This site has the source code and documentation for Microsoft Invisible Computing. It is a research prototype for making small devices part of the seamless computing world. This site contains the source code and is available free of charge for research and educational use under the Microsoft Shared Source License.

Microsoft Invisible Computing consists of compact middleware for constructing embedded web services applications and a small component based Real-Time Operating System with TCP/IP networking to make middleware run straight on the metal on several embedded processors.

The goal is to make it easy to build custom smart devices and consumer electronics, especially battery operated; and to support research in invisible computing, operating systems, networking, ubiquitous computing, sensor nets, distributed systems, object-oriented design, and wireless communication.

FYI, I discovered the Invisible Computing project by searching the web for TinyCLR. TinyCLR is what powers the MSN Direct watch. From what I can tell (i.e. this is based on publicly discovered info) is that Invisible Computing is a shared source version of TinyCLR that works with a variety of hardware platforms. Sort of like a Rotor for embedded devices.

Check out a presentation and the code.

New Dev Partition Contents

I’m feeling particularly geeky having just re-imaged my laptop’s dev partion. This is what’s running on it so far:

Not that this is of much use to anyone, but I thought it was cool. Not sure what I’m going to do with all this stuff yet, but I just had to have it all. I guess the stint in marketing didn’t completely wipe out my interest in coding.

FYI, I have to give major thumbs up to Terabyte Unlimited's BootIt NG product. My laptop runs three partitions: Production, Development and Documents. Putting all my docs on their own partition means I can pave the other two pretty much whenever I want. However, Windows XP wants to make the first partition it finds the C drive, even if you eventually choose to boot off another partition. This means I can’t create an image from on partition and restore it to the other. What a pain. But with BootIt NG, I can choose which partition to boot and hide whichever of the others I want to.

I still use VPC for a lot of my dev work, but for Avalon and/or device development – where VPC isn’t really practical – having a separate partition for dev work is really helpful.

Max Enhancements Needed

So I had a little time to play on a recently reimaged partition so I decided to install Max to play with. Very cool stuff. Sort of PhotoStory-esque. For someone with little kids and tons of pictures, it’s a great tool. However, I see two immediate issues that need to be rectified.

  • No Save or Export Capability. I’ve got Max running on a clean image, but I know I’ll want to reimage it again soon when there’s a later drop of WinFX or VS or LINQ that I want to play with. However, Max doesn’t have any way to save a picture list to the hard drive. Everything (and I mean everything) is stored in an XML file in the C:Documents and Settings<userName>Local SettingsApplication DataMicrosoftMicrosoft Codename Max directory. Spelunking the code with Reflector, I see a locally defined namespace called System.Storage. I’m guessing this is a stub WinFS library with the intention of migrating to the real deal at some point in the future. But since it’s just a stub, there’s no simple way to get stuff in and out of that file. I tried cutting and pasting of the XML, but Max told me the store was corrupted and I had to rebuild my photo list. Please add some way to save photo lists outside of Max!
  • No Downlevel experience. I showed my wife the photo list I built and her first response was “can you send me that?” Sadly, no I can’t. I realize that Max is supposed to be an example of the new-fangled WinFX stuff, but my wife, her best friend, my mother, my mother-in-law, etc. are NOT going to install the Sept. CTP of WinFX in order to run Max. Most of the cool Avalon stuff is in the authoring experience. Couldn’t you export a photo list to DHTML or something?

PDC Quick Hits

I’m sure lots of people are blogging a ton about PDC stuff, but I wanted to call out two things quickly.

First is Microsoft Max. I have a friend on this team, so I’ve heard a bunch about this. Given the number of pictures I have taken of my kids, I can’t wait to play with this in earnest.

Second is LINQ or Language Integrated Query and it’s use in C# 3.0 and VB 9.0. I started to write a language a few years ago called Dart (named after my dog) that had SQL-esque commands that were strongly typed. So I’m really impressed with what they’ve acomplished in LINQ. Not only is it doing strongly typed queries in the lanugage, they even can do joins across stores! In the keynote demo, they joined a query of running processes with data from a database. So now any C# or VB developer has their – or should I say will have their – own query processor around at the ready!

DevHawk on C9

I’m sure it will get lost in the massive tide of C9 videos sure to come out of PDC, but Scoble posted an interview he did with me a few months ago. Check it out.