Shepherd
This page contains all the input for a tool called "Shepherd". Please feel free to add suggestions an content. There is a thread containing much more information which could be added here.
Contents |
Google Summer of Code Project
Shepherd was chosen as one of the 10 maemo-related project's for GSoC. More information are available on the GSoC-page.
Technical background
- Small, daemon style Qt based C++ core
- Separate GUI interface for configuration
- Modular, plugin based approach for triggers and actions
- Plugins can be written in C++, Python or external scripts
Requirements
- Qt4.6
Predicates
- location (position, allowed radius, accurazy, speed)
- time of day / day of week (cron style or whatever)
- time interval
- internet connection (cell connection vs wifi--including ESSID)
- Connected Bluetooth devices
- battery level
And of course a mix out of more than one predicate. There should be a kind of grammar which allows to use operators like AND/OR/NOT. There also should be a possibility to priorize the rules.
Actions
- run an app (determine if it's running--if not, start it up)
- close an app
- set profile (ringer, volume, etc)
- toggle FM transmitter
- run general script, which can totally open up opportunities
- Start or Stop Instant Messaging services, Skype or VoIP-Services
- Switch status of IM Accounts
- Get emails for specific accounts
- Trigger sharing services (e.g. Upload new photos to flickr)
- Do software upgrades in background
- Syncronize (e.g. Syncevolution)
User interface
- Feel free to define a graphical user interface for functions defined above