Shepherd

(Technical background)
m (Predicates: spelling typo fix)
 
(3 intermediate revisions not shown)
Line 1: Line 1:
This page contains all the input for a tool called "Shepherd". Please feel free to add suggestions an content. [http://talk.maemo.org/showthread.php?t=31524 There is a thread] containing much more information which could be added here.
This page contains all the input for a tool called "Shepherd". Please feel free to add suggestions an content. [http://talk.maemo.org/showthread.php?t=31524 There is a thread] containing much more information which could be added here.
 +
 +
==Google Summer of Code Project==
 +
Shepherd was chosen as one of the 10 [[GSoC 2010/Projects|Maemo-related project's for GSoC]]. More information are available on the [http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/maemo/t127230761170 GSoC-page].
==Technical background==
==Technical background==
Line 8: Line 11:
==Requirements==
==Requirements==
-
*please feel free to add...
+
* Qt4.6
 +
 
===Predicates===
===Predicates===
-
* location (position, allowed radius, accurazy, speed)
+
* location (position, allowed radius, accuracy, speed)
* time of day / day of week (cron style or whatever)
* time of day / day of week (cron style or whatever)
* time interval
* time interval
Line 35: Line 39:
* Feel free to define a graphical user interface for functions defined above
* Feel free to define a graphical user interface for functions defined above
-
[[Category:Software]][[Category:N900]]
+
[[Category:Software]][[Category:N900]][[Category:Google Summer of Code]]

Latest revision as of 13:04, 18 October 2011

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

[edit] 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.

[edit] 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

[edit] Requirements

  • Qt4.6

[edit] Predicates

  • location (position, allowed radius, accuracy, 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.

[edit] 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)

[edit] User interface

  • Feel free to define a graphical user interface for functions defined above