Tag Archives: google

Comparing the Moto Droid to the HTC G1: First Week Impressions

Droid Professional Package
The "Professional" Package

After finally deciding to upgrade my venerable HTC G1 (which I reviewed here initially) that had served me well over the past year and a bit, I decided to go with the Motorola Droid.  It’s not the fastest anymore, and it sure as hell ain’t the prettiest (neither was the G1 — what is it with me and ugly phones?), but it’s the new Android phone for me.

Why the Droid?

Why the Droid?  Well, it’s already been out for about six months or so, and has developed quite the hacking community.  Even my favorite ROM for the G1, the Cyanogenmod, has a version available for it.

It’s easily rooted (mine was rooted in about 24 hours).

It comes stock with a 16GB SD card — very cool.  No need to upgrade this thing right off the bat like there was to the G1 and its pitiful 1GB card.

It has loads of custom kernels for it, some enabling the stock 550MHz chip to be overclocked to 1.3GHz, and even some that run at the stock 550MHz but with a much lower CPU voltage (enabling your battery to last much longer).  This phone isn’t going to be left behind in terms of speed for a while — I’m betting Motorola is even going to issue an update for it one day that will up the speed of the processor just a bit for newer versions of Android.

It has a hardware keyboard — not a very good hardware keyboard, sadly enough, but it’s good enough for things like low-level hacking of the ROM and telnet/ssh/console sessions, which is what I needed it for.

[This is probably my biggest gripe for the Droid — the hardware keyboard seriously sucks.  The keys are all flat, not spaced apart, and it’s honestly quicker to type with the onscreen keyboard, which I find myself doing nearly all of the time.  The G1’s hardware keyboard was an absolute dream to type on compared to the Droid.]

It’s received fairly steady Android updates, and now is one of only a few devices running Android 2.1 (including the HTC Incredible and Nexus One), so it’s pretty certain to keep getting updates in the future.  This was one of the biggest problems with the G1 — even though it was once Android’s flagship device, the G1 was made before the “recommended” specs for running an Android device were fleshed out, and thus, not only is HTC not bothering to produce any more updates for it, it physically can’t receive them anyway, due to hardware limitations.

The entire phone, from top to bottom, is supposedly released under open source rules at https://opensource.motorola.com — while this doesn’t benefit me directly, as I don’t spend the time to make my own custom ROM’s and kernels, it will most assuredly help the hacking community in the future when and if Motorola does drop support for the Droid.

And finally, the price!  It’s been out for six months and is now cheap!  Ha ha! :P   I got the “professional” bundle (as you saw above), including a rapid car charger, car mount, and desk mount, for a wonderful price.

The Unboxing

Tiny Droid Box
The Very Tiny Unboxing

Well, there wasn’t much of an unboxing at all, to tell you the truth.  The Droid was packaged in some of the smallest packaging I’ve ever seen — the phone was nearly the size of the box, and took up most of the space.  Other than it, the battery, the tiny wall adapter for recharging, and a single mini-USB cable, that was it!

That’s one small difference between the Droid (and all newer phones, soon) and the G1 — the Droid uses the newer (thought still standard) “mini” USB cable, which is much smaller and flatter than the older “micro” cable.  Make sense?

[It’s all because the EU decide a few years ago to make all manufacturers of cell phones in the EU market standardize to one type of cell phone recharger system — I have to admit, I like it.  No longer will you need give different cell phone chargers for your entire family, if they’ve got five different types of phones — on will work.  It reduces waste quite a bit.]

The battery door on the Droid was a bit of a pain to get off, but when I did, the battery snapped into place and I was well on my way to Android 2.1 goodness.

The First Week

What were my impressions of the Moto Droid after my first week?

The Good?  Well, number one, it’s definitely more compact than the G1.  Even though it actually weights a few ounces more (probably because it’s a solid chunk of metal), it still feels lighter, and it’s definitely much, much thinner, even with a hardware keyboard.  It feels solid in the hand, with a good degree of heft.

The battery lasts about as long as you’d think for a smartphone — nightly charging will become a ritual in your house.  Still, not bad — like I’ve said before, I wish I had a laptop with a battery that lasted a full day.

The screen is… well, the screen is out of this world.  The DPI is twice as high as most of the previous crop of LCD screens like the G1, and you can really tell — icons are incredibly clear and distinct, text is very easy to read, and pictures look amazing.  Not as deep as an OLED screen like on the Incredible and the Nexus One, but pretty damn nice, nonetheless.

Software-wise?  Well, one thing that I noticed right away when I needed to install my favorite Android applications is the speed at which they installed — fast as hell.  On my G1, I could install one application at a time; it technically allowed me to install more, but I’d be damned if it didn’t almost freeze up when I tried to do that.  On my Droid, I’m installing three or four apps at once.

The GPS lock-in is much quicker, too — 2-3 seconds instead of nearly 10, and the wifi lock-in, too.

The “multimedia dock” and car mount are also both very cool — somehow, the Droid “knows” that it’s docked in each (don’t ask me how, as even I don’t know), and loads up specific apps that respond to each; the “Car Home” app for the car mount, and the “Desk Clock” app for the multimedia dock.  I’m glad I shelved out the extra money for the official Moto accessories, at least in this respect.

The Bad?  Well, the home screen operations — paging left and right between app screens, launching the app tray — are kinda slow and jerky.  I know, I know — a little thing, but still.  When sat next to an Incredible or a Nexus One, you can really tell.  Even with the Sense UI skin on top of the Incredible, the Incredible is still zippier.

G1, Droid, and Blackberry Curve
In good company.

Also — the lack of a trackball on the outside of the phone that you can access without opening the hardware keyboard has started to nag me, just a bit.

I like using the software keyboard to type a lot of text, and when I make a mistake and have to put the cursor back to the where it was, merely tapping on the screen can sometimes take a few tries to get the cursor exactly where you want it.  With an external trackball, you could just roll it a bit and get the cursor exactly where you want it (I got quite used to doing this on the G1).

Final Thoughts

I like it.  It’s a good successor to the G1, so much so that I almost wish they had called it the “G2.”  As it was, Google, Verizon, and Motorola put a lot behind the marketing campaign of the original Droid, and it shows — “Droid” has now become a part of most people’s lexicon, insomuch as they at least know the word and know that it stands for a very nice phone (that’s not an iPhone).

I still need to get a nice case and screen protector for it, but all in all, it feels right at home.

Integrating Picasa Web Photos with WordPress

OMG is this so much harder than it needs to be.

Picasa (or Google) offers nothing in the way of little blog widgets (unlike Flickr’s great support for everything), nor is there really any third-party support for this kind of thing out on the web.

I don’t understand why, since — at least to me — what Picasa offers for free is so much better than what Flickr offers, still, even to this day. :

Every third-party WordPress plugin I’ve tried either doesn’t work, doesn’t work right, or needs so much configuration on the server side — and I’m talking about editing raw PHP here (unacceptable) or creating farking CURL scripts for the server (why did you even release this plugin?).

Sadly enough, the BEST solution I could find for the problem of integrating Picasa was actually done in straight JavaScript (yay!), found here: http://www.bloggingtips.com/2009/03/23/picasa-widgets-and-plugins-for-your-blog/

Her code works great, works fast, requires almost no configuration (besides your Picasa username), and uses JQuery, so pretty much anyone can edit and customize it.

Which I did. ^_^ Though the code works, it doesn’t appear to always grab your latest photos from Picasa. (I’m guessing it has something to do with the “max-results” flag in the URL string — you have to restrict the number of photos that Picasa feeds up for you to get the latest.) I also made each photo be a link to the Picasa page where it’s at, as well as cleaning up the code a little.

There’s basically two parts:

First, put this code in a widget text block where you want it to be in your wordpress blog (this is also where you can edit the style):

<style>
#picasaStream img {border: 1px solid #000; margin: 0 5px 5px 0;}
</style> 

<div id="picasaStream"></div>

Second, put this code either right after the widget, or wherever you put your JavaScript (if you choose to put it in another place, like a footer):

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>

<script type="text/javascript">
/*
****	Uncomment this line if you are using other JavaScript libraries
****	(Prototype, Scriptaculous, etc.)
*/
// jQuery.noConflict();

jQuery(document).ready(function(){
	/*
	****	Change your Picasaweb username here,
	****	as well as how many thumbnails you want to show
	*/
	var _userName = "captainskyhawk",
		_count = 6
		
	/*
	****	Choose your thumbnail size here:
	**** 	"0" for small, "1" for medium, and "2" for large
	*/
	var _thumbnailSize = 0;
	
	/*
	****	Script Code
	****	No need to edit any further
	*/
	jQuery.getJSON("http://picasaweb.google.com/data/feed/api/user/" 
		+ _userName + "?kind=photo&thumbsize=72c&access=public&alt=json&max-results="
		+ _count + "&callback=?",
		function(data){
			jQuery.each(data.feed.entry, function(index, pic) {
				jQuery('<a href="' + pic.link[1].href + '"><img src="'
					+ pic.media$group.media$thumbnail[_thumbnailSize].url
					+ '" alt="' + pic.summary.$t + '" /></a>')
				.appendTo("#picasaStream");
			});
		}
	);
});
</script>

Just change your name in the code from “captainskyhawk” (that’s me!), and it should work!