This post talks about some of the lessons we learned while developing
RippleRap, and describes some ways that we are trying to improve our
habits when it comes to developing TiddlyWiki applications and
components. It's a bit long. Apologies for that. See you on the other
side...
Some time ago, we at Osmosoft cranked out a simple TiddlyWiki product
called RippleRap. RippleRap (
http://www.ripplerap.com) is a tool for
making, organising and sharing notes at a conference. Using RSS
publication and consumption to share content with other users,
RippleRap is intended to be deployed either in a peer-to-peer model,
or with some server infrastructure for sharing with much larger
groups. It includes a display of the conference agenda and has
components for gathering and displaying tagged photos from flickr and
interacting with Twitter.
On the whole, RippleRap was well received, but none of us here would
claim that we are particularly satisfied with the quality of the
product as it stands, and would position it as an evolving project
with scope for customization and enhancement by anyone who fancied
getting involved. That seems like a reasonable way to position a
product of this nature, where we eagerly welcome adaptions,
customisations and enhancements from the community.
The problem with that, is that we did a poor job of communicating the
progress and architecture of RippleRap, and an even worse job of
structuring the code such that it could be easily modified and
repurposed by others. This was partly due to time pressures of making
the product available for use at rapidly approaching events, and
partly due to a slightly weak approach on our part.
Obviously we want to address that.
It is important to us at Osmosoft that we work with, and become a
valuable part of, the TiddlyWiki community so we need to do a better
job of this kind of thing.
With that in mind, we are re-architecting RippleRap to be more
flexible, robust and reusable. We are in the process of rebuilding the
application in the form of a collection of more generic TiddlyWiki
plugins. Each of these generic plugins could be put to use in other
applications and only become RippleRap when we bind them together in
the application with a little bit of sticky RippleRap-specific code
glue!
In an effort to keep the TiddlyWiki community informed, we are
publishing a list of the components used, along with links to more
information about those components (as they are developed) at
http://www.tiddlywiki.org/wiki/RippleRap
This section of the wiki is evolving as we work on the various
components, but should hopefully communicate what apsects of RippleRap
might be useful to others. I imagine that to some, the RippleRap
application will be an interesting tool which addresses a specific
need. To others however, it may well serve simply as a showcase for
one or two useful plugins that they might want to reuse elsewhere. We
hope to enable both.
I'm very interested in any opinions about RippleRap and the various
plugins.
I'll post more details as they become available.
Thanks TiddlyWikiers!
Phil