Rss Feed
Tweeter button
Facebook button
Technorati button
Reddit button
Linkedin button
Delicious button
Digg button
Stumbleupon button
Newsvine button
Youtube button

Goodbye FileSystemWatcher – welcome full file-manager solution!

March 1, 2010 by Andrea D'Intino · 4 Comments 

The problem: when files are being moved, they need to “carry” their tags with them. To do that, we first approached the FileSystemWatcher technology: this proved unreliable in many ways when it goes to moving files (feel free to ask for details). Then we considered the file system mini-filter technology (the one commonly used by anti-viruses); apart from the issues related to integrating a piece of C code into a .net application, this technology didn’t appear to be more useful than the previous one.
The issue is indeed non-trivial: moving a file (specially from a disk to another) means creating a new file, copying bit by bit all the data from the source file into the new file and then deleting the old one… this means that there is no such a thing like “file moving” event, nor would it be possible to have it.
Our previous approach was to develop a system to track file movements that listened to the file system and using a pretty complex AI did (try to) understand when a file was moved. This approach included creating many different pattern-matching  algorythms in order to be able to “understand” the behaviour of some of the most used applications (i.e. MSFT Word, Adobe Photoshop), since they performed complex operation on the disk each time they were saving a file.  It totally felt like a game we couldn’t win!

<

After some intense research about technologies we came to the conclusion that there is no easy way to “listen” to a filesystem and to understand when files are moved…are we missing something (our thread on MSDN forum)?

>

The (final?) solution: only files pasted using Tabbles will be tracked. Tabbles already had all of the file-management functions built-in, therefore it was pretty easy for us to listen to the file-movement initiated by Tabbles itself and then have the tagging to “follow” the files. This means that you can do cut&paste or drag&drop inside Tabbles,  or you can do cut from explorer and paste in Tabbles, as well as drag&drop from explorer to Tabbles (but not the other way around!) and it will still work.

cut from Explorer and paste in Tabbles

cut from Explorer and paste in Tabbles

Are we missing something? If anyone out there could think of a better solution to this problem, we’re all ears! Please write us using the contact form on tabbles.net

Hint – how to rearrange your files thematically, like you never could before: keep in mind that Tabbles allows you to group files according to “concepts” but you can at the same time browse your disks as you do with a normal file manager. Therefore, let’s say that you have a bunch of scattered files related to France and you feel like having them in the same folder. You can open the for example the tabble “France”, cut all the files in there, and paste them in a brand new folder, all inside Tabbles. This way you can get files rearranged  in no-time and all the tagging will be preserved. Also keep in mind that, should you want to backup your files on a disk, you can do drag’n'drop files from Tabbles to any application, including your favourite cd/dvd-burner app! 8-)

Comments are welcome! And here is the related forum post!

peace and love,

Andrea + Maurizio

Browser integration – tag URLs with one click, with Tabbles

February 22, 2010 by Andrea D'Intino · Leave a Comment 

HELLO WORLD,

We’ve just released a beta introducing Browser integration via bookmarklet, it’s on our forum right now.

What’s so cool about it?

- You can group together files, web pages, and emails (if you’re using Gmail), with one click

.

You’ll have a little button on your browser, when you push it the Tabbles “Quick tag” window will pop-up and easily let you tag URLs…the cool thing is that you can tag URLs along with files and gmail emails, and find them together into the same tabbles (groups).

Plus, this works also as preliminary foundation to an SDK system, allowing people to write plugins and software to tag files/urls in all possible ways (and soon emails too). It’s all in the forum post.

This is what it looks like:

browser integration - Firefox

Tabbles 1.4.10b1 - browser integration - Firefox

How does it work?

We got the the hint from Kromeboy, he suggested us to register a custom protocol and then create a simple bookmarklet. The whole thing took less than a couple of days of work.

Step 1 – registering a custom protocol: you can make a couple of experiments on your own pc, copy&paste this text into a file.reg and double click on it. The function of registering a custom protocol is to tell Windows that each time the protocol is called, a certain application should be executed and what follows the protocol should be sent to the application as arguments. Here we’re registering the protocol “tabbles:” (looks a bit like “mailto:”, isn’t it? ) and mapping it on the path where tabbles.exe is located (on my computer).

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\tabbles]
“URL Protocol”=”\”\”"
“EditFlags”=hex:02,00,00,00
@=”\”URL:tabbles Protocol\”"
[HKEY_CLASSES_ROOT\tabbles\DefaultIcon]
@=”C:\\Program files\\Yellow blue soft\\Tabbles\\tabbles.exe,0″
[HKEY_CLASSES_ROOT\tabbles\shell]
[HKEY_CLASSES_ROOT\tabbles\shell\open]
[HKEY_CLASSES_ROOT\tabbles\shell\open\command]
“(Default)”=”\”C:\\Program files\\Yellow blue soft\\Tabbles\\tabbles.exe\” \”%1\”"
@=”\”C:\\Program files\\Yellow blue soft\\Tabbles\\tabbles.exe\” \”%1\”"
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\tabbles]“URL Protocol”=”\”\”"”EditFlags”=hex:02,00,00,00@=”\”URL:tabbles Protocol\”"
[HKEY_CLASSES_ROOT\tabbles\DefaultIcon]@=”C:\\Program files\\Yellow blue soft\\Tabbles\\tabbles.exe,0″
[HKEY_CLASSES_ROOT\tabbles\shell]
[HKEY_CLASSES_ROOT\tabbles\shell\open]
[HKEY_CLASSES_ROOT\tabbles\shell\open\command]“(Default)”=”\”C:\\Program files\\Yellow blue soft\\Tabbles\\tabbles.exe\” \”%1\”"@=”\”C:\\Program files\\Yellow blue soft\\Tabbles\\tabbles.exe\” \”%1\”"

Step 2 – the bookmarklet: this is also pretty easy for a non programmer like me. If you google you’ll find a bunch of tutorials and examples of Javascript code. The one we’re using is this:

javascript:void(location.href='tabbles:tag_url'+';'+encodeURIComponent(document.title)+';'+encodeURIComponent(window.location.href))

What this piece of Javascript does is sending a string to the protocol tabbles: followed by the parameters “tag_url”, “title of the page” and “address of the page” – the “;” is used as separator. For example, when used on the tabbles homepage, the output of the bookmarklet is:

tabbles:tag_url;Tabbles%20%7C%20%20folders%20evolved;http%3A%2F%2Fwww.tabbles.net%2F

which Tabbles reads as:

tabbles:tag_url;Tabbles |  folders evolved;http://www.tabbles.net/
If you have Tabbles installed you can check the output using the debug log (Tools > Advanced > Show debug log).

And that’s it! Doesn’t sound too hard, isn’t it?  :-D

Enjoy!

Andrea + Maurizio

Windows installer blues – hopefully gone… for a while

February 19, 2010 by Andrea D'Intino · Leave a Comment 

Ladies and Gentlemen, it was a real heartbeat night hear at Yellow blue soft. We’ve been fighting with Windows Installer for the past year, and there seemed to be no way out.  We had a number of crash which were obviously due to the installation process.

Yes, I hear you: “why you didn’t move to Installshield/nullsoft/installaware/you_name_it?”. The answer is that none of those does (apparently) support the .net client profile. Because of that we’re still stuck with the Visual Studio veeeeeery thing GUI to the the huuuuuuge Windows Installer technology.  And, while creating an installer with Visual Studio 2008 is relatively idiot proof (I can do it too! :mrgreen:  ), it doesn’t seem to be versatile enough for us… and the underlying technology is huuuuge and not-particularly-well documented.

If you’re a developer and you feel you’re stuck to the VS2008 .msi project builder, then this may hopefully help you.

The problem: windows installer wasn’t (for sure) overwriting the file fsharp.core.dll cause the version number was the same, and (maybe) it wasn’t overwriting some other stuff too.  Our desperate cry can be read on our forum.

The solution: editing the the installer.msi with orca (you can download it from here), the full story solution is here. All you need to do is open Orca, open your .msi and create a pair REINSTALLMODE = amus in the Property table. What does amus mean? Honestly I don’t know and I couldn’t care less… all we care is that this amus thing is not in VS2008 anywhere and it kept us up at night for a looooooong time. Btw, we did a couple of tests and it seems to work butstill hold our fingers crossed :geek:

And this is what it looks like in Orca – cute, ain’t it?

Orca REINSTALLMODE amus

how to set your .msi to overwrite the previous installation - orca

(wow, strong emotions going on here :mrgreen: – GOODNIGHT WORLD)

-> 1.4.9 – a not so minor update

February 16, 2010 by Andrea D'Intino · 1 Comment 

(this is a boring post about an update – I’m working on a more interesting post about enterpreneurship and Microsoft…stay tuned)

While this is a minor release, there are a couple nice things we added:

— the uninstall shortcut in the start menu (a big step for us, a small step for humanity :mrgreen: )
— the “+” next to combinable tabbles, both in the body and in the tree (in the tree it replaces the circles). The “+” in the body was needed to separate the children-tabbles from the truly combinable once (Kudos to Maurizio for the idea!). Please give us feedback on this: do you understand it easily? is it easy to be seen?
— improved FileSystemWatcher functions: we have mixed reports on this, it seems that Tabbles performs better in tracking file movements (i.e. you can move a big file such as a movie and Tabbles will understand it).
— a lot of bug-fixing, including all the bugs due to problems with upgrading (read below)

Discuss on our forum and have a look at Tabbles 1.4.9 below:

Tabbles, version 1.4.9, virtual file system, virtual folders, file tagging.

Peace!

Andrea + Maurizio

1.4.5 -> the BIG release

January 31, 2010 by Andrea D'Intino · Leave a Comment 

Ladies and gentleman, we’ve just redesigned Tabbles, from scratch – or nearly. This release is the result of the 6 months of testing, discussing, improving, re-testing, re-thinking, re-designing. Now Tabbles looks like something “familiar” and not anymore like an alien kind of application. We hope you’ll love using it as much as we loved making it.

Tabbles’ new face:

All the details are in our change-log.

Next Page »