Category Archives: I Do Imaging

Sorry it didn't work out, Movable Type

I have changed my blogging software from Movable Type to WordPress, and it took a little while to get over feeling guilty about it.  I never really gave Movable Type a real chance, as I didn’t learn to use it beyond just writing posts and having them presented in the default appearance.  If it’s possible to feel a sense of betrayal for abandoning something that is not only inanimate but ephemeral, I felt it.  For a few hours.

The blog had been added, as had many features of the site, quickly and improperly.  I kept meaning to go back and alter the appearance to fit the rest of the site, and to integrate my own header so the menus were present.  As so often happens, it didn’t happen.  Finally this weekend after constructive criticism from my sister, I put in a bit of time to get the blog looking like every other page.

Movable Type is excellent software and makes great blogs.  A couple of things about its design, though, meant I hand’t learnt how to fully customize it.  It uses a proprietary system of markup tags to enable formatting and page layout, and I didn’t really want to learn another markup language.  Also, pages are implemented as static files, so changing the layout resulted in a lengthy republishing step, even for my small blog.  Mostly, though, it was a feeling that I was dealing with an application rather than a language.  I’d have to ask MT to do something for me, and then guess where the files were that had been changed, and what had been done to them.  I suppose the point is that you’re expected to deal only with the application, and allow it to perform the site publication.  But I wanted to change things, take out their header and include my own, and to have snippets of the blog on other pages, and so on.  I’m sure there’s a way to do this in MT, but it wasn’t something I could learn quickly.

WordPress LogoSo I had a look at WordPress, and liked several things I saw.  For starters, it’s written in PHP, so to learn to change things I’d have to improve my minimal PHP knowledge, which would be a good thing.  It seemed easy to customize and there was not the same feeling of separation from the source files that I’d had with MT.  The programmer in me isn’t happy unless I can see the source, and preferably, work on it directly.  Anyway it took only a couple of hours from starting reading about WordPress, until I had it running, with my previous content imported, and the header file modified to include my own header and menus.  This will also shame me into upgrading the 90’s-era server side includes (.shtml) files) currently serving as the front and back pages, which include a variety of Perl CGI  programs through a rather fragile system of hacks I put together.  I’ll re-do all the static pages in PHP, and put the CGI functionality directly into the page rather than off in a separate process.  Hopefully this will speed things up.

So overall a positive experience, I felt definite pangs particularly when I asked MT to export its own content so another program could take over, but I’m glad it’s pushed me to PHP and the many advantages that offers.

Better Menus, Better Searching

google_search_a.png

I searched for my site in Google recently, and discovered two things.  Firstly, I am the most popular “I Do Im” search result in all of Googledom.  I’m not sure this is much of an achievement since my competition is  “I do imdb”, a phrase not in common usage.  Still, it is a small victory.
The second discovery had its ups and downs.
At some point since I last vanity-searched my website, Google has deemed me worthy of sitelinks.  Either my ranking has risen, or they’ve lowered their standards, but either way, now I have them.  Great.  But man, those are some awful sitelinks.  They’re supposed to take you to useful parts of the site, but mine are just a jumble of digits.  Where did they come from?
I suspect the answer is, poor site design.  I’ve been using images for the menu bar since day one, and I suspect that the Google search engine places particular importance on the menu bar and the pages it leads to.  My menus were graphical, and I didn’t have well-formatted alt text to describe where each link went (Programs, Search and so on), so the Google bot just took links at random.  Possibly they’re links to program codes, but whatever they are, what they are not is useful.
This discovery has led to a long-overdue redesign of my menus.  When I originally put the site up (which was the middle of the Blair era, or the end of the Clinton era, whichever you prefer), graphical menus were the way to go, or so I believed.  Originally the rollover effect was Javascript-based and really the only improvement I made was to change the rollover to CSS-based, and once I updated the images.
Well time moves on and Blair/Clinton era menus aren’t in vogue (if indeed they ever were).  People tend to find content through search engines, which can often drop them somewhere deep within a site.  So it’s important that the search engine knows a bit about the layout of the site so it can choose the best page, and more recently, show good sitelinks.  Mine didn’t qualify: time to redesign.

menus.png

I decided upon a design using entirely CSS, rather than Javascript.  Further, I liked the idea of not using any images – most menu designs use images at least for the background.  And to be forward-looking, I used CSS3 features that are not implemented in all browsers yet, so different people see different menus.  As far as I can tell and test, though, the menus are always visible and navigable even in the worst case (that would be IE 6.  It’s hard to believe that today’s IE, which is awesome, is related to its predecessor).  Both Chrome and Safari support colour gradients, and also the rounded edges, as in the top image.  Firefox on the Mac does the rounded corners but not the gradient (middle), and IE and Firefox on the PC do neither (bottom).  Kind of a dull menu, but it functions. I’ll look more into the CSS for those, as Firefox and IE on the PC are used by 62% of my visitors.
I like the flexibility of text-based menus; I can change them with no effort.  And the lack of images gives me the ability to change colours easily so beware of forthcoming experimentation.  One foible / unexpected feature is that my menu bar, being now a text list, will now wrap around if the browser is not wide enough for it.  I’m not sure if this is a good or bad thing.  It’s certainly unusual – most menu bars just go off the right hand side of the browser.  On the other hand, it means all the options are available.  I’ll disable this ‘feature’ if it doesn’t grow on me.
For now, though, the text-based menus are at least up, and hopefully the googlebot will make sense of them and I’ll get some useful sitelinks.  And as people upgrade their browsers, more of the advanced CSS3 features will become available, like a nice fade-in effect.  While not all the features work now, if my past record of not updating the menus in eight years is any indication, at least I’ve built in a measure of future-proofing.
(The authors wish to thank, as the expression goes, Stu Nicholls for his amazing CSSplay site with dozens of menu sites, also the Style Master Blog for the image-free CSS menu.  I combined elements of both.)

I Do Imaging World Headquarters

doris1.JPGI’m always meaning to improve my testing for reviews.  I’d like to test every feature of every program, through with 250 of them that is a little unrealistic, as my assistants are not all one might wish for in terms of productivity.  At the least, though, I like to download each program, install it, and run a simple test case.  That gives me an idea of the general quality of the program, and a quick look into its abilities.

The situation gets more complex when it comes to networking.  Lots of new programs come with PACS client capabilities, which is great, so I try to test that too.  So I need to leave a PACS server or two running, and as I try to test three different platforms, the number of permutations grows quite high.  Another growing trend is cross-platform development, also a very good thing, but it means to be thorough I need to test three versions of the same program, and test each against PACS servers running on different platforms.

imac2.jpg

I used to like big complex networks of computers with keyboards and screens and wires going all over the place.  These days, I strive for simplicity.  With that in mind I treated myself last year to a 27″ iMac, running Parallels.  I set up two virtual machines running Windows 7 and Fedora Linux, and I have them running full screen in separate Spaces within the Mac (Osirix of course gets its own Space). Each virtual machine gets 2 GB of memory of the 8 in the Mac, and 2 CPU cores of the 8.  I have Time Machine set up to not back up the virtual machine files, and on the Linux and Windows VMs I save all my files on a “network” disk on the Mac.  Of course, they all use the same disk, so it’s no slower than saving “locally”.  They all access the same directory of imaging test data, which saves a ton of duplication.  And because all the files are saved on the Mac file system, Time Machine backs them all up.  It all works really well, though I don’t usually have more than one of the VMs running at once, and I might upgrade the memory so I can give 4 GB to the guest OS’s.
Once all the networks are up (the VMs communicate locally on a private network), I can do PACs operations between them all.  The only trouble I get is when I need to restart the Mac, there’s a lot to set back up again, but then there would be anyway if I had 3 computers to get going.

It’s a small world (it gets small flags)

flag_sample.pngStruck by the desire to add a gratuitous feature that was both easy and colourful, I settled upon national flags.  Once again, the awesome famfamfam provided the lovely soft PNG flag icons for every country I’d heard of, and plenty I hadn’t.  Naturally I immediately got sidetracked reading up about places like the Åland Islands (you’ll see this flag ax.png about as often as you’ll see an AX top level domain name).

The issue of which country to associate with which person was not always straightforward, so I left it out unless they had indicated a particular allegiance on their web site, or had a particularly attractive flag.  I will correct any errors upon request, so if you are from Tristan Da Cunha sh.png and I have put you down as South Georgia gs.png, thereby increasing their population by 3%, I will gladly move you back. 
It did remind me just how widespread are the developers of the programs I track.  Lots of programs from the USA, but plenty from all over the world.  Here’s a preview…
mysql> select country, count(*) as num from author where country not like ” group by country order by num desc;
+———+—–+
| country | num |
+———+—–+
| US      |  45 |
| DE      |  22 |
| CA      |  11 |
| FR      |  11 |
| GB      |  10 |
| CH      |   6 |
| IT      |   5 |
| BE      |   4 |
| JP      |   4 |
| NL      |   4 |

I Did Imaging in 2009

76,000 people used my site last year, which is cool, even though that’s only 6% more than 2008.  Visits were up 12%, the average user visited 1.5 times. Modest, but growth of a sort.

newzealand.pngSometimes I wonder how big the total ‘market’ is for a web site about medical imaging software, free or otherwise.  It’s a bit daunting to look at the whole picture and try to work out how many radiology departments there are in the world, so sometimes I look at a smaller sample.  Last year, for instance, Google tells me I got 315 visits from New Zealand, a place I know reasonably well.  Australia had about 1,700 visits which is about right given the relative populations.  Google Stats gives you all sorts of useful information, such as I had strong growth in Wollongong, but  the radiologists in Hobart seem to be losing interest.  Guess I’ll have to step up the Tasmanian marketing effort.  There are those who may argue that ‘meaningful’ statistics require larger samples than the number of frugalWollongongian radiologists, or readers of infrequently updated free imaging software blogs.  To them, I say, pshaw.
woolongong.png
Back to my example.  There are about 50-100 radiologists per million population, so New Zealand has say 300.  And for each of them let’s say there are four others who might be interested in imaging – programmers, physicists, technologists, students.  So I’m going to define my New Zealand target market as 1,500 with a professional interest and who knows how many patients sent home with their scans on a DVD.  If I count only the pros and ignore the sent-homes, I’m getting about 20% of them to visit my site each year.  Not bad but I do want the remaining 80% to alexa.pngat least see how much great software is available.  And that, extrapolated world wide, would give me close to half a million unique visitors a year.  That might help me achieve one of my more modest goals: get a global site ranking with only one comma in it.

Icons Worth One Word Each

A month ago I added icons to most program names and listings, to show the platform the program runs on, and its user interface.  I used to have this information only listed on each program’s page but I’d like to make it more obvious before you click on a program, what it runs on, and whether it’s GUI or not.  I try not to use images where words can work, but words like ‘Windows’ take up a lot of horizontal space.

So this guy and its permutations are for the operating systems.  To get them to line up
plat_win_mac_linux.png
when stacked above each other in a table, I made all the constituent icons 16 pixels wide
with a 1-pixel space either side.  So the 3-wide icon group is always 54 pixels wide.  The icons themselves I made up myself just by shrinking logos and then cleaning them up a bit with a graphics program.  I put them together along with 16-pixel wide transparent spacers using the amazing ImageMagick.  They’re actually 50% transparent as with so many of them on a page, they were looking a bit overpowering, particularly the Apple icon. 

The interface icons are a bit less intuitive, and I debated whether to include them.  I have hover-text explanations on them so after reading that once or twice I hope it’ll be
interface_gui_cmd_lib.png
clear what they mean (they are ‘GUI’, ‘Command Line’, and ‘Library’, in that order).  They’re also 16 pixels wide; I got them from famfamfam’s beautiful ‘Silk’ icon set.  Categorizing by interface probably isn’t as important to a lot of users, particularly as most Windows programs are GUI, but for Linux (and hence Mac) power users, it’s nice to be able to find the command line programs.  And for super users, programs that provide programming libraries or APIs are just wonderful.

The name of the icon group is systematic so I can create it in the CGI programs, the image files are named like plat_win_mac_linux.png for all 3 platforms as above, or plat__mac_.png for just Macintosh.   I put them into groups of 3 to avoid lots of little sub-tables, or tables with dozens of columns, and yet still get them nicely aligned horizontally.  They seem to load pretty quickly despite the front page having 68 of the platform and interface icons.  They’re only about 2 kB each (ImageMagick is frugal with bytes) and the browser will cache them, so they each should only need to be loaded once. 

The tip text Javascript comes from Dynamic Web Coding’s ‘Tooltip’ library.  This is a really nicely designed and implemented library with all sorts of features.  I felt guilty for not learning Javascript and doing it myself, but this passed in about 10 seconds.  This is a good library and I’m fine with licensing someone else’s code.  I next want to incorporate their ‘Scrolling Divs’ library for the screen capture images.

72,000 visitors in 2008

Well I didn’t make 100,000 visits as I hoped but I got close.  As of yesterday’s stats I had 98,517 visits from 71,701 visitors according to Google Analytics, plus today will be 300 or so.  Other stats: busiest day (4 March) 403 visits from 348 people, quietest day (28 December) 101 visits from a mere 88 people.

The average visit is 4 pages in about 4 minutes.  An ad gets clicked on 2% of the time it’s shown, so roughly 8% or one visitor in 12 clicks on an ad, which indicates they’re pretty well targeted.  Just under half the people (46%) leave in under 10 seconds, but some of these might very well be people who immediately clicked on the site they were looking for.  So I’m going to count some of them as satisfied customers (Google rather disparagingly calls this the ‘Bounce Rate’).  
You can see Internet Explorer’s market share slipping before your eyes: in the first three months of 2008 it was 55% IE, 33% Firefox, in the last three months it was 49% IE, 38% Firefox, while Safari and Opera had about 5% each, and Chrome, 2%.  And I’m pleased to see the Macintosh market share increase over the same period, from 7.1% to 8.9%.  Even a few iPhones in there, including mine.
Goals for 2009:
  1. 100,000 visitors
  2. 5 minutes and 5 pages per visit
  3. Less than 40% bounce rate
These are ambitious goals but I’ll try to make them happen.  I made a start this September when I redid the site design and colors.  I hadn’t changed anything since 2002 and it was showing – for the first time, I had fewer same-month visits, by 13%, than the previous year. 

visits080815.png
After  making the changes, over the past month I have 6% more visitors than the same period last year.
visits081115.png
Hopefully this indicates I’m on the right track.

Wider Pages, Immediately Filled

I’ve widened the page layout to 920 pixels, from the previous 728 pixels which is the width of a Google ad block (seemed as good a width as any to choose).  However some pages, particularly the ‘Programs’ page, were looking squashed.  I looked at a few high volume sites (New York Times, Facebook, EBay) and they seem to have settled on 1000 pixels as the default width – any less than that and you get horizontal scroll bars.  My website stats tell me that 98% of visitors have a horizontal screen resolution of greater than 1000 (though 20% are just over, at 1024 x 768, boy it’s been a while since I saw a screen that size).

So 920 is the new width, though using the awesome ‘Inspect Element’ tag in Google Chrome, I can see that some pages appear to spill over a little.

Capture.PNG
(In the course of this, I read how to simulate the missing ‘delayed capture’ feature in the otherwise great Vista ‘Snipping Tool’.  Open Snipping Tool, press Esc, compose your picture, press Ctrl-PrintScreen to freeze as-is, drag over the now-frozen screen to capture).

Now that I have additional width, I immediately filled half the new space with icons.  I’ve resisted using them to now, partly to get more information in per line, and partly because I think that a textual interface is more efficient.  But I have to admit that well-designed sites that use icons well, do look better (and now I’m half-way there, in that I use icons.  Now I just have to get a good design).  I used the beautiful ‘Silk’ icons from Mark James’s famfamfam.com, a lovely set of exactly 1,000 icons in 16×16 pixel PNG format.  They are, as he says, “strokably soft”.
Not every idea I wanted to convey had an exactly-matching icon, so I chose those I thought best fitting.  So for program interfaces now I have image.png for ‘GUI’, application_osx_terminal.png for ‘Command Line’, and application_edit.png for ‘API/Programming’.  Hopefully they get the idea across, and I added tool tips for clarification.  They are very pretty, but do take up some of my precious horizontal width.  
Capture2.PNG
The other icons I use are arrow_right.png for ‘Link to site’, error_go.png for ‘Site link down’ (though it still will link through), add.png for ‘Add monitor’ (email notification), and error_add.png for ‘Unable to add monitor’.  The last is for websites where there is no revision number or release date listed, so I’m unable to provide update information.  This affects about 20% of the projects, though usually the less-active one. 
I like to get the program interface icons to line up nicely in columns (‘column up’?  Is there a verb meaning ‘align in columns’?).  I used to do this with an internal HTML table within the TD cell for each entry.  This is pretty wasteful and slow – the browser has to set up a table for each line, calculate its width, and so on.  So I made up composite icons of the eight permutations of the three individual icons each in their ‘on’ and ‘off’ states.  For this as with most of my graphical editing needs I use the amazing ImageMagick command line tools.  The ‘montage’ command allows you to combine multiple pictures into one, in a definable grid geometry, and furthermore can create blank spacing elements, and a transparent background.  Simple.
I want to add icons to denote the platform or operating system of each program, which would be very useful though using up still more width.  The problem has been finding the icons for Mac, Windows, and Linux in a suitable size (16×16).  You’d think the Web would be swimming in them, and you’d be wrong.  Probably due to copyright, none of the dozens of icon collections I squinted through had them.  The hunt continues.

Spring Cleaning

I’m having a binge on visiting all the websites I list.  Sounds easy but there are about 250 of them so for every minute per site, that’s four hours.  I’m finding a few sites that are down that I thought were up – just because their site is not returning 404.  I’ll add a new field to my database of each site that contains key text, and look for this each time I ping the site.  If it’s missing I’ll visit the site to see what’s going on.

I need to repeat this entire process more thoroughly on each site, to fill in some new database fields I’m adding.  Right now I don’t record the license each program is released under, and I also want to classify such things as how easy it is to download and install the program.  Sometimes you can download right from the site, sometimes you have to go through a registration process.  Likewise the installation processes run the range from professional MSI or DMG installers,  to your drag-and-drop or unzip-in-place.