We’ve teamed up with Spotify to bring their entire catalogue, on demand, to the world’s leading music recommendation service. Whether it be your own profile page, artist pages or album pages – if Spotify has it, you can play it and control it on Last.fm via the Spotify playbar at the bottom of the screen. Using your Spotify account (premium or free) you can listen to any track simply by pressing the play button. This will load all tracks on a Last.fm page as a playlist in Spotify.
This new feature brings a depth to Last.fm like never before and gives you a much richer listening experience. The availability of over 20 million tracks at your fingertips allows you to listen to full albums as well as rediscover your scrobbling history – listen to your loved tracks, past charts and more.
This latest collaboration builds on an already successful partnership between the two services, which includes the highly successful Last.fm app on Spotify.
As with any new integration there are of course some known issues, so please bear with us! You can find out about them here and you can leave your feedback in the forums here
We’re hugely excited to bring this new functionality to Last.fm and can’t wait to see what you think.
Enjoy!
]]>The redesigned home page features the same great content, but reorganised and given a much needed facelift. Your recommendations are now featured front and centre, with bigger images and a neat new layout. There’s also a new library section in the right hand column that gives an overview of your personal stats and recent activity. The changes aren’t all on the surface though; your new releases, events, and free downloads recommendations are now better quality, displayed more intelligently (based on your recent listening habits) and programmed to shuffle on each visit to the page. It’s never been easier to discover new music!
So, what if you’ve just joined Last.fm? Some of the most exciting changes are only apparent when you’ve got a brand new account. In this case, the redesigned home page helps to welcome you to the world of Last.fm with a simpler design and clear messaging about how to get your first recommendations and start scrobbling.
The improvements for new users don’t stop there – we’ve also updated our sign-up experience. Back in April we introduced a new account setup process which includes 3 simple steps. New users are guided through starting their library, setting up scrobbling, and completing their profile, before arriving on their home page with music and event recommendations ready and waiting. You can always revisit these steps, so if you haven’t seen them yet, check them out – the library builder is a lot of fun to play with!
In the coming weeks we’ll be making further improvements to the new home page, including the ability to dismiss recommendations. As always, we’re keen to hear your feedback on the changes we make and new features we introduce – please leave your feedback on the forums.
]]>So today we’re pleased to announce a brand new partnership with our good friends over at MUZU.TV, who will help us bring you over 90,000 music videos across Europe (with more countries to come very soon).
You’ll be able to play these videos from both the Artist page, where they’ll be accessible in the same order as the Top Tracks, and also on every Track page where there is video available. So lots of places on the site to get your music video fix!
Does it scrobble? Absolutely. We’ve made sure that scrobbling is automatically configured whenever you watch through the MUZU.TV player on Last.fm (for logged in users), and so the more videos you watch, the better your Last.fm music recommendations become. We’ll also be adding scrobbling to the MUZU.TV site soon, so you’ll also be able to scrobble MUZU.TV wherever you watch.
We’re super excited to have partnered with MUZU.TV – helping us bring you a richer experience.
Enjoy!
]]>The new Last.fm on Xbox LIVE application brings a dramatic facelift simplifying the interface, adding features and including our Originals video library for all to enjoy.
Key Features
• Exclusive Last.fm video content
• Kinect voice and gesture control
• Fine tune your favourite stations
• Full-screen high-quality artist images
• Train Last.fm to discover music you’ll love
• Share your music taste with friends
Radio
The radio options have not changed – you can still listen to artist radio, tag radio, and personal stations (my library, my mix, my recommended), but now it’s easier to jump down the rabbit hole of discovery and launch related stations. Every track that plays shows relevant tags which can launch into a new radio experience. During playback, an artist info button helps you discover similar artists and allows you to launch a new station based on their unique sound.
We’ve also added a “fine-tune” option, accessible during playback of personal stations, which allows you to filter what you listen to. Want only your hip-hop recommendations, or heavy metal library tracks? You can do that! It’s a new and powerful way to give you greater control over what you hear!
We are also displaying full-screen artist images during playback, giving a cleaner and more beautiful visual experience. Tune in to your favourite station and let Last.fm take you on the best personalised music experience.
Video
With the inclusion of Last.fm’s Originals video content, there are more ways to discover new music. Including exclusive performances and intimate interviews, Originals delivers a blend of new and established artists in unique settings. See live recordings by artists like Big Boi, Emeli Sandé, Minus the Bear, Bastille and Two Door Cinema Club. See exclusive interviews with Phoenix, Olly Murs, Jake Bugg, Ramona Falls and Jason Aldean. It’s a veritable buffet of amazingness.
Turn your TV into the world’s smartest jukebox with Last.fm, Xbox LIVE and Kinect. Discover new music from Last.fm’s 18 million tracks and watch hundreds of exclusive videos featuring the world’s hottest artists. The more you listen the smarter it gets.
To learn more about Last.fm on Xbox LIVE, visit our hardware and group page.
]]>We realise that despite mobile internet and smartphones, a lot of people often listen to tracks on other services that do not support scrobbling or are in places where it is not possible to scrobble via our many clients. That is why we decided about eighteen months ago to develop a new service which can process all other scrobbles.
We’re in the process of partnering with Moleskine to produce a Last.fm branded notebook with a special Last.fm micro pencil. Unfortunately this isn’t available yet but until then all you need to do is print out this template, fill out the songs that you listen to and send your completed sheets to Last.HQ!
Examples of what you might like to use Last.fm Unplugged for include:
Once we receive your sheets, we’ll then attempt to scan them – and if that fails, use our troop of monkeys to manually enter your scrobbles. Scrobbles must be handwritten in order to prevent scrobble fraud. You’ll never miss another scrobble thanks to this game changing new service!
For all developers out there, Last.fm Unplugged is written in a combination of Visual Basic 6 and Lisp – combining the rapid turnaround time of BASIC languages with all the power of a list processing language.
You can download the template here.
]]>There are a lot of different things in moost. Some are really simple, yet very helpful in day-to-day work, like the which
template that allows you to use pairs (and containers storing pairs) more easily with standard algorithms; or stringify
, a function template that turns complex objects into strings. Other parts are slightly more sophisticated: for example, moost contains the framework that is shared by all our backend services, and that allows you to write a daemonisable service with logging, a set of standard options and even a service shell that multiple users can connect to when the service is running, all in a few lines of code.
As our backend services are inherently multi-threaded, there’s also a bit of threading support in moost. For example, the safe_shared_ptr
template is immensely useful for resources that are shared between threads and need to be updated atomically.
If you’re working with large, static datasets, you’ll probably find the memory mapped dataset classes interesting. They allow you to build large datasets (like gigabytes of data) of vectors, multimaps or dense hash maps that can be simply mapped into memory — and thus shared between different processes — and accessed very much like a constant standard container.
moost also contains an abstraction for loading shared objects and instantiating objects defined inside these shared objects. It will take care of all the magic involved to avoid resource leaks.
There are more bits and bobs in there, like a simple client for the STOMP protocol, hashing and message digest functions, wrappers for key-value stores, template metaprogramming helpers and even a complete logging framework. So check it out, play with it and if you’ve got some nice tool to add, please contribute!
There’ll be more code coming up later this week that makes use of moost, so if you’re looking for some hands-on examples, stay tuned!
To be continued…
]]>Last.fm’s MIR team is responsible for maintaining more than a hundred libraries, tools and backend services, most of which are written in C++, although some projects are in Python, Perl or Java. Back in 2011, all these projects had to be built from one giant Subversion repository, they contained hard-coded relative paths to other projects they depended on, yet as developers we would still have to know all the dependencies and build them in the correct order to actually build the project we were interested in. Also, every project contained a lot of boilerplate code and over time, this code changed, so it could be substantially different between any two projects. All of this made it quite painful to build projects or set them up for continuous integration, let alone distribute them to our production servers.
As we were thinking about migrating our codebase to Git, we wondered whether there was an easier way to build our projects. Our ideal solution at that point would have been a tool that allowed us build, test, install and package every project, regardless of the language it’s written in, with exactly the same command. We couldn’t find anything like that and so we decided to write our own tool, which we called mirbuild (for hopefully obvious reasons).
mirbuild is a meta-build-system, which means it’s basically delegating the actual build process to other build systems, but hides this behind a common interface. It is just a set of Python libraries, so the actual build scripts are written in Python. For a simple project, such a build script (usually called build.py) looks like this:
#!/usr/bin/env python from mirbuild import * project = CMakeProject('libcyclone') project.depends('libmoost') project.find('boost') project.find('log4cxx') project.version('include/cyclone/version.h', namespace = ['cyclone', 'version']) project.run()
As you can guess from the class name, this project uses CMake under the hood. But if you just want to build the project, you don’t have to care. You just run
./build.py build
and it “just works”. But mirbuild does a bit more than just forwarding commands to CMake. For example, it will create a file that controls compile flags and include and link paths of project dependencies. It will also create a version header for your project if you ask it to do so.
Here’s are some of mirbuild’s features:
Over the last one and a half years, mirbuild has saved us from a lot of grief and it has made building projects a lot of fun. Thanks to mirbuild, we’ve also simplified our continuous integration framework and have now got all our production packages built on disposable virtual machines (but that’s a different story). If you’re maintaining lots of C++ code and aren’t happy with how you’re building it, check it out, it’s on Github.
To be continued…
]]>We released this new desktop scrobbler as a beta a little under a year ago and have been spending the time since getting it ready for launch. A couple of weeks ago (15th Jan) that launch day finally arrived and we pushed it out to everyone on Windows, Mac, and Linux! If you’ve not already got it you can head over to our download page for a fresh copy.
Here’s a Youtube.com video of us reaching 200,000 authenticated users on the new app: https://www.youtube.com/watch?v=vy_VwcGazE4. Just look at how much fun we’re having!
The app comes with a new design and some features we hope you’ll really love. There’s a now playing tab where information about your currently scrobbling track will show up, including related artists, tags, biography, and scrobble statistics. Tracks played from radio stations will also show you a little context as to why the track is being played. A scrobbles tab where you can see a history of what you’ve been scrobbling and find out more about those tracks. A profile tab where you can see your scrobble charts. A friends tab where you can see what your friends are listening to and start their library radios. There’s also a radio tab where you can start all your usual Last.fm radio stations including a history of your recent ones.
We’re looking at the app as a baseline with which we can add and improve upon. There’s been a few ideas bubbling away that we can’t wait to add, but for now the focus is stability. With a large change such as this there are bound to be teething troubles and we’ve been taking your feedback on the client support forum and making sure we address problems and implement anything we might have missed that you loved in the old app.
A reminder that, like our iOS and Android apps, the desktop Scrobbler is open source and hosted on our Last.fm github page (both the liblastfm and lastfm-desktop repositories make up the desktop app) where you’ll also be able to find other things Last.fm have open sourced. If you’d like to get involved with development then head over there and fork us!
It’s been a long road getting to this point and I’d like to thank all the client team members, contributors, and believers past and present for making it happen. You know who you are and you’re all very wonderful!
We at Last.fm love Linux. Not only does it power almost all of the server machines that bring Last.fm to you, it is also the operating system of choice of many of our developers at Last.HQ. For our desktop application Last.fm Scrobbler, Linux is a first class supported operating system. The source code is available on GitHub if you want to have a go at building it yourself, but we also provide ready built packages for those of you who are using Debian or Ubuntu. Just go to http://apt.last.fm and find out how to install them. Today we release an updated set of packages featuring the latest version of Last.fm scrobbler (2.1.33).
We are also proud to release official packages of Last.fm Scrobbler for the Raspberry Pi today. If you have not heard about Raspberry Pi, it is an ambitious project to bring better teaching of programming and the technology behind computers to children. The Raspberry Pi Foundation is a charity that has designed and developed a mini computer that costs less than £40 and allows not only children to dive into the world of computer programming. Being so cheap, the Raspberry Pi has also attracted many hackers to make new things based on this mini computer. Media centre solutions are already very popular, which is not surprising because the Raspberry Pi has a network interface and video and audio outputs. We now contribute our Last.fm client application to the Raspberry Pi universe. If you have a Raspberry Pi and are running the Raspbian operating system on it, then head over to http://apt.last.fm quickly and install Last.fm Scrobbler for Raspberry Pi!
]]>Eleven years later, I have transferred my music library between many computers, over dozens of portable devices and now in the ether of a cloud. My digital library has been a constant companion, traveling the world and growing with me. I love my library!
Recent developments in streaming services are making the maintenance of a digital collection obsolete. Seemingly endless libraries are available for monthly rental, and internet radio services like Last.fm offer unlimited personalised streaming. There are so many new ways to listen to music now, that I sometimes forget about my carefully curated digital library.
It is with this in mind that the Scrobbler for iOS was created.
Introducing the Scrobbler for iOS, an iPhone and iPad application that not only natively scrobbles, but gives you several ways to re-discover your digital library.
We’ve long known that scrobbling iPhones has not always been a seamless process, so we wanted to create an application that alleviates this pain. We also wanted to offer our users with something new, so we built playlisting services that get applied to your digital library. For the first time, the algorithms that power Last.fm Radio can now be applied to the libraries you’ve spent years curating.
Every track in your library can be used to discover other, similar tracks. We use the power of machine tags and the knowledge of social tags to help you re-connect with the music you love.
Download the app here and join the group to keep up to date with announcements, forums and help.
]]>I think you’ll agree that they’re all songs that you hear a lot of during December and not a lot during the rest of the year.
With that in place, I attempted to answer an age old question suggested to me by our good friend and Last.fm founder RJ, “Does Christmas really get earlier every year?” – a question which refers to the perceptual creep of seasonal products, music and decoration further and further towards the summer each year. I normalised the scrobble volume in the run up to Christmas by the Christmas Eve volume for each year to yield a comparable listening curve for each year. I chose the point at which listening volume becomes 50% of the December 24th volume to call “the start of Christmas”, then compared that date across all the years for which we have complete and reliable scrobble data (2005-2011).
The result was a weak trend in the opposite direction, suggesting that in fact Christmas might in fact be getting later each year by as much as one day each year. This graph shows the difference between the listening curve for 2005 and 2011:
During the initial graphing for the above, Elliot noticed that without the 7-day moving average the graph looked a little like a Christmas tree on its side with the day-of-week variation creating the branches. Pursuing this I made a concept for a “Scrobble tree”, which I then handed to Graham – one of our design team – and he worked his magic to produce this awesome Christmas card.
If that’s not enough festive cheer for you, then you should check out last.fm/christmas created by web developer Marek. It shows data about the current Christmas music being listened to and a live indicator of what percentage Christmas it is right now.
Merry Christmas everybody!
]]>