Hacker News new | past | comments | ask | show | jobs | submit login
Plug – Native OS X client for Hype Machine
125 points by alex_marchant on June 30, 2014 | hide | past | favorite | 55 comments



This looks lovely — great job with the UI.

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/


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.


if i auth to hypem via twitter credentials, i have to pass those via 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.


Also, credit where it's due, Glenn Hitchcock (https://twitter.com/glennui) is the evil design genius here.


Side note: I recently ported all of Plug to Swift (dev build, not yet released of course). Swift is a great leap forward!


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.


Any observations?


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.


So much <3! Hype Machine is great and this definitely feels like something that would have come from them with the amount of polish and detail.

Keep up the good work!


This is great: as a hypem addict, I'm excited to play with a desktop app. A few points:

- 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.


> When is playlist support planned?

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


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.


Roger roger. Thanks for reporting!


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.


Great point, the fix is a WIP. Look for it in the next update.


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.


Shoot, well, appreciate the intention. Glad you like it, keep in touch with us at @plugformac if you can.


Huzzah! A HN admin saw this thread and re-enabled voting (Thanks Daniel!). Up-voted...


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.


Hands down this has been my favorite mac application since the first version came out. I hope the rest of the cocoa community takes notice.

Keep up the good work Alex & Glenn!


Nice work, nice ui. I had to go lookup my hypem login info cause i hadn't visited in a while. at first glance this is something i will be using.


I really like this. I'd love to see scrobbeling to last.fm integrated. Is this something you'd consider for a future release?


That actually already works. Just need to connect your last.fm account at http://hypem.com/find_friends.


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.

Apart from that, enjoying the app so far! Thanks.

[0] http://www.last.fm/api/scrobbling


Anthony, founder of Hype Machine here.

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.

Thanks for the notes.


Looks simply beautiful. Excellent design.

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 ?



Very nice (I'd heart the software if I could!)

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


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 barely touched The Hype Machine before, but this UI is so nice that I think I'm going to become a great fan! Well done!


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've been a hypem fan for 7 years. Take it from me, it's the BEST.

My company's UX even riffs off of theirs (with an unrelated focus)


Would be nice if there were some way to thumbs down/always ignore particular artists. Chris Brown, for example.


Been using plug for quite a while, and as an hype machine addict, I am absolutely in love with the app.


Great piece of software. congrats! Feature request: Would love to be able to apply a filter by genre


Awesome job, lovely UI. Are you planning to add "Scrobble to Last.fm" feature?



Really nice work, I use their website every day and I might just switch over to this.


I love it! Are there any plans for including the hypem time machine feature?


We do what we can in our spare time. We usually prioritize features by demand. So tweet us and get your friends to if you want something built.


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.

[1] http://www.getpeel.com/


i'm getting a lot of repeats when using shuffle. perhaps a more itunes-like method would be better


Makes sense, it's just a random algorithm which is far from ideal. Just need the time to implement something heftier (Spotify knows what's up http://labs.spotify.com/2014/02/28/how-to-shuffle-songs/?_ga...).


Amazing, thank you for making this!


Way to go! Hypem is awesome.


It's beautiful.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: