Android Cupcake Device Review > HTC Dream

The original Android phone, which came shipped with Android version 1.0 but promptly performed a seamless self update to Cupcake after I took it out of the box and connected it to the internet for the first time.
This device is only interesting for testing (post Cupcake) because it has a hardware keyboard which by default will restart the running Activity every time you flip it out. This uses a slightly different event notification system to the rotate listener, which is the only way of changing screen orientation on the other 3 Cupcake devices. The hardware keyboard makes it currently the best available Android phone for writing messages, but the retarded amount of on board memory means you must start deleting stuff after downloading your tenth application.
A lot of developers have a “Android Developer Phone 1” device (now out of stock) which is essentially a pre-rooted HTC Dream, giving developers full Linux level access so they can install their own firmware.
Please note, that a rooted phone is not required if you are only intending to develop Application level software, as any Android device will run a self signed application as long as you check “Unknown Sources” in Menu > Settings > Application settings.
There is no 3.5 audio jack on this device, instead use the ExtUSB connector with the headset provided. Some editions of this device come with a 3.5 headset and ExtUSB adapter, allowing users to use their own headphones to listen to music.
Device specific test cases:
- Flip out that keyboard a couple of times on each screen. Badly written applications will lose UI state (form data, selected tabs, etc), or freeze if they are in the middle of a long running process started from within the Activity (consider using a service in this case).
- Try and perform all actions using the keyboard (as if the touch screen were broken).
- Test for trackball slide clicks (i.e. when the user mistakenly presses the trackball when they intended to slide it). The proper way of handling this is to ignore all trackball clicks that occur less than half a second after a trackball drag. This test is useful for games that implement trackball events themselves, as we are used to the native Android UI handling this on our behalf.
- Flash your Developer Phone firmware and test your Application on an early build of Donut.
