Grisoft join the “Lets piss everyone off” Brigade

AVG LogoFor many years now, I’ve been a fan of Grisoft. They produce a superb – and free! – anti-virus utility for Windows – AVG – which I has kept my home PCs virus free without fail. Then version 8 appeared…

About a month ago, my installation of AVG prompted me to upgrade to version 8. As is normal with Grisoft, they initally pushed their paid-for version (which I have no qualms with, but which I didn’t want). After a few days, the free version then became available, and so I upgraded. Unfortunately, version 8 has a new feature called LinkScanner and this is where the problems start.

LinkScanner is a highly intrusive utility that integrates itelf into IE and FireFox. Whenever you visit Google pages and perform a search, a spinning icon appears by each entry, that then gets replaced by a red cross or green tick. Moving the mouse pointer anywhere near these icons results in a huge noisy pop-up that bombards the user with not-very-useful information as shown below:

AVG in action

As you may be able to tell, I didn’t like this new feature. So I opened up the AVG control panel and disabled LinkScanner. Unfortunately Grisoft treat the disabling of the feature as a critical error and so the notification icon greys out and a big red exclamation mark appears over it. By this point, I was starting to get annoyed. Treating a deliberate user action as a critical error is just plain stupid. The product basically bites off its own nose to spite me for daring to disable the feature, as it instantly renders itself incapable of notifying me of a real problem!

The final straw came on Friday when an article about AVG on the Register caught my eye. I’d assumed the spinning icons represented requests back to Grisoft’s servers for information on the sites in question. It turns out though that the product instead “silently” visits each site in turn to check it every time. In order to prevent malware sites hiding their evils from AVG, it pretends to be IE6 when requesting the pages. In other words, every time someone visits Google with AVG installed, they screw up that site’s visitor stats. This is just unforgivable behaviour for a product in my view.

So Grisoft join Micorosft (with their search gaff) and Apple (with their malware-style updater) in the ignoble hall of fame for pissing off their users. UPDATE: As Mike Dillamore points out in the comments below (thanks Mike!), Grisoft listened to the criticism of its users. Versions 8.0.1 onwards have made LinkScanner an optional install. So once again AVG returns to being a brilliant anti virus utility.

Firefox 3 Dayload Day is to happen after all (just 19 hours late)

Unless you live under a rock (or care not for technology), you will be aware that the 17th June is the official Firefox 3 download day. If like me, you have been patiently watching for it to be available for download ever since 00:01 on the 17th in Tonga (which is bizarrely 13 hours ahead of GMT), you will have been thoroughly disappointed. It turns out that FF3 isn’t actually going to be launched until the 17th is over for most of the planet, as it is to be launched at 17:00 GMT (or 10am if you live on the west coast of the USA).

Perhaps they ran into technical difficulties, which forced a delay? Or perhaps our dear American friends behind the launch are as clueless over geography as the stereotypes depict them and thus are oblivious to the fact that it will be the 18th for much of the planet when they hit the go button. Either way, never fear: FF3 is being released, it will just be a little late…

Update: Well I was a bit generous with the 19 hours late. The event is clearly going to be a major one as demand appears to have taken the Mozilla servers down at 17:00 GMT and they weren’t back up again for nearly two hours. So the record setting event is under way “just” 21 hours late. I think my download from the FTP site won’t count, so I’ll have to download again to register it.

I’ve taken down the link to the FTP site down now that FF3 is available from the website. And – as Laurence spotted – I was guilty of being badly windows-centric with the link, so sorry about that.

Is Firefox’s Awesome Bar really that awesome?

firefoxWith the release of the Firefox 3 RC1 recently, I decided it was time to try out the new browser. I did so with trepidation, mainly due to worries over which add-ons I’d lose. Initially, it seemed a no-hoper as Tab Mix Plus and the del.icio.us add-ons weren’t supported. To my mind, Tab Mix Plus (TMP) is the single most important add-on ever for Firefox. It turns just another browser into an amazing tool. It lets you work within a single window, and can be made to always open links in the same tab, regardless of what links want to do etc. It has a massive number of features for customising the way tabs work, so that you can really get them to work “properly” (for just about anyone’s personal view of what “properly” is). Luckily, there is a pre-release test version of TMP available, which worked just fine on my machine.

Having sorted out TMP, I decided that FF3 RC1 was usuable and so kept it. The del.icio.us bookmark add-on was updated to support the release candidate yesterday (I also updated to RC2, so I’m not sure if the two events are related). With the other useful add-ons working (Flashblock, Adblock Plus, IE Tab, Tab Catalog and Download Statusbar), it’s a nice, stable browser, except…

… the “Awsome Bar”. The idea behind the new location bar in FF3 is a good one. Whereas previous browsers have matched URLs from left-to-right as you type, the Awesome Bar searches for the typed string anywhere in the URL and page title. It also uses a clever algorythm to rank the results (including taking into account what you selected before if you have typed those characters before). This is all very nice, but the resultant bar is a real usability nightmare as the screenshot below shows:

Different font sizes and colours and bold+underlined characters all presented in a dense mess that just completely overloads the user. I know what I’ve typed, so I don’t need the terms highlighted. Yet these draw the eye away from the page titles and URLs making it really difficult to read.

Luckily there is a really nice add-on available that fixes the problem: oldbar. The clever underlying algorithms are still there, but it simplifies the view back to something similar to that offered by FF2:

Now that really is awesome!

Will Java show Microsoft the way to .NET 4?

JavaHaving recently started a new job that is Java & ActionScript-centred (as opposed to my old .NET & ActionScript-centred job), I’ve been trying to catch up with the world of Java. Last time I used the latter was back around the turn of the century when Sun hit upon the cunning plan of calling a release both Java 1.2 and Java 2 (a mind-numbingly stupid idea that still continues today with Java 6/ Java 1.6). Things have moved on, the language has had many new features added and the core classes have mushroomed into a huge complex mess that involves a large download. This is of course much the same as .NET, which tends to follow in Java’s footsteps on many levels.

Recently I came across something that Java is soon to offer that .NET would really benefit from: Java 6 SE Update 10. This rather cumbersomely entitled release has the somewhat more snappy title of “Consumer JRE”. This new consumer runtime has a bunch of really nice features, the two key ones in my view are the Java Kernel and draggable applets.

Java Kernel
Like .NET, the Java runtime is a huge download. The first time you try and run a java application on a machine that doesn’t have the JRE installed, in must be downloaded. The Java Kernel is a clever – and oh-so-simple – idea: break the JRE up into lots of bits and only download what is needed. So the first time you run a Java application, the basic – small – kernel is fetched, plus any other parts that the application needs. At that point the application can run. The rest of the JRE is then downloaded in slow-time in the background.

The graph below (from http://java.sun.com/developer/technicalArticles/javase/consumerjre/) highlights this:

Comparison of Various Swing Application Download Sizes With the Full JRE.

Draggable Applets
Back in the days before Flash, Java Applets were the way to do programatically complex stuff in web pages. In recent years, they have declined in popularity, but this feature may bring them back into favour. If you visit a web page and see an applet that you like, then you’ll be able to drag it out of the browser window to the desktop. It then runs as a fully fledged desktop application, rather than just a browser applet.

When these features will be released is anyone’s guess (early betas of the Consumer JRE were “hot news” last year [2007] and it is still in beta), but they are great features none the less. And so this brings me to .NET 4. When Silverlight 2 is released (I’m still predicting late July or very early August for this release, ie just in time for the Olympics), Microsoft will have an obvious starting point for the equivalent of both of these features. The Mono team have their Moonlight desklets, which Microsoft could take and turn into Silverlight applications that can be dragged out of the browser onto the desktop. And the cut-down .NET framework that forms the kernel of Silverlight 2 would make a great starting point for a piecemeal downloadable .NET 4 kernel.

The “big chief” of .NET – Scott Guthrie – is a man who is happy to take great ideas from anywhere and shamelessly add them to .NET, so I fully hope and expect to see such features in the .NET realm sometime soon(ish).

Microsoft Parallel Extensions to .NET Framework 3.5, June 2008 CTP Released

AMD quad core chipLast week, Microsoft released a new Community Technology Preview (CTP) of the .NET Task Parallel Library. The new release has a brand new scheduler that repleaces the pretty crude protottype scheduler found in the December 2007 CTP. According to the help file that accompanies the release, the new scheduler “… uses cooperative scheduling and work-stealing to achieve fast, efficient scheduling and maximum CPU utilization”.

In addition to improving the performance of the Task Parallel Library (TPL) and PLINQ, a bunch of new classes that compliment the TPL, and that can be used for general multithreading work, are included too. These include things such as a spinlock class, that includes builtin support for the sleep/ retry loop when the lock isn’t available; and the ConcurrentQueue and ConcurrentStack classes. These latter ones provide builtin support for multiple threads reading and writing to the collections simulataneously, and remove the need to write semaphore-based wrappers around the previous Queue and Stack classes.