No description, website, or topics provided.
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Project home of the webinos PartyPlayer demo

The layout of this project folder is as follows:

    +-- apps                       -> apps, both host and guest
    +-- docs                       -> documentation, incl generated figures
    +-- indexer                    -> the content indexer
    +-- library                    -> shared files
    +--                  -> this file


The PartyPlayer depends on the webinos platform, in particular the App2App and File API.

Please make sure you have a running webinos platform that is connected to a PZH before continuing the installation of PartyPlayer. Webinos installers are found here.

To install the PartyPlayer clone the project or download the zip file and unzip in onto your system.

Indexing your content

For now your mp3 collection has to be indexed and added manually to the PartyPlayer to be able to share media items. The collection has to be put at the correct location of the root file system of your PZP following the steps below:

Create the index

  1. Create a folder and put the mp3 you want to use in the PartyPlayer into that folder.
  2. Install the indexer pre-requests by executing npm install from the indexer folder /indexer. Note: this will need node-canvas.
  3. Run the indexer by executing: ./indexer.js --lib=[path-to-folder-containing-mp3s]

Copy the files into your PZP

  1. Create the folder that is going to hold your media collection: mkdir -p ~/.webinos/${HOSTNAME}_Pzp/userData/file/default/partyplayer/collection.
  2. Copy all the files from your mp3 folder into the newly created folder.

Or on Android:

  1. adb shell into your device (this requires your device to be in developer mode).
  2. Change into the root folder of your PZP. It should be a subfolder of /sdcard/.webinos and ends with _Pzp. For example: 85fc647caa9834c8_Pzp.
  3. From within your ...._Pzp folder create the folder that is going to hold your media collection: mkdir -p userData/file/default/partyplayer/collection.
  4. Use adb push to copy all the files from the folder that holds your mp3s into the newly created folder on your Android device.

When you add more media items to your collection you should always re-run the indexer to have them picked up by the partyplayer.


The PartyPlayer consists of two parts, that both must be opened in a recent version of Safari, Chrome or Chromium. The guest app also works in recent versions of Firefox:

  1. Open the party Host front-end by opening the file app-PartyPlayer/apps/host/index.html. Use a single instance.
  2. Open the party Guest front-end by opening the file app-PartyPlayer/apps/guest/index.html. Use as many as you like.

Check out jira for AppParty for a complete overview of the product backlog, plans for new features or for issuing bugs.

For details on the implementation please refer to the docs.

Building the widgets

Work is in progress to create widgets for the Party Player apps. Please follow these steps to build the widgets:

  1. Install GruntJS by issueing the command: npm install -g grunt-cli
  2. Change into the deploy folder of the party player and issue the command npm install to install the build dependencies.
  3. Issue the command grunt to build the widgets. The widgets can be found in the newly created dist folder.


The Host app is supposed to run large, on a TV screen for example. It plays the media, shows upcoming songs, displays chats and invites people at the party to join in the interactive experience.

The party has to be started by the guest app of the host. For now this is the first guest that arrives and uses the same Personal Zone as the party host uses. All content of this guest is automatically added to the party collection. Once the party host has arrived the party is started and media items can be added to the playlist.

Each guest runs a guest app. Using the app you can share your own music collection with 'Add local items'. Doing so will extend the Collection that is seen by everyone, visually too. Other guests can then proceed to actually 'Add' the content. Note that this scheme requires you to convince others that your shared music should be played!

All music that has been added this way is moved to the funnel. This is where the interaction takes place. Think of simply up-voting your favorites, but also of playing mini games to gain power...


Building the documentation requires PlantUML, jsdoc-toolkit and markdown.

Building documentation on OSX

  1. Download and install PlantUML
  2. Create a script to execute PlantUML and add it to your path. Or you can use this example script
  3. Install jsdoc-toolkit using Homebrew: brew install jsdoc-toolkit
  4. Install markdown using Homebrew: brew install markdown

Good luck!


Check the NOTICE file to see what 3rd party code the PartyPlayer is using.