Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

August 23 2011

Is your Android app getting enough sleep?

Android developers have unprecedented access to smartphone resources, but this access carries responsibility. The potential to unwisely hog available resources, like power consumption, is a real concern.

I recently spoke with Frank Maker, a Ph.D. candidate at the University of California, Davis, who is doing systems research with Android on low-power adaptation techniques. Our interview follows.

What are the main power consumption issues Android developers should be aware of?

Frank MakerFrank Maker: The number one thing developers should do with their app is allow it to sleep. On a desktop computer, you just launch the app. It runs. You close it. You open it. But on an Android device, you actually go through states where it has focus, it doesn't have focus, things like that. A developer needs to handle those states appropriately instead of trying to make an app work like it would on a desktop. So, if the activity loses focus and the user is going on to another application, then your app should respond to that if it has anything that's going to use serious power. You can bundle up the state and put the app to sleep rather than letting your app's tasks run in the background.

What are the risks associated with poor power optimization?

Frank Maker: The biggest risk is that you'll get eaten alive in the Android Market. There are many applications in the Market that are marked one star because of bad battery performance. Even worse, if your app has a reputation for poor power use, you're going to completely lose your market share to competitors with better reputations.

On the user side, are there tools for monitoring and managing power consumption?

Android battery screenFrank Maker: There's a battery usage screen on Android. If you go to "Settings," "Application Settings," and then "Battery Use," there's a nice little display that shows you the ranking of the different applications. I've looked into it as part of our research, and while it's simple and not super accurate, it will definitely tell you if one app is using way too much power.

Battery life basically isn't a problem until you make it a problem. By that I mean it's not something users think about initially, but if their battery starts going down really fast and they just installed your app, they're generally going to put two and two together. They'll then go to the Market and see if other people have posted about their experiences with that app.

Tell us a little bit about the research you're doing at UC Davis. What exactly are you working on?

Frank Maker: I sit on the border between hardware and software. We're trying to solve the problem of taking one piece of software and putting it on lots of different platforms without changing the software each time. Right now there's a lot of refactoring that goes on when you deploy an application to a new mobile platform. We are trying to create automatic methods instead. One of the things we've looked at is building a model for the power usage in real-time on the device. So the idea is that when you launch the software on the device, you figure out how much energy it takes to do tasks on the device, rather than trying to know it beforehand.

Related to porting across platforms, do you think Android's fragmentation issues will improve over time?

Frank Maker: I'm pretty confident that the Android platform will solve the fragmentation problem. Google is addressing it. For example, on the Android developer blog, Dianne Hackborn recently wrote about new tools that help you adapt to different screen sizes. There's also the battery usage meter, which I mentioned earlier, and Android has always provided a directory structure for your resources to adapt to different configurations. You can automatically select the right resource for the right device and pinpoint exactly what you want to do for each device.

Broadly, I feel like Android is in a transition period. It's evolving from a young, scrappy platform into something more established, and now it has to really solve these issues as it moves into adolescence.

This interview was edited and condensed.

Android Open, being held October 9-11 in San Francisco, is a big-tent meeting ground for app and game developers, carriers, chip manufacturers, content creators, OEMs, researchers, entrepreneurs, VCs, and business leaders.

Save 20% on registration with the code AN11RAD



Related:


August 08 2011

Mobile metrics: Like the web, but a lot harder

Flurry is a mobile analytics company that currently tracks more than 10,000 Android applications and 500 million application sessions per day. Since Flurry supports all the major mobile platforms, the company is in a good position to comment on the relative merits and challenges of Android development.

I recently spoke with Sean Byrnes (@FlurryMobile), the CTO and co-founder of Flurry, about the state of mobile analytics, the strengths and weaknesses of Android, and how big a problem fragmentation is for the Android ecosystem. Byrnes will lead a session on "Android App Engagement by the Numbers" at the upcoming Android Open Conference.

Our interview follows.


What challenges do mobile platforms present for analytics?

Sean Byrnes: Mobile application analytics are interesting because the concepts are the same as traditional web analytics but the implementation is very different. For example, with web analytics you can always assume that a network connection is available since the user could not have loaded the web page otherwise. A large amount of mobile application usage happens when no network is available because either the cellular network is unreliable or there is no Wi-Fi nearby. As a result, analytics data has to be stored locally on the device and reported whenever a network is available, which can be weeks after the actual application session. This is complicated by the fact that about 10% of phones have bad clocks and report dates that in some cases are decades in the future.

Another challenge is that applications are downloaded onto the phone as opposed to a website where the content is all dynamic. This means that you have to think through all of the analytics you want to track for your application before you release it, because you can't change the tracking points once it's downloaded.

What metrics are developers most interested in?

Sean Byrnes: Developers are typically focused on metrics that either make or save them the most money. Typically these revolve around retention, engagement and commerce.

One of the interesting things about the mobile application market is how the questions developers ask are changing because the market is maturing so quickly. Until recently the primary metrics used to measure applications were the number of daily active users and the total time spent in the app. These metrics help you understand the size of your audience and they're important when you're focusing on user acquisition. Now, the biggest questions being asked are centering on user retention and the lifetime value of a user. This is a natural shift in focus as applications begin to focus on profitability and developers need to understand how much money they make from users as compared to their acquisition cost. For example, if my application has 100,000 daily active users but an active user only uses the application once, then I have a high level of engagement that is very expensive to maintain.

Social game developers are among the most advanced, scientific and detailed measurement companies. Zynga, for example, measures every consumer action in impressive detail, all for the purpose of maximizing engagement and monetization. They consider themselves a data company as much as a game maker.

Android Open, being held October 9-11 in San Francisco, is a big-tent meeting ground for app and game developers, carriers, chip manufacturers, content creators, OEMs, researchers, entrepreneurs, VCs, and business leaders.

Save 20% on registration with the code AN11RAD

What do you see as Android's biggest strengths and weaknesses?

Sean Byrnes: Android's biggest strength is adoption and support by so many phone manufacturers, and the fact that it's relatively open, which means development iterations can happen faster and you have the freedom to experiment. The installed base is now growing faster than iOS, although the iOS installed base is still larger, as of now.

Android's biggest weakness is that it offers less business opportunity to developers. Fewer Android consumers have credit cards associated with their accounts, and they expect to get more free apps. The most common business model on Android is still built on ad revenue. Also, because the Android Market is not curated, you can end up with a lower-average-quality app, which further reduces consumer confidence. At the end of the day, developers want a business, not an OS. And they need a marketplace that brings in consumers who are willing and able to pay. This is Android's biggest challenge at the moment.

Is Android fragmentation a problem for developers?

Sean Byrnes: Fragmentation is definitely a problem for Android developers. It's not just the sheer number of new Android devices entering the market, but also the speed at which new versions of the Android OS are being released. As a developer you have to worry about handling both a variety of hardware capabilities and a variety of Android OS capabilities for every application version you release. It's difficult to be truly innovative and take advantage of advanced features since the path of least resistance is to build to the lowest common denominator.

It will likely get worse before it gets better with the current roadmap for Android OS updates and the number of devices coming to market. However, fragmentation will become less of a concern as developers can make more money on Android and the cost of supporting a device becomes insignificant compared to the revenue it can generate.



Related:


June 26 2008

TERRA 434: Yellowstone's Wildlife Highway

Jonesing for spectacular nature photography? You got it! The Madison Valley, just north of Yellowstone, is a richly diverse ecosystem where just about every big-game species in Montana can be found. Grizzly and black bears, wolverines, elk, deer, moose, and pronghorns all use the Valley for seasonal migration, food, and breeding. However, development and the resulting fragmentation of large, interconnected ranges put this habitat at risk for the animals, especially wolverines, which are particularly intolerant of human activity and require vast ranges for their survival. K.C. Breen shows us how human encroachment in the Valley is being mitigated for wildlife's sake in "Yellowstone's Wildlife Highway: Promoting Connectivity in the Madison Valley".
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl