Architecture

From WebOS-Ports
Revision as of 20:25, 7 June 2020 by Tofe (talk | contribs) (Logging Infrastructure)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

WebOS Ports Design Architecture

Here will be a description of the architecture of WebOS Ports. How all bits and pieces interact with each other.

WebOS Ports Architecture

Luna Next

Logging Infrastructure

Galaxy Nexus Communication Infrastructure

Building Custom LunaSysMgr for Open webOS

GPU Drivers

Commits History

OE Benchmark

Porting Guide for new devices

Chinese, Japanese, Korean Input Methods

Submitting Contributions

Schedules/Beta Feature Plan

Secrets

WallpaperContest

LS2 Debug Commands

Upstream Submission Status

System Upgrade

Human Interface Guidelines

API Design

Initially, we'll re-implement the webOS APIs. We'll need some new APIs that are straightforward extensions of existing APIs (for example, Proposed Synergy for Tasks). Other new APIs could substantially alter the app environment and user experience (for example, Proposed Lune OS Intents). These must be carefully thought out, so they improve the environment for app developers and user.

When designing new APIs and data structures, favor URLs. For example, an avatar or attachment could be pulled from the net (http: or git: URL schemes) as easily as a file (file: URL scheme) or immediate data (data: URL scheme). A contact URL could be an email (mailto: URL scheme), IM address (im:, aim:, sms:, gg:, irc: URL schemes) telephone (tel:, skype: or rtsp: URL schemes) or a web page (http: URL scheme). Only schemes that make sense in a given context need to be supported. This will make our APIs and data structures more future-proof.

APIs

Various info bits that still need further working out and documentation:

Proposed Permission Service

OTA API Blueprint

Proposed Lune OS Intents

Proposed Synergy for Tasks

Proposed Swipe UI Convention

Send URL

A replacement for the Touch-to-share API is needed, which accommodates various transmission media, such as Bluetooth, ZeroConf (Bonjour), QR codes and Google Tone or Chirp for iOS. The send side is probably best handled via the Share Intent. The receive side requires some thought: always-on is a security risk and wasteful of power, while activating a receive mode needs to be easy. It might or might not be useful to send or listen using several media at once.