Difference between revisions of "Architecture"

From WebOS-Ports
Jump to navigation Jump to search
(added Enyo Ports UI)
m (Logging Infrastructure)
 
(7 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
[[File:LunaNext-Architecture-Diag.png|thumbnail|WebOS Ports Architecture]]
 
[[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]]
Line 39: Line 37:
 
[[System_Upgrade|System Upgrade]]
 
[[System_Upgrade|System Upgrade]]
  
[[Enyo Ports UI|Enyo Ports UI]]
+
[[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.
 +
 
 +
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:
 +
 
 +
[[Permission_Service|Proposed Permission Service]]
 +
 
 +
[[OTA API Blueprint|OTA API Blueprint]]
  
 
[[Intents|Proposed Lune OS Intents]]
 
[[Intents|Proposed Lune OS Intents]]
Line 46: Line 60:
  
 
[[Swipe_UI|Proposed Swipe UI Convention]]
 
[[Swipe_UI|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 [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.