tiinyapp.farm

The launcher

Tiiny App Farm, the desktop app that installs and runs farm apps without a terminal.

Not released yet. This page describes the app that is being built, so that you know what is coming and what it will and will not do. Until it ships, everything here is done with the command line, which is covered in Getting started.

Tiiny App Farm is a small app for macOS and Windows. It installs farm apps, starts them, stops them and updates them, and it does all of that with buttons rather than commands. It is the same farm underneath: the same catalog, the same archives, the same checksums and the same folder on your computer.

You do not need Python, Node, Docker or a package manager to use it. The app carries its own Python inside itself and uses it to run the apps you install.

One download

There is one file for each platform.

  • macOS. A disk image. Open it and drag Tiiny App Farm to your Applications folder. It is signed and notarised by Apple, so it opens without an argument.
  • Windows. An installer for the x64 build. It installs for your user account only, so Windows never asks for an administrator password. Windows on ARM is not built yet.
  • Linux. There is no launcher. Use the command line, which works everywhere and is what most Linux users already have. See Getting started.

Both downloads come from this site, at tiinyapp.farm/launcher/. The app checks the same place for its own updates and installs them quietly when you next open it.

The first time you open it

Four things happen once, and then never again.

  1. It looks for your Tiiny. It tries http://openai.api.tiiny/v1 first, which is the address the TiinyOS client publishes on a Mac. If that does not answer, there is a box for http://<your-tiiny-ip>/v1.
  2. You paste your key. TiinyOS, then Settings, then API Key. The app writes it to ~/.tiinyapps/device.json with the file readable only by you, which is the same file farm device writes and the same permissions.
  3. You pick an app. The grid is the live catalog from this site, icon first, with the same Reviewed and New marks the catalog pages show. Opening one shows what it needs and what access it asks for before anything is downloaded.
  4. It installs and starts it. You see the download, the checksum and the unpack, and then a button that opens the app in your browser. An archive whose checksum does not match is never unpacked, exactly as on the command line.

After that there is a menu bar icon on macOS and a tray icon on Windows, listing what is running with Open, Stop and Update beside each one. Closing the window does not stop your apps.

It is the same farm as the command line

This matters more than it sounds. The app is a face on the farm command, not a second way of doing things.

ThingWhere it is
Installed apps~/tiinyapps/<id>/
Your device settings~/.tiinyapps/device.json, mode 0600
An app's log~/tiinyapps/<id>/farm.log
The cataloghttps://tiinyapp.farm/manifests/

So you can start with the app and move to the command line later, or the other way round. Install the CLI with pip install tiinyapp-farm, run farm list, and everything the app installed is already there, running or stopped, with its version and its port. Nothing is converted and nothing is copied.

The reverse is just as true. If you have been using the command line for months, opening the app shows you what you already have.

What it never does

Being clear about this early saves a support message later.

  • It does not sandbox anything. An app declares the access it uses, the card shows you that before you install, and the app then runs with your own permissions. That is the same promise the command line makes, and it is not a stronger one.
  • It does not install Docker, MySQL or Postgres. A farm app is a program and a folder. If something needs a database that is a server, a system service or an administrator prompt, it is not a farm app.
  • It does not need a compiler. Nothing is built on your machine.
  • It does not ask you to sign in. Browsing and installing need no account. Publishing an app still happens through the site or farm publish, where your token already lives.

An app that needs more than the app can honestly give is refused at submission rather than left to fail on somebody's laptop.

When the operating system gets in the way

macOS says the app cannot be opened. The disk image is signed with a Developer ID certificate and notarised, so this should not happen. If it does, you most likely have a copy that did not come from tiinyapp.farm/launcher/. Delete it and download it again from the install page.

Windows shows a blue "Windows protected your PC" panel. Press More info, then Run anyway. The installer is signed, but SmartScreen also weighs how many people have downloaded a given publisher before, and a new one has no history yet. That history builds on its own over the first weeks. Check that the publisher named on the panel is Titanium Computing before you continue.

Your Tiiny is not found. The app and the device have to be on the same network, and the Tiiny has to be switched on. Try http://<your-tiiny-ip>/v1 in the manual box. Everything in Troubleshooting about reaching a device applies here too, because it is the same code doing the reaching.

All documentation Install an app Submit an app