Overview● TagSpaces is open source platform for personal data management● Project start in August 2012● Main software repository hosted on github: https://github.com/uggrock/tagspaces● Official website: http://tagspaces.org● Website of the firefox add-on: https://addons.mozilla.org/de/firefox/addon/tagspaces/
Motivation● In a world where more and more personal information is collected by mobile apps and owned by web plattforms, TagSpaces gives you an alternative of owning your data and having it nicely organize and visualized with the manner of modern web technologies.● TagSpaces is in brief an application which allows you to browse your local files in a web browser.● One key feature of TagSpaces, is the support of file tagging.
TagSpaces is not● a web portal or web application, so it has no server side. All the operations are done locally by the browser on the users desktop (or mobile device).● deppendent on Internet, so a pure offline use is absolutely possible.● indexing you files in a database in order to save meta information. All describing data is saved in a form of tags. The tags are persisted directly in the name of the files, which increases the portability and the cross device use of the metadata.
Firefox Integration ● Currently TagSpaces is implemented as Firefox add-on and runs on Windows, Linux and OSX Launching TagSpaces by clicking on the tag icon After launching, TagSpacesappears in a pinned tab in the right part of tab list Multiple Instance of TagSpaces are allowed
Integration in other plattforms● TagSpaces is already almost completely ported Chrome, yet some file system browsing issues are still available.● A preview version can be downloaded from: http://tagspaces.org/downloads/● A version for android based tablets is also planned. The implementation will probably use phonegap.
Extensions TagSpaces plattform is highly extensible Currently 3 types of extensions exists: Viewer Editor Toolbar for View switching between the views Area for Viewers Area for or Views Editors
Extensions for file viewing (viewers) ● This type of extensions allows you to view different file types directly in TagSpaces. The default viewer allows you to view file types you can usually open with browser such as JPEGs, PNGs and HTMLs*. ● Development of viewers for opening of MarkDown and ZIP files is currently in progress.*) If your browser has a plugin for opening of PDFs and MHTs they could be opened as well
Viewing of a HTML file
Viewing of a PDF file
Viewing of a JPEG
Viewing of a MHT* file*) MHT is file format, which allows you to save whole webpages including images in a single file
Extensions for File Editing (editors)● The intension of this extension type is to enable and encourage the editing of files directly in the browser, making it a universal editor.● HTML editor is already implemented● A text file editor utilizing the handy ACE* library is ongoing. This extension will allow editing of source code files in the browser *) http://ace.ajax.org
HTML Editor* *) utilizing the CLEditor library from http://premiumsoftware.net/cleditor
Extensions showing thedirectory structures (views)● This kind of extension will be usefull for the visualization of a whole directory structures.● Making finding some special kind of meta data and navigation very easy.
File View* (default)*) this view has two subviews, the first is a pures file view, the second emphasize the tags of the files
Graph View* *) using the powerfull d3 library from http://d3js.org/
Syncing* between devices Scenario utilizing owncloud OwnCloud Installation on a private server somewhere in internet HTTP(S) HTTP(S) WebDAV Access over HTTP(S) TagSpaces onwCloud TagSpaces onwCloud WebDAV JS Client sync client sync client TagSpaces Chrome Firefox PhoneGap App IO operations: IO operations: Rename, Create, Delete Rename, Create, Delete File access needed & Edit & Edit only for persisting of the downloaded files Local File System Local File System (optionaly encrypted with TrueCrypt) (optionaly encrypted with TrueCrypt) Local File System Windows 7 Notebook Ubuntu Linux Desktop Android/IOS Mobile Device****) syncing and file encryption operations are generally out of scope for TagSpaces**) architectural proposal for a mobile app
Filename Anatomy Optional space for Mandatory space File extension. visual separation of charecter used for Common length is 3 the tag area tag separation to 4 characters Filename [tag1 tag2 smarttag1].extension Opening bracket “[” Closing bracket “]” marks the begin of marks the end of the tag area the tag area The original name of the file. Ideally this Smarttag: A string should be a Tag: definition spacial kind of title for the content tag, which of the file. encodes in his name the type ofGeneral remarks: the described- The order of the tags in the tag area does not have any meaning information- OS limitations of the file name length: - Windows: - Linux (inc. Android) - OSX (inc. IOS) /folder1/folder2/folder3/folder4/folder5/folder6/folder7/folder8/folder9/folder10/folder11/folder12/filename 12345567890 sdfsdff ffsdfsdf [tag1 tag2 tag3 tag4 tag5 tag6 tag7 tag8 tag9 tag10 tag11 tag12 tag13 tag14 tag15 tag16 tag17 tag18 tag19].ext4
Tagging principles● Tagging is enabled for files only – Due the fact the directory names should be kept short (file system limitations) – This is the reason why directory tagging is currently not allowed – Directory names could be used as tags suggestions for the files which they contain
Building Applications w. TagSpaces● With the combination of different views, editors and viewers the creation of a more sophisticated application is possible● Ideas for application or user scenarious could be: – Local application serving as a Evernote replacement. – A local personal data manager, combining the strength of a wiki and mindmap – ...