Gnome 3, or Gnome Shell issues

I use the Debian operating system on several computers. My “main” computer (Imladris) runs Debian unstable (Sid) while the others mostly run on testing. I’ve been anticipating the Gnome 3 upgrade for some time, mainly because of the switch to Gnome Shell which is a completely new way of using the desktop. I had played with Gnome Shell a while ago, and was kind of impressed and worried by it in equal measure, I decided it wasn’t ready for prime time so stopped using it. Naturally I assumed it would be much more impressive upon release; especially since Debian is not (by far) the first GNU/Linux distribution to include Shell.

A while ago a big upgrade came through on imladris, and it was clear it was the Gnome 3 upgrade. I share this computer with three other users, two of which are children for whom I have implemented password less login (locally only). I can only say I think Gnome have significantly mishandled the upgrade. Here are some reasons why.

Login is seriously slow

The display manager can take up to a whole minute to display the list of users (and often doesn’t display the icons). There are some bug reports about a possible race condition that causes this, but seriously on a reasonable spec computer this is unacceptably slow. The same problems occurs when switching user.

I couldn’t login

My, admittedly old user account simply wouldn’t launch a working desktop. I had to (at a command prompt) delete configuration directories to get my account working again.

Absolutely zero support for the user in transition

So the average user does the upgrade and suddenly their entire desktop has changed. But when they first login there will be some guidance about where everything is gone… right? No. Having already used Shell, I knew, but I had to try and show everyone else how to use the machine again. It’s not that spectacularly intuitive.

Actually, a lot of functions have just gone

There’s a huge removal of existing functionality. All your carefully tweaked panels: gone. All your applets: gone. And bizarrely often with no working alternative.

Not friendly for children

It was possible to set up a Gnome 2 account to make it easy for kids. Low res graphics, and big panels with big select icons. The new paradigm completely ignores all that in favour of a sleek minimalist environment which is probably not that easy for young children to understand.

Dictatorial design choices

It’s been decided that we don’t need minimise buttons or maximise buttons. It’s been decided not to honour old desktop backgrounds. It’s been decided not to honour existing resolution settings. It’s been decided not to show anything on the Desktop (much to the confusion of many users). It’s been decided we can’t right click on the desktop.

Some of this kind of nonsense is exactly why I don’t like some other operating systems who believe they know what’s best for you with Messianic Zeal (I’m looking at you Apple).

All in all I find this transition very disappointing. There are lots of basic things no-one seems to have thought of, and years of desktop customisation have been swept away with an extraordinary arrogance. Don’t get me wrong, I support the idea of trying a new Desktop paradigm: but, for instance, if people used to have applets on their desktop for the weather, or for system monitoring, it’s because they needed it. Rolling out a new desktop that simply ignores these things in favour of how some people thing everyone should use their desktop is exasperating.

I’m seriously hoping that Gnome Shell improves significantly and fast. I won’t hold my breath.

Rooting and Upgrading the HTC Desire

I have been asked by a few friends to document how I did this. All the information is derived from elsewhere and its currency may be limited. Trying to root and flash phones is potentially dangerous. You need to take your time and consider what you are doing carefully. If you break your phone, you own the pieces. This worked for me, but I can make no guarantees. You get the idea.

Read the whole article before you start please.

The HTC Desire is a lovely phone, but it has two pretty annoying flaws. First of all the battery life isn’t great, but that’s not what this article is about, and secondly, the internal memory is very limited. I thought when I got the phone that Froyo would save me because it had apps2sd. Apps2sd allows you to move applications from the internal memory to the SD card, but it has some serious limitations:

  • apps with widgets and some other bits won’t work properly from SD
  • many apps only partially move to SD
  • some huge apps won’t move at all (I’m looking at you Google).

The ROM images I was getting, from Google to HTC to O2 were out of date, and they clearly didn’t even care about fixing some significant issues (like the broken authentication in the HTC Peep program). This wouldn’t matter because you could install a decent twitter client if you had the memory… oh… you get the idea. I was rapidly having to remove apps hand over fist with every upgrade, and my Daughter was complaining about their absence. So I decided to sort it out.

Some ROM images have the rather different data2sd. This allows you to treat part of your SD card as the internal memory of the phone. This makes a crucial difference, no messing about partially moving to “SD”, but allowing a large amount of memory to be treated as internal.

Step Zero: You will need

  1. This process will take some time, during which you won’t really be able to use your phone. Make sure you have time. If it works you will have to do some work setting some things back up, it will to some extent be like having a new phone; some work can be done to minimise this. See below.
  2. For this to work you will need a half decent SD card. Mine is a class 6, 8G card. The class information is written in the card in a number with a circle on it, and has to do with the speed of the card. Class 2 will apparently be painful. Class 4 is apparently fine. But I already had class 6. Get a decent card.
  3. Some means of mounting the card on your PC, usually an SD to micro SD adapter.
  4. Possibly a blank CD, and some spare Hard Disc space for backups.

Step One: Backup Your Phone…. Really

Even if this all works it will be like having a new phone to some extent, so expect to do some setup again. If you don’t have time, don’t start. Backup your phone. I had Backup PRO which I used to backup everything. I did this to the SD card this time, but actually, I should have done it online instead (or as well). I’ll explain why later. Backup PRO wasn’t free, but it was cheap and has been more than worth it for me. I’ve used it several times.

Now backup your SD card. Either mount it as a drive or take it out of the phone and put it in your adapter or whatever. Copy everything to your PC as files (in the past I’ve used dd, but this is not needed).

Step Two: Root Your Phone

At some points in the past this has been very tricky, but this was easy this time. I went to the Unrevoked website, and downloaded the software to flash the phone. Follow the instructions carefully and read all the guidance. Click on the Desire, and your OS, and download what’s needed (some extra drivers for Windows please note). I was using Debian GNU/Linux at the time.

Turn on “USB Debugging” (Menu >> Settings >> Applications >> Development) on the phone, and then plug the phone in (leave it as charge only when it prompts you). Run the software, wait, and in a few minutes your phone should reboot with ClockworkMod and root access. Note some people suggest you need to run the program on your PC as root, I did need to do so.

Step Three: Check you can access recover mode

For some reason I couldn’t do this with the volume buttons on power on, so I did the following. Power off the phone. Hold the “back” (hardware button) down. Now press power on. You will get to the Bootloader screen. By using the power button you can run the Bootloader. This brings another menu and (after some patience) allows you to move up and down with the volume buttons until you pick “Recovery”. Now press the power button again. When the phone reboots it will be into recovery mode. Peruse the options, see that you can navigate with the optical trackball and the back button.

Step Four: Possibly install a ROM manager

Now you can pick an alternative ROM of your choice. But this article following on below is specific to the Supernova ROM.

I installed ROM Manager (and it’s cheap but not free upgrade) to allow me to download ROMs and flash them, and I flashed Cyanogen… but I didn’t like it. I did it for old time’s sake and much as I tried to bring myself to like it I found I missed the HTC Sense stuff (that surprised me). You can experiment with all of this. I strongly recommend you opt to wipe user data on a major ROM change, the phone will probably hang if you don’t when you reboot, and you’ll have to get into recovery mode anyway and do it there.

Step Five: Get the ROM files

The ROM I went for was Supernova since essentially it’s a good, HTC Sense oriented, Gingerbread based ROM with the data2sd extra. In other words, you get newer Android goodies with much the same user experience, but don’t have to worry so much about the memory. You need to sign up to the website and then go to the download links and get the ROM and data2sd installer. Copy them to your hard disc for now.

Step Six: Prepare your SD card

For the data2sd to work, you need to prepare your SD card with a FAT32 partition (for general use) followed by an ext4 partition (for use as internal memory). Don’t panic if you’re not a Linux user. There is a way to do this for you.

In Debian, I installed gparted. I then put the SD card in its adapter and in the machine. The machine may mount it automatically… make sure you unmount it before proceeding. Run gparted and follow on below.

If you are using another OS, get the GParted live CD.

Follow these instructions carefully.

Make sure the GParted is accessing the correct device in the pull down before you start, make sure the disc space in front of you looks correct. YOU DO NOT WANT TO ACCIDENTALLY REPARTITION YOUR COMPUTER’S HARD DISC. TAKE YOUR TIME. Personally I went for about 7000 MB on FAT32 and the remainder for my ext4 partition.

Get out of GParted, back into your regular environment (close GParted, reboot or whatever). Now copy your SD card backup (remember that, right?) back onto the card. Finally copy the two ZIP files from the Supernova website (the ROM and data2sd installer) into the root of the SD card. Dismount the card and put it in your phone.

Step Seven: Install the ROM and data2sd bits

I recommend you read and follow the official instructions carefully from here in. Note I didn’t bother with the radio code because I was confident it was already very recent. Follow the instructions very carefully to be sure the data2sd will work correctly… note there are a few very specific things you must do and must not do in between boots.. Basically you need to use reovey mode to do a factory reset, navigate to the ROM ZIP and install, reboot, change a few settings, back to recovery, navigate to the data2sd ZIP, install, reboot.

Step Eight: Restore as needed

You should now have loads of space in internal memory. Check in Menu >> Settings >> Applications >> Storage.

I then put in my Google credentials and restored everything after downloading Backup PRO again. Because my backup was on the SD and it was copying to SD, it was slow. I recommend using the online option. Be patient, if you are restoring call logs and SMS messages it will take time, do not navigate away. Wait for it to finish and immediately restart. Think twice about copying “settings”, I always worry it will cause the newer ROM to cease. Your mileage may vary.

Patent issues with card storage

I read from Slashdot that Microsoft is taking legal action against TomTom over a number of alleged patent violations. Three of these are apparently targeted at the Linux kernel in use by TomTom.

Much of the focus of the discussion revolves around the use of FAT and FAT32 storage systems on media cards, and I have to confess this is an issue I hadn’t previously considered very deeply. Microsoft has patents on these filing systems, and in fact it is important to note that Windows does not currently support any filing system that isn’t one of Microsoft’s own, patent entangled file systems.

There are very important, highly anti-competitive consequences to this.

  • In order for media cards to work with Windows – still a practical monopoly offering in the operating system market – these cards have to support a MS entangled filing system.
  • This likely means Microsoft is obtaining a revenue stream for all the licensing on many of these cards and their associated readers.
  • Other operating systems, if they wish to be equally convenient to those using media cards, cameras, media players have no choice but to try and include support for these filing systems, even if they are not technically superior.

I would tend to agree with the observations of many that litigation here seems to be all that remains in a sad absence of innovation, but I would hope that if various legislatures have seen the browser issues as anti-competitive that they will consider issues like these too, especially if Microsoft starts throwing its weight around. It’s not in any consumer interest for a single company to enjoy such dominance on such a wide range of products.


Bruce Perens has written a good insightful analysis of this issue that also neatly encapsulates his well thought out view points on software patents in general.