As standard webapps, they are self-contained and run in any modern web browser. But the focus is on running them bound to Sugar services that provide the unique features of Sugar.
The web is evolving very fast to provide the same functionality to webapps that standard desktop applications have. Web activities should be developed using standard web technologies as much as possible. For example, if there is a need to take a picture from the device camera, and that is possible with web standards, then those should be used. If that is not possible, the activity should communicate with the Sugar services to take the picture.
A copy of the library is contained in each activity.
Current Sugar GTK can already run web activities out of the box. It opens a chrome-less window with a WebKitGTK view, and the web activity is loaded inside.
There is research going on about running web activities on Android. The activity source is bundled in an Android application with one component: an Android activity (not to confuse with our activity term). The Android activity is composed of a chrome-less WebKit view, and the web activity is loaded inside. This is the same as other webapps on Android do.
Many Android activities can be connected to the Sugar shell. The first one starts it, and the last one stops it. They bind to the shell sending an Intent message, for which the shell has an Intent filter that matches.
The standalone web activities are rendered in any modern web browser. They might have limited functionality but should be as functional as possible. The same libraries as with the other web activities are used.
Package management and creation of activities from a template is handled with Volo.