autostart on boot on version 9

Login to reply to this topic.
Wed, 2006-10-11 14:02
Joined: 2006-04-05
Forum posts: 104
Hi,

IÂ’m sorry to drag up this issue again, I have just been trawling through a whole bunch of posts on this subject and IÂ’m more confused now than when I started.

So letÂ’s start from my requirements (in order of importance)
•   My application must start when the phone boots
•   My application must start when the emulator boots
•   My application must start when the application is installed
•   The code that I use to realise this requirement should require minimal changes to take it from series 60 v3 to UIQ 3

On pre version 9 of the symbian OS based platforms these requirements could be addressed by the use of recognisers.  The question now is how to do it on symbian OS version 9 based platforms (primarily though not exclusively, series 60).

The Nokia startup list manager API has been talked about on this and other forums and certainly seems to be favoured if for no other reason than to avoid “misappropriation” of recognisers. 

http://discussion.forum.nokia.com/forum/showthread.php?t=85192


However I have a number of questions that I can’t find answers for.  I can’t see from the help in the SDK that I’ve seen how to get this to work on the emulator.  It doesn’t seem to be something that would work on application install.  And ultimately this is a Nokia API so we would have to take a completely different approach on UIQ.

Does anyone have any further documentation or advice that addresses these issues?

On the other hand I have also seen posts that indicate that recognisers can be ported to version 9.

http://forum.newlc.com/index.php/topic,13477.0.html


This seems to indicate that recognisers were used and it all worked fine.  Assuming that recognisers work (functionally) in the same way as on pre symbian v9 this would seem the way forward.

It does make me wonder why Nokia have developed the startup list manager API then.  I do realise that this is not what recognisers were designed for (though it does seem that the majority of recognisers were written for start on boot purposes).  However since they would need to be signed I can’t see there would be any security risk.

The first post that I quoted indicated that the use of a recogniser would be fine “if you give us [nokia?] a very good use case”.  I think that unless there are simple answers to the questions that I have raised above that allow me to achieve my desired requirements that I would favour the use of recognisers.  Therefore I would almost turn the question around:  “Can anyone give me a good reason why I should not use a recognizer to launch on boot and install?”


PL

Wed, 2006-10-11 20:53
Joined: 2006-03-04
Forum posts: 194
Re: autostart on boot on version 9
I don't know the answer. But what a great posting - clearly stating what your requirements are rather than what you think the solution is (and most people's ideas of what they think the solution is are total bollocks) and asking how to implement that.
Also lots of evidence of background research.

I wish I knew the answer as you deserve one. I think in the future I will stop answering anybodies questions on here unless they are as good as yours.

This should be turned into a sticky as an example of how to post a sensible question.
Wed, 2006-10-11 22:20
Joined: 2004-09-14
Forum posts: 140
Re: autostart on boot on version 9
The fact is that the startup list API guarantees that the base services have started in a deterministic manner.

So for example if you want to send an SMS at startup, by using the Startup list API you are guaranteed the ETel framework (and all core systems) have finished initializing

Paul Todd

Fri, 2006-10-13 10:03
Joined: 2005-04-18
Forum posts: 31
Re: autostart on boot on version 9
I haven't used the start-on-boot API, but we use recognizers across all versions of Symbian, and they satisy all your requirements, including start on install and emulator.  Our recognizer code is identical between UIQ3 and S60v3 (and even Techview). 
Our apps are also Symbian Signed, (mis)using recognizers is currently no impediment to signing.

Hope this helps,

Gavin
Thu, 2006-10-19 14:57
Joined: 2006-10-19
Forum posts: 3
Re: autostart on boot on version 9
It was obvious from the beginning that a start-on-boot feature would be needed on Symbian/S60. Since it was not provided developers (including me) have turned to recognizers and solved the problem that way. So where is the problem? Well, do a search on any Symbian development forums and you will find posts about phones jammed by faulty "auto start" recognizers. And the results you see are only those reported by developers. Imagine now how many end-users had the same problem running such insufficiently tested apps.

So a dedicated API was needed (and in fact was provided by Symbian as an add-on) in order to make sure that the app is started at the right time, in a protected way (so that the phone is not necessarily affected by an eventual app malfunction) and in a more easier to code way.

Nokia's start-up list is just a implementation of that principle. There is no coding needed, only a registration file placed in the right location, and the application is started after the OS boot sequence is completed and all the sensitive applications already up and running. But more importantly, the limitations imposed by the API will make sure that the auto started app is safe and robust.

In conclusion you have two choices, both working, but with various security and complexity implications.

I really think that one would need a very good reason for using the recognizers and so far I have not seen any such reason therefore for me the start-up list is the only valid option. Maybe Gavin can explain why he is still using the recogs on S60 3rd ...

HTH,
t@m
Thu, 2006-10-19 15:32
Joined: 2005-04-18
Forum posts: 31
Re: autostart on boot on version 9
Quote from: t@m
I really think that one would need a very good reason for using the recognizers and so far I have not seen any such reason therefore for me the start-up list is the only valid option. Maybe Gavin can explain why he is still using the recogs on S60 3rd ...

"If it isn't broken, don't fix it"

Our recognisers have been in use for years across all Symbian OS versions and work on emulators, techview, s60 (all versions) and UIQ (all versions).   Using new APIs would cost developer time, tester time and would introduce differences between platforms that are currently the same.

If I were to write a new s60v3-only app then I might use the startup list, but as things stand there is no reason for me to modify working software, particularly when there are advantages to using identical code on UIQ3, S60v3 and Techview.

Gavin
Tue, 2006-10-31 12:21
Joined: 2006-04-05
Forum posts: 104
Re: autostart on boot on version 9
Hi,

Thanks for your replies.

It looks to me like recognisers are the way forward.  Gavin has already said that heÂ’s done it and it works and itÂ’s signed (as have others in other posts) so that is swinging it for me. 

I accept that a poorly written recogniser can cause problems on the phone.  In the past I can understand this being a real concern but on version 9 the recogniser would need to be signed so I am assuming that this problem simply goes away.  If it doesnÂ’t work and / or causes other problems on the phone I assume it wonÂ’t get signed.  In the same way IÂ’m thinking that all possible objections to misappropriation of recognisers must also go away (although t@mÂ’s comment about the forums having posts about faulty auto-start recognisers would seem to contradict that.  Are these examples on version 9?  If so how are they getting through the signing process?). 

However if we assume that my recogniser is not faulty (either because it wouldnÂ’t get signed if it was or because I wouldnÂ’t release my product until it works correctly) it does seem to be the case that recognisers do everything that I want (see original requirements at the start of this thread) and nothing else does.

PL

Tue, 2006-11-07 17:15
Joined: 2005-04-18
Forum posts: 31
Re: autostart on boot on version 9
The grapevine tells me that changes might be made to disable the ability of recognizers to auto-start applications in future s60 versions. 
It looks like developers will be forced to use the start-up list API, so it might be a good idea to start investigating it now.

Gavin
Thu, 2006-11-30 09:58
Joined: 2006-09-12
Forum posts: 41
Re: autostart on boot on version 9
does the startup api work on the emulator?

I have a daemon that uses the startup api and it works fine on the phone, but we can't get it to work on the emulator.

Is there some (further) trickery involved?

Max.
Thu, 2006-12-07 10:48
Joined: 2006-10-19
Forum posts: 3
Re: autostart on boot on version 9
Thu, 2006-12-07 10:52
Joined: 2006-09-12
Forum posts: 41
Re: autostart on boot on version 9
Quote from: t@m

Since using a recogniser to boot an application won't be supported soon, any idea about how to get the startup api working on the emulator?

Max.
Thu, 2006-12-07 10:59
Joined: 2006-10-19
Forum posts: 3
Re: autostart on boot on version 9
The SLM API will be supported by future releases of the platform. What is no longer possible is to hijack the recognizer framework for start-on-boot purposes.

As for using the SLM API on emulator I have never tried that ... sorry.
  • Login to reply to this topic.