Music has been getting some love lately. It is one of the most interesting core apps we have in GNOME, and it is getting polished, stable, and resourceful everyday.
One of the new features we’ve been cooking up is Last.fm integration. As a music nerd myself, I love to keep track of the songs I listen to, make stats, analyze the evolution of my musical taste, how much love I give to a new album, and which tracks got me stuck.
As we tend to plan features like this by “thinking out of the box” and keeping security in mind, we’ve decided to let Goa handle the authentication part. In doing so, Music can get the Last.fm API credentials from Goa and other players could do it as well. So now we have a Last.fm Goa provider safely taking care of the authentication part. Music does the scrobbling.
We’ve spent more and more time in big social network sites, which are somehow a smaller version of the world wide web outside, but It doesn’t mean that we want this websites to grow so large until they become the Web themselves. What we love the most about the Web is that it’s open and decentralized, so let’s keep it this way. It’s got ‘space’ for everyone.
RSS is the opposite of this centralized world of social networks. It’s got no owner, no privileges, no pricetag. Google — the biggest player on the Web — has been indirectly and maybe accidentally killing RSS. Google Reader was shut down two years ago and because of the death of the first biggest feed reader, websites have been disabling their syndication features. As a consequence, RSS is dying too.
We, the free software community, despite of using big social networks as a source of information, we still have individual blogs and aggregators. Since the death of Google Reader we’ve been on an widespread search for an equally great feed reader.
News (gnome-news) is a GNOME 3 native feed reader. It follows a design-based approach for new features just like the core GNOME apps we love. It uses tracker as a datastore, and tracker-miner-rss for feed synchronization.
It is written in gjs, using a model-view-presenter/presenter-first design pattern. Using architectural design patterns for GNOME apps isn’t pretty common, but is something I’ve got used to, working for Parafernalia writing apps for the Endless OS. I guess that’s something I will elaborate more on later.