yodaos-project / yoda.js

Application Framework that powered YodaOS
Apache License 2.0
187 stars 48 forks source link

The v8 of YodaRT #48

Closed yorkie closed 5 years ago

yorkie commented 5 years ago

Now we have the following UIs to work with:

The basic services are:

  1. MediaPlayerDaemon is a service that controls all the media tasks.
  2. TextToSpeechDaemon is to control all the TTS requests.
  3. BluetoothService is the service that manages all the bluetooth tasks and states, also the abstract layer for different low-level implementations like: bsa_server or bluez.
  4. Activation is to optimize the awaken user experience, but only controls the sound.
  5. PulseAudio is still awesome software that we should use more to manage the sounds.

The above are just naming optimization than our current implementation, not big addresses and improvements.

Redefinition of YodaRT

We have to refine the meaning of YodaOS Runtime, namely YodaRT. In our implementation, this runtime includes all basic services implementations and libraries, which might be not clear for any incoming developers.

Thus, as the first step of starting the next parts, I propose that this runtime includes the following:

So the new root directory would only contains: lib, shell, voice and display.

Yoda Flow

Except for the shell, voice and display components, we should have a component named as “flow”, which is the tiny core to provide the minimum support for all the use cases.

The Flow should own the following abilities that we resolved in v7:

  1. Apps loader.
  2. Apps scheduler.
  3. Custodian for network manager.
  4. Dbus expose.
  5. Keyboard controls.
  6. Lifetime of applications and skills.
  7. Permission controls.
  8. MQTT wormhole.

To be continue, but any ideas is also welcome to chime in :)

/cc @Rokid/nodejs

yorkie commented 5 years ago

Closing this because the YodaOS 8 refactoring has been done!