
Soundcloud for the Desktop - somecoder
http://www.soundnodeapp.com/
======
rjvir
For me, the main allure of the a desktop app is the support for media keys.

For those interested, there is a Mac app called BeardedSpice that maps the
media keys to a variety of websites (Youtube, SoundCloud, BandCamp, etc).

[https://github.com/beardedspice/beardedspice](https://github.com/beardedspice/beardedspice)

~~~
4lun
There's also a chrome extension "Media Keys by Sway.fm"[1]. It can scrobble to
last.fm and pause videos/music in other tabs when you start playing something
else.

[1] [https://chrome.google.com/webstore/detail/media-keys-by-
sway...](https://chrome.google.com/webstore/detail/media-keys-by-
swayfm/icckhjgjjompfgoiidainoapgjepncej)

~~~
l-p
Or Keysocket which is FOSS (Apache license).

[https://github.com/borismus/keysocket](https://github.com/borismus/keysocket)

------
SeanAnderson
Hey,

How does this comply with SoundCloud's API Terms of Use?
[https://developers.soundcloud.com/docs/api/terms-of-
use](https://developers.soundcloud.com/docs/api/terms-of-use)

More specifically:

> Unacceptable Use

> use of the SoundCloud® API to aggregate and stream User Content from
> multiple users into an on demand listening service;

I've built similar things in the past
([https://github.com/MeoMix/StreamusChromeExtension](https://github.com/MeoMix/StreamusChromeExtension)),
but using SoundCloud's API for such a project always seemed off-limits from a
TOS perspective.

~~~
meddlepal
Well if it is off limits then SoundCloud should really hire this guy ASAP. As
a new SC user I much prefer desktop clients to web browser applications.

~~~
kristiandupont
I hear this all the time for various webapps and I'm curious about why. Is it
because you want to be able to cmd/alt-tab rather than ctrl-tab to the window?

~~~
Razengan
Why _not_ prefer native apps to webapps? Better performance, a better fit into
the OS's look-and-feel, and ability to interface with other OS-wide features
such as accessibility and automation etcetera.

Although, Soundnode doesn't seem to be a true native app, as others have
pointed out.

~~~
esailija
Ideally web app and its data is instantly accessible anywhere, not just on
your desktop. They bypass any possible install restriction (or AppStore
restriction, which is why Apple is deliberately keeping Safari in 2010).

The look & feel argument is total bullshit at least for me. Every native app I
am using is completely different. The only consistent look & feel is with ms
office apps like excel, word and powerpoint.

Performance is also a lot about how and who wrote the app rather than if the
app is native. It's just harder and requires a lot of knowledge to make
javascript app perform well, but it's not some impossibility.

And yes, standards are still creating too high level APIs and it takes forever
to gain more and more access to the same things native apps have. But that
will get better due to extensible web manifesto.

~~~
Razengan
> Ideally web app and its data is instantly accessible anywhere, not just on
> your desktop.

Where the data resides is not a distinction between web apps and native apps.
See Apple's bundled apps, like Notes, Contacts, etc.: you can access the same
data via a website or through native iOS/OS X apps.

However, one advantage that native apps have when it comes to accessing cloud
data, is that you can _still_ access and update that data _even when you have
no connection to the internet._

> which is why Apple is deliberately keeping Safari in 2010

What do you mean with this?

> The only consistent look & feel is with ms office apps like excel, word and
> powerpoint.

This sounds like you are primarily a Windows user, where indeed, MS Office
apps seem to be the only ones that share a consistent look-&-feel among them.
Even Windows' own applets vary wildly in how they present basic UI elements
(like toolbars and Control Panels.)

The overall situation, while with its own unique flaws, is much more coherent
on OS X, across all vendors.

> Performance is also a lot about how and who wrote the app rather than if the
> app is native.

True, but web apps will always be removed from the underlying OS's "metal" by
at least one degree, no?

~~~
esailija
> Where the data resides is not a distinction between web apps and native
> apps.

Huh? The data is only accessible to native app after you have installed the
app on a device. If you only ever use your own one desktop, then it's probably
hard for you to see this. Can you even try to imagine that you cannot just
install arbitrary native app on let's say, your friend's device to access your
data? But you can easily "install" a web app, since technically it's just a
website like this one.

> What do you mean with this?

[http://nolanlawson.com/2015/06/30/safari-is-the-new-
ie/](http://nolanlawson.com/2015/06/30/safari-is-the-new-ie/)

> However, one advantage that native apps have when it comes to accessing
> cloud data, is that you can still access and update that data even when you
> have no connection to the internet.

[https://developers.google.com/web/updates/2015/12/background...](https://developers.google.com/web/updates/2015/12/background-
sync?hl=en)

> True, but web apps will always be removed from the underlying OS's "metal"
> by at least one degree, no?

Not always now that Web Assembly will be implemented by browsers. (Not to be
confused with "asm.js", see
[https://en.wikipedia.org/wiki/WebAssembly](https://en.wikipedia.org/wiki/WebAssembly))

------
kevinastone
Interesting! I've been using Soundcleod[0] for a couple years now which is
basically a Fluid-style browser wrapper (with support for media keys).

[0]: [http://soundcleod.com](http://soundcleod.com)

~~~
angeloashmore
I've also been using this for a couple years now. Using it now in fact!

Soundcloud's UI has gotten much better within the past year, enough so that it
feels fine to use as a dedicated desktop app.

------
r3bl
Okay, so I ran it with my backup account that I'm using to download stuff for
free (those songs that require you to follow certain people on SoundCloud to
get access to the download link), and I noticed something strange: apparently,
I'm following the SoundCloud user named Flying Spaghetti Monster.

I then went to SoundCloud, logged in with the same account, opened up the list
of the users I'm following, loaded until the end of the list, pressed Ctrl+F,
typed in "fly", and no matches were found. I then went ahead and typed "spa",
again, no matches were found. Then, I have started to be a bit suspicious
about the app. Then, I started typing "Flying Spaghetti Monster" in the search
bar on SoundCloud and immediately realized that I am indeed following a user
named "Flying Spaghetti Monster", even though I absolutely don't see it
through the list of the people I am following.

Talk about a bad user experience. I'm definitely not going to use their
official website again.

------
przemoc
I haven't checked Soundnode App yet, but any attempt to sanitize the way you
interact with SoundCloud should be appreciated, because SC web UX is bad.

Soundnode App UI looks nice. I'd add screenshot for each main view on app's
home page, even if they're all similar, though. UX remains to be tested.

The only (apparent?) downside is that this app seems to be a bundled web app
with web browser. I'm not that fond of such solutions. But. If it wasn't open
source and GitHub page wasn't shown there, then there is a high chance I would
not notice that it's built like that, at least from screenshot alone.

Writing SoundCloud client is on my ToDo list, as it would be a good way to
brush up and enhance my Qt skills. Maybe I'd finally embrace QML along the
way, as I'm postponing QML tinkering for far too long I guess. I'm also
considering fiddling with PyQt5, as it could possibly quicken prototyping, but
I'm not sure about it in my case, as I have only minor Python experience and
no PyQt experience at all (well, it's like incentive to change that). There is
also SoundCloud python package, so going python way is quite tempting, but I
always prefer native compiled apps over scripted ones.

~~~
V-2
What do you find so bad about UX of the SoundCloud web app?

~~~
przemoc
Allow me to answer by pointing to what I wrote some time ago:

[https://news.ycombinator.com/item?id=7854080](https://news.ycombinator.com/item?id=7854080)

(Oh, it's already ~2 years since I first thought about writing my own SC API
front-end. Time sure flies...)

------
somecoder
On GitHub here: [https://github.com/Soundnode/soundnode-
app](https://github.com/Soundnode/soundnode-app)

~~~
tarellel
Interesting, I had figured they had used something along the lines of
[http://electron.atom.io/](http://electron.atom.io/)

~~~
fortytw2
NW.js is very, very similar to Electron

------
Gys
The app starts by showing the login and therefore requires to be registered
first. However, on the official website I can listen without registering. An
API requirement I guess. A regular user will probably be registered anyway.

But the login looks exactly like the official page. So is this just a wrapper
for the website or do they actually add value ?

------
kmfrk
I’ve hoped for a long time that SoundCloud would release an alternative to
iTunes to capitalize on the many podcasts on their platform. iTunes is such a
goddamn POS, and I wish a private company would take up the challenge, at
least when it comes to podcasts.

------
0XAFFE
If you are on windows and want a native app:

[https://www.microsoft.com/de-
de/store/apps/clouder/9wzdncrfj...](https://www.microsoft.com/de-
de/store/apps/clouder/9wzdncrfj3zv)

Used it for some time and is very nice.

------
brink
Awesome! I'm aware that there are plugins for Chrome to capture media keys,
but they never seem to work right and intercept the keys when I don't want
them to. This fixes that problem of listening to my stream and having to
navigate to that tab when I don't like a song.

------
owencm
Looks great! Out of interest, does this take advantage of any native features
via node or could it also be a website?

I'm curious if the motivation of making a desktop app was just for the
"installed app user experience" or because it was needed to access some API.

------
verbify
I'm hoping it works natively with an xbox controller. Until now I've used
Kodi's soundcloud app for my HTPC, but I'd prefer a proper app.

------
thecopy
I have waited so long for Spotify to add a feature where you can add a
Soundcloud track to a playlist. I guess i have to use this until (if) that
happens.

~~~
danielsamuels
You could download the Soundcloud tracks into a directory and add the
directory to Spotify.

------
pascalo
Works well, but I cannot figure out to browse the likes of follwers and
followees, which is one of my main ways of discovery. So back to the website.

~~~
andy_ppp
Be great if you could order artists by number of friends/followers who like
them...

------
meir_yanovich
Does it use SC API's ( guess not )

or does it scrap / manipulate the sound cloud client ?

is it allowed ?

~~~
provemewrong
Why do you guess not? It says it uses Souncloud API in the first paragraph on
GitHub's readme. [1]

[1]: [https://github.com/Soundnode/soundnode-
app](https://github.com/Soundnode/soundnode-app)

------
mintplant
Anyone know if there's something like this for Bandcamp?

~~~
voltagex_
Nope, unless there's an underground trade in API keys. [1]

Wonder what happened.

[1]: [https://bandcamp.com/developer](https://bandcamp.com/developer)

~~~
ec109685
Can't someone just steal the API key in a currently authorized app?

~~~
kuschku
Indeed you can, and preferably you'd use the key of an official phone app from
them, so that they can't just invalidate it without releasing a new one.

------
raylus
Can't open osx version

~~~
Gys
No problem on my system - Air, 2012, OSX latest

