Multiplayer SocialCalc with WebSocket - Also see https://github.com/audreyt/ethercalc
JavaScript Perl
#2 Compare This branch is 240 commits ahead of DanBricklin:master.
Latest commit a75db5f Sep 30, 2011 @audreyt Merge remote-tracking branch 'origin/master'
Conflicts:
	dotcloud.yml
Permalink
Failed to load latest commit information.
cpan * Add ContentLength middleware, and make a requirements.txt in prepar… Jul 25, 2011
docs * Various small fixes; replacing the doc pdf with a link. Nov 18, 2009
images Merge commit 'dbrick/master' Jul 6, 2010
third-party * Add PocketIO/lib to third-party/lib/ and remove the redundant web-s… Jun 26, 2011
Changes.txt Upgraded to Tracy's drag palette images and their radii, Jul 5, 2010
LEGAL.txt Added text subtype "tr" (text rich) to formula1.js and socialcalc3.js Oct 21, 2009
LICENSE.txt Added text subtype "tr" (text rich) to formula1.js and socialcalc3.js Oct 21, 2009
Makefile.PL * Add dotcloud integration. Aug 19, 2011
README Merge remote-tracking branch 'origin/master' Sep 30, 2011
SocialCalcServersideUtilities.pm * Fix typo: In datatype, use "v" for numeric value, not "n". Dec 13, 2010
TODO add unwinding TODO Nov 1, 2009
app.psgi * Add ContentLength middleware, and make a requirements.txt in prepar… Jul 25, 2011
dotcloud.yml * Add stand-alone Fliggy server for dotClout thanks to @miyagawa++ Aug 26, 2011
formatnumber2.js Major additions (see Changes.txt for specifics and bug fixes): May 13, 2010
formula1.js * Establish baseline before merging from dbrick. Oct 22, 2009
index.css * Add support for image and wafls Oct 22, 2009
index.mt * Switch from Web::Hippie to PocketIO. Jun 26, 2011
multiserver.pl * Switch from Web::Hippie to PocketIO. Jun 26, 2011
nginx.conf * Add stand-alone Fliggy server for dotClout thanks to @miyagawa++ Aug 26, 2011
player.js * Switch from Web::Hippie to PocketIO. Jun 26, 2011
postinstall * Add stand-alone Fliggy server for dotClout thanks to @miyagawa++ Aug 26, 2011
requirements.txt * Add ContentLength middleware, and make a requirements.txt in prepar… Jul 25, 2011
simpleedit14.pl Initial commit Feb 23, 2009
simpleedit15.pl Changed dragging vertical thumb to display part of each proposed new … Jun 2, 2009
socialcalc-3.js * Fix a simple typo that renders non-numeric cells as numeric. Aug 30, 2011
socialcalc.css * Add note on CSS-based combination of multiple inset shadows. Dec 12, 2010
socialcalc2demo-0-8-1.html Moved sum button into socialcalcspreadsheetcontrol.js, made OLPC vers… Jun 2, 2009
socialcalc2demo10.html Added socialcalc2demo10.html. Upgraded socialcalcserver.pl to have in… Mar 10, 2009
socialcalcconstants.js Upgraded to Tracy's drag palette images and their radii, Jul 5, 2010
socialcalcpopup.js * Remove ST-specific dialog code. Oct 22, 2009
socialcalcserver.pl Major additions (see Changes.txt for specifics and bug fixes): May 13, 2010
socialcalcspreadsheetcontrol.js Major additions (see Changes.txt for specifics and bug fixes): May 13, 2010
socialcalctableeditor.js * Fix {bz: 4953}: Chrome wants "window.focus=true" instead of "window… Feb 11, 2011
socialcalcviewer.js Upgraded to Tracy's drag palette images and their radii, Jul 5, 2010
socketpolicy.pl * Add socketpolicy.pl and include web-socket-js so legacy browsers work. Jul 7, 2010
ssctrltest1.html * Add support for localStorage for ssctrltest1.html. Oct 22, 2009

README

                                -=[Multiplayer Socialcalc]=-

  >> See https://github.com/audreyt/socialcalc/wiki for a book chapter on this project! <<

                            .oO( Advertisement for EtherCalc )Oo.

    Please note that this repository hosts a proof-of-concept that provides
    no capability to save/load spreadsheetgs.

    However, a Node.js port with Redis storage backend is now available at:

        https://github.com/audreyt/ethercalc

    There are now two public playgrounds for experimenting EtherCalc:

        http://ethercalc.org/
        http://ethercalc.no.de/

    Please feel free to take a look at it too!

                                .oO( Setup Instructions )Oo.

0. Install JSON, Fliggy, Protocol::WebSocket and Try::Tiny:

    sudo cpan
    cpan> notest install JSON Fliggy Protocol::WebSocket Try::Tiny

1. Then check out this project and run the stand-alone server:

    git clone git://github.com/audreyt/socialcalc.git

    cd socialcalc
    perl multiserver.pl

2. Open port 9999 in multiple browsers with WebSocket support.

3. See red triangles representing peer cursors.
   Type in a browser, appears in all others!

Browsers currently tested:
    Native WebSocket: Safari 5, Chrome 5, Firefox 4 beta1.
    Flash emulation: Firefox 3, Opera 10.

Share & Enjoy!
Audrey