This is the home page for information about the projects Software Garden is involved with that relate
to the One Laptop Per Child's XO computer.
Right now that consists of one project, the SocialCalc project for the OLPC XO.
THE SOCIALCALC PROJECT
Software Garden is involved in the project of Socialtext, Inc., to provide
a system based on a new version of the SocialCalc spreadsheet code on the OLPC XO-1 computer
which we're calling "SocialCalc" on the OLPC.
Eventually we hope to have a complete OLPC Sugar Activity that provides spreadsheet capabilities
based on the SocialCalc spreadsheet engine.
At this point we have a simple OLPC XO Python program that invokes the OLPC browser engine and loads
an HTML file that accesses many of the capabilities
which is done in the Python code.
The goal of the SocialCalc project is to provide a very capable, simple spreadsheet which runs locally on your computer.
Much of the code, being written in a common scripting language,
should lend itself to examination, reuse, experimentation, modification, and extension.
Socialtext, Inc., is using the SocialCalc code as part of the spreadsheet component of its enterprise-level
wiki and Social Networking software.
For more information about that version of SocialCalc, and how it is being integrated into a wiki system
with multiple distributed pages, access control, and more, please contact Socialtext.
Their website is www.socialtext.com.
For the XO, this project is providing a very useful spreadsheet that meets many of the needs of the OLPC.
Even in the current state it can be used in a teaching situation.
It would be helpful to the OLPC project if XO owners would try out the program and help find any
really bad bugs (such as incorrect computational results or data loss).
- A scrolling grid with the ability to lock panes horizontally and vertically
(which is important on the small OLPC screen)
- Traditional spreadsheet formula syntax and
typed entry style
- Support for a wide variety of numeric formatting options including custom formats
- Support for a variety of HTML/CSS cell visual formatting settings including borders, merged cells, and padding
- 109 built-in functions, including: SUM, DSUM, IF, IRR, PV, SIN, and MID.
- Undo and Redo
In this release, there is a simple UI for modifying the sheet
with a formula bar and an editing button bar.
There is a simple interface for accessing more of the functionality through tabs.
There is support for operations such as fill right/down, setting cell borders, text color, background color,
column width, copy/paste/move, insert/delete row/column, sort, etc.
The original SocialCalc 1.1 code, and the wikiCalc 1.0 code on which it is based, is written in Perl.
other user interface purposes.
There is no need for a server, nor any connection to the Internet or other computers.
A new release, 0.9.1, is available for developers. It is not available in .xo form yet.
This release has code that should optimize the save files somewhat.
The sheet extents are more likely to include just the part that has data.
Previously there were cases where deleted cells made the program think the sheet was
larger than it really was.
It also "canonicalizes" the saved data in other ways, such as removing no longer
used formats and color definitions from the save file.
Some input forms, such as "-", that were incorrectly treated as numbers, are now treated as text.
Some other minor bugs were fixed.
A new release, 0.9.0, is available for developers. It is not available in .xo form yet.
The main changes in this release, earning it a bump of the version number,
is that it much more fully supports localization, especially of text in the user interface.
All of the text that is normally seen during operation should now be easily
localizable by changing a single file, socialcalcconstants.js.
This version also fixes a few minor bugs.
A new release, 0.8.3, is available for developers. There is also a version, 0.8.3g, in .xo format that
includes enhanced graphing and that is being released to the OLPC community.
It fixes a bug special characters in custom values, such as number format definitions.
A new release, 0.8.2, is available for developers. It is not available in .xo form yet.
It fixes a bug with conditionals in custom formats and with the argument prompt for VLOOKUP.
A new release, 0.8.1, is available for developers. It is not available in .xo form yet.
It fixes many bugs, and adds lots of new features, including a function dialog box, a link dialog box, a multi-line input dialog box,
improved vertical scrolling, improved Format tab with many more formats, Ctrl-C and -Z keyboard shortcuts,
and a better UI for graphs and an API for adding graphs.
A new release, 0.7.9c, is available. It fixes a bug in 0.7.9b.
A new release, 0.7.9b, is available. It fixes a few bugs in 0.7.9.
A news feed was started, both as RSS and as HTML.
They are the
SocialCalc OLPC News Page
SocialCalc OLPC News RSS Feed
They have more granular information than this list of news.
A new release, 0.7.9, is available. It adds a status bar and color choosers.
Internally it has many upgrades from the previous releases that should make commands, recalculation, and redisplay
more robust and fix a variety of bugs.
It still has the old, primitive graphing.
Added a link to the contents of the LICENSE.txt file to the Licensing section.
Version 0.7.0 released.
This adds the rest of the 109 planned formula functions, along with a simple reference
listing them, their arguments, and a brief description on the Help tab.
Also posted a new blog post
about this version.
Version 0.6.3 released.
This adds more formula functions, copy/cut/paste, merge/unmerge, insert/delete row/column, Open Source licensing,
sort, and a very primitive graph display.
The UI look is more in the style of the XO.
about this project on Dan Bricklin's Log.
This web page was created.
There is a new 0.9.1 release available for SocialCalc developers.
You can use it with a normal browser to try it out here, but you can't save or load.
To execute it with a browser and see how it operates (with no save or load), go here.
There is a 0.8.3g version available as a ".xo" file for the XO for running under Sugar.
This version includes much better graphing options, initially written by Nicholas Doiron, and is
the one most people intend to use on the OLPC.
For more information about that, and SocialCalc on the XO and Sugar in general, go to:
SEETA: SocialCalc on Sugar
Please report bugs to: firstname.lastname@example.org
Bugs and update information are often listed on the
SocialCalc OLPC News page, which has an
Right now the only documentation is on the Help tab available when running the program.
Please read it.
There is a copy here online: "SocialCalc 0.8.1 Help Text."
This product consists of components licensed under different licenses.
Some are licensed under the Common Public Attribution License (CPAL) and
others under the Artistic License 2.0.
Check the contents of each file for a statement of the license for that file.
The sheet calculation, manipulation, and rendering code are released under the
Artistic 2.0 license (the one Perl uses).
CPAL 1.0 license
(a license approved by the Open Source Initiative that was written by Socialtext based on the MPL 2.0 license)
with some limited attribution requirements.
The license for the Python code for the Sugar interface (not in the release above) is currently Artistic 2.0.
A copy of the contents of the LICENSE.txt file from the release, with the specifics
of the attribution requirements, is available online
The SocialCalc code is:
(c) Copyright 2009 Socialtext, Inc.
All Rights Reserved.
The software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
KIND, either express or implied. See the Licenses for the specific language governing rights and
limitations under the Licenses.
This code is early and surely has bugs.
The OLPC part of this project has been coordinated by Manusheel Gupta of OLPC
with guidance from Walter Bender and others of OLPC.
The Python code for the OLPC XO-1 was initially coded by Luke Closs of Socialtext, Inc.
Based in part on the SocialCalc 1.1.0 code written in Perl.
The SocialCalc 1.1.0 code was:
Portions (c) Copyright 2005, 2006, 2007 Software Garden, Inc.
All Rights Reserved.
Portions (c) Copyright 2007 Socialtext, Inc.
All Rights Reserved.
The Perl SocialCalc started as modifications to the wikiCalc(R) program, version 1.0.
wikiCalc 1.0 was written by Software Garden, Inc.
wikiCalc, Garden, and Software Garden are registered trademarks of Software Garden, Inc.
Socialtext, SocialCalc, and the Socialtext logo and Dreamcatcher are trademarks of Socialtext, Inc.
Dan Bricklin's is a registered trademark of Daniel Bricklin.