Difference between revisions of "Architecture"

From WebOS-Ports
Jump to navigation Jump to search
m (Logging Infrastructure)
 
(25 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
Here will be a description of the architecture of WebOS Ports. How all bits and pieces interact with each other.
 
Here will be a description of the architecture of WebOS Ports. How all bits and pieces interact with each other.
  
Open webOS, QT5, Webkit2, Enyo2, Wayland etc.
+
[[File:LunaNext-Architecture-Diag.png|thumbnail|WebOS Ports Architecture]]
  
Various info bits that still need further working out and documentation:
+
[[Luna Next|Luna Next]]
  
[[OTA API Blueprint|OTA API Blueprint]]
+
[[Logging Infrastructure|Logging Infrastructure]]
 
 
[[Luna Next|Luna Next]]
 
  
 
[[Galaxy Nexus Communication Infrastructure|Galaxy Nexus Communication Infrastructure]]
 
[[Galaxy Nexus Communication Infrastructure|Galaxy Nexus Communication Infrastructure]]
  
[[Galaxy Nexus Graphics|Galaxy Nexus Graphics]]
+
[[Build Custom LunaSysMgr for OWO|Building Custom LunaSysMgr for Open webOS]]  
 
 
[[Build Custom LunaSysMgr for OWO|Building Custom LunaSysMgr for Open webOS]] merge with [[Open webOS LunaSysMgr|Open webOS LunaSysMgr]]
 
  
 
[[GPU Drivers|GPU Drivers]]
 
[[GPU Drivers|GPU Drivers]]
Line 24: Line 20:
  
 
[[Porting_Guide|Porting Guide for new devices]]
 
[[Porting_Guide|Porting Guide for new devices]]
 
[[http://webos-ports.org/wiki/LS2_Debug_Commands
 
 
[[Build_setup|General WOP Build Setup]]
 
  
 
[[Input Method|Chinese, Japanese, Korean Input Methods]]
 
[[Input Method|Chinese, Japanese, Korean Input Methods]]
  
[[Pull Requests|Pull Requests]]
+
[[Submitting Contributions|Submitting Contributions]]
 
 
[[Pull Requests Guidelines|Pull Requests Guidelines]]
 
  
 
[[Schedules/Beta Feature Plan|Schedules/Beta Feature Plan]]
 
[[Schedules/Beta Feature Plan|Schedules/Beta Feature Plan]]
  
 
[[Secrets|Secrets]]
 
[[Secrets|Secrets]]
 
[[Skip first use|Skip first use]]
 
  
 
[[WallpaperContest|WallpaperContest]]
 
[[WallpaperContest|WallpaperContest]]
Line 45: Line 33:
 
[[LS2_Debug_Commands|LS2 Debug Commands]]
 
[[LS2_Debug_Commands|LS2 Debug Commands]]
  
 +
[[Upstream Submission Status|Upstream Submission Status]]
  
 +
[[System_Upgrade|System Upgrade]]
  
LunaCE (Legacy):
+
[[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, [[Synergy_for_Tasks|Proposed Synergy for Tasks]]).
 +
Other new APIs could substantially alter the app environment and user experience (for example, [[Intents|Proposed Lune OS Intents]]).
 +
These must be carefully thought out, so they improve the environment for app developers and user.
  
[[Feature Freeze|LunaCE Feature Freeze]]
+
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.
  
[[IsisCE|IsisCE Browser]]
+
== APIs ==
 +
Various info bits that still need further working out and documentation:
  
[[LogoContest|LunaCE Logo Contest]]
+
[[Permission_Service|Proposed Permission Service]]
  
[[LunaCE APIs|LunaCE API's]]
+
[[OTA API Blueprint|OTA API Blueprint]]
 
 
[[LunaCE Features|LunaCE Features]]
 
 
 
[[LunaCE on Pre3|LunaCE on the Pre3]]
 
 
 
[[LunaCE Versions|LunaCE Versions]]
 
 
 
[[Preferences Support|LunaCE Preferences Support]]
 
 
 
[[Synergy-issues|LunaCE Issues with Synergy & Solution]]
 
 
 
[[Testing|Testing LunaCE]]
 
  
[[Testing_Feeds|Testing Feeds]]
+
[[Intents|Proposed Lune OS Intents]]
  
[[WOCE Build Environment|WOCE Build Environment]]
+
[[Synergy_for_Tasks|Proposed Synergy for Tasks]]
  
[[WOCE Build Instructions|WOCE Build Instructions]]
+
[[Swipe_UI|Proposed Swipe UI Convention]]
  
[[WOCE regression table|WOCE regression table]]
+
=== 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 [https://chrome.google.com/webstore/detail/google-tone/nnckehldicaciogcbchegobnafnjkcne Google Tone] or Chirp for iOS.  The send side is probably best handled via the [[Intents|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.

Latest revision as of 20:25, 7 June 2020

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.