(inc. technical ToDo, Bugs, Lessons learned, Technologies, ...)
Note that actually deciding WHICH features to implement are strategical choices first then technical ones but still based on the estimation of time required to implement them.
To do
Those should be justified by explaining what value it creates for the user according to Goal.
- create Blog section for progresses
- consider Cookbook:BlogIt
- with RSS
- create a wiki farm to share recipes and structure of others lab project and thus facilitate the lab dashboard
- add to each PTV with their date and their closing date
- apply http://guides.rubyonrails.org/action_controller_overview.html#filters example rather than check in every method BUT the landing page
- consider open-source p2p small hardware version
- a la Status.Net in a DebianBox or on a hardware dedicated for meetings (cf Tweets cc @CyBunk)
- China specific
- kaixin001.com (Chinese Facebook)
- OAuth?
- youku, kaixin, ...
- consider instead http://wiki.opensns.qq.com/wiki/【连接空间】OAuth登录文档 (according to Quora on Kaixin)
- http://open.t.sina.com.cn/wiki/index.php/Oauth/en http://www.quora.com/Sina-Weibo
- consider reading Programming Collective Intelligence, Building Smart Web 2.0 Applications by Toby Segaran, O'Reilly Media 2007
- while keeping FB_Wiki:Events/RailsCampParis3#OwnObjectives
in mind
- consider p2p aGPL for Seedea:Content/Predictions#NearbyPlatform
- see work done for Seeks
- page on FreeBox, LaDistribution, OpenWrt, DebianKindBox, ... potential target platform?
- their requirements, possibilities, licenses and who is managing them, etc
- limit requests#index #edit #destroy to admin user only
- tests to pass
- share to a person that has never joined WheelShare
- allow him or her to receive this when he does
- refresh the list of participant, not nuggets received per participant
- crash test dummy to avoid requiring a friend to test
- if first usage, then use it for a "demo" of link exchange
- open read-only user-friendly URLs
- http://wheelshare.heroku.com/Paris
- resulting in Paris area with default space radius with default time radius meaning now
- if nothing at that location and time, propose to join to add
- add the link, then make the account creation process and directly post the link to that area
- this way no need to login or require geolocalization
- ability to name non-official physical space for recurrent event
- e.g. http://wheelshare.heroku.com/spaces/MBE redirects to http://wheelshare.heroku.com/Paris/VIIIarr/
- make a visualization of the new social affordance generated on the spot
- apply the result of FB_Wiki:MemoryRecalls/ImprovingPIM#TimelyCoeditions
- use FB_Wiki:Cookbook/Overlay#PathFinder
- consider recent Google I/O talk on geolocation
MVP
- let a @Participant subscribe
- share a @Link from one @Participant to another
- read shared @Links
- manage account
- show
- my shared links
- my received links
- merge 2 logged in account
- join gathering
- find nearby gatherings
- find how to use the browser geoloc tool
- invite non logged in to participate (dotted line visual)
- has to be validated by the person who then joins
- do not automatically send invite, rather provide a link from the inviter
- optionally propose to send it for him or her via his logged in account
- initial viral solution?
- change the size of the inclusive circle based on population density
- tiny in large city, big in campaign
Optional features
- mobile edition
- import participant lists
- maximum 20 else it "defeats" the table "design"
- FaceBook group, Meetup, BarCamp, Outlook, Google Calendar, ...
- facilitate input
- completion from local editions of
- the user last tweets
- eventually limited to URLs
- use existing social networks
- natural visualization
- viz
- default link
- default table
- display the picture icon of a participant
- else
- replace a participant by another with an existing account
- add a quick list of participants (separated by a coma)
- move participant icons around to match physical locations
- chose the background
- display the picture of your actual table
- more complete user management
- efficiently find a Gathering
- list by distance and time limited to N results
- nearby distance
- make virtual devices "skins" (laptop, tablet, telephone, ...)
- facilitate social recognition
- social motivation to "show-off" (e.g. iPad users)
- user-agent should facilitate it
- leveraging http://jasss.soc.surrey.ac.uk
- real-time
FourSquare
MVC
Model
User (cf omnisocial model)
login:string
name:string
picture_url:string
account_url:string
Nugget
title:string
url:string
Gift
shared_by:references
shared_to:references
(type:{individual, broadcast}) assuming everything is individual
Gathering (currently assuming 1 gathering in which recently connected users participates)
name:string
include:references
coordinate
table_type
table_picture
duration
View
list nearby gatherings
person from gathering
links from gathering
Controllers
add share
add ref
add person to gathering
Problems to solve
- properly handling multiple models
- acquire users
To integrate
- (cf motivation)
- get notified via email/twitter/facebook
target
- more than 4 persons
- if less then it is probably easier to remember everything
- less than 20 persons
- at least change the visualization
- might not want to share your contact information to that many persons
default settings
user actions
- reminder to send later
- request a nugget
visualization
- map a grid on the table using the table_type
Flow
step by step
- new user
- existing user
- see his shared links
- join a gathering
- share a link
- requires joined_gathering?
- logout (is this really required?)
- create -> login -> join gathering -> share link -> leave
- login -> check shared links -> logout
- ...
Testing
consider in the scenarii non technical ones where the person would rather not use the service
Scenarii
or "user narratives of this user or this person" according to WikisBuffer#Dorsey?
- Scenario 2 : A business meeting nearby the lake
- Date : 11th of June 2011
- Situation : Marc invited everybody to discuss about his startup project in a coffee facing the lake of Geneve.
- Participants : Marc, Jeanne, Stephane, George
- Actions
- Marc arrives first...
- The participants welcome each other. They do not know each others except March
- ...
Paola scenario #1
remarks : less technical, less centered around the application, less discussions about alternatives
- Meeting: activities to do during a we
- Participants
- Eric proposes meeting at his place
- Mark and Laura arrive to Eric's house
- Liv, sister of Eric joins them in the house
- Fred participates online
- Discussion starts: proposals are made, not everybody knows all the places or have doubts about localities, wheather, accomodation
- Liv brings her laptop, from which she is talking to Mark
- Fred is suggesting places through Liv
- Eric suggests they all be able to see what Fred says and interact with him
- there are just two laptops, so Eric proposes they all log into WheelShare, to evaluate the links
- Laura doesnt know how to look for links and switch to WheelShare on her iPhone, wanders if she has to memorize the link, write it down
- Mark wonders if there is a way to have a toolbar search on Wheelshare to be able to drag and drop the links
- Fred send links to the other 4, but they dont always work on the Iphone
- Liv wonders how to keep track of the links of places shortlisted, and then of the better weather forecast, accomodations and activities related to those places
- Laura takes a note pad while Mark opens a .txt. They fight.
- Eric keeps on sharing links to the rest and they get lost
- Liv says she is lost with the amount of links.
- Fred is lost and wonders if he should have gone to the meeting.
- Eric suggests to create folders and decide at the end.
Known problem
- make smaller font/images when there are more people
- saving the nuggets does not redirect to the refreshed /users page
- the table is too slow to load
- the landing page does not redirect
current_user?
to /users
- and the opposite /users does not redirect
current_user?
to /landing
- no personal URL
- drag&drop is not that obvious on the web
Known bugs
- dropping the link on a face opens it
- solved by removing the link
test
if (REFRESH used || BACK used) then fail
if (DROPLINK opens page) then fail
send nugget via drop link
- check if it submits then opens, if so reload page rather than open
save nugget
- work then reload /users page
AJAX to periodially reload the list of shared nuggets
Drawings
asked Lea 11/05/2011 right after making http://lea.benetou.fr , cf email, asked again the 22/05/2011
support: la table pr pouvoir poser dessus
pas de compartiment
devices: iPhone, iPad, Android, tec
utiliser ton Facebook dans les "devices"
un mec en pointille avec un "+" pr faire "ajouter qqn!"
un mec "Crash test dummy"
histoire de pas avoir un ami sous le coude pr tester et se taper la honte
logos sites sociaux: Facebook et Twitter
Pseudo code to use
share()
if (last link shared == same than previous){
do not share
send message
}
not really solving the root problem
feedback would
reload whole page
force display
add hightlight color (JS effect)
if (total users to display == 1)
add crash-test-dummy