Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2013-02-01 11:42:41 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2013-02-01 11:42:41 (GMT)
commitf0c20584e7299c11e6eebad3d8388c4618863e94 (patch)
treebc226231b1464a40c0fe30d70f631bd12efbc2e4 /README.md
parent36828cf89af8fa3b49c44286c156e61558a36a43 (diff)
Generate an html doc
Formatting fixes, no real content changes.
Diffstat (limited to 'README.md')
-rw-r--r--README.md50
1 files changed, 18 insertions, 32 deletions
diff --git a/README.md b/README.md
index 5ca8286..e7dbfb1 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,14 @@
-### Premise
+# HTML activities - Draft 1
+
+## Premise
XXX Improve the Sugar OS developer experience
+
XXX Cross platform sugar activities -> future
+
XXX What is Sugar.
-# Modules
+## Modules
The framework is composed of various libraries, initially
@@ -13,7 +17,7 @@ The framework is composed of various libraries, initially
* datastore
* collaboration
-## Interface description
+### Interface description
Each module provides one or more interface descriptions which are language
independent. A subset of object-oriented languages should be chosen, so that
@@ -23,14 +27,14 @@ python and JavaScript it's explicit about types.
For example, the datastore interface could look like
-class Datastore {
- DatastoreObject load()
- void save(DatastoreObject object);
-}
+ class Datastore {
+ DatastoreObject load();
+ void save(DatastoreObject object);
+ }
XXX The interface is totally made up!
-## Implementation
+### Implementation
The implementation should be written as much as possible using web languages.
But of course we will have the necessity to interact with native system
@@ -40,18 +44,18 @@ interfaces and generically bridge to them from JavaScript. All the modules
should provide a web fallback, which will allow to run the activity everywhere
even if with degraded functionality.
-## Code style
+### Code style
View source is a core part of the sugar experience, so any kind of code
obfuscation should be avoided. This includes languages that compiles to
JavaScript, like CoffeeScript.
-## Namespacing and package management
+### Namespacing and package management
We are using [volo](http://volojs.org) for namespacing and package management,
both in the libraries and in the documentation.
-# Activities
+## Activities
Activities are [open web apps](https://developer.mozilla.org/en-US/docs/Apps),
their only specificity is that can make use of our libraries framework. On some
@@ -60,7 +64,9 @@ code, configuration or to package the app in a certain way to have it integrate
with the system flawlessly. We will provide scripts to fully automate those
tasks.
-# Random Sugar OS implementation notes
+## Implementation notes
+
+### Sugar OS
* We should probably use firefox, as provided by upstream, to run activities.
Chrome would probably be an equally good alternative. At some point we could
@@ -81,23 +87,3 @@ script to sync them with the sugar-artwork repository.
hope using local paths will work in a web activity.
* To get full permission I suspect a web app needs to be installed. We will
have to figure out if/how we can avoid that.
-
-# TODO
-
-Version 0.1
-
-* Write an helloworld open web activity. Or maybe just steal a cool one? Might
-make for a more shiny demo without any effort :)
-* Write a firefox activity using firefox as packaged in the distro. Will
-probably require an extension to disable the chrome UI cleanly.
-* Write the web activity -> sugar activity script, probably as a volo command.
-volo build sugar-os, or something.
-* Play with volo to see if there are any road blockers.
-* Write the activity library, with a close method. It should be enough to call
-window.close() on Sugar OS at least.
-* Document how to use volo to pull in the library.
-* Write the datastore library. This will involve writing an extension which
-will use DBus to communicate with the datastore and making sure we can
-communicate between content and extension.
-* Write the graphics library with initial toolbar implementation. It will
-require writing the script to sync the svg icons from sugar-artwork.