Google’s Chrome Operating System

If you didn’t see the buzz about the Internet in the last 24 hours – where have you been? :)

Google announced officially that they are working on a new operating system, named Google Chrome OS (just rolls off the tongue doesn’t it?).

The few interesting points made in the announcement blog posting:

  1. Targeted initially at netbooks
  2. Open source, Linux based with a new windowing system and not Android based as this will work on ARM and x86 chips.
  3. Fast and lightweight – only a browser – all running within the Chrome web browser on modern standards
  4. No worries about drivers and software updates
  5. Released available fall 2009 initially

The point that interests me is #4, as the rest of it isn’t a surprise at all.

I’m not sure I understand how they’ll handle the various cameras, printers, mice, etc. that everyone will still want to use? That’s where Windows has a huge advantage today – the wide availability of hardware for Windows. If users can’t plug in their camera and just have it work, they’ll be frustrated (and print it of course). Thankfully, there are more standards around camera connections these days – but ….

What about RAW file formats for those of that don’t shoot JPEG for example? There are frequent updates from Adobe/Nikon/Canon/etc. to handle the constant stream of new file formats and changes that occur from each manufacturer. Maybe they’ve got this all figured out – but my experience with Linux in the past is that far too often a piece of hardware that worked fine with Windows isn’t recognized by the Linux.

I wonder what Microsoft will do about Silverlight? I’d be disappointed if it didn’t work on this new class of devices if it takes off. But, I also wonder about Flash support. Just because it’s Linux doesn’t mean that Flash will work. Google believes in HTML 5 so much that I can see them not being very “open” about making it work.

Finally! Some WPF Text features that should have been in V1 (3.0)

New WPF 4.0 Features

Highlights:

  • A Bindable run. No more crazy solutions to getting a block of text to support binding without a hack!
  • LayoutRounding. Objects will be placed on pixel boundaries – less blur!
  • Text clarity improvements. Smaller fonts can be rendered and still be readable!
  • Caret and Selection Brushes exposed! Now you can fully skin even a text box without worrying about whether it will be usable on all systems.

A forgetful DSL modem….

Our household DSL modem, which is generally very reliable, occasionally, and mysteriously seems to forget a setting that I like to enable. I don’t know why, and I’ve never determined whether there’s a pattern to the loss or not (like maybe it’s every 30 days or some crazy thing like that).

Tonight, I finally decided to attempt to fix the problem in the simplest way I knew how: write some code.

Thankfully, the DSL modem has a simple web based management system with basic authentication.

So, I’ve set up a scheduled task on my Windows Home Server every 45 minutes to call into this console application:

using System;
using System.Net;
using System.IO;

namespace SendHttpCommand
{
    class Program
    {
        static int Main(string[] args)
        {
            if (args.Length != 3)
            {
                Console.WriteLine("SendHttpCommand requires 3 parameters in this order:");
                Console.WriteLine("    username");
                Console.WriteLine("    password");
                Console.WriteLine("    url");
                return -1;
            }
            Uri uri = new Uri(args[2]);
            HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;
            request.Credentials = new NetworkCredential(args[0], args[1]);
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            try
            {
                if (response != null)
                {
                    using (Stream receiveStream = response.GetResponseStream())
                    {
                        StreamReader readStream = new StreamReader(receiveStream);
                        string result = readStream.ReadToEnd();
                        Console.WriteLine(result);
                    }

                }
            }
            catch { }
            finally
            {
                response.Close();
            }

            return 0;
        }
    }
}

It literally was 10 minutes of coding, and 2 for testing. And now the DSL modem setting should generally always be set the way I like it (except for the 45 minute window). The program could be smaller by removing the response reading portion – but I thought it was more interesting that way, so I left it in.

Ever had to maintain a large platform used by many developers over many years?

Read first: 2 years ago I gave up on Silverlight.

I read inexperience into that post.

It’s very difficult to build a big platform and maintain all of the functions over time. Subtle changes to core logic, or derived classes can blow a framework out of the water. I’m of the “seal by default” mindset (although I didn’t get brainwashed by working at Microsoft). Every time you allow someone to inherit or derive, you’ve taken on an additional burden of support. Did you imagine all of the scenarios that would be used by the consumers? Doubt it. Did you imagine that they’d call function X, then Y, and overload Z? Doubt it. Wait for real-world feedback, then decide what’s right. It makes early adopters suffer a bit more, but the long term adopters will thank you for a stable consistent platform.

Interesting is the number of Microsoft responses, including ScottGu (they do actually use the Internet folks!)

What do you think? To seal or not to seal? That is the question (methods/classes/etc.)

Google I/O 2009 Keynote Online

Keynote video from the Google I/O Developer 2009 Conference is here:

http://www.youtube.com/view_play_list?p=41F4CEB92D80C4B7

Good summary of news of day one here on TechCrunch.

Is HTML5 (and all of the associated features) going to make Flash and Silverlight generally irrelevant? It’s certainly in the back of my mind.

A few thoughts as I watched the first segment this evening…image

Vic Gundotra (VP of Engineering at Google): “Never underestimate the web.” “The web has won.” “A more powerful web made easier.” (Has he seriously tried doing multi-browser development?) “100x performance in last 9 years in JavaScript performance.” Build exploitive applications (of HTML5). (Do I leave older browser users behind Vic?) Canvas is clearly better than Flash / Silverlight. Plug-ins just suck. [Paraphrasing] The Google-internal profiling tool looked slick. 

Matthew Papakipos: “Explosion in 3D applications.” I’ve seen a lot of 2.5D – but no real increase in true 3D applications. You? Using "GPU” rather than your CPU leaves your app free to run code efficiently on the CPU. Need 3D in major browser vendors – but no mention of Microsoft (unless they’re considered “others”). “Still in the early phase.”

Vic: Where’s IE8 and HTML5? “We eagerly await to see evidence of that [HTML5 in IE8].”  

What excites you about their announcements? Or maybe worries you?