For artists
Performing and broadcasting
Multi-angle broadcast from several devices
Any number of devices can broadcast the same performance at once: phones on stands, a laptop at the
mixing desk, a camera on the drummer. Each device is one angle.
- Naming an angle. Each device gives itself an angle name, such as "Stage left" or "Keys". It
defaults to the account's display name. When a device renames its angle, the media server writes
the new name onto everything that device is sending and tells every viewer and performer in the
room, so the label changes everywhere at once.
- One audio source. Every angle can send video, but only one sends the sound viewers hear. A
performer marks one device as Primary audio. Viewers play the audio of the first angle marked
primary, and if none is, the first angle that has audio. Viewers see which angle the sound comes
from ("Audio source: Keys"), and they always see every video angle.
- Featuring an angle, and following. Anyone in the room can tap an angle to feature it on their
own screen. A performer who turns on Let others follow the angle I select also announces that
choice to the room. Each viewer chooses whether to follow: with Follow angles selected by:
Anyone, their featured view switches to whichever angle was last announced; with Nobody, the
default, they stay where they are. The server only accepts an announcement from the person whose
session sent it, so nobody can steer the room in someone else's name.
- Device settings stay on the device. Angle name, primary audio, echo cancellation, noise
suppression, automatic gain and preferred camera and microphone are remembered per device, so a
phone that is always the drum camera comes back as the drum camera.
Requests, from the stage
Fans request songs from your catalog during the show, optionally with a dedication.
- One live request per fan per song. If a fan requests the same song again, the new request
replaces their old one.
- Requests close when you play the song. When you select a song to play, every open request for
that song changes to Played, and fans see it happen.
- Your queue. You can decline a request, delete it, or reset the queue for the night.
- Now playing and intermission. Selecting a song marks it as now playing. Starting an
intermission or ending the performance closes the current song.
Songs, events and links
- Song catalog. Your list of songs, each with a status, a rating and links to charts. Fans
request from it.
- Events. Your performances, by venue and date and time. Past events are grouped by year.
Events drive the events list, the map, alerts and mailing lists.
- On the map. While you perform, your pin on the live map shows that you are live, in
intermission or finished, and the song you are playing, so fans nearby can find you.
- Links. One page for your tip links, social accounts and websites.
- Lineups. An event can have several artists, including guests who have no account yet.
- Embeddable widgets. Parts of your page that can be placed on your own website.
- Claiming a profile. Whoever books a show can list you in its lineup before you have an
account. They send you a claim link, and you take the profile over with it. A new claim link
replaces the old one, and the profile can only be claimed once.
Designed, not yet available: broadcast tied to song selection
With Start/Stop With The Selected Song on, the broadcast starts when you select a song, pauses
at intermission and stops when you end the performance. The setting is saved to your profile, so
every device you perform from follows it.
Visual artists
These features are designed, and the code for them exists, but the app does not yet link to them.
Works
Each work has images, a description, tags for genre, style, medium and size, its exhibitions past,
present and future, and its sale settings: not for sale, a fixed price, best offer, auction, or a
combination.
Request to Exhibit
A Request to Exhibit is a negotiation between an artist and a venue that ends in a scheduled
exhibit.
- The record is append-only. Every step of a negotiation is a new row sharing one negotiation
id, and the current state is the newest row. Nothing earlier is overwritten, so the full back and
forth is always there.
- States. A request starts Pending. The venue can accept it, which opens scheduling, or
reject it. Either side can cancel. Once both sides agree, the request is Confirmed.
- Terms, field by field. For a visual artist the terms are: start date, end date, location
within the venue, minimum and maximum number of works, maximum height and width, and free-text
terms. When the venue accepts, it ticks which of those fields the artist may counter. The
artist can then propose new values for those fields only. Each counter can again open or close
fields to further counters. When no field is left open to counter, the other side can only
confirm or decline.
- Turns alternate. A side can only counter the other side's latest proposal, never its own.
- A stale reply is refused. Every counter, cancel or confirmation names the step it answers. If
that step is no longer the newest one, because the other side has moved in the meantime, the
reply is refused with "The referenced request is not current. Please refresh and try again."
Nobody can confirm terms that have already changed.
- Confirming creates the exhibit, with the artist, the venue and the agreed dates, linked back
to the negotiation that produced it. Works are then attached to the exhibit.
- Notifications. Each request, acceptance or counter, rejection and cancellation sends an email.
The same flow is meant for other kinds of artist: for a musician the exhibit is a gig, and for a
chef it is a tasting.
Labels with a QR code that follows the work
The app prints labels and plaques for works, from 2-inch labels to business cards, with a QR code
and any of: title, artist, description, exhibit dates, price ("or best offer" when offers are on),
auction dates and the link.
The QR code can open the work, the artist's page, or the venue where the work is on show. For
the last one, the app looks through the work's exhibits by date. It picks the exhibit running now,
from its start until its end, or if none is running, the next one to start. The code then opens
that venue's page. A label printed for a touring work therefore points visitors to where the work
is now, or where it goes next.
Best offer
A buyer can offer an amount for a work, which can be below its fixed price, and the artist can
accept, decline or counter.
- An offer thread is append-only. Each offer, counter, acceptance, rejection or cancellation is
a new row in a thread with its own id, and the thread's state is its newest row.
- The buyer opens, then turns alternate. The first row must be the buyer's offer. A side may
accept, decline or counter only when the newest row is the other side's offer. A side may cancel
only its own offer that is still standing.
- One open offer per buyer per work. A buyer cannot open a second thread on a work while their
latest offer on it is still standing.
- Competing offers close automatically. Whenever a thread on a work moves, every other thread
on that work that is still waiting on an offer is closed. Offers end the same way when the work
sells at its fixed price or at auction.
- 24 hours to respond. Each offer is shown with an expiry 24 hours after it was made, and the
email asks for a reply within that time. Expired offers are designed to close on their own.
- Emails carry the history. Each step sends an email with the offer's current status and the
whole thread so far, rendered on the server from the same components the app uses, with buttons
to accept, counter or decline.
Auctions
A work can be auctioned with a starting price, a reserve price and start and end dates. Its status
is Not started, Active or Completed, depending on where now falls between those dates.
Bidding itself is not built yet.
Sales through a venue
A sale records the buyer, each work and its artist, the price, tax, the total and the venue where
the sale happened, so a venue can see what sold on its walls. Cash and cheque sales are recorded
as waiting for payment until the artist or venue marks them as paid.