Last updated April 19th, 2005. This is a brain dump of my ideas for Tabulas 2.1; it does not represent the final specifications nor does it mean that I'll be pursuing all of these features. This document exists right now to try to form a cohesive plan of action.
Please offer feedback to this document here.
Tabulas.com, currently in version 2.0, is a stable release of Tabulas which offers blogging, gallery, and other various tools that allow for website management by users of all technological levels.
However, the toolset for Tabulas.com are far from complete - the stated mission of Tabulas is to create a toolset that allows users to connect, find, and share their experience with minimal technological skills. Tabulas 2.0 was a release geared to provide a more stable framework in which to develop additional toolsets for Tabulas; Tabulas 2.1 will be a feature release that will take advantage of some of the advanced in the Tabulas platform.
Tabulas 2.1 will not only be a feature release, but a release geared in improving the Tabulas platform. Technological goals are further standards compliancy, a more easily maintainable code base, and support for international languages. Tabulas 2.1 also aims to create a full-featured, documented, open API that developers may use for their own tools.
For the end-user, Tabulas 2.1 aims to offer more robust tools in managing each user's social network. More than anything, Tabulas 2.1 hopes to make the task of keeping up with friends online a trivial one which does not take a lot of time. Although multitudes of new features are being developed for Tabulas 2.1, the primary goal is not to overcomplicate the control panel of Tabulas; if anything, I will focus more time on simplifying the current control panel while still offering a robust toolset.
The financial goals for Tabulas 2.1 are to continue in generating small profits on a monthly basis which allow for further developments of the site as well as purchasing additional hardware to keep up with growing demands. To reflect the shift in the social contract between Tabulas and its users, Tabulas 2.1 will rename 'paid accounts' to 'patron accounts.'
Tabulas 2.1 will feature a release in a fully-featured API which will allow developers to build tools on top of the Tabulas platform.
Instead of simply limiting the API to blog-related APIs, Tabulas will create its own REST-based API which will allow access to not only journaling options, but also to gallery, links, content pages, friends, and community features. A full spec sheet regarding the API will be released as soon as the details are finalized.
Currently all data stored in Tabulas is not compressed in any way. For the sake of saving hard disk space, Tabulas will begin compressing text within the system; this will lead to a greater CPU usage, but since Tabulas 2.0 allowed for scalability of the front-end servers, this is an acceptable compromise.
Each front-end server will begin caching a local copy of each request to the hard drive; this will allow for less database hits (we're getting memory-bound) and will offer faster performance for the end-user. This will require storing in memory the last updates to each account so that the script may check to see when the last updates were and generate a fresh copy if necessary.
A feature long-missing in Tabulas is the ability to search. It is possible to set-up a separate server which simply stores all posts from paid users with a FULLTEXT index; this would allow for searching by paid users only of their entries.
Given the demographics of the Tabulas community, better localized support is required for the control panel and output sections. Tabulas 2.1 will refactor the control panel to allow for international translations of the control panel. With these changes, localized versions of Tabulas (tabulas.com.br, tabulas.com.ph) could be used to offer stronger community support within these Tabulas ecosystems.
Users will be able to define keyboard shortcuts while visiting Tabulas to take them to specific pages; this will be especially useful when navigating around the control panel.
Patron accounts will have the option of selecting subdomains as their Tabulas account URLs. Tabulas will also allow for domain mapping - top level domains like www.roykim.net can serve as as valid entry points into Tabulas accounts. For the non-technically savvy, Tabulas will offer no hassle domain registration.
A lightweight PHP script that users will be able to install on their own servers to access their Tabulas data from their own domains; Tabulets will allow for not only synchronizing entries, but galleries, links, and all data which will become freely syndicated.
Tabulas 2.1 will feature a full series of tie-ins to Amazon.com which will not only provide users with better tools
in sharing their favorite books/movies, but also in providing Tabulas with some referral income from Amazon. Users will be
able to reference Amazon items from within their entries by simply typing in commands like:
[amazon: jimmy eat world]. Users of the rich user interface will use a more standard "pop-up" window with
direct HTML generation.
Users will also be able to tie in their Amazon wish-list to their Tabulas accounts; they will be able to view their friends' wishlists and share their wishlists with the Tabulas community as a whole.
The gallery feature for Tabulas is the more underdeveloped toolset in Tabulas; Tabulas 2.1 will expand these gallery features to offer more networking abilities within galleries.
Users will be able to define keywords to images; these keywords will then be used to generate metalists of images. This is a simplified version of the "shared albums" concepts that was initially cut from Tabulas 2.0's feature list due to complexity.
Case: User Joe and Jane both attend a church event; they may decide beforehand to use the keyword "NCKPC:Senior_Banquet" as the keywords to define images from this event. They will both upload their images to Tabulas with this keyword; visitors can then track all images that have this keyword from one page; this will allow users to make contributions to albums without adding in complex permissions. (Obviously there's an implicit trust issue here since there will be no way to 'remove' keywords from images)
Users will be able to nest albums within other albums instead of being forced to put all albums at the "top" of their galleries. This should allow for better gallery organization.
Tabulas will begin to store and output EXIF data from images from digital cameras.
Instead of relying on tables to output images; Tabulas will begin to output the gallery in semantic standards-compliant markup; all default templates will be updated so that galleries will be using lists to display their images.
Users will be able to see from each image what other users have the same image in their gallery, as well as which entries link to certain images.
Allow users to add comments to images.
Similar to the 'friends' page for entries; users will be able to view all updates to their friends' galleries from one page.
All galleries will have RSS feeds.
Users will be able to suppress certain categories from appearing on friends pages and their main journal pages.
Somehow this feature has been missing for a long time, and I'm not sure why.
A link on the toolbar will allow users to make a Tabulas post when quickly referencing a page without losing their place.
Tabulas will 'remember' the location of all crossposted entries; if you update a Tabulas entry that was crossposted to other services, Tabulas will automatically update those entries as well. Tabulas will also warn users when crossposting if advanced privacy settings are set before crossposting the entries.
Tabulas will support LJ-specific tags and convert all [break] options into LJ-cuts.
Tabulas will add Gravatar support.
Tabulas will add support for users to upload and manage their own smilies sets for use in their own Tabulas.
A 'template sharing' zone will be created where users of Tabulas can set to share their templates. Other users can rate these templates and download them for automatic integration into their own Tabulas journals.
This feature has been missing for quite some time now. Allow moderators to edit their communities.
Allow moderators to define keywords which represent their communities; these keywords will be searchable from an improved 'find community' interface; this will allow users to more quickly find communities of their interest.
Similar to the 'friends' page, this page will allow users to view all entries posted to communities they are a member of from one page.
Users will be able to separate their friends groups into separate subgroups with different permissions:
Users will also be able to specify that only certain groups may access certain content from within their Tabulas.
Tabulas will roll out its own version of radio.blog which will hopefully be of more use to the end-user than the current incaranation of radio.blog.
Users will be able to use tags (similar to the Tabulas break and image commands) to dynamically include entries and images into their content pages; whenever the linked entries and albums/images are updated, the content page will also be dynamically updated. Entries and images that are included in the content pages will retain their privacy status.
Under heavy deliberation. I may implement this in a very crude format to allow users to subscribe to certain other journaling services (LiveJournal and its clones, Xanga, and maybe a few other select services). Not sure if trying to replace Bloglines is such a good idea...
One of my foremost goal is to document everything - hopefully with the help of volunteers (or paid advocates if I get money!), I can start documenting how everything works and writing full tutorials.
I am trying to move Tabulas more towards a direction where I can directly help those on lower budgets take advantage of all the tools the Internet offers them. One of the larger sub-goals of Tabulas 2.1 is to offer cheap hosting on top of Tabulas' offerings. I'm leaning towards something like this:
User can pay $28/year to become a patron of Tabulas (the new terminology for paid users). If the user wishes, they can pay an additional $24 to get real hosting (PHP/sFTP/mySQL) with ~150megs of disk space and X gigs bandwidth per months (not determined yet) for a whole year. If the user also wishes, they can also throw in another $8/year for free domain registration and set-up. The key here is to have Tabulas do everything - the user simply pays $60 ($5/month prepaid a year) and I set-up everything; point the domain, set-up the site, etc. It's moving towards a no-hassle 'home' on the web. Hopefully by the time this happens, the API and Tabulets will all be completed, so I can also install Tabulets on their personal domain (if they choose to point their personal domain to their hosting instead of their Tabulas).
This would also set-up personalized e-mail as well, so this package would be the no-hassle managed solution for everything - the user would not have to do anything, and would still have access to a FTP account if they needed to upload a file.
This is also, of course, contingent on the fact that the help center fully documents how to take advantage of all these features; otherwise the whole thing is a flop.
Implicit in this whole document is the fact that I'm going to refactor almost all the code (again) and try to take advantage of OOP where it can help. I want to make Tabulas incredibly extensible, so I will be making it very configurable with the end goal that the software that powers Tabulas can be used on other sites. Ideally I would open-source this or something, but I need to figure out a way to pay the bills, and I cannot think of a legitimate reason why someone why someone who needs this couldn't pay. Obviously for non-profit organizations I would not charge a fee for the platform, but until I figure out what I want to do with this, the Tabulas Platform will be strictly licensed (vBulletin style). But Tabulas 2.1 will be installable and configurable for other domains and sites!