Tuesday, August 7, 2007

Cracken Beagle

I am sick of Jamie justifying his attacks and negativity toward Beagle with the juvenile "they started it."
"Beagle devs still have big problems with stablity and memory usage and they admit themselves its no where near ready....Tracker also has much more support from Gnome devs with a greater willingness to integrate so its inevitable that tracker will become mandatory anyhow in Gnome sooner or later." -- Jamie McCracken, Nov 2006
I am a GNOME developer who disagrees. As I mentioned during Jamie's talk at GUADEC, I do not see how using Tracker as a replacement store for applications like Banshee is plausible. Tracker stores its data in a set of tables with three columns, URI, key, value. So for Banshee, you would have one row for each attribute (key) of metadata for each audio file. Such a store is going to be much larger on disk (since it has to store the URI and key for each attribute) and take impossibly longer to run useful queries. Jamie estimated it would take roughly 5 seconds to return the information for 10,000 songs - something that takes an optimized, specialized database a fraction of the time. I'm sure there are cases where a centralized triple-store could be useful (tagging), but Jamie's promise of "a synergy of technologies that are designed to provide a highly sophisticated, innovative and integrated desktop", this all-singing, all-dancing bear, is unrealistic and distracting. Lastly, when F-Spot was proposed for inclusion in the default Ubuntu install, there was much discussion. I have found little discussion regarding the recent decision to include and turn on Tracker in the default Ubuntu install, and this concerns me.


  1. I understand why F-Spot would generate more discussion than Tracker: I myself hate all those VM that are grafted onto a desktop to make it run. Please write in C, or use Vala, but no VM on my desktop, especially for long-running applications (e.g. beagle, deskbar, tomboy).


  2. GNOME users don't want mono
    beagle is died nobody uses it
    now there is tracker and Google Desktop
    and for language issues just use

  3. @anonymous 5:30PM: I'm a GNOME user and I want mono. So what are you going to do now, crying yourself to sleep?
    God, once upon a time the trolls used KDE, why are they here?

  4. I'd say Mono is the biggest thing holding Beagle back, that and it's memory leaks and it's way of filling my harddrive with index files.

    I haven't run tracker either and I'll probably wait until Ubuntu 7.10 to do so. At least I won't have to deal with Mono

  5. Pls no more flamewars! Im sick and tired of being wrongly accussed of starting flamewars when I have not started a single one

    (and its not my problem that the mono or beagle fanboys get upset that tracker is succeeding)

    I could easily quote plenty of jibes at tracker from beagle devs but I am not interestedd in provoking more reactions.

    I plan on making Tracker integrate with Rhythmbox at some point so you will see then if it makes a dfference.

    Oh im immune to stop energy so you are wasting your time trying to stop me that way

  6. Well done Jamie
    i support your work.
    and please beagle/mono zealots go alone
    the vast majority of gnome users don't want your toys....

  7. I'm not surprised at the lack of discussion around including Tracker. But I've got more questions about Beagle and Tracker.

    I think for a lot of Ubuntu GNU/Linux users it's a matter of what works—what is the long-term user experience for users picking FLOSS. My experience with Beagle is that it simply doesn't work well for desktop search. Periodically (with the Beagle that shipped in the latest long-term Ubuntu release) Beagle would not index new documents properly. I'd have to shutdown Beagle, remove the index files, and let it reindex anew. This should never have to happen. This is not what users coming from, say, Google Desktop or MacOS X expect to ever have to do with those proprietary desktop search programs.

    Tracker wasn't miles better, but its indexing was so much faster than Beagle that reindexing is less painful.

    Add in the Mono concerns others have expressed and you've got slower indexing performance on top of concerns about Beagle's underlying system. People make their choice based on what they see; what I see is that Tracker is smaller, more lightweight, faster, written in something I've already got tons of FLOSS programs using, and in the latest version it's coming along.

    I'd love to try the program which tracks what you're doing and shows you relevant related information in a sidebar (I've forgotten the name of it now) but I wasn't able to get that going the last time I tried. If this is somehow related to Beagle, perhaps that would be an interesting thing to help people see how Beagle works better? Maybe you're way ahead of where most people are for usage and you're seeing design limitations common users haven't yet bumped into? I'd love to index my email (which I access via IMAP using Thunderbird), can Beagle do that?

  8. @first post: you don't use Javascript, Flash, Python based websites or apps? Really?

    @jamie: I look forward to seeing the Rhythmbox integration.

    @j.b: First, to be clear, I am not a Beagle developer. I can't debate the advantages of Tracker vs Beagle because I have not analyzed and compared them.

    The program you refer to is called Dashboard, and is (as I understand it) what the Beagle project was born from. I am uncertain of its current status.

    Regarding Thunderbird and Beagle, Joe Shaw just posted a blog entry about that (https://joeshaw.org/2007/08/06/481) though I don't know if it indexes IMAP e-mail.

  9. @Anonymous 5:44: Caschi male.
    Ma va in mona de to mare buea.

  10. @Jamie: (and its not my problem that the mono or beagle fanboys get upset that tracker is succeeding)

    That's your problem: you assume that every single person who takes the liberty of criticizing you is a "mono or beagle fanboy". Did you ever considered that maybe they're not fanboy but just people pissed of by your attitude in the last year?

  11. Anonymous: Exactly! I don't like Beagle very much; it has a lot of problems, and isn't ready for broader use yet. At the same time, I want to like Tracker; it's fast and it seems stable. But the way Mr McCracken acts puts me off from it more than anything else. _I_ don't want to depend on something that's dictated by someone I can't respect or count on.

    Since pretty much the inception of Tracker, every comment I've seen by him has made me think that he's rash and immature, compared to the always calm and reasoned comments I see from Joe Shaw. I get the feeling that I can count on Shaw to actually address problems in a mature way, to manage his project in such a way that I can rely on it to focus on technical issues first and marketing second.

    If McCracken really wants developers to consume his software, he has to realize that he isn't just marketing the code; he's marketing the team that develops it. Until he starts acting more maturely and respectably, I can't respect either him or his software.

  12. Of course mono is a problem. I ran tomboy for a week, and my laptop seemed to run about 5-6 degrees hotter the whole time. One argument in favour of mono or python or similar is that it saves much developer time, this is doublessly true, but it wastes much user battery time too.

  13. "Lastly, when F-Spot was proposed for inclusion in the default Ubuntu install, there was much discussion. I have found little discussion regarding the recent decision to include and turn on Tracker in the default Ubuntu install, and this concerns me."

    Because it works, and because it doesn't depend on a runtime only SLED guys wants. F-Spot was forced into Ubuntu despite this, as was Tomboy in GNOME. Tracker doesn't need any forcing. This should say something to you all about what the USERS think.

  14. henry: What you're describing is called a 'bug.' It's meant to be fixed. Right now, Tomboy on my system is using no CPU and half a megabyte of RAM. Which is, in fact, substantially less than my clock applet is using. Your laptop getting hotter is not the intended effect; it's not supposed to be that way, and it isn't an indictment of Tomboy or Mono in general that you're experiencing it.

  15. Quoting people about comments of almost one year old is quite unfair.

    Also, using your voice in the planet to rant about people, is not polite either, if you have a problem with him, talk with him, and try to understand his position, not only the Joe's one.

    On the other hand, if you would be kind enough to get a closer look to the xdg list on freedesktop, you would realize how hard are both projects, and both guys, working on standarization so anybody can choose its preferred indexing/metadata thing by themselves.

  16. Dude: be aware that you you just started a blog post lamenting personal attacks by dredging up some email from 8 months ago.

    Let go.

  17. @anon: I quoted that e-mail not for lack of recent material, and I was not lamenting personal attacks, but attacks on the Beagle project. And if you haven't noticed, this back and forth is not just historical, but ongoing.

  18. I'm at the point where I don't feel the need to make a choice between Beagle and Tracker based on technical differences. I choose Beagle because I simply prefer the attitude of its developers.

  19. I do not believe that this sort of post is appropriate for planet GNOME.

  20. Please keep in mind that Joe get paid for his work an beagle, all work an tracker is community work. Jamie actually is a nice guy, meet him in irc you will see.
    His post are not very well indeed, but that is because he believes in his product. Btw. the novell guys aren't better they flamed against tracker all the time without any reason.
    Gabriel, if tracker isn't a good metadata store (we will see when more testing with rhythmbox is done) then use and appreciate it as indexer. It is a really good indexer, why no beagle guy honors that?

    I don't get it, we are one community!

  21. @last commenter:

    I don't believe I've ever flamed Tracker; on lists I've tried to bring up what I thought were technical issues with it objectively and my one "flame" was really that I was tired of Jamie's attitude toward Beagle in public forums like OSNews.

    I also don't really see what relevance my Novell employment has. Beagle has always been Free Software and developed openly. We have several (non-Novell) contributors, we take part in the Google Summer of Code program. A while back I blogged a big "thank you" to the over 100 (again, non-Novell) contributors to the project.

    In any case, que sera sera. I congratulated Jamie on getting Tracker incorporated into Ubuntu and let him know that it'll mean a lot more work. :)

    If I were doing Beagle over I'd do a lot of things differently, and not including Beagle in Ubuntu as early (and consequently, not ready) would definitely be one of them. I regret that many Dapper and Edgy users got such a negative impression of it, because we've made so many improvements since then, but people continue to focus on past negative experiences.

    Joe Shaw

    (Hmm, I can't seem to publish non-anonymously...)

  22. @Joe:

    thanks - I dont blame you for anything and you are a great guy! The flame in question was understandable - no one likes to have their project flamed and im just as sensitive about it as you so I understand (and thats why I apologised too). It would be nice if some of those at novell and other mono/beagle fanboys would follow your example.

    I certainly wont conduct a smear campaign on you like what is being done to me atm. If you said a few dodgy things about tracker in the past I would assume its in good faith anyway (I always hated it when people ask me about tracker and beagle - its os easy to have a slip of the tongue)

  23. Why are you dredging up an eight month old email? This is an inappropriate use of Planet Gnome. If this is the sign of things to come on Planet Gnome, I will definitely bump this from my reader.


  24. I love spamming planet gnome

    sciao belli

  25. First; please let's keep it on a professional level. Yes, Jamie released some not-that-kind comments towards Beagle in the past, but some of the Beagle developers also had their part on the flamewar. Let's forget about that.

    Second; having a centralized store for all desktop metadata is much more convienient for a semantic desktop than having a datastore for each and every desktop application. Instead of writing "plugins" for every application to gather offline-data, just provide an API to access that centralized datastore. I'm quite sure that a optimized way to store document/file informations can be found, be it through generalized filetypes or through another solution. Disk space doesn't matter anymore, nowadays. Not realy, at least. But having a common datastore does.

    Please note that Jamie's approach ist not his alone. He's working together with e.g. the developers of Nempomuk to create a common metadata-store API. Maybe the Beagle developers could join in?

  26. Why don't you guys find a way to store metadata where it belongs? With the objects/files. Thats the only reasonable approach I can see. When I tag something I want the tag to live as long as the file lives. That should be the real goal.

    Regarding the post: Shame on you.

  27. On the question of discussion for inclusion in Ubuntu, you have just done a search on the mailing list. A lot of planning for Ubuntu is done in person at sprints and developer conferences and via specifications. A quick review of the Ubuntu wiki and specification database revealed these pages:


    (which appears to have been discussed at two developer conferences)




    Hope this helps

  28. Lately on various machines I've been using Beagle and google desktop and both have been working well. Results are accurate and system resource utilization has been fine. With the release of Tracker 0.6.0 and the ubuntu announcement I figured I'd give it another shot since previous versions completely underwhelmed me. I see very little has changed!

    * CSV files are not indexed even though gnumeric is installed and both beagle and google desktop index them properly

    * There appears to be no way to search for a string with spaces!! For example, I want to find "HD DVR". Beagle and google desktop can search for them but tracker finds all files with both words, regardless of position. Lame!

    * Some newly created files get indexed, some don't. And there's no indication why, even though the file types are supported. Starting from scratch by rebuilding the indexes usually adds them. Nice resolution!

    * The GUI is an ugly abomination.

    Tracker is a joke and Jamie is too busy in flame wars to listen to what users want. Nobody really wants a first-class object multiple triple store...users want a quick and easy way to search their files. After all is said and done, Tracker doesn't do that.

    I find it hilarious that google desktop quietly shipped and, with the first version, trounced tracker in performance and search quality.

  29. Isn't it obvious? F-spot was a discussion because it was the ONLY mono program pulling in al those mono dependencies. Would the default ubuntu install choose banshee over rhythmbox, beagle over tracker and including tomboy by default it all starts mattering less.

    But when f-spot was added, it was like adding ONE kde program to the desktop, adding 50+ mbs of libraries and tools.

    Its not about WHICH architecture is used, its about using JUST ONE by default. This keeps the memory use and speed on older pc at some reasonable level.


  30. Rolf: Except Tracker has issues of its own, which are in many ways just as valid as the issues with Mono were. Duh?

  31. I don't care for Mono, but I don't care much for C, either. But that doesn't matter nearly as much as having something that does what I need.

    And today, Beagle does, and Tracker (AFAICT) doesn't.

    What's so hard that I want to do? I want to write my own filter, for my own filetypes, and then do searches from HLLs. On the Beagle webpage, there's pretty extensive documentation about writing custom filters and using language bindings. I haven't found anything about writing new Tracker filters, or HLL bindings.

    (Do I have to write in C? Do they all run in the same process? Do they have to be linked into Tracker at build-time? I can't find the answers to questions like these, which makes me suspect they weren't design considerations, which means I won't like the answers.)

    So I'm sure Tracker is really small and fast and optimized at what it does, but if it doesn't do anything I need, what's the point? Sorry, but no thanks.