Tags » mobile
Favorite Android Apps
This past Friday, I bought the new Samsung Galaxy Tab 10.1, and I absolutely love it. The new Honeycomb interface looks amazing, and is quite an improvement over what's available on my Nexus S with Gingerbread. I love that the back, home, and task switching buttons are now rendered on the screen instead of having hardware buttons, and combining those buttons into the notification and status bar means you don't even lose screen space compared to previous versions. The new application switcher looks really nice, but does seem to have some odd behaviors, like not showing the browser that I just switched away from, or seemingly choosing at random whether to display the list from the top instead of from the bottom where you would expect.
There are a lot of applications that don't yet take advantage of what's offered by the Honeycomb APIs, but still tend to work really well. It mainly depends on how well the author designed the application to scale with the user's screen size and density. An example of doing it wrong is the official Facebook app; it's still usable mind you, but it certainly looks dumb in process, showing the main menu as a large grid of tiny icons with massive amounts of whitespace between them. It would have gone a long way if they had simply scaled the images to fill the screen.
I've been meaning to write about some of my most cherished apps, and seeing them in new form has given me an even better reason to get to it. Some of them really only work well on a phone, and others have only gotten better than ever when given a tablet form factor to call their own. So in no particular order, here are my favorite apps for Android. All prices are rounded up from Market estimates at time of writing, and all screenshots are taken from my devices:
Locale
Fred Wilson's recent post on Locale for Android was on Hacker News today, and although I commented there on why I like Locale, I want to expound on that a bit further.
I bought the very first Android phone, the T-Mobile G1, when it was first released over two years ago. Even then, Locale was big news for the platform, having won the very first Android Developer Challenge. I have been using it on all my Android phones since then, and I continue to be impressed by it.
Locale is the killer app for Android. It embodies everything that Android is capable of, and everything that Apple refuses to allow in iOS. My phone can now be smart enough that I don't have to babysit its settings everywhere I go; it knows when to be discreet and when to be secure. No other mobile OS can do that.
For a quick background, Locale is an application for automating changes to your phone's settings based on a configurable set of "situations". You define a set of "defaults", and then each situation is comprised of a set of "conditions" and "settings". When a situation's conditions are met, the associated settings override the defaults; when the conditions are no longer met, Locale returns to the default settings. By combining multiple situations together in a priority list, your phone can make intelligent decisions, and seamlessly switch between multiple situations as they become active or inactive.
But what makes Locale even better is that it was designed from the beginning to be extensible. You can find plugins on the Market that add new conditions and settings. Because of Android's ability to share data between applications, these plugins can even go so far as to use context from, or modify behavior of, other applications installed on your phone. As an example, the Astrid task manager allows you to attach a location to your tasks, and integrates with Locale as a condition when you reach those locations.
But for a more concrete example of just what's possible, I'd like to show you what my current Locale conditions and settings are.
- Defaults: Wifi off, Ringer volume 85%, Vibrate on, Media volume 70%, Password lockscreen on
- Night (Time 10pm-7am): Ringer off, Vibrate off
- Work (Location): Wifi on, Ringer off, Vibrate on,
- Headphones (Headphones connected): Media volume 20%
- Home (Location): Wifi on, Ringer volume 100%, Password lockscreen off
The Locale plugins that I use to accomplish this:
- Locale Password Lock Plug-in by Willem Stoker
- Locale Media Volume Plug-in by two forty four am
- Headphones Plug-in by two forty four am
Color me happy.
λ
Android is Open
I am biased. But hopefully I can still be insightful and argue this point. This was sparked by a thread on Hacker News, in which someone commented:
Android is all but open.
I'm calling this out. Android, as a software project, is completely, 100%, open. It's released by Google with the Apache license, which is recognized by OSI and the FSF as a Free/Libre, Open Source license. The Android code itself is freely available, freely redistributable, and can be compiled and flashed onto any compatible device.
However, there is a significant portion of the Android ecosystem that is not "open" by the same definitions above:
-
Device drivers for individual phones are open or closed depending on the device and the individual chipsets in question, but that is a moot point in my opinion as there are plenty of people who use Free desktop operating systems with closed "binary" drivers. Therefore I will leave this topic for another discussion.
-
All of the Google-branded applications -- including the Market, Gmail, and Maps -- are closed-source and must be licensed with Google to be included on a phone. This means that Cyanogen is not allowed to include these apps when he releases his amazing CyanogenMod firmware. Other services that Google then builds on top of these closed applications are also closed by nature, including their proprietary "push" communication model.
For some purists, this is a major problem, and I would generally agree. But unlike Apple and iOS devices, none of these Google-branded apps are "privileged" applications; they don't get special treatment from Android, and they don't have access to anything that "normal" applications can't access through the SDK.
But more importantly, these apps are not Android, and they are not necessary to delivering an Android phone or firmware. Developers can write and release competing or nearly indentical applications that replace these closed system apps, and indeed, there are multiple competing "app stores" for Android, with Amazon rumored to be creating yet another. There are even better alternatives for Chrome to Phone already available. And if you insist on not using -- or have a phone without -- the Android Market, Android is perfectly capable of "side-loading" software packages, and nobody needs to pay Google for the rights to do so.
What is all this proclaimed openness worth if it still boils down to exploiting security systems if you want to run that system you just modified?
That is the real problem, and in my opinion the blame is firmly with the carriers; not Google, and certainly not Android. I specifically purchased a Nexus One because it supports the ability to flash the phone with unsigned firmware. I can download the Android source code, compile it, and flash that resulting firmware to my phone, without needing to root, exploit, or jailbreak my phone. I could do that with my Openmoko Freerunner, and I can do that with my Nexus One.
If enough people insisted on purchasing phones with this capability, then the carriers and manufacturers would pay attention and deliver. Or perhaps Google should be standing up to carriers and demanding that all Google-branded and licensed Android phones have this capability. But even if they could get away with that demand, they can't enforce it on all Android devices; the very definition of Free Software allows carriers and manufacturers to take Android and do what they want with it if they don't like Google's terms.
Maybe the real lesson is that Free Software is a double-edged sword, and if you want corporations to join in, you have to be willing to play their game too.
λ
Your Freedom is a Choice
On the new G1 phone using Android:
i need a google account to use gphone; i need itunes to use iphone; i have to buy apps from approved channels.I have an Openmoko Neo FreeRunner: it has GPS, accelerometers, WiFi G, high resolution 640x480px touch screen, Micro SD card slot, good quality speakers/headphone jack, and good battery life; it works with any GSM carrier; it can run just about any operating system compiled for its ARM CPU; you can run and compile programs on it in any language supported by GCC or an ARM-compiled interpreter; it can connect to the internet via GPRS, WiFi, or USB with a PC, to update it's software, install software packages, accept/initiate SSH sessions; it allows software to run that uses any windowing toolkit, including Gtk, Qt, and E.it favors the vendors apps; no thanks
wake me when i can buy a device that runs apps i choose, connects to the network i want. i realize this is a pipe dream. the wireless world is a world of shit
i might as well look for the smallest flash-based linux notebook possible that runs skype and just hold it up to my ear old-skule style like gordon gecko and that giant cell phone from wall street
It costs $399 direct from Openmoko and is available through multiple worldwide resellers.
I'm not a fan of Openmoko, but you make a good point. There ARE options for people who want them. The cell phone market is more open now than it ever has been in the past.
λ
Your Freedom is Your Choice
On the Openmoko: ... by the fact that Openmoko is a tiny company, they don't have the purchasing power that Apple has to get newer hardware components at an inexpensive price point, hence the older ARM CPU and TI Calypso GSM chipsets. It's still plenty peppy enough and has enough RAM that I can run numerous applications at the same time without degrading performance of the entire system.
Certainly it's not as polished as the iPhone, but for people who actually care about their freedoms, it's fantastic. Even if for the simple reasons that I can flash my Neo at will, and that I have no limitations from the manufacturer as to what I can do with my phone, or how it can be used, it's the best smartphone/PDA I have ever purchased or used.
I find it interesting that you're the most vocal supporter of the Openmoko on this site, and you still don't use it as your only phone. Hopefully they will work out the kinks eventually, but it is not an option for most of us yet, not even those of us who care about software freedom. If you NEED to have a backup phone, then it is still just an expensive toy.
Correct. But that doesn't mean that it's any less important in the mobile ecosystem. It's the only truly free phone in every sense of the word. You're free to do anything with the phone, at any time, without the permission of phone manufacturers, or app store reviewers, or fucking NDAs.
The biggest problem with Openmoko is that nobody knows about them, and nobody realizes why they matter. Everybody sees the horrors going on between Apple, the App Store, and developers' applications being rejected for competing with Apple, and then they complain about it, but that's just the way it is.
Yet that's not how it should be, and if everyone could find out about Openmoko, and actually realize and know why their freedoms truly matter, and that Openmoko makes the most freedoms-loving phone on the planet, then I wouldn't have anything more to talk about.
But we all know that even Openmoko's unexpectedly high sales amounts for the FreeRunner is still only a drop in the ocean compared to even only the iPhone, and even less compared to the entire smartphone industry. And that's why it matters to me and others to get the word out, to let people know that there really is another option, one that doesn't squelch your freedoms, and that if freedom truly matters to you, then you do have a choice.
Freedom is Your Choice. I choose Freedom.
λ

