Generate an Appa Apps Photo App

Enter the name of your userid/repository on gitHub which contains the file: sourceFile.txt defining this app and push submit.

For example:


How to write an app

You too can create an Appa Apps Photo App today!

The file: sourceFile.txt contains a typical app description. An app description tells me how to create an app for you. The app so created can be played either in a web browser or as a native Android app. You can distribute your app either via Google Play or via email.

An app description starts with a single app command followed by additional photo and fact commands. Each command is defined by the values of its associated keywords. The commands and their keywords tell me how to create the app for you.

Your students will be shown the photos, hear the facts spoken and then be tested on the facts by the app. Facts that the student gets wrong will be retested until either the student stops playing the app or they get the facts right! Facts are spoken by Amazon Polly so there is no need to record them.
appThe first command should be an app command whose keywords outline the app so I know what the app is about.
photoFor each photo that you want to include in your Appa Apps Photo App, you should code one photo command to give the photo a name and title and to tell me where the photo is located on the Internet so that I can go and get it to include it in your app for you.
FactUse the fact command to describe the photos in more detail: to supply additional material to teach and test your students with.

Once you have coded the app definition file, it should be placed in a repository on GitHub. To do this:

  1. Sign up for a free GitHub account
  2. Put your app definition in a file: sourceFile.txt in a repository in your new account
  3. Add Appa Apps as a collaborator
  4. Goto: generate an app
  5. Enter the name of your repository in the input box
  6. Press submit.


If you need help, please email me or create an issue against your repository on GitHub which I will be able to see as soon as you have made Appa Apps a collaborator on your project.

Language reference

Commands and keywords

Each command uses keyword = value pairs, coded one per line, to supply the information that I need to construct this app for you. Here is a list of the current keywords for each command and the actions that I will take if you code them:

appOutline description of an app
nameA short name for this app
titleThe title for this app
orderedNew items will be chosen in the order in which they are written in the app definition file if this keyword is present, otherwise new items will be choosen at random
maximagesThe maximum number of images to show in one selection at a time in the app: choose a value that reflects how many images a competent user might reasonably scan in 30 seconds 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
iconThe url or file name of an image that will become the icon for this app
authorThe name of the person who wrote this app
emailThe email address of this app so that users have somewhere to send suggestions or complaints
languageThe two character code which describes the language this app is written in en cy da de es fr is it ja nb nl pl pt ro ru sv tr
photoDescription of a photo that illustrates one or more facts
nameA short name for this photo which will be matched against fact names
titleThe title for this photo
urlThe url to this photo on,, or any other photo sharing site
mapsUrl showing map reference for this photo
afewcharsOne or two characters to display - useful in alphabet and number games
factDescription of a fact about one or more photos that the student can be tested on
nameA short name for this fact which will be matched against photo names
titleThe text of this fact
remarkExplain why this fact cannot be used as a question
wikiWikipedia article about this fact

Command Syntax

Normally you should place the command name alone on the first line and then follow the comamnd with one or more keyword = value pairs on each succeeding lines. To save space, the command and the keys name and title can be combined into one line. So the code:

    name  = white.cliffs
    title = The "White Cliffs of Dover" from an arriving ferry

can be combined to save space to form:

  photo white.cliffs = The "White Cliffs of Dover" from an arriving ferry

Matching names

We build the app from photos and facts. Each photo and fact should have a name = value keyword to specify a label and description for each photo and fact. The names are matched so that in the following:

  photo sky       = The sky above us
  photo  = Blue skies over the sea
  photo   = Sunset

  fact sky      = The heavens above us
  fact = Lots of sun shine soon
  fact sky.grey = Rain will fall soon

the following matches will be made:

CommandNameApplies to
fact sky All three photos
fact Photos "The sky above us", "Blue skies over the sea" but not to "Sunset"
fact sky.grey No photo.
photosky Illustrates all three facts

The student will be tested on the word sky and the phrase "The sky above us" using all three photos.

However, with the above source code the student will never be tested on "Rain will fall soon" as the fact named sky.grey does not match the name of any photo. Adding a photo with a name, for example, sky.grey.rain would bring this fact into play by matching the name of the photo with the fact's name of sky.grey.

Example App

Here is the start of a typical app written using the commands described above:

app horses=an app about horses                                                  # Short and long name for the app
  maximages = 6                                                                 # Maximum number of images to show at any one time
  icon =           # Url to a photo to be used as an icon to represent the app
  author=phil                                                                   # The name of the author
  email =                                              # Email address of the author

photo arab.1= arabian stallion on grass                                         # Name and description of the first photo in the app
  file =           # Location of the photo on the Internet

fact arab = Originated in the deserts of the Arabian Peninsula                  # The name of a fact and the text of a fact illustrated by the photo

Just add more photos and facts to complete the app.