If for some reason I wasn't up-vote banned, I'd give this +1. I cannot stress how nice this UI looks. Had not really looked into hype-machine prior to this, but I really like it so far.
Saw the tweets about the scrobbling feature in the meantime. Thanks, it's working now. It looks like it's not using the "Now playing" feature [0] though, any specific reason for that?
Another question: Is there a reason why it's not possible to resize the window? Some tracks are cut off and it'd be more comfortable to have a little bit wider window because the long track names are not scrolling by so you never see them.
The Hype Machine team would probably have to be the ones to program in "Now playing", they handle all the last.fm api stuff.
> Another question: Is there a reason why it's not possible to resize the window?
Good question. For now the track name will scroll horizontally like itunes (down at the bottom by the play controls). This is really high up on the to-do list.
We used to have the Now Playing Last.fm support, but took it out as Last.fm faded from the spotlight a few years ago.
It's still one of my favorite services (scrobbling is life-changing) though, but we aren't even sure if it's worth the overhead to keep the Now Playing support active (requires more resources).
Optionals are really interesting. In theory it's a really smart concept. In practice it seems to add a bit of complexity. Will be interesting to see if the concept pays off in the long term.
I'm intrigued by optionals, but I feel like returning nil for objects in ObjC - a pattern I've always used - is kind of the same thing in a different like. Do you have experience with returning nil instead of objects? How does that compare to optionals?
Yes, i did use that same pattern. And if you want to, you can kind of force Swift to do this (String! is an "unwrapped optional" and can be nil or have a value) but it feels unnatural. You definitely have to design a bit differently than ObjC. Luckily Swift's enums are amazing and you can return multiple values (through tuples), so there are great ways to return different types of values.
The app looks awesome, and also served as my introduction to Hype Machine. How I haven't managed to hear of this service before is beyond me. Now I'm just sad I didn't know it existed until now.
Also great to hear that Swift development is going smoothly. I just started into learning it, and so far the strangest thing I've found is that I've learned a ton of Objective C by having to struggle through missing documentation/examples and having to learn the Obj C way of doing things and then translating them to Swift. It's been interesting.
I can see from the Hype Machine blog [1] that Plug was developed with the approval and assistance of Hype Machine. Nevertheless, it's unfortunate that the client requires the end user's username and password credentials rather than using an authorization framework like OAuth 2.
Fair point. To mitigate this, we never store your password. Basically we exchange your username/password combo for a token from Hype Machine which is used to authenicate requests.
The only data we store are your username and some basic settings in a .plist (`open ~/Library/Preferences/com.Plug.Plug.plist`) and your token which you can view in Keychain Access.app and search Plug.
Nope. We don't support the twitter/fb OAuth login right now. Just plain old username/password. The token we get back is a Hype Machine proprietary thing.
I'm happy about that. I'd rather have a separate login (with unique password) for each service than log into everything using the same account.
EDIT: I misunderstood the complaint! I thought that they wanted to login using a Google account or something similar rather than having a place in Hype Machine to allow Plug to connect and use a token to pass the permission to the program. Oops! I completely agree with the poster's comment in this case.
You misunderstand. This app requires you type in your password inside it, as opposed to using some form of token from the website (which is how OAuth2 works).
Ah, I thought that they were complaining about not being able to login using a Google account! I will edit my original comment to clarify and hopefully avoid more downvotes.
Oauth is terrible desktop/mobile UX, and it doesn't provide any real security. A genuinely malicious application can spin up a webview under its control -- or do almost anything else it likes with your account.
As long as passwords are stored in the system's secure keychain, using passwords is not just OK -- it's the right desktop/mobile UX.
The only time OAuth makes sense is on the web, where by the very nature of the web's design, user's passwords would be provided to unrelated 3rd party servers outside the user's control.
Please STOP inflicting OAuth on non-web platform's users.
This is awesome. I hadn't even heard of Hype Machine but your app made me curious (looks great btw). Two nice little surprises, I'll have to start checking them out.
I've been using Plug for about a year, and I have to say it's my favorite player. The past month I've also started using SoundMate and Radiant, but I still feel that Plug is the smoothest and least in the way.
I'd like to add the performance issue when loading a lot of songs. I have mere 400 favorites and when I want to listen some old song, I have to scroll all the way down, which makes the app almost unbearable to use.
Playlists are awesome. Hard to say, Plug is a hobby project so we add features as we can. But we usually prioritize features by how many requests we get.
> Where can I report bugs?
Hit us up at @plugformac
> Consider allowing horizontal resizing or a marquee effect on table cell hover
Been using Plug for a month or so now and want to say thanks. Another bug report for you:
It sometimes has trouble playing more after it is playing down to the last song that has already been loaded in the list. I think it needs to query for more songs when it gets down to the last few.
Just one (small) design thought, the sidebar has the appearance that it could be hidden. Or maybe i've just been on mobile for far too long. Looks great, nonetheless!
Sorry, don't think this will happen :( Maybe a nice virtual box setup running OSX with Plug installed! (haha, jkjkjk, hypem.com is great and has so many features)
Once you find a blog you like, you can use Peel [1] to rip the MP3s to iTunes. Unfortunately it does not work with Hypem top lists, only the direct RSS that it aggregates.
55 comments
[ 4.0 ms ] story [ 101 ms ] threadAnother question: Is there a reason why it's not possible to resize the window? Some tracks are cut off and it'd be more comfortable to have a little bit wider window because the long track names are not scrolling by so you never see them.
Apart from that, enjoying the app so far! Thanks.
[0] http://www.last.fm/api/scrobbling
> Another question: Is there a reason why it's not possible to resize the window?
Good question. For now the track name will scroll horizontally like itunes (down at the bottom by the play controls). This is really high up on the to-do list.
Thanks for the notes.
We used to have the Now Playing Last.fm support, but took it out as Last.fm faded from the spotlight a few years ago.
It's still one of my favorite services (scrobbling is life-changing) though, but we aren't even sure if it's worth the overhead to keep the Now Playing support active (requires more resources).
Also great to hear that Swift development is going smoothly. I just started into learning it, and so far the strangest thing I've found is that I've learned a ton of Objective C by having to struggle through missing documentation/examples and having to learn the Obj C way of doing things and then translating them to Swift. It's been interesting.
Keep up the good work!
I can see from the Hype Machine blog [1] that Plug was developed with the approval and assistance of Hype Machine. Nevertheless, it's unfortunate that the client requires the end user's username and password credentials rather than using an authorization framework like OAuth 2.
[1] http://blog.hypem.com/2014/04/we-are-9/
The only data we store are your username and some basic settings in a .plist (`open ~/Library/Preferences/com.Plug.Plug.plist`) and your token which you can view in Keychain Access.app and search Plug.
EDIT: I misunderstood the complaint! I thought that they wanted to login using a Google account or something similar rather than having a place in Hype Machine to allow Plug to connect and use a token to pass the permission to the program. Oops! I completely agree with the poster's comment in this case.
As long as passwords are stored in the system's secure keychain, using passwords is not just OK -- it's the right desktop/mobile UX.
The only time OAuth makes sense is on the web, where by the very nature of the web's design, user's passwords would be provided to unrelated 3rd party servers outside the user's control.
Please STOP inflicting OAuth on non-web platform's users.
My company's UX even riffs off of theirs (with an unrelated focus)
- When is playlist support planned? (I'm pretty sure it's only been out for like two weeks so the delay is understandable.)
- Where can I report bugs?
- Consider allowing horizontal resizing or a marquee effect on table cell hover: track names getting cut off is sort of frustrating.
Playlists are awesome. Hard to say, Plug is a hobby project so we add features as we can. But we usually prioritize features by how many requests we get.
> Where can I report bugs?
Hit us up at @plugformac
> Consider allowing horizontal resizing or a marquee effect on table cell hover
Totally, this is very high on the to-do list
It sometimes has trouble playing more after it is playing down to the last song that has already been loaded in the list. I think it needs to query for more songs when it gets down to the last few.
https://github.com/salomvary/soundcleod
and
https://kbhomes.github.io/radiant-player-mac/
Hype machine is fantastic for music discovery. The big hits always surface there months before they hit the radio/mainstream.
Any chance for a Windows version (I'm stuck on a PC at work!)
[1] http://www.getpeel.com/
One thing that grabs my eyes always are side bars. For some reason i feel left side bar for right handed person it not convenient and vice versa.
But, i see all apps designed with left side bars. Wondering why left side only while many users to my experience are right handed ?
Keep up the good work Alex & Glenn!