Alpha Early test version. Many parts do not work properly yet. Export any work you want to keep.

For students and teachers

Put your app
on the shelf.

The Desk has a shelf: a list of recipes that every Desk can look at in its App Store. This page says how an app gets onto it. You write the recipe and try it; the Desk team reviews it and puts it there.

Hand it in with your course code.

Whoever runs your course gives you a code. With it you hand in your recipe and your notes on the hand-in page. The Desk team reads what arrives; nothing is published from there. This page itself sends nothing.

Start here

Four steps.

An app for the Desk is one text file, a recipe. It names a published container image, the port, where the data lives and a few settings. The app itself can be your own project or somebody else’s.

1. Write the recipe

A recipe is a Compose file with a few extra lines. The help page shows how to write one, with two complete examples. The image needs an exact version, such as 1.4.2; latest is refused. If the app is your own, publish its image first, in a registry everybody can read.

2. Let the Desk check it

Run desk check my-app.yaml, or paste the file under “Add an app from a file” in the App Store and press “Check it”. The Desk names the first line it does not accept. Change it and check again, until it says “The recipe is complete.”

3. Use the app

Add the recipe to your Desk and start the app. Do the thing the app is for, once, with made-up data. Stop it and start it again: your work must still be there. Remove it and start it once more: your work must still be there then, too.

4. Write down what you saw

Note your operating system, the Desk’s version (desk version), what desk doctor prints, what worked and what did not. Say plainly what you did not try. A test on Windows says nothing about a Mac.

Somebody else’s app?

That is fine and common. Use the image its makers publish, name them, and check that their licence allows others to run it.

Your handoff

Hand in these four things.

  1. The recipe. One file, named after the app’s id: an app with id: my-app is my-app.yaml. Its first comment says what the app is and where the image comes from.
  2. Where the app comes from. A link to the project and to its licence. For your own app: the repository with your code.
  3. What you tried. Your notes from step 4.
  4. What the app needs and sends. An account, a key, a model, a large download, a service on the internet: say each of them. If it needs none, say that.

Put no password, no key and no personal data into the recipe, your notes or a picture. A secret the app needs is made by the Desk on each computer; the help page shows the two lines for it.

Review

What happens then.

Where it goes. Into the hand-in box of this website: hand in your app, with the code of your course. Without a code, give your file and your notes to whoever runs your course.

What the Desk team checks

  1. The Desk accepts the recipe, and its id, port, containers and volumes do not collide with an app that is built in or already on the shelf.
  2. The image comes from the app’s makers, has an exact version, and its licence allows others to run it.
  3. Somebody on the team installs the app, uses it, stops it, starts it again and removes it, and the data is kept each time.
  4. The file holds no secret, and what the app needs and sends is said.

How it gets onto the shelf

The team adds your file to the folder site/shelf of the Desk’s repository and its name to the list there, through a pull request. The project’s automatic checks run on it. When it is merged, the recipe is on the shelf at https://ai.32dots.de/shelf/shelf.yaml, and every Desk shows it in its App Store after “Show more apps”.

Being handed in is not being accepted. The team may ask for changes or say no, and a recipe can be taken off the shelf again, for example when its image is withdrawn.

What the shelf does not do

A Desk marks an app from this shelf “Desk shelf”. That says where the Desk fetched the recipe and that its text is unchanged. That the team tried it is the promise of this page; the Desk itself cannot check who looked at a file. The shelf installs and updates nothing: each person presses “Install” themselves.

A shelf of your own

A course does not have to wait for this shelf. Anybody can keep one: a short list and the recipes next to it, at an address that starts with https://. The help page shows the list and how a Desk is told about it.

Hand in your app · How to write a recipe