Sunday, November 27, 2005

Software like ET: Phone Home

I'm getting to really hate all of the software out there that wants to "phone home" (contact a server somewhere) all the time. There are levels to this of course. I think everyone can agree that they hate the crapware / foistware typically known as spyware. But how about other classes? Here's a quick, non-scientific catergorization:

Programs that check for updates for their software
These would be like Quicktime, Flash Player, Adobe Acrobat Reader, etc. I think those yokels need to understand that their junky software is just a small piece of what computer users have installed and we don't want to have their little stub programs checking for updates all the damn time. In fact, if it weren't required by so many web sites and other programs we'd probably prefer not to have the software itself installed. These things annoy the heck out of me, always wanting to update themselves. Wasting my bandwidth for a purpose that just seems to be a bunch of hooey.

Programs like Microsoft's CEIP
What about the ones that do things like the Microsoft "Customer Experience Improvement Program" (or, "we watch what you click")? In the past, these tended to be opt-in, but lately some of them have been on by default. They also have a habit of not clearly disclosing what in the heck they are going to send. Are they sending my menu clicks? Are they sending my files? Who knows with most of them. Maybe the Shadow knows. One of the things I've been evangelizing with Microsoft in particular is that they should never ship one of these things unless there is a group policy setting to turn it the heck off.

Programs that are absolutely Helpless

I think the worst ones are where they try to go online to show help. For example, Microsoft Office Communicator. Seems OK, until you realize that they forgot to ship a help file and it just goes onto the internet to get help. Not cool; not by a long shot. Why should they assume I have an internet connection? I mean the software is designed to be used on an Intranet, not the internet. I've been noticing more and more programs like this - in fact in testing Windows Vista I see that the main source of help (at least the first one searched) is online. It eventually times out and shows you local help, but with a notice at the top that you are not connected and to retry. Guess what? Just try to find the policy to turn that off! So far, I can't find it. There doesn't appear to be one, although there is a per-user setting that changes it to local help only. Get with it MS: create that policy to make help local only!

Programs that "enhance" themselves online
Microsoft Office anyone? Gotta love those task panes always wanting to get content from the internet. Or what about the templates online? You like clipart? Remember when it used to come on a CD? Not anymore: it's online! Ugh!

So, is anyone else worried about all this? Do you have satellite links in your organization? Any microwave? How about lusers using dialup? Do any work in countries where the goverment owns the bandwidth and it doesn't matter how much you pay - you only get so much of it? As Andy Rooney would say, "Well I do." And as your friendly neighborhood GILDude says, "Give me back my bandwidth!"

Sunday, November 06, 2005

Visual Studio 2005 and Vista - Clearly a challenge

Anyone out there used Visual Studio 2005 RTM? Like it? So far I've been quite happy with it, except for an annoying little (minor) quirk where it likes to give the "green squiggly" to certain variables in "Finally" blocks.

How about on Vista? Have you tried to use VS 2005 there? Or perhaps just tried to run the compiled code on Vista? It didn't work, right? I've been fighting this annoyance with some code that I am working on that needs to work on both XP and Vista. Since Vista build 5231 is not very stable (OK, well the truth is not stable at all), I don't want to try to do the dev work on Vista. So I have been building on Windows XP, and debugging and testing on XP. Then I move the EXE over to Vista 5231 and it won't run. It turns out the runtime version of the RTM Visual Studio is v2.0.50727.42. The version on Vista build 5231 is v2.0.050727.20. So the EXE's just crash.

Not a problem, right? Just upgrade the runtime on Vista and it'll work like a champ. Not so fast... Microsoft has made the runtime part of the operating system. So the only way to upgrade it is via an OS Service Pack or patch. Nasty! So, what's a poor enterprising developer to do? Wait for a new build of Vista?

Not likely! What I've been doing is to install the RC of Visual Studio onto my Vista machines. It will run with the version of the runtime installed on 5231. Then, after coding and debugging on Windows XP, I copy the whole project over to the Vista machine and recompile it using the RC version of Visual Studio. So far I've only run into one code change I had to make in order to do that. Opening one of my projects and compiling it in the RC version gave an error on a line of code that the designer had created. The line was:

Me.lvItems.UseCompatibleStateImageBehavior = False

I was able to just rem that line out and the project worked in the RC version and could be tested on Vista.

Kind of a pain to do dev work and testing on both platforms at this point, but at least it is working for me. I can't wait for the next CTP build of Vista as it will be sure to have the RTM version of the runtime and I can quit using the compiler version shuffle to do testing.