Power Management FAQ

Introduction:

Small form factor devices like the tablet have limited battery power and system resources. For longer battery life and more efficient power consumption, applications should be structured to use resources (and hence power) only when required. A proposed approach is to identify MeeGo* applications into Background and Foreground categories. Background applications have highest priority and unlimited access to system resources whereas Foreground applications will draw resources and power only while active. Device manufactures will use the information provided by developers for power assessment and management.

What is a background app?

Background application is one that can execute its primary functionality without user interaction and/or user input. It is acceptable to have a background app require some initial settings or user preferences. Here are some examples to help developers classify applications into Background and Foreground categories:

AppUp Background App Examples:

• Idle Manager- Device Productivity Software • Date on Taskbar – Event Scheduler • Music player • Stock Ticker - Finance App • Eyes Relax- Health Reminders • Check Host- Client Server Utility App • Netbook Optimizer - Efficiency Utility App

AppUp Foreground App:

• Fruit Ninja- Game • Blue Birds- Social Media Manager • Trillian- Chatting App • Home Loan Calc – Calculator • iGarageSale – Mapping App In the above examples of foreground applications, you can see that the application requires user interaction. For example, a game almost always requires user input. When the user switches to another application, say a chat window, then the game moves into an inactive state.

Why do I need to specify that my app is a background app?

Device manufacturers rely on the user classification of applications as background/foreground for underlying power management functionalities. Applications need to advertise if they require background processing in order to ensure that they are excluded from aggressive power management, like throttling of apps. This will also help prevent undesirable application behavior if the application is throttled while in the background. For example: If your application is a music player playing audio in the background. Let us say the user is using a few other applications in the foreground, like, a mail client. If the music player application does not indicate its need for resources while playing audio in the background, it could be killed or starved of resources it needs. This could cause music to stutter or the system could hang up and this will not be a good user experience. To provide a better experience, as a first step, the Intel AppUp(SM) developer program recommends that developers indicate in the .desktop file whether the application is background or foreground. Background applications receive highest priority and unlimited resources to execute. However, developers need to use caution in choosing the right category. Classifying a foreground application as background will result in suboptimal system performance and power efficiency.

What are the benefits between choosing Background or Foreground application?

Categorizing applications as background apps will ensure that they are not starved of the resources they need to execute. They always receive the highest priority. On the other hand, a foreground application will receive the resources it needs only while active. In the future, it is possible that foreground applications will be subject to more rigorous power management. Please watch this post for more instructions in the coming weeks for developer action points.

What if I don’t specify in my .desktop file that the app is background?

Currently, it is only a recommendation to provide this information in the .desktop file for your application. The AppUp program is currently not going to reject applications if it has no power management information in the .desktop file. However, this may change in the future. With MeeGo devices coming into the market, OEMs may impose restrictions on how applications (help) manage power efficiency. If the .desktop file does not contain the recommended field, then the device manufacturers might consider that application as a foreground app and mark it as a candidate for throttling. Watch this post for more information regarding actions developers should take for better power management / user experience with the AppUp program.

What changes should I make to the .desktop file?

The instructions for changes to the .desktop file are available in this article: http://appdeveloper.intel.com/en-us/article/power-management-desktop-file-entry

My app was created using the Intel AppUp™ encapsulator. What do I need to do?

At this time, the AppUp encapsulator can only be used to generate NetBook applications for MeeGo. You will be provided more information and action points for power management when the encapsulator tool becomes available for tablet applications. Watch this post for more information.

My app is already published. Do I need to make any changes?

The recommendation to add .desktop entry is for applications that are submitted or after July 21st 2011. Published applications do not need to make any changes. However, if a previous published app is to be updated and resubmitted after July 21st 2011, then it is recommended that you identify whether the app is background or foreground.

Where can I find additional resources to make my app power efficient?

Watch this post for more information in the coming weeks on how to add power management functionality to your apps.

What is throttling and how will it affect my app?

Throttling is not a new concept. It is a technique that PC manufacturers (mainly for laptops and other mobile devices) use to reduce heat in the system by balancing power utilization based upon performance requirements. In the case with tablets, it will be up to each device manufacturer to determine exactly how foreground apps may be throttled. As we learn more from each device manufacturer we will post information as to any specific methods, as well as any development best practices. Stay tuned for more information.

Is this change for both Windows and MeeGo based applications?

Currently, the recommended change is only for Meego based applications. Windows based applications remain unaffected by this recommendation.

0