WebIDE allows you to connect the Firefox Developer Tools to a number of other browsers, such as Firefox for Android. With it, you first set up one or more runtimes. A runtime is an environment in which you'll run and debug the app, and it can be a Firefox OS or a KaiOS device connected to the desktop over USB or a Firefox OS Simulator installed on the desktop itself.With WebIDE you create an app or open an existing one.
If you're creating a new app you can start with a template that includes the directory structure and the minimum boilerplate you need to get started, or a more complete template that shows how to use a privileged API. WebIDE shows your app's files in a tree, and you can edit and save them using a built-in source editor.Of course, you don't have to use the built-in editor: you can develop your app entirely outside WebIDE, and only use it for debugging.Finally, you can install the app in one of the runtimes and run it. You can then open the usual suite of Firefox's developer tools (Inspector, Console, JavaScript Debugger and so on) to examine and modify the running app.(source developer.mozilla.org/)

App permissions

The permissions field in the app manifest controls the app's access to various sensitive APIs on the device (sometimes called WebAPIs). The permissions are described in the following tables.The three levels of permission, in brief, are:
Web apps: These only have a basic level of permissions, and don't have access to privileged or internal APIs.
Privileged apps: These have all the permissions of web apps plus more. Hosted apps can't be privileged — they must be packaged apps.
Internal (certified) apps: These have all the permissions of privileged and web apps plus more. Certified/internal apps can only be installed on a device by Mozilla or a device vendor; not 3rd party developers.
For more information on app types, see Types of packaged apps.(source developer.mozilla.org/)

How to use WebIDE for sideload apps?

1) Dial the debug code *#*#33284#*#* (on some devices is needed the additional code *#*#0574#*#*) with your keypad. A bug icon should appear in the system taskbar above;

2) Connect the phone via ADB. If WebIDE does not see it, run the command

  • adb forward tcp:6000 localfilesystem:/data/local/debugger-socket;

NOTE: the step 2 is not needed with Kaiostr, the official KaiOS emulator of KaiosTech.

3) Set WebIDE to connect to "Remote Runtime" (usually at the localhost:6000 address);

4) Select the application's folder using "Open packaged app" of WebIDE;

5) Perform the installation by clicking the "Play" triangle above;

The application should be opened and appear in the menu. When a device undergoes a "privileged factory reset" (possible with OmniSD and Wallace) WebIDE will also show all applications installed on the device, as well as various options and settings possible only with certain privileges.

A working version of WebIDE

WebIDE in the past was a tool used for Firefox OS, so with the latest releases of the Firefox browser it lost many useful features for us to develop applications on KaiOS. Fortunately it is possible to install old versions of Firefox or Gecko-based browsers (first of all Palemoon) or addirittuara an official version made available on the KaiosTech website dedicated to developers.

KaiOSRT: official KaiOS emulator for linux

Recently Kaiostech has made available to developers and enthusiasts on its official website a KaiOS emulator for linux, Kaiosrt, with which it is possible to interact with your device by simply connecting it to the PC with debugging enabled (so without having to use ADB on the step 2 of the previous guide).

Alternative WebIDE versions

The so-called "alternative" versions are actually original versions of WebIDE, born with the development of Firefox, and in several cases are more appreciated for compatibility issues with certain devices and support more platforms.

The best known of all is precisely the one present in Firefox, but to work with KaiOS and Firefox OS devices must be based on the Gecko engine, but even if the versions of Firefox from 57 to 59 were notoriously the first to be based on Quantum, they they kept the last traces of a glorious past.

Until some time ago there was Pale Moon browser to retain this feature, which was later removed in versions later than 28.6.1.

Mozilla Firefox 59 or earlier

Firefox 59 ESR was the last version available for the Boot To Gecko development, and the last one with a workable WebIDE for KaiOS devices (older versions also work well, especially Firefox 49 or Firefox 52.9 ESR).

If a newer version of Firefox is already installed on your PC, it will conflict with the previous version. Remove it completely or install a "portable" version.

You must made a backup of you /home/USER/.mozilla folder if you want to save your personal data and personalizations on the browser.

sudo add-apt-repository ppa:jonathonf/firefox-esr-52
sudo apt-get update
sudo apt-get install firefox-esr

Pale Moon 28.6.1 or earlier

Pale Moon is a fork of Firefox with substantial divergence. The main differences are theuser interface, add-on support, and running in single-process mode.

It retains the highly customizable user interface of the Firefox version 4–28 era.

It also continues to support some types of add-ons that are no longer supported by Firefox (including WebIDE until the v28.6.1, 2019-07-25).

Pale Moon is an Open Source, Goanna-based web browser available for Microsoft Windows and Linux (with other operating systems in development), focusing on efficiency and customization. Make sure to get the most out of your browser!