Category Archives: Suggestions

Rant of the day: The Big Green Download Button

What is it with software download sites and their download links?  Typically if you visit a website to download software, especially free or open source software, you’ll be presented with a page with several big green download buttons.  Often the actual download will be a link buried to one side or somewhere halfway down the page.  Nearly every site offering free software does this.  And it sucks.

You may argue that it is the ad network providing these ads, but the developer of the site has chosen to put ads on their page.  They know that the ads are misleading.  And yet they persist.

Do you want to see some examples?

The actual download link is below the fold for most users.  A subtle ‘Advertisement’ box which most users will simply miss. does it twice: on their download page, and then on the download host page.


Spot the real download link: it isn’t a big friendly green button, is it?


“Reputable” sites such as Sourceforge also do it.  A little link for the real download.  And big green Download buttons for the fake ones.


Four fake downloads at FileHippo.  Can you see them all?


CNet manage to have two fake downlaods.  Amazingly, slightly less offensive than most of the others, apart from the irritating animated ad.


Brothersoft is particularly bad.  The actual download link is further down the page.  I count ten download links above the fold.

Developers, leaving ads like this on your software download pages hurts your users.  Using file distribution sites such as the ones illustrated above, that bury your software download link among all their ads, hurts your users.

Inexperienced users will download the wrong program and end up frustrated and angry that you tricked them into installing rubbish they didn’t want.

More experienced users will usually see past the ads but it will still be a frustrating experience for them, and gosh does it look like seedy hour.  It feels like visiting a warez site.  Your reputation is tarnished.  It’s nearly as bad as bundling toolbars (and we all know how that makes you look!)  You look cheap.  And nasty.

Gurus use Adblock.  They won’t see your ads.  You won’t get revenue from them.  And over time, they are teaching the inexperienced users to install Adblock so that the less experienced users get the software they want, as well.

Note how Adblock do not have any other green download buttons but their own.  Yeah, the page is ugly, but at least they got their download button right!

Get rid of those low-life ads!  Build a reputation of delivering your software yourself, from your site, without misleading advertisements.  That’s my rant done.

The two abreast rule: when is it safe for cars to pass cyclists?

One of the most contentious Tasmanian road rules regarding cyclists is the Two Abreast Rule (quote here from VicRoads):

Bike riders must not ride more than two abreast (two bike riders riding next to each other) unless overtaking. Bike riders riding two abreast must not ride more than 1.5 metres apart.

Whenever this rule is mentioned, you’ll typically also get some free advice:

When riding two abreast please consider other road users and, if necessary, change to single file to allow motor vehicles to overtake safely.

So, my question today is, when is it safe for motor vehicles to overtake? I’m going to look at this in the context of Bonnet Hill in Hobart. Channel Highway on Bonnet Hill is a narrow, 60km/h semi-rural road connecting Hobart and Kingston. It is a minor road, and most traffic uses the 100km/h Southern Outlet. There are no overtaking sections on Bonnet Hill.  It is one of the most-used bicycle routes in Hobart.

In terms of my measurements, here are the basics.  Bonnet Hill is fairly typical of Tasmanian rural roads — in fact it is wider than many roads around Hobart.

Lane width 3m (total roadway 6m)
Typical bicycle width 0.45m
Typical car width 1.75m
Recommended distance from edge of road for cyclist (to tyre) 0.5m
Recommended minimum distance between car and cyclist when passing 1m (urban)/1.5m (rural)
Typical distance between double file cyclists 0.5m (max 1.5m)

When a car driver wishes to pass a cyclist on this road, can they do this both legally and safely?  Let’s look at this graphically.  In this hand-crafted image I have even moved the car closer than recommended for a rural road: only 1 metre from the cyclists who are riding single file.

Is it safe and legal to pass?  The measurements shown are in metres

Well that’s pretty clear. Either the driver has to illegally cross over the double line, or they have to pass at an unsafe distance. Personally, I’d prefer that they pass safely!

This clearly also illustrates that regardless of the legality, on a road such as Channel Highway over Bonnet Hill, it is never safe to pass if there is oncoming traffic.  A minimum of a metre is so important.

Why is a metre important?  Here are several reasons:

  1. A cyclist may be forced to negotiate around debris or damaged road surfaces, especially if they are riding close to the edge of the road.  This means you cannot be sure they’ll take a perfectly straight line while you pass them.
  2. With cross or gusty winds, a cyclist may be abruptly blown sideways with little or no notice.
  3. If you pass too close, the wind of your passing will blow the cyclist about and may even suck them into your vehicle.
  4. Driving past at speed will startle the cyclist and that may cause them to crash.  Consider: if you pass a cyclist riding at 20km/h at 100km/h (as one motorist recently admitted doing), that is equivalent to being overtaken on the Midlands Highway by a car doing 190km/h.  Do you think perhaps you would not be expecting that?  How much time do you think you’d have to become aware of a vehicle approaching from behind at that sort of speed differential?

The next diagram illustrates again why there is not enough space to pass bicycles when there is oncoming traffic. As I have shown, even if the cyclists move onto the very edge of the road, there is insufficient space between the car and the cyclists.

Oncoming traffic: is it safe to pass?  No: that’s considerably less than a metre between the car and the bikes.

OK, so consider what happens if you do try to pass when an oncoming car is approaching, and you run out of space.  What will you do?  That’s right, you’ll instinctively swerve to avoid the oncoming car, and the loser is the cyclist.

Overtaking when there isn’t room.  Hitting the poor cyclist is the likely outcome.

Finally, let’s look at the double file situation.  Here we have two cyclists riding 50cm apart, in the recommended position on the road.  The car is giving the cyclists 1m of space.  Again, this is technically illegal, but it is safe for the cyclists.  The situation for the driver is no different: they must still ensure there is no oncoming traffic.

Safely (but illegally) passing double file cyclists.  The car is only 1m further right.

So, in the end whether the cyclists are single file or double file, the driver always needs cross into the oncoming traffic lane in order to safely pass, at least on typical Tasmanian rural roads.  Also note that you can actually pass double file cyclists in a shorter time than when the cyclists are riding single file!

And to finish off, I wonder if a common sense clause in the road rules could be a help in resolving the conflict between drivers and cyclists on these low-traffic Tasmanian rural roads?  Something like:

When passing slow moving bicycles, horses, or farm vehicles the vehicle is permitted to cross a solid centre line if and only if there is no oncoming traffic and the driver can clearly see that it is safe to do so.

Spy++ in the case of the missing message

Yesterday, I wrote about WM_QUERYENDSESSION and the app that would not shut down. In that blog, I found a thread that never checked its message queue, and this meant that Windows thought the app was not responding.

So why didn’t Spy++ show the sent message in its log when it was sent? Spy++ uses a SetWindowsHookEx(WH_CALLWNDPROC) hook to log messages sent to windows. It turns out that in Windows NT 4.0 and later versions, the WH_CALLWNDPROC hook is called just before the message is sent to the window procedure. So our message never made it to the hook.

However, in Win9x and NT 3.51, the hook was called when the SendMessage function was called. Spy++ has its heritage in that era. Perhaps now the message delivery title in Spy++ should be changed from “sent” to “received” in order to clarify this difference.