Catching the Spider

Spotify has become terrible the recent years. Their amazing spider UI framework were replaced by webkit, for developer convenience. I loved their old amazing framework, which they reveal so little.

And the doctor told me to not swim for a while until I get my fungal infection healed which drains my identity as swimming is a big thing for me, so I went on terbinafine (which I call “turbinafine”, a.k.a. turbine for the weapon that kills my fungus (hopefully))… So I had to invest in my Spotify karma again (which I sold in 2012 with Bungalow Doctrine) and spend some of my qi to write a clone of their first spotify clients, to give the world ‘access’ to the amazing GUI technology Spotify invented.

My obsession for Spotify is not rooted in their relation to the music industry, nor they were first to provide music for free to all. The real reason was because I got Spotify when I had an crappy computer, Acer aspire at that time and while every other program ran as an 386 processor, Spotify ran so holy smooth. It was just pure magic.

So I decided I must clone this amazing tech. I have tried to do this in several episodes. First 2011 in C#, abandoned it. Then in Java, abandoned it. Then various HTML5 clients.

Now the final project is to do this with the same way as the Spotify team did.

This week I accomplished to load binary images, and write a fundamental UI framework.

Some guys told they’ve called this framework Spider, and I really need to get my hands on it. So I write it for myself. My plan is two editions of it. One is a clone of the spotify client that resembles the experience many people now miss, a sleek, low memory and fast user interface, and another to give the world access to an holy awesome GUI framework that could get in playing field with QT, GTK+ etc.

It will not be an exact clone of the interface, some differences.

I’ve come very far on this. It is themable, and the themes is simply a png file which the program chunks from.

The other version that could be used for other stuff than Spotify is easy to ‘debrand’ from Spotify, as the theme can be changed, and brand names will be removed.

Posted in Uncategorized | Leave a comment

Cloning Spotify Apps API 1.X

As many of you might know, Spotify is planning to discountinue their Spotify Apps API released back in 2011. The reason, according to their announcement blog post is the shift to mobile devices and partners wants to ‘own a cheaper presence inside spotify’. Not only this means that no more app will be submitted, existing app will probably soon disappear and lot of Spotify Apps hacks will be permanently not longer functioning due to their dependence on a proprierty API.

So yesterday, after having a swimming and aqua jogging workout, I used that qi to build an open source clone of the Spotify Apps 1.X require system, the first part of an open source Spotify Apps API 1.X environment. My plan for this environment, is to open up the Spotify Apps to work with any underlying music service at the user’s preference. However, next monday I begin my first occupation so this won’t be prioritized at all.

Posted in Uncategorized | Leave a comment

Time for Cydia for Spotify

Sorry it took so long time for me to get back here, but I have been working with lot of things outside the Spotify realm.

However, I don’t like the Spotify Apps anymore. I was one of the few independent developers who got an app concept approved, and with now over 28 months with the Apps platform I’m really disatisfied. There is still only a few apps on the platform, and all of them are just like interactive ads from big companies, nothing worth interest. The marketing and approval of app concepts are just only an new ad channel for Spotify targeted at paying users under the false flag ‘Spotify Apps’.

My idea was to create a channel for Spotify, and in a dream, I met one employee of Spotify at the astral space, where I signed an agreement where I sold my idea to them, in exchange for a lot of karmatic qi, to get past a personal disaster. The idea seems to be have evolved into an pure marketing channel for major brands and labels. The promised platform for music discovery is only a way for the major labels to bring out their shit on the service, and this even to paying users.

This was the outcame I never hoped should be. After each hack day, the gentleman Mager says to the developers who showcase “Why don’t submit your app concept”. But when the developer hands in their concept, they get the concept rejected by the UX team, because they ‘a button is wrong colored or wrong typeface and doesn’t follow our rules’, but what I see, is that none of the apps that were on the platform from the major brand fullfill these requirements, it’s just only a way for Spotify to reject apps that aren’t backed by a million-brand.

So now, I have a plan to show Spotify this isn’t the way. I’m having a plan to defend the freedom at the Spotify platform, and go in the iOS hacker’s footstep – jailbreaking Spotify Apps!

During the autumn, I will prepare my new project, Spydia, a cydia-like app store for Spotify! On this place, we will liberalise the spotify apps for indie developers and liberating who can get discovered on Spotify and who can develop for Spotify.

Posted in Uncategorized | Leave a comment

I have a spiritual relation to Spotify

This night I had a nightmare where I was in Thailand and dozens of people were jailed after a terror attack (Probably because I read about the Boston Bombings, and the last scene in my dream (My dreams are like cinema, they are movies with complicated storyboards) was that I started the Spotify client, and got the blue notification bar saying restart spotify to get the latest functionality and some gorgeous changes happened.

After have woked up and ate breakfast, I turned on my computer and Spotify. Ocassionally, the same thing happened in reality. The blue bar telling me a new spotify version was ready to be installed appeared – exactly as in the dream. However, in the dream the client changes were more overhaul, all views become white, but this update were only to update font sizes of playlists and so. But it might a partial update, as spoken in the boards, and I won’t be suprised if these changes I had in the dream would appear on Spotify soon in another update, because this were major update to 0.9 and it’s proven I have affected Spotify with my spirit, as I signed a contract with Spotify employees in my dream regarding the Spotify apps.

 

Posted in Uncategorized | Leave a comment

Some intresting findings regarding Spotify desktop clients

My story is regarding the graphical user interface of the Spotify client, something that there is a certain silence around.
The implementation has no any public mention from the company but when extracting the resource folder in the app directory (resources.zip on PC), you find a folder called ‘views’ with a bunch of XML files. This would be obvious but there is intresting things lying there. The XML file contains code that could be refered to an Mozilla XUL implementation, but this seems not be the holy true. The markup is mixed with mystic preprocessor codes, and the preproccessor snippets contains script. From the app license view, you can see Spotify uses Lua, and there is no official explaination further about it, but it seems to be ackward the preprocessor directives contains segments of lua code.

 

I have never discovered this kind of markup, especally not with preprocessor chunks in a client side application, telling us this is not piece of a common framework. When trying to contact spotify regarding what this code is for, they refuse to explain what kind of frameworks they use. But the code is extremly intresting, since we don’t usually see preprocessor code in a client-side app resource file. Also, the markup, that looks like HTML is pretty mystical, some chunks seems to be somewhat like HTML, but name of attributes and tags may sometimes feel surrealistic. For example, there is a set of CSS stylesheets but they violates most of the rules W3C has set up.
I was very intrested of the piece and has spend the latest days on creating an own implementation of that framework as a .NET library, completely from ground in an augemented manner, without any documentation or further explaination of what components involved, I figure out that this is an special integration between Spotify hermes protocol and the user interface, and the choice of this very avant-garde manner is that the interface could be updated more often without having to dig in DOM trees because the UI refreshes like a web page upon receiving a new hermes notification in a certain view, like playlist, artist or search. Another mystic thing is that if you update the Linux client while running Spotify, the views become corrupted and you see the most text be replaced with either tokens or ${attt} attributes, which tells us this case is mostly the true. In end of last year, Spotify introduced the apps platform, and began moving onto using WebKit and Chromium for further features. As I’m very enthusastic in technology, especally Spotify, I were on a job interview over skype, where I asked about Spider, and they said it was an old framework they did in the beginning and I was schooled on a meetup in Stockholm that this was the old solution before they introduce apps. There is however a document on the internet, a theis from chalmers who indicating that Spotify avoided to use existing layout engines for their desktop clients as they wished to keep the amount of memory in use low and safety threading.
What makes me so obsessed with finding the truth about the views in the spotify directories is that Spotify behaved extremly fast in earlier version. In the earlier time, I had a crappy Acer Laptop and Spotify worked like a charm, while ALL other software did freeze each time. At that time (2009) I just felt Spotify were like Songbird (which gone diaster) but were so quick and response. The Spotify interface was in their first version, one of the most response apps I ever have experienced in this reality. I can’t remember any time when Spotify freezed or the UI component did lag. But ALL other software did it, Spotify did never. This make me very intrested in finding out how the views resource are built, in order to make my own programs that could be so response.
I assume from my oral communication with people at Spotify (I’m a loved used there, have been there two times on their HQ on personal visits), the rendering and layout engine is a part of a hevily protected part of the software, and on several pages, they state that they cannot reveal anything about the client to minimize the risk people could download the music for free. But I wonder how this layout subsystem could help folks piracy, but It might be as the XML/Lua preprocessor stuff seems to work at a fairly low level, although the XML looks like Mozilla’s XUL tags. Mozilla XUL behaved so slow, this is another reason I really had a burning intrested to get this known.
As the chances is none to get aware of the truth behind this engine, as this is a part of protected areas of the software, I began coding an own implementation of the engine in .NET, with only the resource directories as my documentation. I plan to make some certain differences between the Spotify and my implementation to undergo any kind of legal claim. The name spider has not been announceed at all, and while I was scary to do kind of infringation, I told about my developments at a meetup and they wished to have a look at my github. 🙂
Although Spotify is not hiring .NET developer at this point, as they use C++ and Python, it might not be impossible I someday become an employee there.
Sources
Using webkit in Spotify
C# Library from krikelin (my avatar on GitHub)
Posted in Uncategorized | Leave a comment

Spotify Play Button – is Spotify Apps already out of date?

It has gone increditable fast since Spotify introduced their Apps platform and though they haven’t really got up with it enought Spotify unlesh something that already might retire the platform – the Spotify Play Button. Now, people can put playlists that can be played directly from pages (if people has spotify installed) and that means that the reasons the need of making an integrated app in Spotify lesser equivalent. Sadly, I believe the app concept submission policy alongside the tight guidelines may scare away developers, especally now when they can put playlists directly from their regular site and don’t need to either spend time on rebuilding the site on Spotify and go through a admission that might delay the business.

I was amazed by the apps platform and is still it. But why must Spotify make occasional clones of their concepts everywhere? But my mind has probably got a sixth sense.

This is a little new-agish viewpoint of the situation

I had several dreams, where my astral body, was attached to the Spotify office. I flew into the office and got clue that Spotify was working on their next solution after the Apps platform, a solution that should revolutionize the music listening once again (how many revolutions has Spotify made  – are the word too much used), a solution that would connect every single musical node on the internet to the Spotify business with special systems that would connect every single music site to the Spotify platform. I believed the fuzzy documentation in the Spotify apps framework and the fuzzy feelings about their impressions as a sign that they almost getting into a something increditable amazing stuff. I had a vision in the dream where I saw a tester opened a Spotify client, where he with a special URI (like spotify:internal:browser) accessed the chromium with a web browser. He could open every site on the internet, but only if a secret piece of JSON was entered in a file in the app’s folder. That scene told me why apps in Spotify must have DefaultPermissions set to their domains it want to access to prevent users to be phised in future builds with Web Browser. The web browser would then interact any instance of the web browser on related sites by minimialistic http daemon running in Spotify, severing communication about playback and stop inside Spotify, something I’ve found out after inspecting code in Chrome. That gave me a jigsaw that then opened for the next vision I saw in my mind one week ago in the shower – Spotify is building a feature that I called “Pass”. It’s like a pass port. “Spotify Passport” would enable instant access to music everywhere on the internet as so long the catalouge is matching Spotify’s one. This means that any site builder could interact with the Spotify stuff by several means, like twitter do today. A login factuality is on going – several snippets from official devs reveal that Spotify has a oauth route, so this hints that soon Spotify will have their own OAuth log-in system, allowing music sites for example let people log-in with their Spotify account.

Amazingly my forecast was real, at least a part of the only four days later – on April 10 Spotify released their Spotify Play Button, it’s just the same as the ore concept my vision says – probably a part of the full feature. Then I realized what it could mean for Spotify as iself.

Spotify Apps may be obsolute already. As said before, what reasons now making it worth releasing a Spotify specific app when they can do the same nowmore on web pages? Just playlist generation that yes – but other stuff is increditable lower. A regular ‘music browsing’ app like Tunigo or Pitchfork wouldn’t have so much advantages over a regular website – at least not providing an shortcut, a shortcut that even might add additional demand of time, code costs of new web sites and so on. I even believe this is an act from Spotify side to lower the demand of app requests from builders of ‘catalogue’ apps as they now can make it work from their site and only have specialized apps there. In some case, Spotify Apps take huge demand of administration as every app must be investigated and admitted.

Posted in Uncategorized | Leave a comment

Integerated Development Environment for the SpotifyPlatform

Spotify Dev

SpotDev

In the past few days, I’ve begin working on a new project, SpotDev which should aim to be a Integerated Development Environment for housing Spotify Platform related projects.

The IDE shares the same spotify look and feel as the regular client, and has handy shortcuts to the most important resources for programmers dealing with Spotify(TM) related apps like StackOverflow, SpotifyPlatform Twitter, and easy access to the API references as well.

This project is still in very early stage, and much is not finished here.

Posted in Uncategorized | Leave a comment