Here’s some of the things I have to figure out in the next couple of months, for porting ContextPhone/Merkitys/Jaiku to the 3rd edition.
- Can you get ReadDeviceData (or any other restricted capability) through the freeware signing?
- How do we access the images captured by the phone camera now?
- Is there an officially sanctioned way to use cell-id in a part of our system that does not have ReadDeviceData capability? Technically it’s of course easy: just write the thing to the blackboard and don’t check capabilities in the blackboard server. Symbian’s Murray Read seems to indicate that it’s allowed to split work to a capability-enabled server application, but at least naively that would break the sandbox. Having parts of the system not require testing would allow for much quicker turnaround in development…
- Am I allowed to Kill() threads/processes anymore? If not, how do you implement a watchdog. Again, naively, you would assume that you could kill processes with the same vendor-id without any restrictions?
- How do we dynamically load DLLs based on UIDs now? We have our own ‘instantiate object by name’ framework, which is based on polymorphic dlls.
- Can I draw indicators in the idle screen? There seems to be a plugin API for the idle screen, but it might not be available to non-partners. Indicators for presence on/off are quite important for privacy management.
- Capturing keypresses needs the SwEvent capability. We’ve been doing that as it’s been the only reliable way to know when the phone is idle or active (the system inactivity timer gets reset by charging and other random events on 1st and 2nd edition). Maybe there’s a reliable inactivity indicator provided by the the system now?
- Can we programmatically modify the active-idle settings? Previously we’ve overridden the built-in phonebook, but I guess that’s not possible anymore. It’s not strictly necessary either, as long as we can make our phonebook as easily accessible as the built-in one – meaning we want to replace the built-in phonebook button in the active idle screen with our one.
- Can we intercept (as in listening for them and automatically deleting as necessary) incoming SMS (for operator location services)? What capabilities are needed? Might there finally be a way to suppress the message-received alert?
- Is there are an official replacement for CPbkSingleEntryFetchDlg now? (I assume it’s not available any more.)
- For research use: can we still programmatically record phonecalls? What capabilities does that require?
I’ll be posting answers to these as I figure them out. I really hope that I can test most things in the emulator, but the past has taught me not to expect too much… Stay tuned.
BTW, at least some things are easier now. Much of the system state (profile, bluetooth settings, charger, battery etc.) is now provided by the central repository, has been documented and is officially supported. Yay for that.