Thursday, May 8. 2008Magnatune memberships launched, Amarok 2 offers full support
Finally, after hacking on it on and off for over 6 months, Magnatune has officially unveiled the 2 new membership options "stream" and "download". So as not to sound like a bad commercial, I will let John tell the story about these services.
What I would like to spend a little time on, even though I have touched on it before, is the cool way in which Amarok 2 already offers full integration for these 2 new memberships. With a stream membership, all of the preview streams from the Magnatune service become available in high quality ( 160kbs ) ogg with no nagging speaker announcement at the end of each. ( if configured to use oggs, the mp3 files are also nag free but the same quality as the non member version ). This makes all the Magnatune service content almost indistinguishable from local content. Configured with a download membership, not only are all the streams high quality and nag-free, but the "purchase" option turns into "download" and lets you download as many albums as they like for free ( basically just skips the credit card screen and goes straight to the download dialog ). With a download membership, Amarok 2 essentially turns into the world's first music player with an integrated, unlimited, DRM free music download subscription service ( as far as I can tell ). Another, slightly more obscure way these memberships affects Amarok 2 is that it can automatically convert Magnatune streaming urls from other sources into membership streams ( if configured to use a membership ). So, for instance, a stored playlist of non-membership mp3 streams can automatically be transformed into high quality membership oggs by Amarok. This makes it possible to do a cool Magnatune service front page in Amarok 2 that just links to "normal" mp3 streams and still ensure that the members get to hear the nag free streams. Ok, so I am excited ( can you tell? ), but I have been working on these memberships for a long time and has taken great care to ensure that Amarok 2 would be ready to use them when they were launched. So now we just need to get Amarok 2.0 out the door... Tuesday, April 29. 2008Amarok recieves first Magnatune sales commision
This is something as rare as a non-technical blog post from me, but I though this was worth posting!
yesterday Magnatune and Amarok decided that it was time Amarok received its first payout of the money earned as commission by selling Magnatune albums through Amarok. This came out to $1155.70 which is 10% of the $11,557 (!!) in sales that Amarok has generated so far. That is actually really good I think! This money will be used to cover hosting and conference costs of the Amarok project and thus will help further improve Amarok. Besides giving Amarok a 10% commission, Magnatune also employs me, and allow me to spend about half my time Hacking on Amarok, so they truly are a very big supporters of Amarok, and we are delighted to be working with someone who really "gets" free software and free culture. With the greatly improved Magnatune integration in the upcomming Amarok 2, and the eventual release of Amarok 2 on Windows and Mac, it will be really interesting to see how far we can take this in the future. For now, I hope that the Amarok users will continue to buy music through Amarok, as it is a great way of supporting Amarok development, at the same time as supporting independent artists, who get a full 50% of the purchase price. John Buckman ( the founder of Magnatune) blogged about this here Friday, April 25. 2008GSoC: One Intro with a side order of awesome ( Full MP3Tunes support )
In this years Google Summer of Code, I will be mentoring Casey Links project "Amarok: MP3Tunes Service Enhancements". I asked Casey to write a small introduction about himself and his project:
Hey everyone! My name is Casey Link and I am an undergraduate Computer I am really exited about this project, as this is one of the initial ideas I had when creating the MP3Tunes service, but unfortunately never had time to implement ( Anyone knows where I can get 10 clones made cheaply? ). I also think that some of the less visible framework stuff that this project will complete will be really usefull for other cool things, such as downloading an album from Magnatune or Jamendo straight to a media device or online locker without storing it in your local collection. So lets give Casey a warm welcome and hope this project turns out as great as I think it has potential to. On a related note, you might be aware that MP3Tunes is currently engaged in a lawsuit with EMI over the legality of storing your own, legally acquired music online. Their CEO has published a letter about this, describing why he sees this as an attack on the concept of digital ownership. I think this battle is worth following as it is not about piracy or file sharing, but really about what you can do with your own music. And here I thought that EMI was at least starting to come around... Saturday, March 22. 2008Scriptable Services
Heres something new and something old all rolled into one!
I have been dropping hints about the possibility of a scriptable service for a while. I even showed off a very crude prototype in a lightning talk at aKademy last year. Since then, architectural changes to Amarok and task that were more important ( and a lot simple ) pushed this work to the bottom of my long term TODO list. It newer quite left my mind though. I think that the potential benefits of allowing people to quickly and easily integrate their own content into Amarok, without having to mess around with building the entire app are huge. It will allow people to add and distribute services for content that, while interesting, does not have a broad enough appeal to warrant inclusion in the Amarok core, and it will allow people to integrate content and services that we simply have not thought about. So, when sitting in a small cabin in the woods, with no internet and plenty of time on my hands, because my Girlfriend is busy studying for an exam, it did not really take long to decide what I really wanted to work on. And now I am back... So, without further delay, I give you the new, improved, and actually working scriptable service framework! I decided to completely rethink both the DBus API and the way Scriptable services interacted with the rest of Amarok. The entire API now consists of 3 DBus functions and 2 callback commands that the script must respond to. Also, everything is completely dynamic, meaning that the service will not use the script to populate any items before they are needed. Here is a few screenshots of a scripted service in action. First of all, the scriptable service framework now integrates in a simmilar way to all other Amarok scripts, making it possible to start, stop and manage them from the "Script Manager" dialog: When running, it ill appear in the service browser along with any other loaded services: And when activated, it will appear just like any other service, complete with optional html info for each item ( supplied by the script of course ): The "Cool Streams" script is my first attempt at a usable script. It basically just implements the list of cool streams from Amarok 1.4 as a service. The entire script is about 80 lines of ruby code, and half of this is taken up by the array of stations to add. About half of the remaining code is comments. So setting up a simple new service really does not take much code, and as there are only 3 DBus functions needed, it is really quite simple do do. So, despite what I have been telling people lately, Amarok 2.0 will ship with the possibility of adding new services using scripts. I am really exited about this feature, as the general scripting support in Amarok has yielded and incredible amount of interesting features that none of the regular developers had ever though of. In the same way, I hope that the scriptable service support will inspire people to add interesting new content to Amarok. Friday, March 7. 2008Nearing first alpha, and lots of cool new stuff
Its been little while since I wrote a nice long update about the state of Amarok 2, and we have been getting a few complaints that there is not enough ews being posted, so I will try to remedy that here. And I have a nice pile of screenshots ready for you!
First up though, we have decided to put a feature freeze in effect starting at the end of this month. This is the first small step towards an eventual release of Amarok 2.0, and hopefully it will help us get it ready sooner rather than later. This also means that we are at the point where bug reports actually start to become useful. More on this in the coming weeks I am sure! So, whats new in the land of Amarok 2. Lots actually. First of all, I have tried my hand at some small but quite visible modifications to our svg theme, and I personally thinks the results are very prommising. I just need to figure out what do do about the volume slider... And of course, the theme still adjusts itself to the system color theme: At Magnatune.com, we have been adding free ogg streams along side the existing mp3 streams. Of course Amarok should also benefit from this, so I finally got around to implementing a stream selection GUI. This also allows people with slow or unstable internet connections to select the lofi mp3 streams: I think I can reveal, that as an added bonus, people who decide to purchase one of Magnatune.com's upcoming memberships will be able to enjoy ogg streams in a really nice quality A lot of work has gone into the last.fm service and integration. The bulk of the Amarok 2 last.fm service was originally done by Shane King, but this week there has almost been a competition about who could do the most cool things with the last.fm service. This however also led to a slight case of "interface wars" as we currently cannot decide between buttons and tree views for the different streams, but I am sure we will figure something out eventually A really nice feature that was implemented by Dan Meltzer ( aka. Hydrogen ) is the ability to right click any artist in your local collection and add a last.fm stream of simmilar artists directly to the playlist: I have spent some time adding capabilities that will allow any track or stream with special actions that only makes sense when that track or stream is playing to make these actions available throughout the interface. Most notably, when listening to a last.fm stream it adds the "love", "skip" and "ban" actions to a small sub toolbar next to the play controls: This small toolbar and the background is completely invisible when playing tracks that do not have any special "now playing" actions. The same actions are also added to the tray menu ( and when right clicking the currently playing track in the playlist ): Last.fm is becoming really well integrated, but the great thing about the way it is done is that there is almost no last.fm specific code anywhere but in the last.fm plugin, which can be completely disabled. This means that any other service can use the same interface elements to achieve simmilar results. Last.fm is simply the first one to use these capabilities. It also means that Amarok 2 is in no way dependent on last.fm being available. I think that this independence is very important. It allows us to work with many different services and companies without anyone getting control over the core of Amarok. And this is personally what I see as the main strong point of Amarok 2. We are positioning ourselves to be able to work with and integrate content and services from a multitude of sources without the fear of what happens if one of these services stops existing, turns horrendously evil, or tries to assert undue influence over the direction of Amarok. And with reports coming in from our crew at Cebit about the huge interest in Amarok, it looks to be a really interesting future. Now, if we can just get this 2.0 out the door soon.... Thursday, February 28. 2008From back in the days when programmers used hammer and nails
After attending Fosdem, Linda and I had a few days to spend in Brussels. On Tuesday, we went to the musical instrument museum. This was a really good experience, as they have 5 floors packed with instruments from every age and every corner of the globe, along with wireless headsets that lets you listen to music played by each.
The one thing that I found really intriguing was some of the old "self playing" instruments such as this organ. This is in essence an early computer, capable of processing many instructions at once from a stored program. The mechanical complexity of it just boggles the mind. And a closer look at the actual "code" shoes just how painstaking a job programming it must have been. I wonder if it was possible to buy additional "programs" once you had purchased the organ.... If nothing else, this shows that musical software has a long tradition, that we here at Amarok HQ are proud to be a part of! And just to throw in a bit of Amarok related content. Today I have been hard at work fixing many ( most? ) of the crashes we experienced while demoing Amarok this weekend, so hopefully the upcoming demos at Cebit and OpenExpo will run a lot smoother! Sunday, February 24. 2008Impressions from Fosdem
So, Fosdem is over, and I finally have stable network access and time to use it. My initial impression of the event would have to be that it is very crowded. Especially Saturday was quite insane with people being crammed in the halls. Shouting loud enough to explain the wonders of Amarok 2 to people cost me most of my voice.
My own talk went very well, ( at least so I have been told ), but a review of all the talks in the KDE dev room should be online soon. For next year, I think we need to realise that cramming 12 Amarok people into half a KDE booth is not the optimal solution. Hopefully, in the future it will be possible to get our own area with room for showing off Amarok on more than 2 laptops I will leave you for now with my favorite among the pictures I took at the event. I actually don't think I am even going to try to explain this one. Suffice to say, that even though our new mascot Mike was quite a crowd pleaser, the BSD pople in the booth next to us had us beat hands down at the attention drawing game... Wednesday, February 20. 2008A few days worth of work
For the last few days I have been hacking on Amarok full time, and I though it was time to give a brief update on what is happening on planet Amarok.
Lets start off with the screenshot this time First of all, we have now officially made our svn trunk depend on Qt 4.4 and KDE 4.1 ( current KDE trunk ). This means the that the work that was done with QWebKit ( See my last blog entry ) has been merged into trunk and we have started using QWebKit and real widgets in some of the other applets. Because of this, the Wikipedia and Lyrics applets are also coming along nicely, but they are not really fit to be shown off just yet. In the above screenshot, there are 4 major visible changes. First of all, the the 2 different statusbars that we were using ( one below the context view and one below the playlist ) has been merged into one that is placed at the bottom of the app. Besides looking much better, this also means that you won't loose a statusbar if you decide to hide the context view. The statusbar code has also been cleaned up somewhat, even though this is still very much a work in progress. Next up is "source info capability" that can now accompany a track. I thought it was a bit of a shame that it was not possible to tell which tracks in the playlist are local, which ones are from Magnatune.com, last.fm, Jamendo or wherever. So to solve this I added a system for letting each track tell the world a little about where it is from. The first use of this system is to display a small emblem in the top corner of the album covers for tracks from the services. In the screenshot can be seen the emblem for Magnatune.com service tracks. I plan to make displaying these emblems configurable so people who do not like it can turn it off. I am also not sure that the emblem really needs to be shown on top of the cover, but I have no been able to come up with anything better yet... Then, smack in the middle, is the resurrection of some very old code from before we started using plasma in the context view. Back then, I had this idea that some info was suitable for being presented in a "cloud" format. I had a context box that could display the different moods that Magnatune tracks are tagged with, with the relative size of each mood depending on the number of tracks that are tagged with it. After digging up some old code, it proved relative simple to get this ported and working in a plasma applet. The different shades of blue is thanks to the fade animation that happens when you mouse over an item. Originally, clicking on a mood would add 10 random tacks with that mood to the playlist, but I have not quite gotten to that part in the current implementation yet. There are also many other things that needs to be improved , such as text size adjustments, eliding, and, in particular, scrolling! Last but not least I have cleaned up the playlist somewhat and changed some of the graphics a bit. The "now playing" marker is now much more visible on very light color themes ( remember, the svgs adapt to the users color settings ) and some redrawing issues have been solved. Besides the visible, I have also had time for some code cleanup, crash fixes, and a little hack that, at least for now, makes it possible to use the shoutcast service again. I will be at Fosdem this weekend with the rest of the team, so hopefully I will have a little more cool stuff to show off by then! All in all I don't think that is too bad for 3 days of work Oh, one more thing! Sunday, February 10. 2008QWebKit goodness, putting context info where it belongs
Over the last months, there has been a number of questions about the reason for the large empty space in the center of Amarok 2. I completely agree that having only a "Now Playing" applet there makes it seem kind of useless. The reason that we have not had much to show so far, has not been lack of ideas, but rather that many of the things we want to do requires the ability to do proper html rendering in a plasma applet, something that is just not possible with Qt 4.3.
So, hearing good things about the features that will be included in Qt 4.4, such as Widgets in QGraphicsView and QWebKit, I decided to setup a new development user and build KDE4 and Amarok 2 against the Qt 4.4 Technology Preview 1 to see what is possible. After an hour or so of tinkering, I had this: Now, this is not laid out properly, the svg background for the service info applet is horrible ( something I drew up in 5 minutes a looong time ago ) and the white background clashes with the svg colors, but all that will be fixed. The main point is that it is showing properly rendered html!!! This should allow us to start working on applets for Wikipedia info, lyrics, service info and many other things that, until now, has not been possible for us to do. We have started a git repository for playing around with Qt 4.4, but for the time being, the svn trunk will remain Qt 4.3 to allow Amarok 2 to build on top of KDE 4.0.0 and 4.0.1. Thursday, February 7. 2008Amarok 2 tech preview 1 Windows Binaries available
As Shanes blog is not yet on the planet, I though I would forward this as I think it is a quite important announcement.
http://amarok.kde.org/blog/archives/583-Windows-Binaries-of-Amarok-2-Tech-Preview.html Saturday, February 2. 2008Podcast directory service
Because I was a bit bored today and really felt like doing something new, and inspired by the quite large thread on podcasts on the Amarok mailing list, I sat down and wrote a simple podcast directory service on top of the service framework.
Right now, it does not really do anything besides showing stuff, but making it subscribe to the podcasts should be relatively simple, and will tie in really well with all the cool stuff Bart is doing with regards to podcast support in the playlist browser. Also, because of the flexibility of the service framework, filtering worked right away. The service is currently hardcoded to use an OPML file from http://www.digitalpodcast.com, but the plan is to make that configurable, or even to allow several at once ( like the Ampache service ). There are currently somewhere around 15000 podcasts listed at digitalpodcast.com, so it seemed like a good place to start. So, to keep it short and sweet, here are some screenshots of what I have got so far: Tuesday, January 29. 2008An explosion of color, or on the fly svg tinting
In my last entry, I introduced the new svg theme "Graywolf" which was, as the name implies, quite gray. I also stated that one of the ideas behind this theme was to allow the application to automatically tint the svgs to match the system color scheme and that to achieve this, we needed a base them that did not have any single dominant colors. As some people were expressing doubts about the feasibility of this approach, I did what I always do in those situations: I came up with a quick and dirty prof of concept.
So, before I overwhelm your sense with an explosion of color, please remember that this is the result of one night of prototyping and some of the svgs are not tinted yet as I am waiting for an updated version ( the sidebar buttons, play controls, ... ). Also, work needs to be done to ensure adequate contrast in very light color schemes. The only thing different between the following screenshots is that I have changed the users color settings. No configuration at all has changed in Amarok itself. Of course I also choose some of the more, uhm... colorful, color themes to really illustrate the concept: I actually think the black one is pretty sweet, even if the other ones are a bit "over the top" for my taste! .-) It is still a work in progress and needs a lot of tweaking, but i hope this will put to rest some of the fears people have expressed that it is impossible to make svg graphics match the system color scheme. Sunday, January 27. 2008"Graywolf", a proposed new look
In collaboration with Lee Olson, I have been trying to come up with a new svg theme for Amarok 2 with the working title of "Graywolf".
The main issue we are facing is that Amarok 2, being cross platform, will run on a multitude of different setups each with their own look and color scheme. Unfortunately, this makes it very hard to do svg files that will look good on all platforms, as the colors might be way off. This new theme attempts to address this by not using very much color at all in the basic svgs. The current idea is to attempt to programatically tint these svgs with the dominant color scheme color, if it is very pronounced ( and non gray ). The really great thing about this new theme is, that for the first time, we actually have a set of svgs that all look like they belong together. And even though the theme itself does not have much color, Amarok 2 will most likely not be dull as there will be context applets and album covers shown all over the place. Anyway, I just finished the very initial integration of Lee's new svgs and added some supporting code, and thought I would show it off, even though it still needs quite a bit of work. And yes, I know some of you will notice right away, but I am having issues with anti aliasing under KDE4 at the moment, so a lot of the text looks like crap! So without further ado, I give you, "Graywolf" Thursday, January 10. 2008OpenExpo 2008 in Bern, Switzerland
Its official. I am going to be giving a talk at OpenExpo in March about the work I have been doing on integrating Free Culture and Open Music services into Amarok2 and how this collaboration benefits both the Free Software and Free Culture communities. I am super exited about this as this will be my first major conference appearance and I am really looking forwards to that. ( well, I might make an appearance in the KDE dev-room at FOSSDEM, which will most likely be the same talk, so you can get a sneak peak there if you are so inclined... )
I will be speaking on the technology track, the full program of which can be found here. So now I actually have to start thinking about writing the talk... Sunday, December 16. 2007Configuring the services
One of the things that I have known for a while had to be done, but I had not really gotten around to, was making proper configuration pages for some of the services. For instance, having to type your mp3tunes username every time you want to use the mp3tunes service or the new ampache service. Also, it should be possible to disable services that are not used. With the recent conversion of all the services to proper plugins, I decided that it was time to start looking at this.
First of all, the neat KPluginSelector widget gives us an easy way of showing available plugins and enabling or disabling them. This makes it simple for each user to have only the plugins that are interesting to him or her shown in the service browser, and allows us to ship a large number of plugins without having to worry about the service browser becoming overcrowded. Then the only big question becomes which services to enable per default. For now, I have settled on Jamendo, Magnatune and Shoutcast. The reason for this choice is, that these are the current services usable by any user right away without requiring a account on some external server. Here is first a screenshot of the main service config page: In this screenshot is also shown the new last.fm service that Shane King has just started working on. For now I have written config pages for 3 of the services. Ampache, Mp3tunes and Magnatune. The Ampache config allows configuration of any number of ampache servers, and a service will be created for each in the service browser: For now, the only config options for the Mp3tunes service is simply to store the username and password so the service can connect automatically next time it is shown: For the Magnatune service, I added experimental support for the upcoming Magnatune memberships. These memberships are not available just yet, but will be soon. In fact, getting these memberships ready for launch constitutes most of my day job these days. When this is done I will get to spend some real time getting Amarok2 ready: All in all, these config options go a long way towards making many of the services more useful and less like the "developer toys" they have been for a while.
(Page 1 of 3, totaling 38 entries)
» next page
|
Amarok LinksCalendarQuicksearchArchivesCategoriesSyndicate This BlogBlog Administration |

