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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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)
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!
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.
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.
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/