Dec 092008
 

It is probably a little late to write a review of the iPhone that is going to interest too many, but personally I think that too many online reviews cover such things very skimpily. As I have both an original iPhone (8Gbytes) and a new iPhone 3G (16Gbytes), I can also do a little comparison.

Overall, the iPhone is a pretty good smartphone with some peculiar weaknesses but this is allieviated by a superb user interface.

Unpacking the 3G

The iPhone 3G comes in pretty much the same style of box as the original; compact and well styled to give you the impression that you are getting a serious bit of kit. Unfortunately the iPhone dock that was provided with the original is not included here. I guess Apple decided they needed to make us pay extra for it, but the standard iPod cable is included so it is still possible to get connected. Of course it is possible that I got my original with a dock thrown in for free as it wasn’t from a “proper” source.

The new iPhone still feels pretty good. It is slightly curvier than the original which is more noticeable if you look at the back. The colour scheme is also somewhat different, and perhaps somewhat more “plasticy” than the original. But it does not seem to be a cut-price version of the original; it still feels pretty good in the hand. Once minor niggle though – the new one has silvery buttons as opposed to the black buttons of the original, and they can feel ever so slightly sharp or rough to the fingers. Might be worth making the buttons with rounded edges next time Apple.

Holding it gives a feeling of slickness; perhaps a little too much as it feels like it might shoot out of your hands much like a wet bar of soap. For me a case to make it a little stickier is pretty much essential.

One area where the 3G is distinctly poorer than the original is the headphone socket. It may be more compatible (the old one was recessed making standard headphones tricky to attach), but it feels distinctly cheap and nasty.

Putting in the SIM card is just as fiddly as it was with the original. Perhaps AT&T is different and puts the SIM card in for you, but it seems odd that there is not a detailed set of instructions (or perhaps I missed them). Also it would be sensible to include a tool to poke down that hole to get the SIM card drawer open. I would hazard a guess that many older people would have trouble with this; if I had not already done it with my original I would have had to get some reading glasses to be sure I was poking the right place!

Those Peculiar Weaknesses

Most criticisms of the iPhone tend to zero in on the camera as being the weakest point of the iPhone. To an extent that is true, but just how good is any mobile phone camera? The lens is at best rather poorer than average and the sensor is always too small to produce anything approaching the quality of a DSLR. A flash might be useful, but again a mobile phone flash is never going to be much good. If you want a camera, buy a camera, and use the iPhone camera for making visual notes.

On the hardware front, there is no infrared port so this is probably just about the only smartphone to lack one. Which is fair enough on a modern phone where they consider bluetooth to be the replacement (although it makes it kind of hard to have third-party software to control the TV without one!). But the bluetooth stack is also astonishingly crippled! You can just pair the iPhone to a headset, and not an advanced A2DP one!

That means no syncing over bluetooth, no file transfers, and no bluetooth messaging. Why? I mean it would be sort of understandable with a new phone product, but it is time this was sorted out.

And no picture messaging (MMS) ? I know it is supposed to be pretty unpopular in the US, but it has caught on in Europe, so it seems odd not to have it on the iPhone.

As A Phone

The iPhone is probably the best phone I have ever used. The killer feature? Whilst in a call, all of the extra features like speakerphone, mute, hold, keypad (for navigating those machines), adding an extra person to the call are all available on screen as easy to access buttons.

The only downside ? It could do with a slider to lock the screen whilst on the phone … more than once I have terminated a call by accidentally pressing the “end call” button. It is supposed to lock automatically when raised up near the ear, but I usually use it hands-free when the lock is not supposed to operate. Turns out I was missing a feature – hit the power button during a call and the screen will lock., Apple

The “Smart” Bit

The user interface for getting into software “apps” is a simple grid of icons. If you have too many for one screen you can swipe between screens of icons. This is a moderately sensible way of getting to things; no getting lost in a hierarchy of applications, but it may become somewhat clumsy if you install many applications. I find it helpful to have rough categories on separate screens … PIM stuff, Reference, Toys and Games, System and unused.

Most of the builtin applications tend towards the simplistic which isn’t necessarily a bad thing providing that a replacement for an application you use heavily is available. Two “showcase” applications are particularly fun – the Youtube application and the Google Maps application. Some observations of the standard applications :-

  • The calendar application is slightly weak and does not support synchronisation with anything other than Exchange. Other vendors have code ready to go, but Apple doesn’t allow this for some inscrutable reason – a kickback from Microsoft ?
  • The calculator application very cleverly switches to an “advanced” mode with extra functions if you rotate the screen to landscape, but I do wonder why on computer calculators so slavishly emulate stand-alone ones. It would seem worth making a few minor improvements.
  • Who decided that font was a good idea for the Notes application? A “handwriting” font is cute for about 30 seconds before you realise it is difficult to read. At least give us the chance of changing the font!
  • The Safari web browser is surprisingly effective with two fingered zooming allowing you to quickly narrow down to read the smaller bits and to zoom out to give you an overview.

The App Store and Third Party Applications

The app store which is where you “buy” new applications is rather swamped by the number of applications now available. Fortunately there is a search facility that will let you quickly find something that you have found from elsewhere. It is perhaps just a little too easy to spend money in the app store although the prices are generally pretty reasonable and added to your mobile phone bill.

As to the applications themselves, it is as expected, a mixed bag. Some tend towards the gimmicky or totally useless – the beer application comes to mind which allows you to use your iPhone to pretend to drink a glass of beer. Others are pretty good; even fantastic such as Vicinity which will determine from your location nearby bars, restaurants, etc. Having once spent an hour wandering around Birmingham at night looking for a convenience store, I’m a devoted fan of this one!

The odd thing is that Apple seems to have a curious tendency to be a little inconsistent in what applications can make it to the app store. This pushes one in the direction of jailbreaking a little more given that gives you access to all sorts of interesting applications!

Overall, the iPhone deserves to be as popular as it is, but perhaps doesn’t deserve to be worshipped as much as some do. Still it’s an Apple product and as usualy some people will like it more than it deserves.

Dec 052008
 

I recently encountered a dead blog entitled “Linux Haters” and instantly thought up writing about tedious fan-boys that think that the operating system they like is the best and everyone should use it. I’ve no time for people like that as they tend to annoy rather than educate. I’ve no problem with people who prefer to use Windows, Linux, Solaris or OSX; it is their choice. Of course in the case of Windows, I do have to wonder why 🙂

But one of the links on that blog led to a place that (amongst other things) ranted about how FOSS projects always have dumb names, and that these projects need a big dose of marketing intelligence. He went on to whinge about the word-games often embedded into the project name.

First of all, he misunderstands how many open source projects start – with a geek or a group of geeks deciding they want something different. Either a new package or a variation on an existing one. There are no marketing types in sight, and the geeks involved probably have no great expectation that they are coming up with the next big thing – they are just having fun and hoping to come up with something useful for themselves. So what if they have a bit of fun playing word games to come up with a name for their project ? Not only do many such projects end up disappearing without a trace, but as marketing types have fun playing with words, why can’t geeks ?

Perhaps the names they come up with are not as punchy as a name thought up by a marketing department, but weirdness does have its own value in this area. A name such as Amarok does tend to stick in the mind more than Music Player 52. And over time, formally weird names such as google and yahoo do tend to become more normal if they are attached to popular projects.

Secondly he specifically criticises names invented by geeks for being recursive acronyms … but does that matter ? He specifically names GIMP which is admittedly particularly guilty being a recursive acronym with no termination. But most users won’t care … once they learn that GIMP does images (and most distributions will tell you so in the menu), they are not going to care that the name is an infinitely recursive acronym … they will just get on and use it.

Thirdly he overlooks the fact that some of the names may in fact have “sensible” names but are in fact sensible names in non-English languages.

Finally he tails off into a moderately incoherant rant with more insults than proper facts.

Perhaps “funny” names do put people off, but perhaps not. Most people are in fact more concerned with compatibility (they use Word because everyone else does) or features.

And of course there are more than a few commercial software packages whose name is not entirely sensible … does Photoshop have anything to do with setting up a shop to sell photos? What does Trent do ? Or Cedar ?

Dec 032008
 

At work I have the pleasure (if that is the correct word) of dealing with a number of commercial software packages which are a little more expensive than the run of the mill packages such as Word that most encounter. In fact I am probably more familiar with software costing more than £10,000 than those less than that cost because I have the curious habit of opting for free software.

I do not have any moral objection to commercial software – if someone wants to pay money for it and pay me to support it, then that’s fine by me. I am just somewhat reluctant to spend my own money on software (although I have done in some circumstances).

However I have come to the conclusion that commercial software just isn’t very good. To give some examples of poor behaviour (without mentioning any names, because it wouldn’t be fair to their competitors) :-

  • A Java application server that does the equivalent of Listen ipaddress-of-server rather than Listen 0.0.0.0 making it difficult to move the server to another server (such as cloning Solaris zones for recovery purposes). This is the kind of kindergarten mistake that any decent developer knows not to make … even I know, and I’m no developer.
  • A software package whose configuration script will work fine for 1-4 members of a cluster but breaks that cluster when you add an additional member of the cluster (taking it to 5). Not only did the configuration script break, but this was known to the vendor.
  • Packages that take months to install even with the support of the vendor.
  • Vendor supplied consultants who apparent have never encountered a keyboard. Or have trouble with basic Unix skills when they are to support a package on a Unix server.
  • Installation or configuration scripts that simply don’t work and have to be effectively re-written by ourselves.
  • Patch bundles that have obviously never been installed on the product as they completely break the service when installed. We have one vendor who consistent wants to break things and have to go through their patch bundles with a fine tooth comb to debug their scripts.
  • “Support” that takes months to respond to a query. Or only responds when hassled through an account manager.
  • “Support” that takes weeks to accept that you are entitled to support because the product whose serial number you have a photo of “hasn’t left the warehouse”.

And people pay for the privilege of this ?

The classic argument in favour of open-source software is that you have access to the source code to apply any fixes that need making. The counter to that is that places do not have the skills to be able to create any fixes, but from what I have seen, in many cases the customers have more skills than the vendors!

Nov 082008
 

Well I decided it was time to upgrade my main workstation to Ubuntu 8.10 from 8.04. This was a somewhat nervous upgrade because the SATA disks are connected to a controller that gives me trouble when booting … the last few times I rebooted the machine I have had to re-assemble one of the mirrors at the “miniroot” (the shell you get from the initrd environment).

Given the trouble I wanted the option to revert back to the current install if everything went wrong … something I have described in the past.

Environment

I have four SATA disks in my main workstation that are mirrored and encapsulated into a single volume group with numerous logical volumes. So /dev/md0 is constructed of a mirror of /dev/sda2 and /dev/sdb2 and /dev/md1 is constructed of a mirror of /dev/sdc1 and /dev/sdd1. /dev/sda1 is used as /boot and /dev/sdb1 is “spare”.

The volume group datavg has two “physical disks” in it – /dev/md0 and /dev/md1. In that volume group are (amongst others) two logical volumes of interest – 804root and 804var.

Preparation

First I ensured that /dev/sdb1 contained an up to date copy of /boot :-

mkfs -t ext2 /dev/sdb1
mount /dev/sdb1 /mnt
star -copy /boot /mnt
umount /mnt

The next step was to create two new logical volumes to be used (eventually) for the new release of Ubuntu :-

lvcreate --size 12G -name 810root /dev/datavg
lvcreate --size 3G --name 810var /dev/datavg
mkfs -t xfs /dev/datavg/810root
mkfs -t xfs /dev/datavg/810var

The next step was to copy the filesystems across – at this point no further non-upgrade activity took place :-

mount /dev/datavg/810var /mnt
star -copy -xdev /var /mnt
mount /dev/datavg/810root /mnt
star -copy -xdev / /mnt
(edited /mnt/etc/fstab to change references to 804 to 810)
umount /mnt

At this point the remaining task (or so I thought) was to change the references in /boot/grub/menu.lst so that Grub would boot the kernel with 810root as the root filesystem.

I then rebooted to check the functionality and discovered that for some reason /var/run/network had not been created on the new /var but that seemed to be the only issue. I re-created this directory and rebooted to be sure (and Linux without a loopback device behaves very strangely!).

I then in theory had an environment I could revert to with a bit of fiddling with grub so was happy to attempt the upgrade.

The Upgrade Itself

I then started the upgrade (sudo update-manager -d) only to be told I did not have enough disk space with the suggestion that I run sudo apt-get clean to free up enough space. I tried this and the update started on the next time through. Why doesn’t the upgrade process automatically run apt-get clean ? In fact why doesn’t the upgrade process realise that it is on a system with LVM available (with plenty of free space) and create a new LVM especially for the upgrade files ?

Anyway the second attempt to run update-manager did start downloading files so I settled down for a well earned beer.

After the files had downloaded the actual upgrade process began. At some point the process stopped whilst a certain upgtade (libpam) asked whether it should restart certain services (including gdm which is the graphical login). Unfortunately it did not explain clearly what it was doing, why, or even if restarting gdm would terminate the current X session. Perhaps it is something that would only “worry” someone with a dangerous amount of knowledge, but perhaps the prompt could be improved slightly.

As a later example of how it should be done, the dialog warning about changing the ssl certificate was ideal … basically saying “if this doesn’t mean much to you, don’t worry about it”.

The use of dialogs during the upgrade does raise a couple of issues though :-

  1. Apparently not “stopping the clock” whilst waiting for the user to respond to dialogs caused the estimate of how long the upgrade would take place to increase dramatically. Just after dealing with that libpam prompt I was slightly alarmed by the estimate of 6 further hours to complete (as it was already 21:30) only to be reassured by the rapid drop to 2 hours.
  2. From a users perspective it would be preferable to ask all questions at the beginning or at the end of a long process. Keeping an eye on the upgrade whilst it was churning through the bulk of the upgrade (which took place without user intervention) was somewhat tedious.

The unfortunate thing was that at this point, the upgrade process ran out of space. It also left my machine in an unbootable state … from what little investigation I made it would appear that the initrd file was not created. Perhaps because of the lack of space, but others have also encountered this problem.

Obviously the Ubuntu upgrade process should be a little more careful about estimating the amount of space available. It would also be nice if it would notice that it was installed on an LVMed system with free space available … it could create a new LVM of an appropriate size and use that.

Recovery

Fortunately my preparation left me with a root filesystem that I could revert to by selecting one of the older kernels in the grub menu, editing the command used to boot, and by replacing the root filesystem with “804root”. This resulted in a system almost identical to that before the upgrade process.

I re-tried the “Preparation” stage, ensuring that /var was a little bigger and restarted the upgrade process …

Upgrading (The Second Attempt)

The second upgrade went through pretty much the same process as the first … except that it did not run out of disk space. This let it complete apparently normally with a warning about removing several hundred packages (!).

Finally it suggested rebooting to finish the upgrade.

The First Boot

The first boot was a triffle problematic … firstly I still had to manually assemble /dev/md0 and the process that built /boot/grub/menu.lst hadn’t noticed that an invalid root filesystem was specified. Whilst the later was my fault, it would be nice if it had realised that it was invalid and had warned me. The former is a long standing problem and is not the result of the upgrade.

Apart from that, the standard user interface looked ok, but it had messed around with the Enlightenment window manager. I had to re-install the package, my settings and menus had disappeared. Whilst I am an “unusual” user in not using the standard user interface, this was not something I was happy with!

Nov 062008
 

Normally OSX is quite good when it comes to useability and not breaking the principle of least astonishment (roughly computers should avoid doing things to ‘surprise’ the user), but I re-encountered one poor area again tonight.

I was burning a CD image to a CD-R – something which is admittedly an action most commonly done by the geekier users. I normally use my Ubuntu workstation for things like that, but I suspect my CD drive is going south.

Anyway, I did the obvious thing – selected the ISO file in Finder and selected “Burn to Ubuntu.iso to Disc”. Yes you chortling OSX experts out there in the back, I did indeed end up with a CD containing a single file named “Ubuntu.ISO” on it. Or in other words I had a CD containing a file with an image of a bootable CD in it – which won’t of course boot.

So what did OSX do that was wrong ? Well there’s two things :-

  1. The message saying what it was doing should have been clearer; something along the lines of “I am about to burn a CD containing one file called Ubuntu.ISO” would have indicated that I was doing something wrong and given me the chance to hit Cancel and avoid yet another drink coaster.
  2. Finder should be capable of realising that something that looks like an ISO image needs to be burnt “as is” rather than making a file system containing that file.

And yes I did eventually realise that I needed to use “Disk Utility” to burn the CD.