Archive for May, 2007

Blue Soliel

Sunday, May 27th, 2007

I bought a USB bluetooth adaptor for Vic to sync her phone with her desktop. The adapter shipped with Blue Soliel, used to run the adapter.

About 5 minutes after installing it, I got an error saying:

A pirate copy is in use!
BlueSoleil will run in evaluation mode!

This was interesting because I’d just bought it. After googling for the issue, I found the following forum posts. One of the problems they suggest is that the MAC address of your hardware is already in use (eg 11.11.11.11.11.11)

Now I have some sympathy for IVT in this situation. They write software, they want to ensure that people pay them for using their software. However it appears that their means for identifying pirates is pretty poor. It would seem to be similar to WGA, where it associates some sort of hardware hash with the MAC address of the bluetooth adapter. This breaks in numerous situations (moving between machines, change hardware etc). It assumes that people will not want to move between machines, which is certainly not true for us as I will probably “borrow” this from Vic. IVTs anti-piracy measures penalise legitimate customers, customers like myself.

You see, the adapter I bought certainly was licensed. However I think what may have happened is that someone at the store I bought it from tested it before selling it to me. The end result being it has turned up as pirated. In addition for many users they are buying the hardware and they see software like Blue Soliel tied to the hardware, not to one specific machine. In my case I would also want to use the adapter on my desktop as well as Victoria’s, which would likely flag the software a pirated again.

Undoing the damage

All in all this made me pretty annoyed. I installed a firewall on Vic’s desktop to find out what it was trying to connect to (in order to check whether it was pirated or not). It turns out this was the following IP address:
211.94.168.252

This closed down my first line of though, which was to add an entry to the hosts file, redirecting the domain name to 127.0.0.1. With a direct IP address this isn’t possible. I was also disinclined to run a firewall on Vic’s machine permanently (I think the security they add is minimal), and I don’t have anything set up to run egress filtering from my network.

My next approach was to consider patching the binary files to either bypass or redirect the online check. This isn’t something I have done before, however I was feeling annoyed enough to think it might be a good idea. I ran Filemon to see what handles it opened up and sure enough, at the point where it popped up its error message, there was a call to one of the winsock dlls. I ran strings (a tool on linux to pull out all human readable strings out of a binary file) to see if I could find the actual message. The fact that I couldn’t suggested to me that they may obfuscate the strings binaries. I also ran a quick search for the hex, int or dotted decimal representation of that IP address, which found nothing also. At that point I decided it might get a little hard to track down exactly where the problem lies.

I also toyed with the idea setting up a separate login account for BlueSoliel, one which denied permissions to the dll. I’d then set BlueSoliel to run on startup using runas.

Bug reporting to Microsoft

Wednesday, May 23rd, 2007

I recently ran into a bug in IE while at work. And I do mean honest to goodness bug, not some rendering issue or different interpretations of css or some usability issue. I mean a bug. A bug introduced in IE7, not present in IE5, 5.5 or 6.

So the question is, how do you report a bug to Microsoft? Some years ago I asked this question of a phone tech support guy from Microsoft (yes I was young and foolish, there was once a time when I though phone support actually helped). The answer was to send an email to ms-wish@microsoft.com. Apart from the problem of the name of the email address (I wish there were no bugs in this product), you have no idea whether they received it or if they are going to take any action on it. The only other option was to pay hundreds of dollars for higher level support and if Microsoft decided it was a bug they would refund the money.

I settled on asking in the official IE newsgroup. This received the predictable response: silence.

The problem is that Microsoft is opaque, you have no idea what is happening. I’m not suggesting that Microsoft should open source all their software. I am suggesting that Microsoft engage with the people who use their software, at least when it comes to bugs and features. Some steps have been taken in that direction (eg IEblog), but the communication is mostly one way: Microsoft -> Users.

I have reported bugs in Firefox and Opera (I’m about to post another for Firefox). Both have a system for reporting bugs that is clear and open. Microsoft should learn from this.

Incidentally anyone who has an inside line at Microsoft, I’d appreciate it if you would pass this bug on to the IE team and let me know of their response.

Leadtek/ulead

Saturday, May 19th, 2007

I recently bought a LeadTek DVT1000T TV tuner. While installing it I ran into a plethora of problems.

Which CD

The card ships with 4 CD and DVDs. None are labelled as driver CDs. After a process of guessing, trial and error and finally reading the manual I found the correct CD. Of course the name wasn’t the same as the one in the manual but it was kinda close.

CD broken

At this point I found I couldn’t read the driver CD. At the time I was blaming LeadTek, but it turns out that my DVD drive was broken. I went to download the drivers.

Downloading drivers

Fortunately the drivers had been made available on the website. It may have taken 5 minutes to load the page but they were definitely there. It took me a mere half hour to download the 180K and 25Mb files. I’m on upwards of 2Mbit download. In addition I using a tool to download the files broken into 3 parts from 3 different servers, without that I could have expected to wait around 3 times as long. Buy some bandwidth Leadtek.

Installation fun

Having installed the drivers, which went surprisingly smoothly, I thought I might install some of the other stuff that came with the card. Normally I tend to avoid this kind of rubbish (and generally it is rubbish), however I thought I might give it a try. First CD contained something called orb, which gave me my choice of language including Birtish English.

Being the sporting kind of chap I chose that. The installation also opened up a window to service.orb.com.tw. I’d love to know what was there because it was still loading 45 minutes later. I assume it was important but it’s hard to tell.

Using the software

The software to record TV seemed to work just fine, however I ran into some issues with movie maker (OEM with the card) to burn a DVD of some recorded TV. Editing the movie was fine, however when I burnt the movie (encoding + burning took hours), the audio was out of sync. This got worse with time, about half an hour in the sound was lagging a few seconds behind the video.

Thinking it might have been the process of burning it, I tried to save the file as an ISO. That crashed about 10% of the way in (same the second time through).

All in all a very smooth user experience.

Book: The inmates are running the Asylum (Chapter 14)

Thursday, May 17th, 2007

Chapter 14 is something of a conclusion.

page 235

The programmers are welcome to improvise below the surface of the program, but every aspect of the defined user interaction must be assumed to be firm.

Under this regime usability designers are God’s whose edicts are etched in stone. This ignores the possibility that technical requirements might force a change. It ignores the fact they might make mistakes. From his mountaintop, Alan surveys the world and issues his commands.

page 236

The design team must have responsibility for everything that comes in contact with the user. This includes all hardware as well as all software.

Once again, Alan defines his role as the one everything must revolve around. Yet he criticises programmers because he believes that they think everything revolves around them.

page 241

Occasionally, consumers hold out the vague and quixotic hope that the next wave of high technology - such as voice recognition - will make software-base products easy to use. This hope is naive, and foolish and it saddens me how the apologists cruelly fan it.

This is right on the money. Most new technology does not significant enhance the user experience.

page 241

Microsoft is vulnerable today as General Motors was in 1974.

No. Microsoft has vendor and more importantly protocole lock in, which insulates it to a large extent.

Book: The inmates are running the Asylum (Chapter 13)

Thursday, May 3rd, 2007

This chapter concentrates how control of the process, in particular who should control the process.

He makes a very good point regarding customer driven processes.
page 218

There is a big difference between listening to your customers and following your customers. Listening is good. It means applying your own filter to what you have heard. Following is bad.

I could not agree with this more. Customers don’t actually know what they want. In addition when they do want something and may not realise the implications of getting it. All too often they ask for a feature that will actually make life worse for themselves. It will also make life harder for all your other customers.

Later in the chapter he compares making movies to writing software. Both have pre-production, production and post-production phases.
page 225

The significant aspect of this tripartite structure is that the purpose of the pre-production phase is to minimize the duration of the production phase.

Once again we see that Alan’s view of software development is strongly rooted in deprecated waterfall model of development.

page 227

I say that a sufficiently detailed specification is indistinguishable from the code that implements it.

This is idiotic. First up we are back in waterfall land. Secondly, such a spec has never been written. It doesn’t exist and it never will exist. The issue with waterfall is that issues arise in implementation that were not considered during design phase. For example the amount of time it takes for a program to execute a task is a usability issue, but it cannot be accurately estimated during the design phase.

If Alan were ever to attempt to implement this process either it would collapse in on itself or the programmers would pretend they were implementing the spec. Alan’s approach is just as bad, if not worse than a programmer approach which says the code is the design.

page 232

The central recommendation of this book is that the interaction designer should be the ultimate owner of product quality.

You’d never guess Alan is an interaction designer would you?