Background
Desktop search tools, like tracker, beagle (R.I.P), Google desktop — are all very useful.
The interface of a desktop search is great when all you need is to open the file (you searched for) — 2 clicks, typing a search query, and you have it.
But what happens when you need the path of the file ? There are applications that must have the exact path (location + file name), for example:
- command line utilities: cp, tar, zip, …
- file chooser window: when you want to attach a file into email web client (Gmail)
Trends
- People need to manage a large amount of files (documents, pictures, songs, videos) –> Desktop search tools are very powerful and popular –> more people follow the “search, don’t sort!” concept –> file system’s structures are more flat
- The browser is the most common application we use. the browser accesses the local file system using file chooser window.
The Problem
There is no integration between Desktop search tools and applications that require file paths
The Solution
Aleph-FS project’s goal is to implement a file system interface to Desktop search tools. Browsing Aleph-FS (virtual) file system will actually perform search operation on your real (physical) file system.
Why file system interface ?
- “Search is the new Browse” — so search should have the same interface you have when you browse your files.
- A file system is the intuitive interface for file handling
Aleph is the fist Hebrew letter. Aleph-FS pronounced as “Aleph Ef Es” which is the origin of the term Aleph Number (represents the cardinality of infinite sets).
Scenario – what you have now
- You want to send a mail, using Gmail (for example).
- You want to attach a file – (for example – mp3 song called “3 days” of your favorite performer Yehuda Poliker )
- You don’t remember where you put the file
- You open your desktop search interface (double Ctrl for Google Desktop)
- You type: “mp3 Poliker 3 days”
- You easily find the file, you right-click it, and choose “open containing folder”
- You find the containing folder, and copy it path
- You switch back to Gmail, and click browse button
- You paste in the folder’s path (location + name)
- You choose the correct mp3 file from all the files inside this folder
How it will work with Aleph-FS
- In Gmail, click on browse button
- In the file chooser window, type /search/mp3/poliker/3 days/as the folder name
- the “3 days.mp3” appears as a file under this folder
- You click on it — end of story
Technology
The idea is to expose the desktop search query interface as a read only file system using FUSE.
FUSE stands for “filesystem in a userspace”. You can develop your own file system using its API.
The implementation will need to:
- convert each path into a query
- send the query to the desktop search (could be more than one) using API
- get back the query result and dynamically add files to the content of the path
FUSE supports several languages and I think I will implement it in ruby.
Source
Aleph-FS project will be managed in github https://github.com/yonatanm/Aleph-FS