Category Archives: Opinion

Thoughts on computers and the IT industry.

Review: Belkin Wi-Fi Phone

The problem is this. To get ADSL you need to have a BT phone line. Yet, except for calling my parents, I don’t really use a land-line phone. This has made using ADSL broadband more expensive than I’d have liked as I had to pay ?11 a month for a phone line I don’t make calls with ((To put this into context, our bill for calls last quarter was 38p.)). Fast forward to last month, when I find that I can get cable broadband without phone or digital TV service.

Bingo! Bye-bye BT!

Except… my folks don’t have broadband and would kill me if they had to call me on my mobile. So we needed some way to allow them to call us, especially when we didn’t have a computer switched on.

I toyed with the idea of a SIP phone or a SIP adapter. This seemed a good solution as it’s a “standards compliant” VoIP system and, my thinking went, more likely to be future proof. I even got as far as ordering one on eBay but a dodgy seller put an end to that. Eventually I realised that I had never really had much success with SIP ((I’m thinking that maybe I’m cursed. I bought a Bluetooth headset that refused to work with the dongle I had for my iBook. At home I needed to open lots of ports but always got mediocre sound quality and, when trying to buy credit, I could never get an authorisation code. Clearly it was never meant to be.)) but had never had problems with Skype. I decided to give the Belkin WiFi phone a try.

The pictures look good. If you think of a modern, “candy bar” style mobile phone you’re along the right lines. First impressions of the real thing are positive too. The slightly rubberised plastic case feels solid — robust but not heavy — and nice to the touch. It’s simple to slide off the back cover and insert the battery.

It takes a little effort to push back the flap that covers the power socket but that’s probably a good thing. I charge it for four hours before realising that the “half full” battery icon on the display probably really means “charging.”

Powering the device on I find that the buttons, while looking the part, are slightly wobbly and let the rest of the phone down. The second slight disappointment is the screen, which is actually smaller than you first think it will be. Sure, it’s big enough but there’s plenty of space for a bigger one.

It’s necessary to pick your language (there was only one) and accept the Skype T’s and C’s before it tries to connect to a network. It’s pretty quick and immediately finds and tries to connect to an unsecured network. Not mine, of course, as I use “WPA Personal” security on mine.

It looks like it gets a connection but reports that it’s unable to connect to the Internet. I use the menus to try to select my local network. The interface should be familiar to anyone with a mobile phone. The little joy-stick and two menu buttons along with on-screen prompts are simple to follow, partly because it’s much less sophisticated than most contemporary phones. I find the network section, select my network and enter the password and we’re in. Pretty easy.

Next it says that my Skype password is wrong. Odd. I’ve not even entered a username yet! The “sign in” button just tries again and, despite looking, I don’t see anywhere to enter a new name.

I give up and decide to look in the manual.

It suggest that it should just be there under the sign-up menu and, strangely, it is now. Oh well, I enter my username and password. And that’s it. It quickly connects and downloads my contacts list. I see myself online using another account on my MacBook.

I fiddle about with the menus, playing with some of the ring tones. There are only a few but I find a half-decent “ringing” sound and confirm that the vibrate option is on.

Next I make a Skype-to-Skype call which sounds great at my end and is, reportedly, just like the user is on a PC from the other side.

Feeling emboldend I try a landline number. Again, from the handset it sounds pretty much as good as any other phone. It’s not quite so good for the recpient of the call, who complains of an annoying echo. Nevertheless it’s clear enough to be useable and we happily talk for fifteen minutes without any glitches.

In fact, once connected, the only glitch I’ve come across is not directly related to calls but is, potentially, a bit of a show-stopper. After the call I put the phone down and, like most mobile phones, after a short time the display goes into “screen saver” mode. Unlike my Sony Ericsson T630, which displays the time, the Belkin’s screen goes completely blank, leaving no indication that the phone is switched on at all.

That’s not the show-stopper, that’s just annoying.

But after ten minutes or so the phone appears off-line and making a call to it diverts straight to voice-mail. This makes it completely unsuitable as a home phone as any time someone calls we’re likely to be offline! The story so far is that I have sent an email to their technical support people and am waiting for a response.

Overall it has good hardware but disappointing software. I have no problems with “basic” — I hardly use any of the complex stuff on my mobile — but it’s difficult to unreservedly recommend a product that takes itself off the network all by itself. If, however, Belkin have a solution then I’d be pretty happy with it. It’s not cheap (but then none of its competitors are) but making free calls without switching on a PC is a compelling prospect.

.Mac Defection

The premise

I have become increasingly disaffected by Apple’s .Mac service, so much so that when I recently got an email congratulating me for subscribing for another year I immediately went to the website and cancelled.

The background

But before we start going into all the details, what is .Mac? Basically it’s Apple’s on-line services that are geared for Mac users but are also usable by those stuck in the Microsoft world. When I first got my iBook back in 2001 it was called iTools. It had a more limited set of features back then, but that included a something@mac.com email address.

That changed in 2002 when they renamed it .Mac and suddenly started charging for it. They added a few extra features as a sweetener but at the time I just let my free membership lapse as it just wasn’t worth paying for.

Over time they added new functionality. There’s the iDisk, an on-line disk, synchronised over the internet to all your computers. You can synchronise your mail, address book, calendar and Safari bookmarks. There’s easy web hosting which has grown more sophisticated over time and now includes a “Groups” feature which is blog-ish.

Issues at stake

For me .Mac only became worth paying for when I added a new Mac to the home mix. As a desktop machine, the iMac had a bright big display but my iBook would still get some use as my only portable machine. The idea of having my documents, address book and Safari bookmarks seamlessly synchronised between the two machines was worth paying for. The web hosting had some value — it’s nice being able to quickly publish a few pictrues for friends for example — but I certainly wouldn’t pay for that with so many free alternative.

And for a while it was great.

But then bad things started to happen.

The first worth mentioning is reliability. I work in IT so I have reasonable expectations, I understand that nothing has 100% reliability. However it seems that .Mac is always having technical problems. Some affect all users, some affect all services, most just touch certain parts of the system. In short, for a paid service that it supposed to add convenience I find that it’s something that I can’t rely on.

Closely connected to relability is the how well the service functions when it’s up and running. That, it turns out, is surprisingly badly. Often Apple products have glitches on their first release, but .Mac has been around for years. However the syncing, the main feature that I subscribed for, has not worked correctly for at least a year. Apple always suggest removing all the sync info from one machine and refreshing fully from the network.

This is not a good idea for two reasons. Firstly it’s not much of a “synchronisation” if you have to delete everything on one computer. Secondly, even after doing that information fails to sync correctly. I have a few theories where their software may be going wrong but I won’t get into them here. The point is that it plain doesn’t work and it shouldn’t take someone with a Computer Science degree to theorise why it might be broken. Apple’s sell based on their “Just Works” reputation, something that clearly does not apply in this case.

The one part of the syncing that generally does work is the iDisk. However it seems to cause both my machines to beach-ball far more frequently than my wifes G4. My G3 iBook I could forgive, but my G5 is substantially faster than her machine. I don’t see why I should wait longer than her just to save a file!

Alternatives

Now comes the clincher.

Can we replace .Mac email? Yes, that’s easy. Everything from my ISP, to GMail to specific email hosts.

How about .Mac web hosting? That’s a piece of cake. If anything there are many more hosting options.

The iDisk, on the other hand, has been more problematic. There are alternatives but they mostly seem to fall short in some measure. The .Mac service is a simple WebDAV server, most of the others seem more complex. I think what I’m going to end up doing is either emailing myself documents or occasionally using rsync.

Similarly, .Mac syncing appears more difficult to replace than I ever imagined. The obvious alternative is something like del.ic.icio.us, but I like my bookmarks in my browser and not on a web-page. There are tools to upload and download the links to Safari but there currently does not appear to be one that syncs both ways. (I think there are Firefox plugins that do this. It’s a shame that I prefer Safari!)

Overall I think it’s odd that there are no direct competitors to .Mac. Most of the pieces are out there but I have, so far, been unable to find one solution that bundles all, or even most, of the components.

Conclusion

All this is to say that moving away will result in some frustration, and where there’s frustration there is, I’m sure, money to be made. I think Apple are shooting themselves in the foot by neglecting .Mac. Software such as most of the iLife suite pushes people to the convenience of .Mac but once you join up the reality lets you down.

Let’s assume that .Mac worked as advertised. Would I subscribe? Yes. They’ve had two years subscription fees from me; I’ve put my money where my mouth is. I do think it’s over-priced as many of the components are available for free elsewhere. But for the convenience and its seamless interface in OS X and iLife (iPhoto in particular) I’m prepared to bite the bullet. However, for a service that does not work correctly, nearly ?70 a year is far too much.

iPhoto 5 Books

As many of you will already know, I recently came back from a trip to Vietnam. Some will even have seen the pictures. Others, however, do not like looking at pictures on a computer screen and always insist that I get prints. This time I decided to go one better and get a book.

Those still wallowing in the PC world may not be aware of a Macintosh application called iPhoto. It’s a bit like Adobe Photoshop Album if you’re familiar with that. It allows you to catalogue photos, categorise and label them and perform some minor edits such as red-eye removal, cropping and simple colour adjustment, although I normally use Photoshop for this kind of thing. I mention it here as one extra feature that I’ve never used before was its ability to make custom books. I normally use Photobox for my prints but this seemed like a much easier option.

I’m pleased to report that it was simple to do. I selected the book size and template and iPhoto automatically distributed the images in the book. I picked the “Travel” theme which is on the good side of slightly tacky. Then I added and subtracted a few, changed the order and altered the layouts, putting my favourite pictures on their own page and sequences of shots on a spread. I also wrote an introductory text for the first page. They allow the pictures in a variety of formats: a single shot taking the whole page, with borders and a number of different pictures per page. I think I used all of the various formats in the book at some point and they all work well.

It was all drag and drop (except for the typing!), just working as you’d expect with no need for a manual or even the on-line help. The first surprise was when I tried to order it. Firstly there were more pages than the default. It must have automatically created enough pages to show all the pictures, which is fair enough but I was a little shocked when I saw a higher price than I was expecting. And secondly I found that I had to enable One-Click ordering. I don’t like to have that switched on normally ? I like to be inconvenienced a little when there’s impulse buying ? to be done!

It took about a week to be delivered. First impressions are good, it is well packaged, appears to be nicely bound, and the cover has a hole in it revealing the title page. In my case this is a slightly Photoshopped sign I took (“Welcome to Vietnam”) and a small picture of myself. Opening up the book I find the introduction text. It’s clear and sharp, unlike my writing, but I note that they’ve not changed the quotes into “smart quotes,” which is a little un-Apple-like in the sense that it’s a small addition that would make it look that little bit more professional.

I confess that my most serious criticism is one that most people slowly nod their head and agree to in a patronising and not entirely convincing manner. Despite the gorgeous presentation, I feel that the image quality is not especially good. It’s not shockingly bad ? as we can see from the response of other people to my comment ? but it lacks adequate resolution and looks to be dithered. The colours also appear to be aiming for saturation at the expense of realism although this may, to some extent, be affected by the resolution.

In Apple’s defence I would say that they have a difficult balance to strike. Even at the resolution they used the book, which included just over forty images, was in excess of a 20Mb upload which takes some time even on my ADSL link. By contrast prints I get individually are normally between two and four megabytes each. Plus this is their consumer application. Maybe Aperture or iPhoto6 performs better in this regard?

But overall I am impressed. The book was quick and easy to create, the order was processed and delivered reasonably quickly and the quality is more than adequate for its intended audience. A definite thumbs up and I am very likely to do the same thing again next time I return from a holiday.

Random Changes

When it first happened I was irritated. A few days later I was irritated that I was still irritated. It didn’t make any sense, it wasn’t a big thing and it shouldn’t have bugged me at all, much less still a few days later.

After a while I realised that my irritation was more rational than I initially thought so I started to write them down as a way of structuring them. And here they are.

So what went wrong? Well, first we’ll need a little background, although I’m sure you will appreciate that I can’t go into all the details.

My day-job involves writing code, enhancing and fixing a sprawling, ten year old application and this day was no different. For the previous few weeks I had been developing a small improvement to one of the reports. I had satisfied the requirements by modifying an existing report, including the occasional conditional where appropriate. Not my best piece of work by any means but I had spent some time on it, had some of myself invested in it in some small way. I checked in the change to our source control system and moved on to other things. A short while later someone reported a bug against it. Not an unusual occurrence with the very vague requirements I was working to and the general standard of my code, however one thing did surprise me — I was sure that I’d tested for and added code for that particular scenario.

It turns out that I was right. The problem was that somebody had completely rewritten my code. The new implementation was very elegant, more aesthetically pleasing that my hack. Remember that I never believed it was the best code I’ve ever written, so if the code actually worked correctly I wouldn’t have cared. But it didn’t. It had fixed one small problem with my code but had introduced at least one new problem, one that was far more difficult to fix than the problem it was trying to solve.

There’s a technical, software engineering, side to this and there’s the effect is had on me. If I was being grand I suppose I’d call that the psychological side. I would like to talk about both of these aspects.

First, let’s discuss the technical side.

When modifying a large, established code base I have always believed that the correct approach is to make as few, targeted changes as possible to get the job done. The problem with a non-trivial code-base is that embedded inside it is dozens of small tweaks that you would never think of making but the software has accumulated in the School of Hard-Knocks. Real life has a tendency to throw up scenarios that, theoretically, are not possible. No matter how good you are at writing code these things happen.

This changed violated this principle. That alone annoyed me.

Of course the counter-argument is that we should be continually refactoring the code. This is the Extreme Programming approach and is one that I have talked about previously. I do have some sympathy for this argument, except that in this case it t really apply. While the new code was undoubtedly cleverer than the code it replaced, it’s difficult to say that it’s better. When you’re writing code that may well be around in a number of years time it needs to be understandable. Writing clever code can be a disadvantage. A few extra lines of code, if they’re simple and easily understood, are often a good thing. It’s easy to forget that it’s not just the computer that needs to read the code.

Naturally the reason that people do this is that it’s much easier than reading and understanding the code, and this is probably more true in the language that we use than most (it’s a proprietary one that you won’t have heard of). So the author of the new code will have saved himself a few hours of work but by creating a clever yet difficult to understand alternative he has generated more work and confusion for legions of support analysts in the future. This costs the company time and money, although the author of the new code appears to be a super-hero as he checked in hundreds of lines of new code compared with my much smaller number.

The psychological aspects are less easy to define but in many ways are more important. Unfortunately I would concede that I am less capable of discussing them in anything like scientific manner. It’s not going to stop me trying, however!

The question at the centre of is all is: why do certain kinds of people like writing software? It’s a painstaking and fiddly task which requires unheard-of precision and attention to detail. Why would anyone want to do that?

I’m sure there are as many answers as there are programmers, but a common root cause would be the simple challenge of solving a complicated problem. There’s a certain satisfaction in completing something tricky and, even if you recognise that there are other ways of doing something, there’s usually a certain pride in the way you did it. It may not be the best, but it’s your way.

So really it’s one of those seven deadly sins: pride.

Also there is a large motivational aspect to it. At this point in the project I was already lacking my usual level of enthusiasm for a number of reasons that I won’t get into here. What kind of effect is someone unnecessarily rewriting my code going to have on me at this low ebb? Why would I want to write more code and make more fixes now? Surely it’s just going to get rewritten.

Note that I didn’t say “criticised.” I think an important aspect to get across here is that I am not above criticism. If the code had been improved, if the new author had discussed the options with me first and we’d agreed a way forward, I doubt that I would be writing this piece here and now.

Now there may well be some degree of bitterness here, however I think ll agree that there are both technical and human factors reasons why things should have been different.

Nostalgia

I though I’d start the new year with an unusual, for me at least, positive message. The message: we’ve never had it so good technology-wise and often we forget that.

I started thinking about this when I realised what I was doing with my computer. Right now, for example, I am typing this into Emacs. In the back-ground I am scanning in some film and burning the previous scans onto CD. Only a few years ago any one of these activities would have been more than enough for a simple home computer. A joke at the time was that Emacs stood for “eight megabytes and continually swapping,” and now my iPod has thirty-two megs of memory as a convenience, basically to avoid letting the battery run down too quickly.

Even better, for the sake of clarity I’ve missed out the programs that I’m not actively using. Mail and Adium are happily keeping a look-out for new messages, iTunes is bashing out some good music. iCal is ready to tell me that I was supposed to be meeting a friend an hour ago, I left the Address Book open last time I looked up a phone number, I can’t even remember what I was editing in Word but that’s open too and Safari is primed, just in case.

But even that is a simplification. The disc image that’s being burned is on a different computer, they’re connected wirelessly and using a protocol that’s native to neither (Mac to Linux using SMB).

I don’t mention any of this to brag, or suggest that I’m doing anything odd or unusual here, quite the contrary. I just mean to point out that these are complex but every day activities that we expect not only to work, but to work seamlessly at the same time as lots of other stuff. And that, frankly, is absolutely amazing.

Joel On Software

Let’s cut to the chase: if you’ve read and enjoyed any of Joel Spolsky’s ramblings on the web you’ll like this book. Skip the rest of this review and just go buy it.

For the benefit of those that have not heard of him, who is this Joel chap and what is the book and his normal prose about? The “About the Author” section describes him as an industry veteran that writes an “anti-Dilbert manifesto” on his website. I can’t think of a better description, which is why I have shamelessly copied it rather than finding my own phrase…

He writes about software development at every level from bashing out code right through to strategy and he applies the same degree of pragmatism, common-sense and humour to every subject he covers.

The book is split into four sections and an appendix. In the first he talks about “the practise of programming,” which is the low level stuff. He starts with choosing a programming language (or, at least, why it’s probably not as important as you might think), moves on to the now almost classic “Joel Test” (Google it if you’re in any doubt how influential it has become), moves onto functional specs, schedules and the like.

Section two is all about managing developers. Personally, I think this is the part that he really excels at. Indeed, the best bits of the other sections are actually about the higher level stuff. One of the highlights is about what he calls “leaky abstractions,” basically that clever things that try to hide their underlying details tend to fall down in unpredictable ways. Ever got confused about the way a string class works in C++? This is the chapter for you!

The penultimate section is a random collection of articles, including his thoughts on the 80/20 myth, various business models and open source. I particularly like the piece on getting things done when you have no authority to do anything officially. Most books assume that you just need to learn what the right thing to do is, so it’s refreshing to find a book that deals in Real Life!

The final section is less relevant to someone like myself with a Unix background (and interest). There are three pieces on Microsoft’s .NET architecture. Nevertheless, I did read them and thought that he had some interesting things to say.

There is also an appendix, which is a “best of” collection of questions from the “Ask Joel” section on his website. This is perhaps the weakest section in the book and, although entertaining, most of the good advice in this section has already been expressed more clearly in earlier sections.

You can probably see by that I was impressed. It was an easy book to read — something that a lot of technical writers forget about — and even when I disagreed with certain things I could at least see where he was coming from.

The facts

Author: Joel Spolsky

Cost: $24.99

ISBN: 1-59059-389-8.

Buy from Amazon.co.uk.