Shepherd

m (Predicates: spelling typo fix)
 
(One intermediate revision not shown)
Line 2: Line 2:
==Google Summer of Code Project==
==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 [http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/maemo/t127230761170 GSoC-page].
+
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 14: Line 14:
===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

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