HTC Magic – Android Review

htc-magic-vodafoneI’ve been using an Android phone, the HTC Magic, for about two weeks and I think it’s time to report back.

Build Quality: The phone feels very good, it look slick (at first you’re surprised by how quickly it picks up fingerprints but that isn’t an issue after day 1). It isn’t as solid as an iPhone, but it doesn’t feel like it’ll break easily either.

Voice Quality: Better than my Nokia E61i, better or equal to all the phones I’ve had.

Screen: The screen is nice. The same resolution as the iPhone, just smaller (because the phone is smaller). It certainly is bright enough, I usually have the brightness set to 50%. The image quality is great, better than the iPhone IMHO.

On Screen Keyboard: This is the question most of my nerd friends ask first. When you first get the phone you feel like it’s going to be hard. Coming from the full qwerty on the E61i I was struggling to get up to pace. But it gets better, a lot better. After a while your brain figures out how to thumb the right keys and the Android’s brain figures out what you meant to type. This is like predictive text on steroids… if you’re typing a word but along the way hit a few wrong keys, the phone works out what words you could have meant to type with keys near the ones you pressed. It’s hard to explain but in practice it really does feel a little like magic. So overall the on screen keyboard is actually awesome.

Signal: So far I haven’t had any situations where I’d lost signal while others had signal. The wifi is MUCH better than my E61i.

Connections: The Magic just has one port, a mini usb port. Actually it’s slightly different to mini usb since mini usb fits it but it can also accommodate HTC’s proprietary connector for the headset. I would have loved a regular headphone jack, but they’re trying to keep it minimal. You can get an adaptor. The good news is that the phone charges over usb with a standard mini-usb cable. That in itself is f-ing awesome.

Battery Life: Okay, not great. Look, lets be honest, if you get one of these phones you’re always playing with it… that sucks power. I need to charge this phone every night in order to keep it happy, sometimes more regularly. Happily I usually just plug in into whichever computer I happen to be sitting at and let it charge that way. I’m sure that future androids and future OS improvements will have much better battery life.

General Experience: This phone KILLS anything I’ve ever used before because of the general experience. When you first boot the phone it asks you for a google profile and then from that moment on your phone is perfectly synced with Google Mail, Google Talk, Google Calendars etc. Mail arrives on your phone in seconds and an “@” sign is placed on the notifications bar. From any application you can drag the notification bar down and get a preview of the email and decide whether to read it then of come back to it later. SMS’s, Calendar events, App notifications, like Twitroid saying there are new tweets, etc are all handled by the notification bar.

Evolution: The most awesome thing about this phone is its position in the software evolution. Things are changing all the time. I’m currently running release 1.5 of the Android base system. Since I have already ROM’d and ROOTed my phone I will be trying out the HERO (HTC’s latest Android Phone) ROM, which, while still Android 1.5, comes with a bunch of interface improvements from HTC. Later on this year Google will release the Android Version 2 which no doubt come with a whole whack of ui improvements, stability, batter life etc. The key to me is survival of the fittest. Because the Android development team is far more open than anything else out there, there is a constant source of feedback into the community. I have a long list of suggested improvements that I’m collecting and will publish. It’s not unrealistic to think that the Android devs will read that list and maybe even comment on it.

Openness: Android lets you replace any part of the OS with a replacement part. What that means in general terms is that if I want to phone someone I use the Android default dialer app that ships with the phone. I can replace that app with one that queries an LDAP database over wifi to get all our staff phone numbers. Even the Home application (the one you see when you press the home button) is replaceable.

Just a little teaser... I've subsequently installed the Hero ROM... and it is beautiful.
Just a little teaser... I've subsequently installed the Hero ROM... and it is beautiful.

My Top 11 Android Apps

  1. Android Market – The marketplace has all the apps. Sure you can get a lot of the files in other places, but not as easily as using market
  2. Skymap – Using the compas and the tilt sensor this shows you the stars where the phone is “looking”. It really is quite amazing to see in action.
  3. Timeriffic – A very simple app but amazingly useful. It allows me to change the phone’s volume, brightness, ringtone etc based on certain times. This means my phone automatically gets louder at 8am and softer at 11pm.
  4. ACast – A podcast client in your phone. Can be configured to only download over wifi.
  5. TaskKiller Light – Simple app, lets you kill other apps.
  6. GPS Status – Shows you all the info it can get from the GPS, compass and tilt/motion sensors. ie. Gradient, G forces, GPS Accuracy, How many sattelites it’s using.
  7. CellFinder – Nerdy app, but cool. Shows you where the GSM tower is in relation to your GPS position and shows you how far away etc.
  8. Transdroid – Control your Bittorrent client from your phone.
  9. AndFTP – FTP and SFTP (ssh) client, on your phone. Awesome for grabbing stuff of the network. (Astro is a file browser that supports SMB too)
  10. Twitroid – Fully featured twitter client for your phone.
  11. Google Maps – While it doesn’t have turn based navigation for South Africa yet, it does have all the roads now and can show you your exact location with GPS. This is very cool.

Overall, this phone is amazing, mostly because of Android… I can’t wait to see where Android world goes next.


I’m having the best birthday evar! Thanks to everyone who’s making it so awesome, but most of all to Lynnae for being the world’s best girlfriend!

Charly’s Bakery is quite surreal; when you walk in the door it feels a little like you just stepped onto a scene from Charlie and The Chocolate Factory. I will keep you posted on how good the cake tasted.

Over and Out!


Big Ideas

The internet gives everyone the opportunity to be surrounded by smart people. I think one of the tenets of being a geek, whether you’re a programming geek or a hair stylist geek, is that we love to surround ourselves with people who are a hell of a lot smarter than us. For instance, I would love to go work at CERN; a place where I am at a loss for an analogy to reference my relative stupidity. However, I would absolutely love every second of it… even if I walked around confused by everything I heard or saw… on some level I would take some stuff in and leave wiser. I think, as I said before, this is one of the differences between geeks and non-geeks.

I’ve found that a lot of my non-geek friends try and avoid situations where they might look dumb because they fear that it will reflect negatively on them. Perhaps true geeks have realised that there is always someone else who is a hell of a lot smarter than you, so there’s no point in trying to look clever. Obviously geeks revel in being the smart one and teaching others, but this is also part of being a geek: we love to teach because we make the world a better place by doing so. It’s also possibly why geeks are so incredibly fanatical about things like programming languages… because we believe that by convincing someone to switch from PHP to Python will make the planet a better place… and we’re probably right.

Which is all a very long introduction to the guy who made this:

Embedded video Big Ideas (don’t get any) from James Houston on Vimeo.

You want to jump to about 1.10′ for the music. Anyway, the guy who put it together has a blog, read it.

In his own words
Based on the lyric (and alternate title) “Big Ideas: Don’t get any” I grouped together a collection of old redundant hardware, and placed them in a situation where they’re trying their best to do something that they’re not exactly designed to do, and not quite getting there.

This speaks volumes to me. I like to imagine that the old hardware really all want to make music and this is their best effort an effort which, albeit rough around the edges, translates to something beautiful. Mankind’s quest to understand time and space is similarly rough, but we’re on our way.

Over and out.

Sailing Day 4 (The End)

This is the final episode in the saga… I promise.


Morning had just broken and we found ourselves staring at a rather treacherous looking shoreline in the distance, sailing past it as we made our way Knysna. Huge swells lifted the boat onto their tops where we raced along with the wind, only to be lowered into the trough of the swell where the wind was confused and the boat flopped around uneasily. This pattern continued for a few hours until we got our first sight of Buffels Bay and as the sun slipped patiently into the sky I realised how glad I was that we arrived here when we did. Jeremy said that Buffels Bay has a rocky outcrop that reaches quite far out to sea. As the sun rose higher and higher and the light got brighter and brighter I kept on seeing more of this outcrop and having to steer even further away from the shore to miss it. I have this feeling that Buffels bay is so named because of the sound the waves make crashing against her rocks… I can imagine that it might sound like a Buffalo stampede. The sight was quite awesome… and our first glimpse of how this sort of swell was breaking against rocks. The tiny houses in the distance seemed dwarfed by the swell and the spray.

Knysna was just around the corner. Which in sailors terms is apparently an hour. As we sailed Jeremy kept on trying to point out the faint outline of the rocks that make up the heads in the distance… With the sun rising directly behind them and the mist setting in it was quite tricky to see. Eventually we could make out the opening of the heads, but the closer we sailed to them the more nervous we both got. The swells were now about 6 meters high at sea, running in towards the shore, growing in size as the water got shallower, and then smashing the living daylights out of whatever was it it’s way in one huge mess of spray that made it impossible to see what was going on where. There could have been a McDonalds right in the middle of the Heads and we would not have been able to see it.

We had to go in for a closer inspection. We lowered the sails and started up the diesel motor. Cautiously we inched towards the Heads… it felt very much like what it would feel like if a tornado was stationary and you were inching your way towards it for a closer look. The closer we got the more dire the situation appeared to be. The roaring 6 meter swells broke violently and audible, throwing spray 15 meters up into the air… “There’s the channel” Jeremy said, “between that rock and the spike in the distance”… All I saw was an angry wall of water and deadly rocks. I imagined what it would be like, in the water, amongst all of that. It wasn’t a nice thought, but we were both desperate to get off the boat. We decided to motor further out to sea and put the boat hove to (sailing term for a complicated sail and rudder setup that has the net result of not going anywhere… it’s actually quite impressive)

Once we were safely out at sea bobbing up and down as the swells ran past us towards their ultimate goal of destroying Knysna, we found ourselves in a curious situation. The wind had died down, the sun was out and the swell was getting bigger. Luckily this close in to land we had cell phone reception. Jeremy phoned up some friends and was eventually having a conversation with an NSRI guy at Knysna. He confirmed the painfully obvious… we weren’t going to be getting in any time soon. Our only hope was that as the tide came in (we had arrived at low tide) the heads would settle and perhaps the swell would die down… I think we both knew what the chances of that was. We were a tiny sail boat with a tiny diesel engine… Not even the NSRI with their super-duper high speed, built for shitstorms, semi-rigid rescue boat, would try get through the heads.

Since the only other option was sailing 50 miles (between 50 hours and 10 hours away) back to Mossel Bay we decided to wait for the thing we knew wouldn’t happen… Just in case it did. We waited for about two hours before Jeremy got on the phone again. To add insult to injury the heads were now shrouded in mist. The NSRI guy gave us the bad news. Firstly, it wasn’t getting any better and secondly there was an even bigger storm behind us, heading for land. Awesome.

I got on the phone with Lynnae who’d been driving since early morning to come and fetch us in Knysna. I told her the situation and suggested she head home since we had no wind and were going to have to sail 50 miles to Mossel Bay, which for all intents and purposes (remember there was no wind) might mean we only arrive there in 2 days time. I told her we’d get a bus. Mother nature was already screwing 2 people around, no need to include a third. Lynnae said she would head home but would drive back and fetch us from Mossel bay as soon as we knew when we would be there… That’s a pretty big deal in my books. I was supremely thankful. Jeremy didn’t seem to believe me when I said what she’d offered to do. “You’re pretty serious then” he said… “Yes” I replied… “That’s how we roll”.

In what seemed to be automatic mode we rigged up the sails and started heading towards Mossel Bay. At first there was no wind, but every hour the wind speed seemed to increase steadily… So did the size of the swells. Jeremy went to sleep as I sailed up mountainous swells. Swells the size of 3 story buildings, 4 story buildings… Walls of water that you sailed up the side of for 60 seconds and then surfed down the other side in 10 seconds. These swells were so big that photographs can’t actually capture the size of them… they just look like water at a funny angle. Sometimes we would go over the top of a swell and the boat would see-saw over the top, the bow smacking the water on the other side with a thud. This thing that would have scared the shit out of me a few days ago was suddenly fun. It was hard work fighting the swells and keeping the boat heading in the right direction but it was fun. We were making headway… slowed down significantly by the mountains of water we were having to sail over, but we were heading towards Mossel Bay.

The boat was rocking a lot too… and her keel was making creaking noises that betrayed her Made-For-The-Vaal-Dam construction. At this point I should point out that both Jeremy and I were getting nauseous when down below. It’s most telling when you’re trying to do something like tie your shoelaces. Often someone would be down below and then would pop their head up out the hatch for a few deep breaths of fresh air to settle their stomach. Jeremy lives on a boat and was getting nauseous… I think that should give you an idea of the conditions.

At some point during the day we ran into a psychotic bird who would fly ahead of us and then sit in the water right next to the boat as we sailed by. He did this about 15 times, each time flying way into the distance and then back again, literally a meter from the boat. Maybe he was bored.

We also sailed past a shark, its fin just sitting there, just above the water as we sailed by. I guess he was bored too.

In the distance we saw the shoreline with these huge swells crashing, the wind running along the tops of the forming waves, ripping a spray of water 10 metres high above the crashing wave.

The wind got rougher and the sky got darker. We were still sailing towards Mossel Bay. It was about 6 hours since we had left Knysna. As night fell we realised how tough this was going to be. We strained for a glimpse of the lights at Mossel Bay and only occasionally saw them… usually we would see them after the huge swells had pushed us off course and we’d have to correct as quickly as possible.

Suddenly there was a bang. An earth shattering, heart stopping, BANG.

We had hit something. Time passed by in slow motion. My heart raced as I listened for signs of broken keels or rushing water noises… nothing. My blood pressure was through the roof but we were ok… We strained our eyes into the darkness to try and see what we had hit, but could see nothing.

A few minutes later we decided that the wind had got out of hand and we should lower our mainsail. That’s the big one… in this amount of wind we would find ourselves sailing just as fast with a third of the sail area.

We took turns sailing in what can only be called messy conditions. The wind had “dropped” but actually was just coming from us as all angles. With less wind we were sitting ducks being pushed around by the huge swells. Eventually Jeremy went to go sleep. I carried on, fighting the waves and wind and eventually got us 10 miles off of Mossel Bay, but uncomfortably close to a large trawler that seemed to be heading our way. I woke Jeremy up and suggested we just make a break for it and motor the two hours straight for the harbour. Jeremy, ever cautious, didn’t like that idea… if we ran out of fuel nearing the harbour we would be in trouble… not Knysna heads trouble, but still, sailboat on the rocks trouble.

We decided instead to just motor for a few minutes out of the path of the trawler. Jeremy took the helm and I went below to start up the engine. There is nothing more sickening than the sound of an engine that doesn’t want to start, at sea, with a trawler heading towards you. Eventually it started but sounded like it was going to die in seconds. Jeremy killed it. We needed oil. I fetched oil out the kitchen cupboard (Yes, engine oil) and Jeremy stuck his head under the engine cover looking for the place you put the oil in. Jeremy was facing forward and I was facing backwards. I could see the trawler… and I could see Jeremy faffing about trying to be as tidy as possible and not spill any oil. At one point he was wiping the can opener clean and I could feel my head about to explode.

We started the engine up again. This time it sounded better, but by no means healthy. The pitch kept on changing all by itself. Jeremy made comments about it seizing… not the sort of thing I want to hear at sea, with a trawler bearing down on us.

(In hindsight I must admit that the Death Trawler probably wasn’t even moving, but at sea, at night, with only lights to guide you, your brain starts to play tricks on you… tricks that are probably a good idea to be playing since they might occasionally save your life.)

We got out of the path of the trawler and killed the motor again. It was annoying attempt-to-sail-in-shitty-conditions time again. Jeremy went to bed. I tried to sail.

About 2 hours later we were closer. I’m not sure if we sailed or drifted in with the huge swell. We could see the lights of the harbour wall. 3 white lights… Jeremy’s instructions were to head towards them. As I sailed closer and closer I began to try and figure out just where exactly the opening in this wall of rocks was. Eventually I saw a red light. Red = Port = Left… I started sailing towards the right hand side of that. The only problem was that the only reliable inkling of wind we had was coming straight from behind that red light.

Another hour passed as I fought the boat towards that light. I swear to god I could have swum to shore and hour ago… and we didn’t seem to be getting anywhere closer. I woke up Jeremy and requested his sailor voodoo.

Jeremy tried his sailor voodoo for another hour. Huge swells smacked the boat from all sides, the sails would whip open and closed again violently. I was losing my patience and my cool. The boat was sounding worse (whether I was imagining that or not I am not sure) and I was afraid. We were closer to the shore than we had ever been but were still no closer to that red light. I looked behind us to make sure we weren’t mistakenly towing a whale, or a house.

I think at some point I got quite desperate I was willing to call the NSRI for a tow in… real sailors don’t do that unless you’re actually in the water with 2 broken leg and a shark bearing in on you. I exaggerate but you get the idea.

Jeremy laid out the options we both implicitly knew. We could sail out to sea and go “hove to” again for the night (taking turns at watch) or we could start up the motor and try and motor in, risking the chance that the motor will die on us at some critical moment and we would be well up shit street without a paddle. It was past 2am, i didn’t feel like spending the next 5 hours floating around, only to wait another few hours while someone figured out who was going to come and fetch us.

I voted we start her up and run for it. Jeremy readied the boat, tied on the mooring lines and put the fenders in place. Once we were ready we both spoke to whatever powers that be and swung the key. I wish I knew who the patron saint of engine lubrication was.

Once again the sickening sound of an engine not starting went on for what was probably a minute. I kept my eyes on the battery meter even though it always reads completely empty while you’re running the starter motor. Eventually she swung, spluttered and then started. As sick as that little engine sounded it was still a beautiful sound. She was spewing out thick smoke and sounding like death was immanent but we had to go.

Jeremy put her in gear and motored towards the red light. My nerves were shattered as Jeremy ran through the mooring procedure. The green light appeared… that’s starboard… the right hand side. We made a beeline straight between the two. The engine coughed and spluttered but it kept on chugging along. We entered the harbour and tried to spot the sail boats. We spotted the sail boats and I went up on the bow with a mooring line in my hand ready to jump. We spotted an opening but Jeremy said it was too small… At that point I really struggled to care but Jeremy motored us around the other side of the boats. Mossel Bay harbour is loud with machines running all through the night. At some point I stopped hearing our little motor and looked back, Jeremy was looking down… “oh crap” I thought, “it’s just died… what now?”.

It hadn’t, Jeremy was just trying to give me a heart attack by slowing down while we took the corner. We found some open spots and Jeremy shouted which one we were going to take. We motored gently into place and I jumped across to the walk-on (Jetty type thing) and tied her bow line. Jeremy jumped and did the stern lines as we spent a few minutes tying her up.

I think the reality of being off the boat, after almost 5 days at sea, only started hitting home once she was tied up. I was hot, I took off my jackets and harnesses. At some point I had pulled a muscle in my arm but I can’t remember when. I was for all intents and purposes utterly delirious. I found myself walking around, just for the sake of walking, my legs learning how to be coordinated again.

It was almost 3am. I sms’ed my parents and Lynnae. It felt like the Shawshank Redemption. I thanked Jeremy for getting us “home” safe. That night I slept on the boat, about 60 meters away from a 2 story ice making and crushing machine that runs all night. I slept like a baby.

The End.

(I will write a post about the “lessons learnt” at sea shortly, but for now this saga is done. Photos to come soon.)