Cooplet Builder


Coopleteer is the home of Cooplet Builder, an Android app which lets you develop cooplets, or apps written in a new programming language called Cooperscript. Cooplet users install cooplets written by other users, and use these cooplets to maintain a database of records, or to access records belonging to other users of the same cooplet. Each record can be an image or a piece of text. Text is formatted using a markup language called Coopertags, and may contain embedded images. Cooplet developers use Windows or Linux computers to develop cooplets, but the end-users use Android devices. Coopleteer is free to download, but paid subscribers receive perks such as full read/write access to cooplet databases.

Business Model

Subscribers pay $10/year or $3.60 for 3 months. They can add/modify/delete records when given write access, download records, copy/paste text contained in those records, and view normal versions of image files. Non-subscribers can only access thumbnail versions of image files, which have a maximum size of 9216 pixels (96 x 96). They cannot download records or copy/paste text. All users who join in the first 6 months, post-launch, receive a free 6-month subscription.


To search a database for matching records, the user fills out one or more fields in one or more data entry screens, one screen per table. For databases containing more than one table, a master-detail relationship exists between adjacent tables in the table list. All radio buttons/comboboxes are initially deselected, and check boxes are 3-state: on, off, don't care. Enter a period (.) to match a null string in a text field. Only alphanumeric characters are recognized in text edit boxes, other characters are treated as blanks. Keywords entered result in a hit whenever all keywords occur in the matching record. Phrases (multiple adjacent keywords) are delimited with double quotes (").

Search Results

The search results are returned in user-id/hit-count pairs. This list is sorted in descending order by hit-count. The hit-count can be view-count, zip-count, or view-zip-product-count. Whenever an end-user clicks on Zip, a record is downloaded from another user's database, and the zip-count Z is incremented. Whenever an end-user performs a command resulting in a Zip button being displayed, the view-count V is incremented. The view-zip-product-count, P = V(Z + 1).

Clicking on a list member in the list of user-id/hit-count pairs displays the first record matching the query. (When performing a global search, a list of matching cooplets is displayed at this point prior to displaying the first matching record.) By using the next/previous commands (swipe left/right), the user steps through the list of records matching the query, which is sorted in descending order by hit-count. Press and hold to select record. Press and hold bottom of screen to display list of page numbers. Leftmost page number (zero) returns to list of users (search results). Swipe up to hide list of page numbers or scroll down. Swipe down to scroll up.

Easy to Learn

The mandate of Coopleteer is to use a new programming language called Cooperscript to simplify the development of Android apps, especially for novices. The Coopleteer smartphone app is based on cooplets, which are apps written in Cooperscript. Each cooplet has its own database. Coopleteer is pronounced "coop-luh-TEER". Why should Android developers bother learning Cooperscript? Cooplet development is much easier to learn than Android development using Java, making it a novice-friendly stepping stone towards learning how to develop smartphone apps.

Indexed Search

  • Keywords
    • keyid (4)
    • text (16)
  • KeyPages
    • keyid (4)
    • pgid (8)
  • Phrases
    • pgid (8)
    • keyid (4)
    • pos (2)
  • AppPages
    • appid (4)
    • pgid (8)

Monospace Mode

In monospace mode, all body text rendered to the screens of end-users is in a mono-spaced, typewriter-style font. Every character takes up 2 square cells: an upper cell and a lower cell. Superscripts and subscripts are handled by employing a vertical offset of one square cell. Header text is also mono-spaced, and each character takes up 2 oversized square cells.

Additional Formatting

The grid of characters can be subdivided into panels, which can themselves be subdivided into more panels, and so on. Any panel can contain zero or more text boxes, which may overlap each other. Vertical grid lines each take up one square cell per row of square cells. Horizontal grid lines are displayed in the same pixel row as underscore characters. Any row of square cells containing a horizontal grid line which is 2 pixels wide is taller by exactly one pixel. The following bracket characters: ( ) [ ] { } can be oriented vertically or horizontally, taking up a single column or row of at least 2 square cells, respectively. Widgets such as check boxes, radio buttons, and combo box arrows take up 4 square cells (2 by 2). Images, animations, and diagrams are contained in canvas objects, which can appear anywhere panels can appear.

Rich-Text Mode

In rich-text mode, a given header or paragraph of body text can consist of a single variable-width font. Paragraphs have before/after spacing, left/right indent, and line spacing (single, double, 1.5, etc.). Panels have margins on all 4 sides.

[ Back to Top ]