Going Headless - Background app support coming soon to BlackBerry 10

By Shao128 on 8 May 2013 11:02 am EDT
6
loading...
0
loading...
62
loading...

It's no secret that BlackBerry 10 users are dying to have apps with the ability to run in the background. As it stands now, BlackBerry 10 apps need to be open (or in Active Frames) to perform any sort of background task. Which, as you can imagine, can be pretty annoying at times.

While looking over the BlackBerry Developer Blog today, I came across this new post regarding some sessions that will be happening next week at BlackBerry Jam Americas in Orlando. What caught my eye was session JAM47 which is described as:

JAM47 – Background Services – Event Driven Processing for your Application

The session will discuss the brand new Background Services framework which allows developers to bundle a separate process with their application to run in the background without a UI. Learn the basics of how this framework works, learn some guidelines about when to use it and when not to, and learn about the experiences of existing app partners that successfully deployed a background service and lessons learned from their projects.

So what does that mean?

Well we've heard the term “headless” app before, which is what this would appear to be. In more simple terms what it means is that apps will no longer require an Active Frame to be open in order to function. Now keep in mind much of what I'm saying is my own speculation based on information we have already seen that I've tried to piece together.

The title of the session goes with what BlackBerry has previously indicated in the NDK roadmap in that an app can be triggered by an event that occurs which include device boot, app install, SMS/MMS/Email notifications and Phone and Sensor events.

We know some apps done in-house by BlackBerry already use background services, but what is particularly interesting is that they claim some app partners have already been including this in their applications. What that implies to me is that the current 10.0 and 10.1 device OS already has the support developers need to include background services without the need for a major OS update such as 10.2. All that may be required is an update to the NDK development kit which some select app partners already have access to.

So the next logical question to me would be - if it's already there then why is it taking so long? Well my theory on that is that BlackBerry is trying to ensure that developers can't go wild and start doing things in the background without the user knowing that are going to be detrimental to battery life. They have to have some safeguards in place so that the OS can limit what an app is doing when it can't been seen.

Hopefully this means that they have figured it out and we should start to see background apps available soon. As a developer I can say the most common feedback I hear from users is that they wish my apps didn't have to be open in an active frame.

My app Wallpaper Changer HD, for example will be perfect for background services. My app rotates the wallpaper and displays things such as battery percent and weather on the home screen. There's no need for it to have an active frame as once it is running there is no need for the user to go back into the app unless it is to change a setting, it can do all it needs to do in the background. So I'm particularly excited they have announced this session, hopefully it is just one on many exciting things we will see come out of BBJam this year.

Reader comments

Going Headless - Background app support coming soon to BlackBerry 10

121 Comments

Hopefully we'll see the introduction of some kind of a task manager as well so we can see what's running in the background and kill processes if we choose.

Posted via CB10

Actually, you can force kill a frozen active frame right now. To do it press and hold the X in the bottom right corner of any active frame. After a couple of seconds the app will force quit.

With that said, looking forward to headless apps and to some sort of task manager.

Posted via CB10

That's assuming you can make change from full screen to an active frame. Good to know though, thanks.

I have the same problem with theScore freezing or not allowing me to swipe out if it. The only times I have had to reset my phone have been because of that app.

Posted via CB10

To me, active frames is the task manager. If you want to process executing have the active frame open if not close it. Very simple. Hate the idea of processes happening in the background without seeing them. Hope there's a switch to turn it off.

I don't always comment on CrackBerry but when I do its on my Zader10 via CB10

I agree but there are some apps that I would like to enable background functionality. As long as you can choose what apps have the ability and as long as the option is openly available in the device for on the fly changes! Hope BlackBerry is careful how they deploy this and hope it's fully optional!

This is all i could think of while reading the post. If there's no task manager then i hope they include the option to turn background apps off

Posted via CB10

All RIM(Blackberry) has to do is include a master task manager in the home screen swipe down menu that shows all active frames and running background apps including "phone". Much like the legacy OS. It should be able to kill the app (press/hold pop up) or maximize it by just tapping it.
Active frames should be like a minimized version of apps you have open but not a summary of all apps running. I really can't wait to see what bb10 looks like a year from now after a few OS updates addressing these little inefficiencies of new platforms. 10.1 is already a big step forward.

I had a great idea for a task manager for headless apps. Basically while in active frames, you swipe from the bottom right corner into the screen and this would drag a menu up from the right which will list all your background apps. Then you could close or open them from there. Easy and would go along with the whole theme of the OS.

Posted via CB10

I was thinking the exact same thing. But I hope they make a decent one then. Not like the crappy Android task manager, which lists every running Android process as well.

"Headless apps" will definately improve the BB10 experience, if implemented correctly. If certain developers don't play nice and run lots of useless and unnecessary stuff in the background, it might turn out as a disaster. I sure hope BlackBerry is thinking hard about this...

A headless app means no visuals so how would you know the battery percentage? And you do know that using headless apps will use more battery. So monitoring your battery using a headless app that continuously creates and updates the wallpaper will negate what you are trying to save, your battery.

Exactly. Who knows if the BB10 supports anything like this right now (even is the api is not available to developers yet). Even if they haven't worked on it at all, they should be able to implement it pretty easily for temperature and battery percentage info in the status bar. Hell, the "outdated" BBOS (not my words, I actually believe it was pretty advanced) was able to do this for a very very long time.

My only concern is that BBOS may have handled it in a theme-like manner, whereas BB10 doesn't have any type of theme support, so it could be a little more difficult to implement from scratch, but I doubt it.

Anyways, BB10 should support showing the battery percentage in the status bar anyways, without the use of a third party app!

My understanding (limited I agree) is that a headless app does not need a user interface open at any given time to operate. So just displaying battery percentage would not require a user interface running, but the "icon" (percent number) would still be visible. As for draining the battery, I would assume it's not really much more than the battery icon itself; it's only a different visual of what is already happening after all.

Yes, but you still need a process in the background that's constantly polling the system for battery level and then updating said icon. It'd just be better and simpler if BlackBerry built in the ability for the user to have a readout of the battery level by, for example, tapping the battery icon.

Posted via CB10 & loving it!

I agree, and I can't understand why every OS doesn't make it a built in option to display percentage period. It's such a popular feature.

Actually it would probably be based on the system echoing events that battery status has changed and the headless app would update the icon. This is how android does it.

Posted via CB10

Great place for trojans to live, so I hope BBRY nails this down well to discourage malware processes. As well, they must ensure that battery life isn't impacted and users can easily list and kill background tasks that go wild. This is an important evolution of BB10, but it must be well thought out.

I think they need to force some sort of 'active registration' that the OS uses to permit an app to initiate a background service. On the first launch, it should present the user with the option of allowing or disallowing the background portion of the app and list all of the features that the background app specifically has access to. Without explicit consent of the user, the background process should be prevented from running. No background process should be allowed to have more rights than the app that it installed with. The framework should be structured such that it checks with the OS for revokation each time the process is started (such as reboots). Hopefully, BB has already covered this

Yep. I am very picky about my app permissions. If I don't believe the app needs permission to run up doesn't get it. Y does be weather need access to shared files? So Trojan would be kinda hard to do if users use permissions like they are supposed to. Not everyone will though sadly.

Posted via CB10

Unless this is tightly controlled, expect a lot of developers to run something in the background. This will kill battery life and eat up CPU and memory. Just because there are guidelines doesn't mean that developers will use them. There also has to be policies that disallow any application that runs in the background. As an IT manager, I cannot expect users to set the right permissions, so I will need to have BES10 disable this functionality. There also has to be some way to know what is running in the background. Headless apps will have to be done with tight regulations or it will fail.

We need a task manager of some sort. This would give power to the user and peace of mind that you are in control of your device.

Posted via CB10

+1

I fully agree with this. I too see this as a potential issue, however it will be great, but only if strictly outlined and enforced.

I think it all depends on the app and its utility/purpose. Some are suitable candidates for active frame and other for headless apps.

Doesn't Whatsapp already do this? I don't need to have Whatsapp running in an Active Frame to send or receive messages.

I think Whatsapp like many other messaging apps work differently as they are integrated to the HUB which kinda feels like you have 2 separate apps on your phone.. 1 when you open a notification on the hub and 2 when you open the app itself... so when you close the active frame, the other HUB "sub app" keeps running... (someone correct me if wrong).

Whatsapp probably uses PUSH to push new messages to your phone/Hub rather than running in the background.

I use a similar technique in my National Rail Times App to PUSH delayed and cancelled train information to the User's Hub without the app having to run in the background.

National Rail Times App for BB10 (Q10 and Z10) - http://appworld.blackberry.com/webstore/content/20352963

Yeah. Of course it already exists. Have you ran Skype? That runs in the background. Along with all of the Blackberry apps. And Facebook, and Twitter. Now, it's mostly for notifications, but the service has to run in the background. Even text messages and e-mails. These services are always running in the background.

What happened is unlike other OS's, the devs didn't have documentation or access to these services.

However, the skype app and What'sApp did because they worked with BB on them, which is why you can get your messages in the background.

If this brings access to the Devs, then all the apps we want (wallpaper changer, LED changer, any messaging app really) Can all run in the background and receive notifications.

Now of course, this is a double-edged sword. While you can receive notifications and apps can refresh and update in the background, even while off. It also means they can run ads, run gps, upload your data, all those nasty things that Android is infamous for. And of course the more apps run in the background, the faster your battery goes kaput.

Now, there are a few ways to fix this. For one, a call that only when the app is open can it display any info? Well, that's not bad if it just changes settings, that fixes ads that pop-up even while doing nothing. Permissions HAVE to be customizable. If I don't want an app to run in the background, I should be able to disable it, and of course if the app refuses to run after that, it should be deleted.

Another good option is to not allow apps to use the GPS while not active. There are a TON of good apps that could use the GPS in the background, but unfortunately those should be very strictly controlled. Poynt does this, and if it's one thing I don't like, is an app getting my location without my permission, and draining my battery by doing it in the background.

All in all, it's a mixed bag. I certainly hope that they bring Headless apps sooner rather than later. There are a TON of good apps that could use it. I'm sure some people are even waiting for that before making Native apps. However prepare to lose some battery life and to have to control apps more selectively.

I think that Skype, currently, is an android sideload (maybe I'm wrong). But the Android engine runs in the background as would the apps using it.
Rest of your comment is spot on, though!

I think so as well. Skype is the one I'm not so sure about. There are mixed reports of notifications coming in on Android apps, personally I've never seen it.

I THINK, that since Skype worked with Blackberry to get the app out, along with the hub integration, that it was given permission by the system to run in the background, that's what I believe happened.

I COULD be wrong though. Not totally sure.

Pretty much said what was on my mind there.

I know BlackBerry is aware of the security and battery usage issues because they have been mentioned in prior comments from their dev staff re headless apps, but it all bears repeating.

Background services some time are good process, I hope they don't consume battery life. Thanks Shao 128, that is a good info you put out there today. CrackBerry community needs information like this kind. Our developers are great!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Does this also mean that twitter clients will now be able to show us how many tweets we have waiting for us in our timeline without having to leave the app open...just the icon on the home screen will have a spark to let us know new tweets are available? That would be great...none of the twitter apps are very user friendly when it comes to notifying you that there are new tweets available.

T4BB on legacy BlackBerry is pretty awesome in this regard. I love getting mentions & interactions immediately notifying me on OS7.1.

Awesome...... just noticed that the article was posted by shao.. u working for Crackberry now?? cool

Posted via CB10

After reading this article I click the link to BlackBerry world to view your app. Glowing 5 star reviews helped make my decision to buy it too. I just downloaded it and hope to give my rankings later today.

Posted via CB10 from my Z10 or PlayBook!

Can't wait for this and can't wait when they release the idea that android apps for 4.1 will work with BB10

Posted via CB10

This is great. Would like to get push alerts from espn/news/hub+ working in the background. That's great!

Posted via CB10

This is great, I just REALLY hope that they introduce intuitive and easy access controls for the user to manage those background processes. I don't think you can have one feature without the other.

Posted via CB10

I'm not even a developer and all I can say is YES!!!!!

BTW, hope to see more posts from you Shao.

If BlackBerry's teaching developers how to develop background apps it must be coming soon, and it's about time!

When recently I side loaded Skype, I noticed that the app kept me signed in and continued to receive messages even after I closed the active frame. Perhaps this is one of the existing implementations of the framework?

Posted via CB10

that data counter app works when closed so some apps must already be able to do this, it now jsut needs to be used more often

I think a simple task manager solution is just to use the drop down quick settings menu. The real estate below the current options would be a good place to put it and allow the user to scroll across to see what's in use.

Also, headless app functionality should be a permission setting so users can grant access or not (in which case it would revert to an active frame only app).

Posted via CB10

That's good to know. Not really a fan of how Active Frames work right now. I'd rather not see them and maybe have another way to close open programs if they are running in the background.

Also hope they'll release better HUB integration for apps as well since it could definitely use a lot of improvement to make it that 'one stop shop' it is supposed to be.

Right on! As long as appdev's don't start abusing the BG features, this will be huge for the BB10 platform. My advice to appdev's (self included): use BG services if you NEED to, not because you WANT to. Adding a bunch of useless BG tasks that kill my battery will net you a "don't buy this app ever!" rating in no time!

These statements contradict each other:
"the current 10.0 and 10.1 device OS already has the support developers need to include background services without the need for a major OS update such as 10.2"

"They have to have some safeguards in place so that the OS can limit what an app is doing when it can't been seen"

If they haven't released it, it's indeed because the API doesn't have these safeguards in place (BB has confirmed this), so an OS update will be required before the developer community at large can use it.

It would be strange to have it in 10.1 already without having any sort of specifications published. Devs usually have access to the API in the SDKs before they make their way onto devices via an OS update.

Actually BeWeather needs to get a handle on its battery usage WITHOUT its usage of any of these background app APIs, then perhaps we can talk. :p

Music to my ears, I can't wait for that background apps! I've been holding off on getting BeBuzz because of it.

Once this is handled all that's missing is notification customization and system info/task manager...I'm so excited! *squeal*

Android runtime on bb10 already supports headless apps. If you sideload the right Android app it can run in the background once you boot it up for the first time, then you can close the active frame and it'll keep running. Ie. Wallpaper Changer

Posted via CB10

Hey Shao, totally off-topic, but do you have/are you planning to bring Leave it On to BB10? Great app!

This is magnificent! Lol i dont mind the active frames too much, as they can be useful-ish; showing battery percentage and what not, and we all know how sneaky "Headless" apps can be, running in the background chewing up battery life, I'm looking at you ANDROID.

Posted via BlackBerry z10

skype uses this headless app concept as it will still work if your in another app or do not have the app open.

In early April I tweeted this to Alec Saunders... "Devs have apps that need to be open to function b/c they don't have the APIs (i.e. LED colour changers). When will the APIs come?"

His response was this.

"we'll be talking about this at Jam Americas in Orlando in May."

I believe this is a priority, is not just a must have, it's a must be.

It's pretty annoying and very limited to not be able to run more than the 8 apps allowed in the active frames and also to have on the screen some apps that run by them self, these apps are not even apps, they are processes, and processes are not needed to have an open window unless you want to change some settings.

So come on BB, get this thing done ASAP !!

BeBuzz will probably be the first thing I buy once they update their app is updated so I won't have to have it open as an Active Frame.

I would like them to still have these processes viable. In the active frames area you could swipe up from the bottom to reveal background apps (and have the ability to kill them).

I would much prefer to see implementation of app behavior as in the PlayBook with Showcase, Default, or pause for the active frames. Those who roam internationally would understand this simple but necessary tool's use. I can't see buying a new gen BB until this happens first.

If we do get headless app feature I hope there is a disable option. That's one of the reasons I switched fro android to bb10.

Posted via CB10

Yup. I can't wait for news apps like News360 to push articles I like into the hub with snippets.

Posted via CB10

Hate to say this but this will be the reason that the battery life suffers and the application slows down the phone

Posted via CB10

If headless apps are in need of a task manager and are a drain on the battery, can someone explain why we want or need this on BB10?

Posted via CB10

I believe Skype for Q10 is using this headless app protocol already. I'm getting messages on Skype when the app is not running in an active frame.

Posted via CB10

This would be really good to have as many of our HUB++ LED users have been looking for this update/capability in the platform.

I'm another one waiting for LED notification to run in the background, but also, it would be nice for the phone to not be an open frame. I wish it would just slide up when you press the phone icon on the bottom of the screen. Basically, I'm used to it feeling likes its there right away, but it's weird when it minimizes like any other app and creates a feeling of lag.

Posted via CB10