I've enjoyed using TW for several years now. I think it is fantastic. However, I find that I'm often dreaming up different ideas for how TW might look if it were redesigned today, with all the tools now available and all the things we've learned since it was started. What if a new version was created, with no rules, and no concern of backward compatibility? What would you include in the design?
I'm not making a serious proposal here to start up a new project. I just thought it would be interesting to explore some ideas and see what people come up with. Here are a few of my favorite ideas. 1. Data-centric Design I see a lot of discussions here about how to include parts from multiple tiddlers, how to loop through tiddlers, and how to produce lists and tables. It seems that people want to work not just with text, but with data. The solutions typically involve starting with regular text, and trying to turn it into data. I would build the core of TW around a javascript based database running in the browser. This could be done with Taffy DB (see http://taffydb.com/ ), or it could be a custom built solution. This database would be used to store system data such as tiddlers and settings. It would also be available to the end user to set up their own types of data. For example, the user might add a new table called tasks, with fields such as title, priority, isComplete, etc. There would then be simple syntax available to include this data into a tiddler in different ways. 2. Saving Options I would create as much flexibility as possible for how a tiddly document is saved. In addition to the default local file solution, a standard API would be available for interacting with a server backend. I wouldn't actually create server software, but this API would allow for a variety of server solutions to be created. I would think through different use cases to support, such as: What if I want to be able to download from the server, edit locally, then merge my changes? What if I want to support multiple users on the server? (I know that there have been a few solutions created for saving to a server already. However, each solution has to hack the core and bake its own ajax approach.) 3. Hierarchy Support Many people like to organize their tiddlers into a hierarchy, and then present the hierarchy as a menu. This is typically done by using a plugin, and by tagging each child tiddler with the name of its parent tiddler. This leads to two problems. One, this setup can be accidentally broken when a parent tiddler is renamed. Two, this gets in the way of using tags for just regular descriptive tagging. By adding a "parent" field to each tiddler, this type of organization could be supported natively. Those users who don't need it could simply leave the parent field blank. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.

