ClickOnce may as well be ClickNever

A few weeks ago I raved about VS2005. One of the things I really liked about it was the ClickOnce deployment. ClickOnce is the ability to “publish” your software to the net and support auto-update all through a simple build step in VS2005. Its very slick!

Alas, today I ran into a fatal flaw for ClickOnce – it doesn’t work for FireFox. Several small companies I know that were excited about ClickOnce have all backed off their initial enthusiasm, with this bug being a major reason why. Unfortunately, not supporting firefox in this day and age just isn’t acceptible. If you are building tools for ISVs, you know that you can’t just “not work” for some segment of your population.

Hence, ClickOnce is relegated to an IT-only tool, where it can be used for internat deployments at companies that don’t allow FireFox.

The good news, if there is any, is that the Microsoft team is well aware and promise that they are working on a fix. But I can’t say I’m not really disappointed in this.

More information can be found from Microsoft Developer Saurabh Pant, and Scott Hanselman.

Upgraded my Porsche

I’m happy to announce I’ve upgraded my ’98 Porsche Boxster to something that gets me to work faster!

Must be a 911, right? Or maybe a BMW 5 series? Something German? How about an ’06 Honda Civic Hybrid!

Sure, this car doesn’t have quite the power, prestige, look, or exhilaration that comes with the Porsche, but I get to work faster in my steadfast little car with brand-new HOV-lane (aka Carpool lane) stickers. I left home at 7:15 this morning and sailed into work by 8am. (this was an impossible time in the Porsche at that hour!) Particularly satisfying was zooming at 65mph past all the stopped traffic merging onto highway 237. It was certainly a congestion that would have cost me at least 15 minutes!

My friends laugh at me now because I’ve switched from being an aggressive driver to a granny. My “porsche lane” is gone (weaving through traffic at 90+mph). Now I seem to be more content trying to optimize my MPG up to 50 instead of extending my spedometer to read triple digits. But that virtual high-speed lane is never open during the commute times anyway, so I’m reasonably happy to replace it with my wide open 65mph commuter lane.

The only thing I miss is the convertible top. I must be getting old. But at least I saved 15 minutes.

Boolean Brake Lights Just Aren’t Enough

Have you ever driven behind a car that had its brake lights on for a really long time? Eventually, you conclude the driver is driving with both feet because the car keeps accelerating. Sure enough, as you pass the 1972 Cadillac, you realize that the 900 year old man driving it probably thinks the brake pedal is comfortable place to rest his foot.

Or, have you ever been behind one of those massive SUVs when the driver taps the brakes and you have no idea why? These 5 ton behemoths are hard to see around. In fact, the only way to see around them is to buy an even bigger SUV! But that is a different story. When the driver hits the brakes in front of you, it is usually not possible to tell why – even if you aren’t tailgating.

Lastly, have you ever been in a really bad traffic jam and just watched drivers’ brake usage patterns? In heavy traffic, you’ll see there are 3 basic types of drivers. There are those that use the brakes constantly, those that use the brakes sparingly, and a third group that seem to tap the brake pedals at fairly random intervals. I suspect these are individuals that are being cautious and careful. But because the lights on the back of their car are either “on” or “off”, the following drivers have no choice but to brake too. You just can’t discern what the driver is really thinking.

All of these examples showcase the fact that our system of boolean on-off brake lights is inadequate. While the cockpits of our cars have added MPG gauges and all sorts of bells and whistles, the driving indicators on the outside of the car remain completely un-evolved since their inception!

Here are some ideas for things we could do better.

First off, let’s start using more signals on the back of each car. Rather than knowing whether the driver has their foot on the brake pedal, I’d like to know if the car is accelerating or decelerating. If the driver has his foot on both pedals, who cares if one is on the brakes- the driver still may be speeding up. So how about a system which has:
– GREEN – accelerating
– ORANGE – decelerating 5%

I thought about making the third brake light be a differentiator to distinguish between mild brake usage and heavy brakes, but that would be incompatible with existing cars such that other drivers just wouldn’t know. The same argument could be made for my use of “red’.

Another thing I’d like to see on every bumper is a digital readout of two things. First, how fast the car is going, and second, the average speed of the car over the last 5 minutes. This somewhat assumes that speedometers are accurate, and these would be obviously ugly and prone to tampering. But, wouldn’t this be useful? Immediately, when you get behind another vehicle you’d be able to determine his approximate speed, and his “typical” speed in the last few minutes. Don’t think for a second that police officers wouldn’t start keying in off these things too.

Anyway, I think we should have better brake lights and gauges on the exterior of vehicles. In a traffic jam, being able to differentiate between silly brake pumping and real braking could really help us all drive more efficiently and more safely.

Firefox – Not as safe as you may think

Building browsers is hard to do. There are a lot of features in there for attackers to exploit. IE has certainly had it’s share. As Firefox’s popularity increases, it is getting more of them too.

If you’ve got Firefox 1.5, it contains some serious security regressions. You may want to upgrade to 1.5.0.1

I think the most interesting question is – how will Open Source projects like Firefox adapt to avoid security regressions like these? For as much as people gripe about Microsoft’s security (myself included), I have to admit that Microsoft is doing more than any company on the planet to prevent security problems. Here are some things that you get from Microsoft that Open Source will have a tough time beating:
1) All released software goes through a mandatory security review process. Does this slow down the process of shipping software? Yeah. We’re trying to fix that part. But this does catch real issues.
2) Every developer at Microsoft goes to security training. You can argue that this is a bit lame, but does every open-source developer do this? If nothing else, it brings security to the forefront of everyone’s mind.
3) When security flaws occur, software can be updated via Microsoft Update. IT managers can use SMS/WSUS to be notified of patches instantly, get details on the risk, and apply them to their desktops within hours.

The 3rd bullet sounds simple, but actually represents a massive undertaking. When will any open source project be able to track all their customers via a service, and proactively send them updates and allow IT managers to selectively rollout their fleet?

Hopefully we can solve this problem for both commercial and open-source software.

Microsoft Money

I’ve been using Quicken for years. I’m currently running a very old copy – version 2001. It worked pretty well until they cut off their service entirely earlier this year, and it now throws warnings all over the place. I looked into upgrading, but the $80 price tag combined with mediocre online reviews and potential loss of QIF import scared me away.

There are a couple of big things I look for in my checkbook program:
– Ease/Flexibility of data input. I need to be able to periodically import data from investment accounts, but mostly I manually input. So while I need the QIF import feature, mostly I need quick type-aheads.
– Great reporting
– Good investment tracking. I really like my instant quotes, and I’ve been living without them for far too long.

And of course, I’ve been pretty annoyed with Quicken’s move into the online space. Their product just got bogged down, and lost a lot of it’s snappiness and trustworthiness.

So, while standing at Best Buy last week looking to buy my Tax software (I bought TaxCut for the 3rd year in a row – $10 cheaper than TurboTax), I found myself drooling over a new financial program. I decided I needed the “premium” version of Quicken – to get the online quotes. Amazingly, the packaging and feature breakdowns with Microsoft Money was nearly identical. And since I work for Microsoft, I decided to get that one instead.

Today I finally got a chance to try it, and I have to say, its really great so far. It imported all my quicken data with almost no trouble. (It did lose a couple of minor categories). But the investment tracking is far more accurate – it immediately pointed out a few accounting errors I had, and I was able to fix them after getting acquainted with the new layouts and terminology. I was also impressed that it auto-detected several of my recurring payments, and figured out a rudimentary monthly budget for me. On more careful glance, though, I did discover it wasn’t very smart about it and sometimes misses payments.

The online integration seems a lot smoother than Quicken’s was too. Maybe its just 5 years of product updates, but they managed to make the interface pretty clean. I do actually trust Microsoft to respect my privacy a bit more than Intuit as well. The one big annoyance was a flash-based Geico ad in the middle of the Investments page, but I think I’ll just not use that page very often.

Anyway, if you are like me and tired of Quicken, it might be worth trying Microsoft Money. The Premium version retails for about $75, but it has a $40 mail-in rebate. That is almost exactly the same price as Quicken’s equivalent version. So far, I like it.

Visual Studio 2005!!

I finally bought myself a copy of Microsoft Visual Studio 2005. I’ve been very excited to get the updated version (I was running Visual Studio 2003) becuse it’s chock full of great new features. In particular I am excited to try out the auto-update that is built in as well as the refactoring features.

Alas, my install will have to wait, as I just received the error message, “You must install Microsoft Office 2003 in order to proceed.” Huh? The development environment is now dependent on Office being installed? Ack! I guess most folks installing VS2005 have a universal subscription, so this isn’t an issue. And it does tell you this on the box, but I still didn’t expect it and was too dumb to read. You know, I really do like Microsoft software… That is why I was so excited to install. But these interdependencies sometimes just don’t make sense. When it works, it works great. But it sure would be a lot better if it were lean-and-mean too.

I’ve been perfectly happy without Office on my system for the last two years using OpenOffice. I never upgraded to the latest versions of OpenOffice, and from what I hear, it’s improved quite a lot. And, I’m still grumpy about not having a free version of Office available for home users.

Oh well, I’ll get over it. I’ll go buy Office 2003 now because I want my VS2005 that badly. More to come!
Read more

The Truth about NTP

NTP is the group which is suing Research In Motion, the makers of Blackberry wireless handhelds. They’ve won a $450 Million judgement and are threatening to “shut down” Blackberry. They did this because they hold a few key patents in the wireless messaging arena.

So who is this NTP? No doubt they are a struggling, small startup just doing their best to bring their own products to market while being bullied by the huge conglomorate RIM, right? Well, not exactly. Actually, NTP is a holding company that has no assets except for a couple of patents. They’ve never built a product and have made no indications that they ever plan to. Instead, their plan is to just sue anyone else who actually does build things.

Also in the news today is that NTP (via Visto) is now suing Good Technology. Good has been a competitor to RIM for a while. Last year, in order to make sure that Good was not hit by NTP’s legal shenanigans, Good and NTP inked a deal for Good to license the patents. Good was proactive in seeking out this arrangement. Although I don’t personally think NTP should have this patent in the first place, our legal system lets it be, and Good did the right thing by legally licensing with NTP. Keep in mind that Good is a small company doesn’t have the deep pockets that RIM does. This was an easy deal for NTP, as it lends credibility to their patent, and yet doesn’t represent nearly the magnitude of dollars that suing RIM would represent.

Nonetheless, NTP’s greed remains unquenched, and they’ve now decided to go after their licensee Good under the Visto name.

Do you remember Visto? Of course not. They are basically dead now. They are a small, Silicon Valley startup that made some semi-interesting, but not-too-revolutionary sync products for wireless devices. Unfortunately, like many startups, they found that their biggest impediment to success was running out of money.

Thanks to our vulturous legal system, however, the corpse of Visto is still sputtering. NTP and Visto just announced last month that Visto has given NTP an equity stake in the company in exchange for use of NTP’s patents. The San Jose Mercury News ran an article titled, NTP ally Visto sues Good over wireless patents. But I thought Good was NTP’s ally that had licensed their patents? I guess that was last year!

This whole case with RIM, Good, and NTP is such a travesty. RIM is building a great product – millions of people use it daily. NTP, by contrast, builds nothing of value. The man who originally filed the patents NTP now holds is already dead, and the lawyers that remain at NTP are suing only to get rich. In the meantime, the poor guys at Good are trying to play by the rules with their meager startup budget. As a payback for helping out NTP, NTP goes and partners with another Good competitor, and then sues Good.

I hope NTP loses big time.

Backup your Backups

Popular blogs today are reporting that your CD-R backups of your photos and precious data may have a lifespan of only 2 to 5 years. Ack!

There is probably some truth to the story. It certainly wouldn’t surprise me if CD lifespans are shorter than we think. But what bugs me is that there is absolutely no data provided in the article. How about some tests? Did they use different types of CDs? Different types of CD writers? Did they store the CDs differently? Did they use the CDs frequently for reading? Who knows. They provided no data. Wouldn’t a responsible journalist at least provide a few crumbs of facts?

I know first hand that I have some CDs I’ve burned which I’ve used for more than 2 years. In fact, I regularly play a CD in my car that is dated 2001.

It’s probably all just dramatized yellow journalism. Or maybe we need to make backups of our backups. I haven’t done any studies, so don’t take my word for it!

Structured Blogging, Microformats, and XML

I’ve been paying attention to “building blocks of XML” as a mechanism of standardizing dataformats for a while. XML certainly is the tool which is supposed to be able to solve this. And in a few isolated spots it has worked. But for the most part, applications still don’t share a lot of data types for a lot of reasons.

A group called StructuredBlogging has some interesting ideas around doing this within blog. They have an interesting demo for MovableType or WordPress. They are also supporting the notion of Microformats.

Microformats is brought to us by a group of folks from Technorati and other places.. It’s an interesting concept. They basically claim that XML formats will never get used much due to the fact that you have to build a whole slew of tools to actually make it usable by any large audience. So, instead, they’ve reverted back to using XHTML, which is a form of XML, and then using conventions for how to describe objects. This has the advantage that microformat objects are instantly usable on basically everyone’s desktop – because they work well in the browser and can be manipulated using javascript and stylesheets. More interesting is how well they work with AJAX, because AJAX is already a client->server interaction of HTML.

Its a bit of kludge, though, because it is shoehorning in XML data types into HTML which wasn’t really intended for it. It makes the syntax a bit obscure, and you lose namespaces and need to be a lot more careful about what XHTML class attributes you use. But, if it gets past the adoption problems of XML, those are minor issues.

Worth reading about if you are interested in this kind of stuff…. I do wonder if the real issue is that too many businesses think they don’t want to share data types at all… (Look what happened with Oodle/Craigslist when they shared data via RSS) I hope that is not really the case.

Finally, if you are interested in this, definitely read what Tim Bray has to say about inventing XML languages.