Saturday, October 11. 2008
Why Nepomuk could not fully replace ... Posted by Daniel Winter
in danielw at
13:05
Comment (1) Trackbacks (0) Why Nepomuk could not fully replace (My)SQL in Amarok (yet)This is another post about collection backends in Amarok. The others posts explained the switch to MySQL embedded and tried to address some of the concerns. Jefferai also wrote a few things about Nepomuk in Amarok (and why it will not fully replace the sql based collections) which I want to comment on and add to. There are user asking: “There is Nepomuk in KDE for storing meta data why the switch to MySQL embedded you could just use Nepomuk and drop sql collection all together.” With reasons like: “Nepomuk can do this and that better and one storage in KDE for everything is best.” They are not complete wrong, there are good reasons to use Nepomuk (data sharing between applications, system wide searching, using strigi(and taglib) for collection scanning at a central place for all applications once, interconnect the data with other data (like let Kmail store where I got that song from), and others) But Jefferai is right when he says that Nepomuk can not replace the sql collection for everyone and every use case. At least not for the short and longer midterm (;-)). Why? Not everyone will or could run Nepomuk for different reasons. The most important one: It is a quite complex big software in terms of memory usage (though I think that will improve in time and the amount of available memory in computers is growing fast) and CPU usage. Another issue is: At least in the short and midterm it it will be significant slower than the MySQL based collection. It is not useless slow but well sqlite isn’t useless slow either (faster than Nepomuk atm) and people complained. So: For slower older computers, lightweight media devices, mobile devices, big collections, java “haters” even a perfect done Nepomuk collection with a bug free Nepomuk (we are not there yet…) would be out of question.
I expect some of those issues to improve over time. (I hope we will see a faster C/C++ based storage backend for Nepomuk). But still Nepomuk is a new technology and there is not much experience with it yet amoung users, developers and important here “developing users” (those who create small scripts and apps to work on the sql data from amarok to do different things with that, mostly for their own usage).
Don’t get me wrong: I like Nepomuk and it possibilities for Amarok. It is not useless slow. In fact I am using it as my main collection backend in Amarok for months now. But it is in a similar state as KDE 4 in pre 4.0 days. You could use it but it not feature complete, it is not really stable it has its issues and there will be major changes to some of its parts. Well I hoped to have it (and the related Nepomuk service) in a better shape by now. Sorry for that, my time is very limited at the moment but work has not stopped fully and I am still planing to bring it into a useful shape.
A few words on the Nepomuk service: It will monitor Nepomuk/Strigi for new music and use taglib to read data Strigi can not read (yet?) to fill it. It then creates new music (tracks, artists and so on) resources in the Nepomuk storage. It should also inform interested applications about new music. Overall it aims to have always all music of the user in an easy to access way available for use in media players, music management applications and others.
That should make it easier (and faster!) for Amarok (and others) to use the data.
For example at the moment (ontology not final) to get a QStringList of all artists of the music on the computer in your application is as easy as (when using Strigi, Nepomuk and the unreleased service) :
QStringList artists; QList<Nepomuk::Resource> artistsResources foreach( Nepomuk::Resource &artistResource, artistResources) {artists << artistResource.label(); } The flexible Amarok 2 collection framework will allow both (Sql and Nepomuk) collection living together at users choice and maybe in a few years Nepomuk (with faster backend?) could become the default. Thursday, July 10. 2008
Real persistent playlists in Amarok ... Posted by Daniel Winter
in danielw at
16:34
Comments (10) Trackbacks (0) Real persistent playlists in Amarok with NepomukAgain too long since my last blog post. For those who are new to my blog: I (DanielW in IRC) am the GSoC student working on bringing Nepomuk into Amarok. So what has happend the last weeks? Amarok now writes statistics back to Nepomuk (playcount, last played date and so on). With the nepomuk search client and kio slave in playground you can search files for that (list for example all files played more than 10 times). But what I really want to talk about are “real persistent playlists”: Thanks to the new Filewatch service (already in svn (trunk and 4.1 branch)) Nepomuk can now track movements of files and update the metadata connected to them. (it uses KDirNotify and can only track file movements done from KDE applications). I am using this in Amarok to have playlists which still work after renaming/moving files. This means you can:
Amarok also monitors changes to the data at runtime. I first planed to make a screenshot (without it, it is not real (sorry for poor Youtube quality, get the real one) Now the technical part: It works by creating and storing a uuid for every track used in Amarok. It then uses this uuid in the URL of the playlists. That works but is no perfect solution. In the long term (after SoC) I will have to create track (and album) resources (which link to the actual files) in Nepomuk. This will solve this without the uuid and bring other possibilities but also a lot of new problems. You can try it out now (it is in svn of Amarok) but expect bugs and missing features. And..
Thursday, June 19. 2008Dolphin and Amarok share ratingsFirst: Sorry, I planed to blog more often about my GSoC project. I don’t feel very good when blogging in english. But as Thiago “forced” us to blog here an update: Let’s start with something to look at: Isn’t it nice? Ratings from Dolphin in Amarok Yeah, you will be able to rate your songs in Dolphin and see the ratings in Amarok or vice versa. They share the same data in Nepomuk. (I will publish in Amarok Wiki which ontologies are used, so that you can make use of it in your scripts or applications.) The collection you see there in the collection view uses the data from Nepomuk. (As my code can not scan collections yet it works directly on the information Strigi indexed.) I am quite happy about the performance. It is slower than the SQL collection but fast enough in most cases. But you shouldn’t try to add your complete collection to the playlist. On my collection (about 15k songs) it takes about 5 minutes. I am not sure if i can change that. Also not working yet: Collection filtering and any writing of data back Nepomuk.
I recommend to use the Sesame2 backend for Soprano/Nepomuk (needs Java at build and runtime of Soprano). But it should work with Redland too. To test it is enough to only add your music directory to the Strigi index folder (also in the Nepomuk settings). Friday, May 23. 2008Welcome to another SoC-BlogWell, this is just another blog from a GSoCer. As official start of this years Summer of Code is on Monday I finally installed this blog to tell other SoCers and everyone else who could be interested about my experiences, problems (eh mean achievements) and ideas over the next months. Yes I know, it is locking boring it is the WordPress default theme. I am not really a design guy. I will implement Nepomuk (Semantic Desktop) features into the upcoming version 2 of Amarok the great KDE music player . So this brings together the exciting Nepomuk project, Amarok and music. You probably know Amarok but didn’t hear about Nepomuk yet. For the moment I will just refer to the website of the Nepomuk Project and the website of it’s KDE implementation. What will it look like in Amarok?
For those of you, who are now being afraid because you don’t want to use Strigi and Nepomuk: Thanks to the new flexible collection framework in Amarok 2 this will be fully optional. Just another collection in Amarok. So you don’t have to use it at all without any loss. What have I done so far? To be honest, not very much:
That is it for know. I try to write at least once in a week a short update about it. |
Amarok LinksCalendar
QuicksearchCategoriesSyndicate This BlogBlog Administration |
||||||||||||||||||||||||||||||||||||||||||

