I created the Casper project because I needed a way to organize my growing collection of CD-R/RWs which holds a lot of music and images, but there was no such solution available for my OS of choice, the BeOS.I didn’t have to think hard to come up with an easy-to-implement and easy-to-use solution. I already had the “database”, the Be File system, and I already had the interface, the Tracker, which is the BeOS file manager. The only thing that I needed was an application that would read the file information from the CD’s and store it on the hard drive, then later tell me which CD the files are stored on.
Casper was born.
Ghosts with fancy attributes
I will now give you two examples of how Casper can be used: a photo database and a music database.
The Casper UI is pretty straight-forward. To the left you’ll see a list of available volumes, both removable media and hard disks. And to the right you’ll see a list of storage locations where Casper will store the information.
I start by creating a new storage location. The storage location can either be a folder or a virtual partition(BeFS image). Folders are used for files that should always be searchable, while virtual partitions are used for files which should be easy to separate from the rest of the files on the system.
In this case I’m choosing a folder location for my images.
When I’m done creating the storage location I get the stack of CDs, containing my photographs, from the shelf and put the first one in my CD-drive to see it appear in the volume list. I select the CD as my source and the newly created storage location as my destination then press the Go! button.
What Casper does now is to create empty versions of all the files on the CD and store them in the specified folder on the hard disk. All the names and attributes of the files and folders remains the same, the only difference is that the files contain no data.
However, in the process Casper added a few extra attributes to the files. Those attributes describes information about the media which the files belong to such as the name of the CD, the path to the file on the CD and a user-defined note about the media(not yet implemented). Additionally Casper also registered its friend application Wendy as the default application for the files.
I repeat the same procedure for every CD in my photo collection. Then I do the same thing with my collection of MP3-CDs with the only exception that I in that specific case will use a virtual volume as the storage location instead of a folder.
Waking the dead
Pointing the Tracker to the folder where I stored my photographs I will now see all my pictures there with thumbnails and everything, since the thumbnails are stored as attributes as well.
Thanks to the fact that each and every file contain information about which media they belong to , I can easily move them around in any way that I desire. I can even move them between partitions and mix them all together. I have the freedom to easily organize them in a better way.
The files are also searchable right from the Tracker’s Find panel just like any regular file. You’ll be able to search for audio files using attributes such as ‘Artist’ and ‘Album’ and for pictures using ‘Location’ and ‘Colors’ for example. The latter two are my own extensions.
Here’s where the difference between the two storage location types comes in. If I let Casper store the files in a folder on my main partition these files will be considered each time I search that partition. Storing the files on a virtual partition will allow me to search among those files specifically and even leave the partition unmounted and only mount it when I need it.
When I double click one of the files it will open up in the preferred application, which as I explained earlier is Casper’s buddy Wendy. Wendy reads the information about the file and displays it in a dialogue. You then either close the window or insert the requested media. If you insert the media, Wendy will launch the file from the media into the default application, or execute it if it’s an executable file. There’s also an option to open the parent folder instead of launching the file.
The return of the zombies
No tool is perfect. Casper has some issues, and here’s a few of them:
1. Drag&Drop won’t work with these files, neither will the “Open File” dialogue in applications. I can think of many possible solutions for this problem for example pipe-like features, translator add-ons or even tracker add-ons. But I won’t go further into them this time, because I need to investigate them more.
2. Casper-generated files can easily be mixed up with regular files if the file size information isn’t visible. I will try to solve this by adding Casper emblems to file icons in a future version.
3. The possibility of moving files around makes it harder to update a rewritable media. I will try to solve this in a later version, but for now updating a media could result in duplicated files.
I welcome any suggestions to issues that a solution like Casper might create. Even though Casper works fine for my personal needs, I want it to be usable to more people.
However, my main point of this article wasn’t to show off my little application, but to show that the underlaying features of the operating system such as the file system might provide aimple solutions to many problems.
Instead of reinventing the wheels at application level, or use alien tools or libs, even a lousy programmer like me was able to quickly create a working solution using the features that the operating system provides.
Here are a few examples of other apps that takes advantage of the BeFS:
IM Kit
Remote Session
BeAndSee
Mail Daemon Replacement
About the author:
I am 25 years old and located in the south of Sweden. I ran a large music community on the web for about six years but had to close it a year ago due to financial reasons. Now that I’m unemployed I spend my time practicing my main interests in life: music, photography, poetry, graphics design, cooking, politics and computers.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
Great article! Excellent idea of how to find stuff scattered on CDs all over the place. I’ll have to try this something.
Jonathan
So, where can we download this neat app from?
I’m sorry, it should have been available to the public by the time the article was published but I haven’t found the time to do so I’ve got too much work right now. But it will be posted on bebits once I’ve fixed a few things and packaged it.
that is something i wanted to do at one point but i wanted to integrate it in the tracker and i got myself lost in code land.
For exemple, you could add the “size” of the file as an extra attribute but it would only be “for your eyes only” because the OS or a script would have to do back flip to interpret them correctly. So the tracker need to be modified so that it include the inside/outside computer possibility.
I was restructuring my file on how my CD are (i’m lazy, a file was fine ) and i got on interesting ides a while doing that that might be of interest for your project. So drop on beshare and we could talk about them if you want.
I’m interested in hearing your ideas aliensoldier. I’ll be in BeShare this weekend. see you there
Hi Everyone
Do you know of any such solution for linux – specifically to deal with removable media storage on CD/DVD?
On windows/osx there are commerical tools available, but linux seems to be lacking.
Thanks
Naren
rain,
Look forward to using this app when it becomes available for download. It is so nice to see applications being develop that take advantage of the uniqueness of BeOS! Thanks for doing this.
I have a question: from this <a href=”http://img.osnews.com/img/6728/casper.png“>screenshot, it looks like you can catalog non-BFS volumes as well. If that is the case, would this not enable searching for content on non-BFS volumes from BeOS? In other words, if I catalog music files residing in a Windows XP volume, would the resulting “links” (with attributes) allow me to search from BeOS?
Koki
More features + lot of bugfixes + more (internally BFS usage).
http://www.bebits.com/app/2386
Installable over older version (to avoid re-dwonloading filters etc)
In other words, if I catalog music files residing in a Windows XP volume, would the resulting “links” (with attributes) allow me to search from BeOS?
Well, yes that’s possible but not really recommended, at least not the way Casper works at the moment because you wouldn’t be able to add the files easily to a playlist(unless you append by default) since they aren’t real links just references. Wouldn’t symbolic links be a better solution?
But sure, you could use it to find the files then open the parent folder of the files on the NTFS-partition then open them in the MP3-player. But to me it sounds trickier than finding the file in a well organised directory on the NTFS partition.
But you are right, it’s possible, and there’s nothing stopping you from doing it
Ah, I added those links in a hurry and picked the first one that came up in the search. I didn’t know that there was an improved version actually, I’ll try it out this weekend. Thanks.
That is a very neat system, rain!
I have a question regarding the icon/thumbnail size of the screenshots. Are these Zeta sreenshots? R5 icons are only 16 or 32 pixel, right?
I didn’t know you could use larger icons in List View ( http://img.osnews.com/img/6728/wendy.png )…
Can’t wait to download it
I’m Happy to see that app. I’ve already been trying to do such an app for BeOS but because of lack of time and others priorities it never ended. (good bye “NuclearLaunch” ;-]] )
So, I’m happy to see that it is now done.
Congrats rain !
Keep up Great Work !
Very nice job Rain… this is excellent stuff.
What this could become is something a lot more sophisticated and brilliant and that is a backup system.
I mean if you can ghost over files you can make multispanned CDs as backup and this tool would be excellent handling it assuming it can
a) check for changes
b) keep track of dates.
It would be a bit ruff so to say to use it, but I think it sounds like an excellent tool for the job.
Anyhow, great job!
@aliensoldier
For exemple, you could add the “size” of the file as an extra attribute but it would only be “for your eyes only” because the OS or a script would have to do back flip to interpret them correctly. So the tracker need to be modified so that it include the inside/outside computer possibility.
Well, you could create a “original size” attribute for just that filetype, that would probably do it without stepping on any toes.
I think this is exactly what I’m looking for. To the developer: Great and thank you very much!
I downloaded and installed BeOS persoal version on XP and it won’t boot, I’m even using a bootdisk. Can anyone help?
BeOS Personal needs Win98/ME to boot. Otherwise, you will need to give it a separate partition and install it as you might do Linux. I recommend installing BeOS MAX available from http://www.beosmax.org BeOS Max is basically Be 5 PE with a bunch of value added software and things like Athlon XP/ Pentium 4 support.
If BeOS had OpenOffice, I would use it.
cool, thanks
>I downloaded and installed BeOS persoal version on XP and it won’t boot
The other problem might be that you are using an early P4 CPU or an AthlonXP/latest Duron CPU. These are not supported by the Personal Edition, you will need to get the BeOS Max Edition 3 that supports newer CPUs.
I’m curious about the icons too… 😉
It’s R5 with an old SVG-tracker build that I got from the original developer. It’s actually a lot faster than the one in Zeta. I wonder what those guys did to slow it down that much.
Wohoo,
what a great Idea,
That’s really one of the best examples I’ve ever seen, that show off BeOS possibilites for software-development.
I’m totally amazed.
this is just brilliant.
i am half considering reviving beos 5 on my pc now .
This is totally sweet rain.
The only way it would get better would be if you actually implemented this inside OpenTracker.
Then you’d have seamless integration… oh now that’d be slick.
cool stuff!