Skip to content
Snippets Groups Projects
Commit bb70606b authored by Martyn Welch's avatar Martyn Welch
Browse files

Merge technologies documentation


The developer documentation contains a whole load of documents covering
the technologies available in Apertis. These are very minimal. Merge these
documents together for now.

Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.com>
parent cba52222
No related branches found
No related tags found
1 merge request!103Organising the developer docs
+++
short-description = "Generic system applications"
license = "CC-BY-SAv4.0"
title = "Core Applications"
weight = 100
aliases = [ "/old-developer/latest/apps-core.html", "/old-developer/v2019/apps-core.html", "/old-developer/v2020/apps-core.html", "/old-developer/v2021pre/apps-core.html", "/old-developer/v2022dev0/apps-core.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
These are apps that are bundled together with the system and get updated
when system gets updated:
- rhayader – Browser
- frampton – Audio player
- eye – video player
+++
short-description = "Wi-Fi, Bluetooth ..."
license = "CC-BY-SAv4.0"
title = "Connectivity"
weight = 100
aliases = [ "/old-developer/latest/connectivity.html", "/old-developer/v2019/connectivity.html", "/old-developer/v2020/connectivity.html", "/old-developer/v2021pre/connectivity.html", "/old-developer/v2022dev0/connectivity.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- Cellular and Wi-Fi Connection
- Connman manages internet connections (Automatically connects to
last used network).
- Bluetooth
- Based on Bluez and profiles (PBAP, A2DP, PAN)
- Discovering / bonding / getting contacts from cell phone
# Enabling components:
- libfolks-eds: library that aggregates contacts from multiple sources
with Evolution-data-server as backend
(https://wiki.gnome.org/Projects/Folks)
# SDK services
- Beckfoot: Beckfoot is performs connection management and handles
system connectivity services like network handling, wifi management,
management of Bluetooth devices etc.
- Corbridge: It daemon for managing bluetooth functionalities like
pairing, unpairing, A2DP connect/disconnect. And also contact Sync
via bluetooth also implemented in this service.
+++
short-description = "The application framework"
license = "CC-BY-SAv4.0"
title = "Application Framework"
weight = 100
aliases = [ "/old-developer/latest/framework-app.html", "/old-developer/v2019/framework-app.html", "/old-developer/v2020/framework-app.html", "/old-developer/v2021pre/framework-app.html", "/old-developer/v2022dev0/framework-app.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- Launching a new Application (Launch-mgr)
- Explicit or implicit information (Combination of Action, URI, and
MIME) can be used to determine an app to launch
- Application life cycle management (activity-mgr)
- Managing application launch history (LUM)
- Audio management and audio priority handling(audio-manager)
- Sharing mechanism
- Application preferences (prefernce-mgr)
- IPC communication (D-Bus)
- View switching and in app back handling (View-Manager)
# SDK services:
- Canterbury: This is the core process in the system which deals with
launch and kill of applications to be run on the system, including
management of applications life cycle, creation and maintenance of
application stack, etc. It also interacts on a regular basis with
few other services for resource management of applications’.
Interaction with audio service (for audio handling and management),
data exchange service (to facilitate inter application data
exchange) are 2 examples.
- Didcot: This service enables data sharing between applications
depending on mime type of the data to be shared.
- Newport: It handles all downloads running in the system (from
browser, email, other devices etc).
- Barkway: This service caters to the global UI layer like popup
available in the system.
- Chalgrove: It is the backend data service to manage per user or even
system settings. It interacts with canterbury to store some app
related settings.
- libseaton: it provides interfaces to store persistent data. It is a
shared library using SQLite as the backend database.
- Libclapton: LibClapton is a library which is used for logging.
+++
short-description = "The UI framework"
license = "CC-BY-SAv4.0"
title = "UI Framework"
weight = 100
aliases = [ "/old-developer/latest/framework-ui.html", "/old-developer/v2019/framework-ui.html", "/old-developer/v2020/framework-ui.html", "/old-developer/v2021pre/framework-ui.html", "/old-developer/v2022dev0/framework-ui.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- In apertis, Clutter library is provided for UI creation.
- Clutter is an open source software library for creating fast,
compelling, portable, and dynamic graphical user interfaces.
- Use Open GLES for rendering.
- Comes with rich animation f/w with vast gesture support.
- Provides layout management for easy lay-outing of widgets.
# SDK services:
- Libthornbury: libthornbury is a bunch of user Interface utility
libraries. Thornbury provides the helper function for customized
json parsing which is used in view manager, texture creation for
static .png files or download from the web
sychronously/asynchronously using libsoup to create the texture
using GdkPixbuf,View manager is intended to create/manage the views
in an app using Clutter, ItemFactory is used to instantiate any
given widget type which implements MxItemfactory. Model to give the
MVC approach to the app inspired by ClutterModel
- Liblightwood: liblightwood is library for widgets.It can also be
extended to a different set of requirements. Liblightwood has all
basic widgets like button,list,roller,webview widgets,multiline
textbox.etc
+++
short-description = "Generic system utilities"
license = "CC-BY-SAv4.0"
title = "Infrastructure UI"
weight = 100
aliases = [ "/old-developer/latest/infrastructure-ui.html", "/old-developer/v2019/infrastructure-ui.html", "/old-developer/v2020/infrastructure-ui.html", "/old-developer/v2021pre/infrastructure-ui.html", "/old-developer/v2022dev0/infrastructure-ui.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Infrastructure UI
Some apps need to be available as part of the system even if there are
no apps. Below is the list of such apps:
- launcher – app laucher. Every app installed in the system will be
listed here.
- settings – Collection of system and app settings (if any)
- statusbar – Status information shown at the top oft he screen
+++
short-description = "Various internet utilities provided by the SDK"
license = "CC-BY-SAv4.0"
title = "Internet Services"
weight = 100
aliases = [ "/old-developer/latest/internet.html", "/old-developer/v2019/internet.html", "/old-developer/v2020/internet.html", "/old-developer/v2021pre/internet.html", "/old-developer/v2022dev0/internet.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- http clients
- Connected services (PIM)
# Enabling components:
- libcurl - the multiprotocol file transfer library
(http://libcurl.org/)
- libsoup - HTTP client/server library for GNOME
(https://wiki.gnome.org/action/show/Projects/libsoup)
- libecal (Evolution Data Sever)
(https://developer.gnome.org/libecal/stable/)
- libfolks-eds: contacts from multiple sources with
Evolution-data-server as backend
(https://wiki.gnome.org/Projects/Folks)
+++
short-description = "Multimedia interfaces provided by the SDK"
license = "CC-BY-SAv4.0"
title = "Multimedia"
weight = 100
aliases = [ "/old-developer/latest/multimedia.html", "/old-developer/v2019/multimedia.html", "/old-developer/v2020/multimedia.html", "/old-developer/v2021pre/multimedia.html", "/old-developer/v2022dev0/multimedia.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- Playback of audio and video contents (local and streaming)
- Capturing images and recording audio and video
- Scanning & Playback of radio
- Complete audio management
- Extracting and displaying media content information
- Integration of External apps like VLC.
# Enabling components:
- GStreamer: Audio, Video, Recording, Streaming, Etc
- Audio Manager: Audio Policy Management
- PulseAudio: Software mixing multiple audio streams
- Multiple-Format Codec: Various support of codec
- Media Content Service: Content management for media files
# SDK services:
- libgrassmoor : Libgrassmoor is a library responsible for providing
media info and media playback functionalities
- Tinwell: Is our Audio service. It focuses on complete audio handling
for the system and provides facilities to play, buffer, record audio
streams. It interacts with Canterbury to manage system audio
effectively when multiple audio sources are active.
- Prestwood: This service manages media and handles any activity
related to the filesystem (mounted), UPnP devices etc and indicates
when they are ready for other services to communicate with them.
+++
short-description = "Navigation services (maps, guidance, ...)"
license = "CC-BY-SAv4.0"
title = "Navigation"
weight = 100
aliases = [ "/old-developer/latest/navigation.html", "/old-developer/v2019/navigation.html", "/old-developer/v2020/navigation.html", "/old-developer/v2021pre/navigation.html", "/old-developer/v2022dev0/navigation.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- Location based services
- Map
- Route guidance
# Enabling components:
- Geoclue – Deliver location info from various positioning sources
(http://freedesktop.org/wiki/Software/GeoClue/)
- Libchamplain – Map rendering
(https://wiki.gnome.org/Projects/libchamplain)
- Younavigation – route drawing on map drawn by libchamplain
(http://www.yournavigation.org/)
......@@ -3,7 +3,62 @@ short-description = "Presentation of our software stack"
license = "CC-BY-SAv4.0"
title = "Technologies"
weight = 100
aliases = [ "/old-developer/latest/sdk-techs.html", "/old-developer/v2019/sdk-techs.html", "/old-developer/v2020/sdk-techs.html", "/old-developer/v2021pre/sdk-techs.html", "/old-developer/v2022dev0/sdk-techs.html",]
aliases = [
"/old-developer/latest/apps-core.html",
"/old-developer/latest/connectivity.html",
"/old-developer/latest/framework-app.html",
"/old-developer/latest/framework-ui.html",
"/old-developer/latest/infrastructure-ui.html",
"/old-developer/latest/internet.html",
"/old-developer/latest/multimedia.html",
"/old-developer/latest/navigation.html",
"/old-developer/latest/sdk-techs.html",
"/old-developer/latest/telephony.html",
"/old-developer/latest/telephony-ip.html",
"/old-developer/v2019/apps-core.html",
"/old-developer/v2019/connectivity.html",
"/old-developer/v2019/framework-app.html",
"/old-developer/v2019/framework-ui.html",
"/old-developer/v2019/infrastructure-ui.html",
"/old-developer/v2019/internet.html",
"/old-developer/v2019/multimedia.html",
"/old-developer/v2019/navigation.html",
"/old-developer/v2019/sdk-techs.html",
"/old-developer/v2019/telephony.html",
"/old-developer/v2019/telephony-ip.html",
"/old-developer/v2020/apps-core.html",
"/old-developer/v2020/connectivity.html",
"/old-developer/v2020/framework-app.html",
"/old-developer/v2020/framework-ui.html",
"/old-developer/v2020/infrastructure-ui.html",
"/old-developer/v2020/internet.html",
"/old-developer/v2020/multimedia.html",
"/old-developer/v2020/navigation.html",
"/old-developer/v2020/sdk-techs.html",
"/old-developer/v2020/telephony.html",
"/old-developer/v2020/telephony-ip.html",
"/old-developer/v2021pre/apps-core.html",
"/old-developer/v2021pre/connectivity.html",
"/old-developer/v2021pre/framework-app.html",
"/old-developer/v2021pre/framework-ui.html",
"/old-developer/v2021pre/infrastructure-ui.html",
"/old-developer/v2021pre/internet.html",
"/old-developer/v2021pre/multimedia.html",
"/old-developer/v2021pre/navigation.html",
"/old-developer/v2021pre/sdk-techs.html",
"/old-developer/v2021pre/telephony.html",
"/old-developer/v2021pre/telephony-ip.html",
"/old-developer/v2022dev0/apps-core.html",
"/old-developer/v2022dev0/connectivity.html",
"/old-developer/v2022dev0/framework-app.html",
"/old-developer/v2022dev0/framework-ui.html",
"/old-developer/v2022dev0/infrastructure-ui.html",
"/old-developer/v2022dev0/internet.html",
"/old-developer/v2022dev0/multimedia.html",
"/old-developer/v2022dev0/navigation.html",
"/old-developer/v2022dev0/sdk-techs.html",
"/old-developer/v2022dev0/telephony.html",
"/old-developer/v2022dev0/telephony-ip.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
......@@ -44,3 +99,207 @@ compatibility guaranteed exposed with the intention to be used by the
Apps.
> The SDK services are developed as dbus services or libraries. For the APIs please refer the API reference or DevHelp on desktop.
# Core Applications
These are apps that are bundled together with the system and get updated
when system gets updated:
- rhayader – Browser
- frampton – Audio player
- eye – video player
# Infrastructure UI
Some apps need to be available as part of the system even if there are
no apps. Below is the list of such apps:
- launcher – app laucher. Every app installed in the system will be
listed here.
- settings – Collection of system and app settings (if any)
- statusbar – Status information shown at the top oft he screen
# UI Framework
## Provides:
- In apertis, Clutter library is provided for UI creation.
- Clutter is an open source software library for creating fast,
compelling, portable, and dynamic graphical user interfaces.
- Use Open GLES for rendering.
- Comes with rich animation f/w with vast gesture support.
- Provides layout management for easy lay-outing of widgets.
## SDK services:
- Libthornbury: libthornbury is a bunch of user Interface utility
libraries. Thornbury provides the helper function for customized
json parsing which is used in view manager, texture creation for
static .png files or download from the web
sychronously/asynchronously using libsoup to create the texture
using GdkPixbuf,View manager is intended to create/manage the views
in an app using Clutter, ItemFactory is used to instantiate any
given widget type which implements MxItemfactory. Model to give the
MVC approach to the app inspired by ClutterModel
- Liblightwood: liblightwood is library for widgets.It can also be
extended to a different set of requirements. Liblightwood has all
basic widgets like button,list,roller,webview widgets,multiline
textbox.etc
# Application Framework
## Provides:
- Launching a new Application (Launch-mgr)
- Explicit or implicit information (Combination of Action, URI, and
MIME) can be used to determine an app to launch
- Application life cycle management (activity-mgr)
- Managing application launch history (LUM)
- Audio management and audio priority handling(audio-manager)
- Sharing mechanism
- Application preferences (prefernce-mgr)
- IPC communication (D-Bus)
- View switching and in app back handling (View-Manager)
## SDK services:
- Canterbury: This is the core process in the system which deals with
launch and kill of applications to be run on the system, including
management of applications life cycle, creation and maintenance of
application stack, etc. It also interacts on a regular basis with
few other services for resource management of applications’.
Interaction with audio service (for audio handling and management),
data exchange service (to facilitate inter application data
exchange) are 2 examples.
- Didcot: This service enables data sharing between applications
depending on mime type of the data to be shared.
- Newport: It handles all downloads running in the system (from
browser, email, other devices etc).
- Barkway: This service caters to the global UI layer like popup
available in the system.
- Chalgrove: It is the backend data service to manage per user or even
system settings. It interacts with canterbury to store some app
related settings.
- libseaton: it provides interfaces to store persistent data. It is a
shared library using SQLite as the backend database.
- Libclapton: LibClapton is a library which is used for logging.
# Connectivity
## Provides:
- Cellular and Wi-Fi Connection
- Connman manages internet connections (Automatically connects to
last used network).
- Bluetooth
- Based on Bluez and profiles (PBAP, A2DP, PAN)
- Discovering / bonding / getting contacts from cell phone
## Enabling components:
- libfolks-eds: library that aggregates contacts from multiple sources
with Evolution-data-server as backend
(https://wiki.gnome.org/Projects/Folks)
## SDK services
- Beckfoot: Beckfoot is performs connection management and handles
system connectivity services like network handling, wifi management,
management of Bluetooth devices etc.
- Corbridge: It daemon for managing bluetooth functionalities like
pairing, unpairing, A2DP connect/disconnect. And also contact Sync
via bluetooth also implemented in this service.
# Internet Services
## Provides:
- http clients
- Connected services (PIM)
## Enabling components:
- libcurl - the multiprotocol file transfer library
(http://libcurl.org/)
- libsoup - HTTP client/server library for GNOME
(https://wiki.gnome.org/action/show/Projects/libsoup)
- libecal (Evolution Data Sever)
(https://developer.gnome.org/libecal/stable/)
- libfolks-eds: contacts from multiple sources with
Evolution-data-server as backend
(https://wiki.gnome.org/Projects/Folks)
# Multimedia
## Provides:
- Playback of audio and video contents (local and streaming)
- Capturing images and recording audio and video
- Scanning & Playback of radio
- Complete audio management
- Extracting and displaying media content information
- Integration of External apps like VLC.
## Enabling components:
- GStreamer: Audio, Video, Recording, Streaming, Etc
- Audio Manager: Audio Policy Management
- PulseAudio: Software mixing multiple audio streams
- Multiple-Format Codec: Various support of codec
- Media Content Service: Content management for media files
## SDK services:
- libgrassmoor : Libgrassmoor is a library responsible for providing
media info and media playback functionalities
- Tinwell: Is our Audio service. It focuses on complete audio handling
for the system and provides facilities to play, buffer, record audio
streams. It interacts with Canterbury to manage system audio
effectively when multiple audio sources are active.
- Prestwood: This service manages media and handles any activity
related to the filesystem (mounted), UPnP devices etc and indicates
when they are ready for other services to communicate with them.
# Navigation
## Provides:
- Location based services
- Map
- Route guidance
## Enabling components:
- Geoclue – Deliver location info from various positioning sources
(http://freedesktop.org/wiki/Software/GeoClue/)
- Libchamplain – Map rendering
(https://wiki.gnome.org/Projects/libchamplain)
- Younavigation – route drawing on map drawn by libchamplain
(http://www.yournavigation.org/)
# Telephony
## Provides:
- Call handling
## Enabling components:
- ofono - includes consistent, minimal, and easy to use complete APIs
for telephony (https://01.org/ofono)
# VoIP, IM and Groupware
## Provides:
- IP telephony
- Chat, *etc*.
## Enabling components:
- Telepathy-GLib
(http://telepathy.freedesktop.org/doc/telepathy-glib/)
- Telepathy Developer's Manual
(http://telepathy.freedesktop.org/doc/book/index.html)
- libGData (https://developer.gnome.org/gdata/unstable/)
- SyncEvolution D-Bus (http://api.syncevolution.org/)
+++
short-description = "Online communication services"
license = "CC-BY-SAv4.0"
title = "VoIP, IM and Groupware"
weight = 100
aliases = [ "/old-developer/latest/telephony-ip.html", "/old-developer/v2019/telephony-ip.html", "/old-developer/v2020/telephony-ip.html", "/old-developer/v2021pre/telephony-ip.html", "/old-developer/v2022dev0/telephony-ip.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- IP telephony
- Chat, *etc*.
# Enabling components:
- Telepathy-GLib
(http://telepathy.freedesktop.org/doc/telepathy-glib/)
- Telepathy Developer's Manual
(http://telepathy.freedesktop.org/doc/book/index.html)
- libGData (https://developer.gnome.org/gdata/unstable/)
- SyncEvolution D-Bus (http://api.syncevolution.org/)
+++
short-description = "Telephony services"
license = "CC-BY-SAv4.0"
title = "Telephony"
weight = 100
aliases = [ "/old-developer/latest/telephony.html", "/old-developer/v2019/telephony.html", "/old-developer/v2020/telephony.html", "/old-developer/v2021pre/telephony.html", "/old-developer/v2022dev0/telephony.html",]
outputs = [ "html", "pdf-in",]
date = "2016-04-20"
+++
# Provides:
- Call handling
# Enabling components:
- ofono - includes consistent, minimal, and easy to use complete APIs
for telephony (https://01.org/ofono)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment