« Clever use of search and Twitter | Main | UTF-8, Replacement, and Data Corruption »

March 26, 2010


Feed You can follow this conversation by subscribing to the comment feed for this post.


Hi Bob - nice, interesting post.

As a fellow developer I saw your post (mentioning SmartVolume) on Android Developers and, since IMHO you provide excellent posts on that forum, I checked out your app.

First of all, well done for a great app!

I don't envy you, though! You're taking on an area which is rather complex (too bothersome) for most people to understand. Going through the tutorial I felt a little overwhelmed. I don't like reading much on small screens, but I kind of felt I had to to appreciate the app.

In the end, I skim-read the tutorial and so only have a vague understanding of how it works. I never realised about linking audio volumes before.

The app does look very useful, but I decided to uninstall it for two reasons:

1. I mainly really use my phone for development and so don't have much of a need for it.

2. I'm a little nervous that apps using services will (may) kill my battery life.

Also, I'm a little put off by an extra notification icon. Yes, I know you can turn it off. I just mean that generally I don't like extra notification icons though that importance is tied to my point (1). I realise there is not much you can do about that!

Great idea to put a comment in each time you do an update. FWIW, you can see all comments (not just your latest one) in cyrket. Of course, 99% of users will never go to that website but it can be useful for yourself to see where your updates fit into the comment list. Also, there you'll see comments in all languages.

One of my apps has over 30,000 downloads and I've received less than 10 emails with bugs/suggestions. I now include an About page which has links back to the Market "details" page (so they can easily leave feedback or uninstall) as well as replication of the Market's "View more applications", "View application's web page", "Send email to developer".

My app averages 4.50, but yesterday I got my first 1-star from someone complaining that it requires an internet permission "only to display ads". Hmmmmm...

When I get a bad comment (and I feel its harsh), I reply with my own comment. Always polite of course :) It helps to push down the bad comment too.

Bob Kerns

Thanks, Mark. I'll reply later -- off to a Segway Polo tournament in Sunnyvale.

Bob Kerns

Mark, one thing I forgot to mention in my reconstructed post (it was in the original) was that Howard mentioned the same issue with the tutorial. I too was concerned, but the initial feedback from my partner-in-crime was that we should go with it.

The basic issue is figuring out information users are interested in, and you need users for that -- and you need the users to be aware of the information before they can tell you!

So if you have any feedback on that, it'd be great! Otherwise, I'll try to deduce it from the Flurry data and seat-of-the-pants intuition.

I wonder if it would be worth asking the user in the tutorial if they'd like the notification icon? Here's where the difference between a developer's perspective and a user's perspective may differ. Or may not.

Thanks for the cryket suggestion. I hadn't even realized that non-English comments don't appear on the Market. I've read Japanese comments in the iPhone App Store -- though that may be because I have the Japanese IME set up on my iPhones.

Great suggestion for the market link -- and I should have thought of the "email developer" link, rather than sending them to the web site. Especially since our web site development is lagging behind at the moment.

Finally -- about services and battery life -- properly coded, a service won't kill the battery. The service only responds to the specific broadcast events -- in this case, the volume control changes. It doesn't consume any power otherwise.

This is something I've kept a close eye on.

The downside it DOES have, is that it consumes a bit of memory -- and if the system kills it to make room for other apps, during that interval it won't be able to respond to changes. This is one of the tradeoffs we have to make on a limited device.

Still -- the device isn't so limited. I have running in a simulator on my Nexus One the very operating system (ITS) that Howard and I used at the MIT AI/LCS labs back in the 1970's. And it runs a lot faster, too!

But it's a good sign that I'm having trouble triggering a low-memory situation even with all the stuff I've got on my phone! And that so few users are encountering it. (And that they generally don't even know they're encountering, except for ones who also happen to be in the unfortunate 67).

Again, thanks for your comments. No hard feelings about the uninstall -- I don't imagine it would be all that useful on a purely development phone.


Hi Bob --

Quick question: I'm inferring that there are no low-memory tools available in the current Android development environment. Is that the case?

I only ask because I do iPhone App dev (personal use only -- yes, I pay $99/year to write tools for myself... sigh) and the iPhone simulator has a low-memory emulation (to an extent). I'm just wondering if Android has *nothing* or if it's more along the lines of the iPhone simulator.

Bob Kerns

@Daniel -- I should find out more about the iPhone's low memory tools and handling to properly compare the situations.

Since the iPhone doesn't support multiple simultaneously active applications (as of 3.x) the comparison isn't obvious to me.

I suspect the idea of a "low memory tool" would be analogous only at a very abstract level -- and that the answer to your question is "nothing". Whether it's more or less important than on the iPhone, I couldn't say, but I think there should be one.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.


Post a comment

Comments are moderated, and will not appear until the author has approved them.

Your Information

(Name and email address are required. Email address will not be displayed with the comment.)