What the toolbox handles – and what your tool has to do itself
The toolbox starts, stores and protects your tools. A few things every tool has to manage itself, though. Here you see who handles what and where the limits are.
Who handles what
The toolbox takes care of
- It puts the tool on the shelf as a cassette, with name, icon, color and shelf.
- It launches it full screen. The back gesture takes you back to the toolbox.
- It keeps the values your tool saves with localStorage, per tool. They stay after you close it.
- It runs the tool isolated: it sees neither your library nor the data of other tools.
- It works without a network. Every tool that does not load things from the internet itself runs offline.
- It keeps earlier versions (3, 5 or 10, adjustable). If you load a file with the same name, it becomes the new version.
- It makes backups: all tools and their data can be saved into one file.
- It shows errors in a tool (red counter) and hands the tool and your wish to a chat with “Change with AI”.
- It can keep a tool running in the background on request, for example music or a timer.
Your tool has to handle
- Coping with a phone: viewport setting, large tap targets, readable text.
- Putting its values into localStorage if they should be kept. sessionStorage and cookies are not kept.
- Catching bad input, such as empty fields or a division by zero.
- Offering an export button if the data should be useful outside the toolbox.
- Bringing everything it needs: images, fonts and code live in the file, not on foreign servers.
Limits of the toolbox
| Limit | What it means |
|---|---|
| One file | A tool is exactly one .html file. Projects made of several files do not work. |
| Isolated | A tool sees neither your library nor other tools and has no access to the file system. It only gets files you choose for it inside the tool. It sends data to another tool only after your release (see “Linking tools together”). |
| Extended permission | Microphone and camera are only available if you switch them on for that tool. Then the tool no longer runs fully isolated. Only do this for tools you trust. A tool can register these rights in its file, then the toolbox asks before the first start. The gallery tools deliberately do without it. The proposal is that the app will later mediate camera and microphone without lifting the isolation (see “Outlook”). |
| Database of its own | IndexedDB also works isolated. Values must be representable as JSON (dates are kept, Blob and ArrayBuffer are not). |
| Device features | Vibration, keeping the screen awake, full screen and the clipboard are intended for tools. Whether they work depends on the device: when in doubt, try it. |
| Internet | Features that need the network (for example weather data) only work online. The toolbox itself does not need a network. |
| No accounts | There is no sign-in and no cloud sync. Your data lives on the device. You back it up with a backup file. |
| Android and Chrome | The toolbox runs on Android with Chrome. A Play Store version is in preparation. |
See also: Linking tools · Outlook: connection layer