Nexus One vs. HTC Desire

Since February my phone has been the Nexus One. When I got it I wrote up a brief review where I compared it to the iPhone 3G and the HTC G1, so I guess this is a sort of exit review for the Nexus One as my new phone is the HTC Desire (also known as the Bravo or A8181).

The HTC Desire is almost the same hardware as the Nexus One. The wikipedia page has a good feature comparison so I’ll try avoid going over that ground. You can see from the photo at the top of this post that they share pretty much the same form factor. The Desire has a little bit of the HTC chin design where the Nexus did not. The Nexus notably has the three brass dots for the docking station which the Desire does not.

Looking at the back, things are pretty much identical. The Nexus One has a band of exposed aluminum frame (which can host an engraving), and the power button is slightly different likely due to the small difference in back cover design. The size, general shape, and weight of the phones are basically identical. I do notice that the Desire feels ‘flatter’ for some reason, and it almost feels as if it is a slightly more refined phone.

The Desire has a Super LCD vs the Nexus AMOLED. There is a visible difference here, and one that sticks in my head. In day to day use it isn’t bothersome, but more than just a subtle difference. The Super LCD tends to have washed out blacks, and appears a little bit dimmer to my eye. In every other aspect the two displays are equivalent, enough to make the differences a non-issue for day to day use. The Desire has a gorilla glass screen, where the Nexus did not.

The dock was a nice feature on the Nexus, just drop it in and it charged. I rarely plugged it into a microUSB connector. However the dock also discouraged the use of any sort of bumper case for the Nexus, I’ve got a case on order for the Desire already.

So while these two phones are quite similar, the button layout is not. Let’s compare the HTC G1 (top), Nexus One (middle), and HTC Desire (bottom):

The G1 actually had buttons dedicated to phone functions, it also had 5 function buttons vs. 4 in the later phone. The Nexus had touch sensitive buttons, which took some getting used to after having real buttons. The track ball was transparent and allowed for coloured notifications. The Desire swaps the track ball for an optical track-pad, some people really dislike this but I haven’t found it to be a problem. The back and search button is a rocker, effectively working as independent buttons.

Looking across the layouts, the home button has wandered around in different locations for every one. Search and menu are fairly consistent, but I’m not sure it helps much. Layout changes like this really mess with your head/muscle memory.

In stock form there are bigger differences between the two devices. However, both are fairly friendly to root and flash with your favorite community ROM. I’ve been running CyanogenMod since I got the G1 and continue to do so with the Desire.

Looking at the internal storage is where we notice some big differences. Nexus One: 196MB, Desire: 148MB. Having come from the Nexus meant that I very quickly started to hit out of storage problems, forcing me to move more of my apps to the SD Card. Everything fits without resorting to apps2sd or other hacks.

Speaking of hacks, you can change this if you are willing to flash a new HBOOT – this is of course somewhat scary as messing up HBOOT may be difficult to recover from. It also requires the phone be in S-OFF (developer) mode, allowing modification of /system while Android is running. Contrary to most of the material out there you can run in S-ON mode and have custom firmware, there are some limitations but no deal breakers (my Desire is currently S-ON).

 

 

Replacing BlackBerry 9700 keyboard redux

Earlier this year I wrote up a how to on replacing the keyboard of a BlackBerry 9700. It seems my brother in-law is especially hard on keyboards as he recently lost the M key. You can see the missing key in the picture above, the membrane has been torn making it necessary to replace the entire keyboard.

Off to eBay again for a new part. This time I took a different approach – I found a reasonably priced used keyboard located in the USA. My total cost was under $6 including shipping. By using a used keyboard I hoped to avoid low quality replicas, sensible given my last experience where the right shift key popped out and needed gluing back in.

The packaging for the keyboard was complete overkill. I wouldn’t hesitate to deal with this seller in future. The part was exactly as the listing indicated, the slight blemish on the keyboard matched the one I received – clearly they took the time to take a photo of the actual part they were selling.

The disassembly of the BlackBerry 9700 went exactly as I wrote up last time. The bottom cover again felt tricky, a little persistence and patience was required. The bezel was a bit easier as I knew to start at the bottom and work around the sides (again as per my previous description), the key to the bezel was getting the bottom started.

I still don’t have the right torx screwdriver (T5) – so again I made use of the same flat head micro-screwdriver pictured on the right. This worked surprisingly well (again).

I think it took me less than 20 minutes to do the entire keyboard swap (including taking a few pictures).

 

Greylisting with Postfix and Ubuntu

Recently it seems email spam levels have been increasing, reading through the news it seems there is some debate if it is really up or not. Either way, I know that my local mailbox has been getting more spam (specifically more binary attachment spam) lately. As I host my own email server, addressing spam levels is something I can do something about at the server level vs. needing to rely on clever filtering by the client.

Hosting your own email server is a little dumb. I like the challenge, and knowing my data is stored on my computer systems is comforting. Most people should just stick with gmail or similar. If you are stubborn like myself, Ubuntu makes it easy to setup your own mail server. There is of course the other details on getting a ISP that allows you to host a server etc. (exercise left to the reader)

One alternative is to run a local mail server that smarthosts through your ISP (or even Google). It can use fetchmail or similar to suck down email from your various accounts too. This would result in your data on your machines and good spam filtering as you offload that problem to the other mail server (say gmail).

Ok, so you’re dumb like me and while spamassassin is doing an ok job, it’d be nice to stop more spam from hitting your mail server. The solution is greylisting, the Ubuntu community docs make it very simple to setup if you’ve got a postfix based mail system setup already.

The concept behind greylisting is very simple. Spammers are lazy and so is spam software. One of the error codes a mail server can answer back is ‘temporary failure’. Greylisting causes the first attempt to deliver a given email message with a temporary failure code, any properly configured mail server will retry after a short period of time (usually minutes). Spam software can’t be bothered to go back, it’s spraying email across a large number of servers and a large number of addresses – a few failures aren’t important. If you want to know more, I encourage you to read through the whitepaper.

The trade off with greylisting is that normal email can be delayed. Postgrey uses an adaptive whitelist to allow frequent valid email to skip the temporary fail sequence. The place you’ll notice delays is when you reset a password, since the email is likely to come from a mail server you don’t often get email from – so it will be delayed by the temporary fail code.

After a day – spam has dropped to zero, and email is still arriving in my inbox. I did have to “wait” for a password reset email that was delayed by 1041 seconds (a bit more than 17mins), the delay time is due to the sending server retry cadence.

Looking at a year of mail traffic on my server, it doesn’t appear that volumes are up that much.

Looking at the weekly graph shows a spike in rejects (due to greylisting), but if you look closely you can see the drop off on viruses and spam (since greylisting prevents those messages from ever being received and processed).