Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Developer
Bluenoser
Posts: 254
Registered: ‎04-04-2012

Headless Apps

So now developers can install apps that run in the background without users knowing? Can't this open up a big can of spam (I mean worms)?

 

What prevention of misuse will be a part of this "feature"?

Please use plain text.
Developer
peter9477
Posts: 6,448
Registered: ‎12-08-2010
My Carrier: none

Re: Headless Apps

First of all, no, they can't do it "now", since the feature isn't available yet.

It's not even fully defined, so I'm quite sure part of their current work will be identifying ways to make sure this sort of thing doesn't happen without the user's full knowledge and ability to manage it properly.

There will certainly be permissions of some sort associated with this. They'd also likely need to add a sort of "service manager" that would let a user identify what is running and provide ways to kill it or remove badly behaving apps.

They also are trying hard to find all possible ways to make it possible for most apps to "do their thing" without having to resort to the use of background services, which is seen as having been overused and abused on BBOS.

If you've got specific input (ideas) on this, Shadid Haque would be more than happy to accept them.

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Please use plain text.
Developer
peter9477
Posts: 6,448
Registered: ‎12-08-2010
My Carrier: none

Re: Headless Apps

For those wondering where this thread came from, note the Headless Apps entry on the roadmap for the Native SDK: http://developer.blackberry.com/native/downloads/roadmap/ (You can click the text there to have it expand to show some bit of detail.)

You should also find some additional material on this in JAM378 from the recent Jam Europe conference in Amsterdam: http://hosting.desire2learncapture.com/RIM/1/watch/195.aspx (webcast only for now. Look at 2:10 to 6:00 for the "headless apps" section... and possibly more during question period)

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Please use plain text.
Developer
Bluenoser
Posts: 254
Registered: ‎04-04-2012

Re: Headless Apps

Peter,

 

  Thanks for the information. I can see some usefulness, but what happens when a large number of apps are running headless. It will impact performance and unless there is a UI component to show what is headless, then there is the ability to abuse the OS performance and if consumers just do a click though (which most do from what I have seen), then you risk headless bots running in the background and doing things without users knowledge.

 

  What I see are non headless apps that can run as services. Non headless meaning there is at least an icon running on the active frame window so users can see what is running in the background as they are flowing through.

 

  A pure no UI app is fraught with risks and I would have second doubts about my feelings that the BB10 platform is secure if this was implemented.

Please use plain text.
Developer
peter9477
Posts: 6,448
Registered: ‎12-08-2010
My Carrier: none

Re: Headless Apps

Just because an app runs part of itself headless is no reason to assume it will impact performance. Bad apps will negatively affect performance, and good apps will not.

Your concerns sound to me like those of people who say "kill all active frames to avoid battery drain". In actual fact, merely having an active frame open doesn't mean that an app increases battery drain noticeably. I should know... Well designed apps do not have to pose such problems.

As for the risk of apps "hiding" and doing bad things... well, for one thing, I'm pretty confident (but basing this just on faith at this point) that BlackBerry will implement mechanisms by which users can easily track which apps have services running, and can probably control them in some fashion (kill them, or at least know how to uninstall them easily).

For another thing, BB10 security is so good, that they can put in place any restrictions they decide are worthwhile. One of those will probably be requiring additional signing credentials for apps that will run headless... that should help them keep the capability out of the hands of those who would abuse it and try to steal private information.

Your concerns are basically valid, but I expect us to be satisfied with what they deliver, and there's no *inherent* reason there should be problems. Maybe they'll overlook a few things in the first implementation, but they are after all testing it already with close partners, so I expect it to be fine even from day one. They know this is a critical area, and want to do it right.

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Please use plain text.
Developer
Bluenoser
Posts: 254
Registered: ‎04-04-2012

Re: Headless Apps

Peter,

  I like the certificate idea. In the video, he talks about background services and how every developer wanted to do it and it did impact performance on the phone. I can see that the same would apply. If headless apps are not handled well for security and something on the consumer side happens, then it will impact the platform on both sides.

Please use plain text.
Developer
peter9477
Posts: 6,448
Registered: ‎12-08-2010
My Carrier: none

Re: Headless Apps

It definitely sounds like they're working to make an environment where many past mistakes can be avoided.

That said, to achieve certain types of functionality, there is a minimum overhead that is required. For example, assume a device is to respond (e.g. by showing a notification) to new data being available in some remote system. There are several ways for the device to become aware of that, some of which have excessive overhead (e.g. polling) and some of which do not (Push service). By definition, you can't end up with a mechanism with NO overhead.

If a user wants a certain capability, they must accept that it will have SOME impact on their device, whether performance or battery life or something else (or all of them). I think BlackBerry is merely attempting to ensure that apps can generally be built to use close to the theoretical minimum in terms of resources, and so they can more thoroughly review apps to identify those which are not built that carefully.

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Please use plain text.