FAQ
Cobalt FAQ.
Build Kobo apps without writing the device layer each time. Cobalt includes the SDK, runtime, simulator and Store.
How is Cobalt different from NickelMenu?
NickelMenu adds actions to Kobo's stock menu. Cobalt uses one action to add its entry to that menu.
Once started, Cobalt launches and manages apps. It handles their screens, lifecycle, e-ink drawing, partial refreshes, touch input, storage, networking and device access.
How is Cobalt different from KOReader or Plato?
KOReader and Plato are reading apps. Their code includes the UI and device support they need.
Cobalt is a platform for building many kinds of apps. Apps use the same SDK and runtime for the common device work.
What does Cobalt handle for an app?
Apps define their screens and behavior. Cobalt handles layout, framebuffer drawing, e-ink refreshes, touch input, lifecycle events, background work, private storage and device requests.
This code is shared by every Cobalt app. App authors do not need to build a new UI toolkit and device layer for each app.
How are apps isolated?
Cobalt starts each app as a separate unprivileged process. Apps declare the services they need, such as network, storage, audio, Bluetooth or frontlight access, and the runtime checks each request.
Store also verifies signed catalogs, packages, manifests and binaries before launch.
How do developers build and test an app?
kobo new creates an app. kobo dev runs it in the browser simulator with the same screen model used on the reader.
The build tools then package it for supported Kobo hardware. The app does not need its own framebuffer, touch or device service code.
What does the Store add?
The first Cobalt installation uses USB. After that, Store can install, update and remove signed apps over Wi-Fi. App releases are separate from Cobalt platform releases, so publishing one app does not require reinstalling the platform.