Tuesday, August 17, 2010

One Week With Android

Well, it's been just over a week since I got my Samsung Captivate (which is selling for $50 right now!) and I figured I'd share my experiences switching to it from my old iPhone 3G. Sadly, I have to say it's still a bit rough around the edges. I've had a number of problems with it, but none of them have been insurmountable.

The Good

Even though I'm still on Android 2.1 (FroYo, aka 2.2, won't be pushed on my phone until September or so), I've had no problems at all with performance. Everything starts up pretty quickly for the most part (occasional lag spikes, but I got those on my old iPhone as well). The 2.2 update will supposedly make my phone even faster, so I'm excited about that.

All the apps I cared about are available in the Android Market (things like a twitter client, Amazon shopping app, Google Maps (duh), Fandango and a handful of others). I was also able to find apps like Adobe Reader and Quickoffice for loading pdfs and MS Office documents (which is handy and something that I never found on iPhone).

Likely due to a higher-resolution screen, the YouTube video quality on my Samsung Captivate also exceeds that of my old iPhone 3G. Not sure how it compares to the iPhone 4.

What I really like about the Android is that editing my Google Contacts auto-updates my phone within seconds of making the changes which is really nice. I didn't pay for the MobileMe service for iPhone (which supposedly adds this feature), so it's a nice bonus that has saved me a bit of time and trouble already.

The Bad

While the music player on Android isn't bad (it's quite usable), it lacks some finishing touches that Apple put into theirs. For example, iPhone's music player remembers the most recent audio track and position you were listening to when you launch it. No amount of browsing your music collection will confuse it. This is not true with Android's. A "Go back 30 seconds" button would also be a really nice addition to Android's music player that iPhone has and I've found to be quite useful over the past 2 years.

When making a call, the iPhone's display is much much nicer than Android's and the Contacts app itself is more intuitive. I don't even understand what most of the tabs are in Android's Contacts app, for instance.


The Ugly

The following 2 problems are the absolute worst usability problems I have encountered, and they are pretty bad.

It took me a while to figure this out, but when you plug your Android phone into your PC, the PC won't see your Android device over USB Mass Storage at all until you open up your phone's "Notifications" area and tap on the notification saying something about connecting via USB. Once you do that, it opens up a dialog with the option to mount the drives. Only after you take these steps does the Android device show up as a USB Mass Storage device on your PC. This is just awful. Why are these manual steps even needed at all? If I have edited my phone's settings and selected "USB Mass Storage", it should just assume that's what I want to do when I plug it into a PC. There's no good reason for it to make me manually go through those steps. It also seems I'm not the first to be confused by this as there are a number of users complaining about this on various Android forums. From what I've seen, things have gotten better in Android 2.2 (it no longer makes you navigate to the "Notifications" area, but it still requires you to interact with a Mount/Cancel dialog).

The above photograph is what happened when I tried to place a call to about half the people in my contacts list. Yea, that's right, it crashed. After a bit of fiddling, I was able to figure out what it was about those contacts which caused the problem and submitted a bug report. Luckily, the workaround that I found was trivial and so I just loaded a web browser and edited the Birthday field info for those contacts and waited a second or two for the Android to auto-sync. Had I not been able to find a solution to this problem, I would have returned my phone and gone back to iPhone.

TL;DR

Android has a lot of room for improvement (buggy, unpolished), but if you are a Linux Desktop user like myself, you'll probably feel right at home.

Tuesday, August 10, 2010

Using Git


Now that Mono has moved to GitHub, a number of contributors (including myself) have been somewhat lost, not knowing how to properly use Git. So today, I'm recommending a book to help all the lost souls out there get comfortable with using Git.

As many long-time programmers probably know, O'Reilly books are top notch. Most probably also would not be surprised that O'Reilly has a book covering Git: Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development.

Don't let the bat scare you.

Friday, August 6, 2010

New Phone (Android)

Ever since the first Android phones came out back in October 2008, I've been keeping an eye on their progress. I didn't care for the original HTC Hero, but the newest phones based on Android 2.1/2.2 look very impressive. Now that my iPhone 3G contract is up, I decided I'd get one. Since I'm on AT&T and wanted to stay with that provider, I went with the Samsung Captivate and a screen protector for it. My friend/co-worker, Michael Hutchinson, recently bought a Samsung Vibrant (he's on T-Mobile) and has been very happy with it. Another friend/co-worker, Gonzalo has also been happy with his switch to the Captivate on AT&T, so I expect that I'll be pleased as well.

One of the reasons I decided to get an Android phone is that the Mono team is working on MonoDroid, a port of Mono to Android phones. While I'm not on the team working on the port, I am interested as a potential Android developer in using MonoDroid to write some of my own applications for Android phones.

10 years ago, when I first started working for Helix Code on the GNOME desktop for Linux to help make Linux usable for average Joes, I never expected that I'd ever have a phone that ran Linux! Especially a Linux-based phone that is taking the smart-phone market by storm! These are very exciting times for me, and I'm sure for the Google folks working on the Android project!

After I get my feet wet for a week or so with using my new Captivate phone, I'll try to write up a review of what I think, so stay tuned!

Wednesday, August 4, 2010

Sleeping Bags for Backpacking

Some friends and I have been talking about going on a multi-day backpacking trip (first one will likely be an "easy" trip, where we'll almost be able to drive up to the camp site, just to test everything out, etc). Most of us don't have the proper equipment (anymore) and things have changed a lot since the last time (in my boy scout days, oh-so-long ago) I've been out on a multi-day camping trip (never really done the backpacking thing before), so I've been doing a bit of research.

First and foremost, I knew I'd need a sleeping bag so the first step was deciding what kind of temperature rating I'd need my bag to meet. Did a bit of reading and discovered that starting this year, most sleeping bag makers in the US have switched over to the European standard for rating sleeping bags. This was comforting news (hah, bad joke) in that comparing sleeping bag temperature ratings would be a lot more like comparing apples to apples (previously each manufacturer had their own method of measuring this, so comparing bags from different makers was impossible to do).

Since my friends and I will likely be sticking to the North East, and probably in the late-spring to early-fall time frame, I estimated that I wouldn't want a bag rated for anything warmer than 30 degrees. Even in mid-summer, the North East can get down to the low 50's and so a 40-degree bag would barely be warm enough. Note that the temperature rating on a sleeping bag is often the "survivability" rating as opposed to the "comfort" rating, and I prefer to be comfortable! Since I'm prepping for the possibility of backpacking trips in the spring and fall as well, I figured a 20-degree bag would be a safer bet.

Next, I had to decide on the type of filling so I read up on the difference between synthetic and down filling. To sum up, here's what I learned:

  • Down is often lighter, especially the higher the fill rating (e.g. you might see things like 650-fill or 800-fill - the higher the fill rating, the less down you need to occupy the same space, resulting in a lighter weight bag).
  • For down-filled sleeping bags, duck vs goose doesn't really matter, what matters is the fill rating.
  • For damp environments, synthetic is often a better choice because synthetic-filled sleeping bags only lose 15% of their effective warmth when wet, while down-filled would lose 100%.

I wanted to keep my expenses below $200 if I could, so with that in mind I did some searching to find some sleeping bags in that price range with good reviews and I came up with the following bags:

Both bags were very highly rated in various magazines and online reviews that I had seen and both were around $160 for the Regular size (up to 6') and $170 for Long (fitting up to 6'6", which is what I needed). There are some cheaper bags, but most of them aren't as lightweight (under 3 lbs!) as either of these 2 bags and/or they didn't get as good a review (or didn't have any review that I could find). If you want cheap, you could go to Walmart and find sleeping bags for as cheap as $10, but I'm not sure I personally trust that any of those bags will be a good long-term investment. Maybe I've just been bitten once too many times by the lure of the uber-cheap.

In the end, I decided to go with the Kelty Light Year as it was a little lighter (4 oz) and packed a little smaller. While the dampness drawback did/does concern me a little, there are easy ways around that. Wrapping your sleeping bag in a plastic (or otherwise waterproof) bag while it is packed away in your backpack and not pulling it out until it is inside the tent should suffice in preventing it from getting wet, even if you have to pitch your tent in the rain.

Code Snippet Licensing

All code posted to this blog is licensed under the MIT/X11 license unless otherwise stated in the post itself.