Palsu is an interactive meeting tool that is used to demonstrate capabilities of VIE. The idea is to create a tool for coordinating both online and real-world meetings. This means being able to manage:
- Meeting scheduling
- Agenda for meetings
- Collaboratively written meeting notes
- Action points (tasks) that arise in the meeting
- Participants of the meeting, and action points assigned to them
Palsu comes from the Finnish word for a "meeting". There is a public demo of Palsu running on palsuapp.info.
List of meetings
The main view of the application is a list of meetings. The list should contain the title of the meeting and the date.
Next to the list of meetings there should also be an Add button allowing users to create new meetings.
The view of an individual meeting is split into three areas:
- On the top there is the meeting title and agenda
- Below that there is a discussion area where participants can write their notes. This is basically a group chat.
- Meeting messages may contain annotations. For example, Henri should write a specification could be annotated with Henri being a person, and write a specification being a task assigned to him
- On the right-hand side there are lists of content lifted from the meeting contents. This includes at least two lists:
- People includes meeting participants and people mentioned in the meeting notes. This could be visualized by grouping people by organization, a bit like in BaseCamp
- Action Points includes all tasks mentioned in the meeting. Here it should also be possible to assign tasks to people and mark them as completed
List of tasks
There should also be a view of all tasks assigned to the current user across all meetings. Here the user should be able to go to the meeting where the task was assigned, and to mark tasks as completed.
To login you need to use your Twitter account. It works best with Google Chrome browser, Firefox should also work. Start at: http://palsu.me
The following functions should be available:
- create a new meeting and join in
- take part in any existing meeting
- write posts in the chat panel - press send!
- edit the agenda of the meeting - double click to start editing
- create tasks
- write a task text in chat input (e.g. "do more of this and that")
- mark the text
- click on the clock symbol in format pane below the "I"
- you can assign a task to one of the other participants or a twitter follower [*]of you: type 3 chars > autocomplete > select person with cursor down > press enter
- choose due date from date picker
- post message with send button
- task should appear in tasks tab >
- manipulate tasks
- make a task completed by simply clicking on it
- edit a single task or edit e.g. the due date
- see all tasks of all meetings at the tasks page http://palsu.me/t
- annotate entities (people) automatically via stanbol
- post a message containing names of entities, e.g. persons ...
- persons should appear automatically in the mentions tab
- annotate people manually
- mark in text
- click on people symbol from format pane
- type 3chars > autocomplete > select cursor down > press enter
- person should appear in the mentions tab
Palsu is a web application that requires a modern browser for meeting participants, and a simple Node.JS server. Communications between meeting participants is handled by passing JSON-LD entities over socket.io. This enables real-time collaboration during the meetings.
The user interface should be a single-page application to minimize unnecessary server interactions. This also makes it easier to later add offline capabilities.
Palsu development is managed using GitHub: http://github.com/bergie/ViePalsu
Future feature ideas
- We could try to recognize tasks from the textual content, a bit like is done with the Sandy tool (but note, that thea were acquired by twitter in 2008 and are no longer available as service, see:
Instruction on how to install and run Palsu on your webserver / computer. Palsu is a Node.js applications using Redis as data server.
To run the Palsu app on your own computer you'll need the following components:
- Node.js -- https://github.com/joyent/node/wiki/Installation
- Redis -- http://redis.io/download
- NPM -- https://github.com/isaacs/npm#readme
Download ViePalsu to your prefered location (/palsuapp/):
- ViePalsu -- https://github.com/bergie/ViePalsu/tarball/master
- Extract the contents of the downloaded archive file or your git clone to eg. /var/palsuapp/
Install the required NPM packages:
- run the command "npm install" in your /var/palsuapp/ directory to install the needed NPM packages (backbone browserify coffee-script connect connect-auth connect-redis express htmlparser jquery jquery-browserify jsdom oauth redis request socket.io socket.io-connect system underscore querystring)
Create a Twitter App for user authentication:
- navigate to dev.twitter.com and create a new app -- use "http://localhost/oauth-signin" as "Callback URL" parameter (you just need read permissions for the app)
- update "/var/palsuapp/"configuration.json and add the Twitter App Key and Secret values
Adjust the Palsu hostname and port in your configuration file:
- update the "hostname" and "port" values in /var/palsuapp/configuration.json if needed
In your /var/palsuapp/ directory:
- run the command "coffee nodejs/palsu.coffee" to start Palsu and navigate to http://localhost:8001 (default configuration port and host values) to login to Palsu
- http://localhost can/should be replaced with your own domain name (eg http://palsuapp.example.com)
- /var/palsuapp/ is the location in your file system (eg /var/www/apps/viepalsu/)
To run the Palsu app as process on your server you could use: https://github.com/indexzero/forever