10 ms·
Show HN: Musish – Web client for Apple Music
- jolmg 8y agoTitle is very misleading. I came here thinking it was a new web browser (an http client).
- eloy 8y agoPlease change the title so it includes that this is about an Apple Music webclient
- giancarlostoro 8y agoMy first question was going to be web client for what? We need to not assume people reading just a title have any clue what you're talking about.
- sctb 8y agoUpdated from “Unofficial Open-Source Web Client my friends and I created”.
- jdillaaa 8y agoLovely design. Question, why would we not just use Apple's official site? For example, search for something on https://tools.applemusic.com/en-us https://tools.applemusic.com/en-us, then just click sign in on the top right once you select your music. I believe there is a way to see your current library too. Great work. Edit: Changed link.
- ghostly_s 8y agoI've never heard of that site, and it clearly doesn't look like it's intended for use by subscribers. I can't get it to play a full song even after signing in.
- deleted 8y ago[deleted]
- coob 8y agoThis is really well put together, works flawlessly for me.
- sonaltr 8y agoThis is amazing! One of the main reasons I went with Spotify after 3 yrs of Apple Music is because I moved to use Linux as my primary desktop and I didn't have an Apple Music client there. This is making me reconsider getting Apple Music subscription again! I'm going to see if there's a Github link or maybe reverse engineer the API and make it into a desktop app (mainly for Media key controls and Desktop integration to be honest).
- subie 8y agoGitHub Link: https://github.com/Musish/Musish https://github.com/Musish/Musish not op btw
- Gaelan 8y agoIIRC Apple has a JS SDK. Could run that in electron
- jklein11 8y agoIt looks like Apple has a public API for this.[1] No need to reverse engineer. 1. https://developer.apple.com/documentation/applemusicapi https://developer.apple.com/documentation/applemusicapi
- sjroot 8y agoLooks very well done! Is the source code available anywhere? I was planning on working on an Apple Music web client myself and would be happy to contribute. Edit: Musish github repo: https://github.com/Musish/Musish https://github.com/Musish/Musish
- magic5227 8y agoThis is amazing! How did one person make a client that is 100x faster and more stable than Apple's?
- vesak 8y agoHere’s a few guesses: 1. It’s not 100x (or even 2x) faster or significantly more stable than Apple Music 2. It’s always easier to make a nice app when starting from scratch versus trying to fix existing older software to be nice 3. Apple did a good job with their APIs
- mockdev 8y agoYeah I don't think it is any faster or more stable than the actual Apple web client. They probably use the same API's. Plus lots of considerations that applies to any website. Is it available in multiple languages? How accessible is it? Does it work on older browsers? Also, digging around, the Apple web client seems pretty up to date. Isn't old software. I like the search feature though on this.
- mockdev 8y agoYeah looks like you can get Chinese pages as well. https://itunes.apple.com/cn/artist/taylor-swift/159260351 https://itunes.apple.com/cn/artist/taylor-swift/159260351
- deleted 8y ago[deleted]
- snek 8y agoSeems like spotify and apple music both do the same thing here. the js api creates an iframe to their "embedded player" which is just their full player without a ui which will respond to rpc commands from the page. https://embed.music.apple.com/ https://embed.music.apple.com/ https://sdk.scdn.co/embedded/index.html https://sdk.scdn.co/embedded/index.html Would be nice if paying users could access actual streams, although that would probably violate the drm or something.
- jdillaaa 8y agoWhat do you mean by actual streams?
- penagwin 8y agoThe audio stream. This will likely never ever be supported by Spotify/Apple because of DRM reasons.
- jdillaaa 8y agoYes, the raw AAC / OGG content would naturally break DRM. Spotify, however, has a ton of libraries that allow for you to write your own clients, which honestly allows for an "audio stream" for most purposes if you are able to run an OS. You can write a very simple CLI app that plays Spotify music for example, and Spotify's libraries will handle the DRM. "Audio stream" to burn to a CD or a tape cassette? Yeah, that's not gonna be supported.
- p1necone 8y agoSurely you could redirect the audio once it's been unencrypted by Spotify though? It has to be presented to your systems audio drivers in an unencrypted state eventually. I guess the downside is that you'd have to rip songs at 1x speed. I wonder if you could spoof the system time provided to Spotify too and have it "play" the music faster than real time.
- kingosticks 8y ago
- yantrams 8y agoGreat job! Thank you. I'll see if I can add support to this for the last.fm scrobbler extension that I use. PS: For those of you who use Apple music and are into Indie / Alternative music, here's a 2018 mixtape I made recently. http://linkdot.link/2018-mixtape.html http://linkdot.link/2018-mixtape.html Edit: Added playlist
- yankcrime 8y agoThis is great, thanks! As someone who previously listened to Apple Music on Linux via the Windows edition of iTunes running using Wine in a Docker container (lol), a proper alternative is massively appreciated.
- jdillaaa 8y agoMay I ask why all of the effort to use Apple Music? Why not switch over to Spotify which has a ton more open libraries / APIs?
- ghostly_s 8y agoPersonally I don't use Spotify because the interface is hostile to people who prefer listening to full albums, and I don't want to support a monoculture if I have an alternative (not that Apple is some great panacea for artists, of course).
- news_to_me 8y agoI listen to music that way too, but I'm toughing it out on Spotify still. I'm curious, how do you feel Apple Music's interface is better in that regard? I was too late for rdio, but from what I hear it sounds like the music service I really want :/
- publicfig 8y agoNot OP: I really like how (especially on the mobile app) it's always pretty easy to see which albums each track is associated with no matter what direction I get to the Artist from. In Spotify, I have issues where from some directions, it just lists all of the songs that I have saved from an artist, ignoring the album information. It also will sometimes end up with the songs in alphabetical order, making it difficult to listen to the album. While there's always a way to end up seeing a view that I want, it usually ends up with me clicking though a bunch of links to get to the Artists default page, and on things like CarPlay, that's not really an option either making it more difficult. That was one of my main reasons for switching to Rdio when it was out, and while I really liked Rdio for its UI, it definitely had enough bugs/delays in song starting that I ended up moving (reluctantly) back to Spotify until Apple Music was released. Now, with that handled along with cloud uploads of my local media (I buy a lot off of bandcamp), it feels like a much more whole offering. I wish social and discovery features were up to Spotify's levels, but I personally have moved away from those for various reasons anyway, so it's not as much of an issue for me as it is for users who really utilize those features.
- benkaiser 8y ago(self-plug here) If you're interested in web-based music players, I actually author one that's open source. It uses youtube/soundcloud iframes to play the tracks themselves, but allows for syncing playlists across from spotify as well as browsing top charts and syncing libraries between devices. https://next.kaiserapps.com/discover https://next.kaiserapps.com/discover https://github.com/benkaiser/stretto/tree/next https://github.com/benkaiser/stretto/tree/next
- wuliwong 8y agoi made www.muusical.com a few years ago. i haven't been maintaining much lately but I'm still quite interested in meeting people with similar interests.
- rglover 8y agoReally well done. Design was a nice surprise :)
- e1ven 8y agoHas Apple said anything about why they aren't releasing their own web player? With the API integration it seems pretty straight-forward to make one, so there's got to be a strategic reason they don't want to? Maybe they want to encourage people to use native apps wherever possible, since they have more advantage over Chromebooks there?
- filoleg 8y agoMy personal guess: 1. Primary reason: it is a job someone needs to do, and it isn’t high on the priority list at all due to many possible factors. 2. Secondary reason: as a side effect of (1), it encourages the use of their native apps, which they might want for whatever reasons as well.
- aylmao 8y agoIn the short-term, micro context, like most exclusive Apple apps, it's one more reason to buy Apple devices and lock existing users into upgrading to Apple devices. Switching apps is a hassle, especially if there's no easy ways to migrate data. In the broader context and rough terms, it's against Apple's interests that web apps in general take off over native apps. In theory, there's no reason web apps shouldn't be as capable as native apps for 90% of workflows (playing music being well in that 90%). If web apps, at large, take off: 1. The App Store loses relevance, and so Apple loses influence over developers, distribution, and 30% piece of the cake. 2. Apple loses platform lock-in, since web apps run everywhere. It'd be a no-brainer for companies to have one team developing for the web, instead of one for the web and one or two for mobile. I don't doubt if Apple wanted they could form a team with enough expertise to build solid web apps and make their services gain marketshare, but the experience would either have to be subpar vs native (like iCloud.com is IMO) or solid enough that they would unwittingly prove web apps are equally capable to native apps, and so create demand for more web apps, more progress in that space, and stray away from an advantageous position for them.
- artimaeis 8y agoApple Music is not an exclusive app though: Android: https://play.google.com/store/apps/details?id=com.apple.android.music&hl=en https://play.google.com/store/apps/details?id=com.apple.andr... Windows 10: https://www.microsoft.com/en-us/p/itunes/9pb2mz1zmb1s https://www.microsoft.com/en-us/p/itunes/9pb2mz1zmb1s
- ashraful 8y agoI had created something similar using Spotify and Youtube to replace a need for a spotify subscription - https://www.livejam.com https://www.livejam.com Now I'm thinking about turning it into a desktop app coz its a pain to keep a tab open for playing music.
- degenerate 8y agoMaybe you could fork FreeTube to save some time: https://github.com/FreeTubeApp/FreeTube https://github.com/FreeTubeApp/FreeTube
- lisowski 8y agoI did kinda that same thing for soundcloud a few years ago with meteor <3. It's been awhile since this code was touched. I stopped developing it because soundcloud's UI started to really match my design and feature set. but: - my search is faster (just a long startup time) - it will actually shuffle all your songs and not just the last 20-ish https://sctunes.herokuapp.com/ https://sctunes.herokuapp.com/ https://github.com/hipstersmoothie/sctunes.meteor https://github.com/hipstersmoothie/sctunes.meteor
- elwell 8y agoThe code is very well-written. Some highlights: https://github.com/Musish/Musish/blob/master/src/app/services/MusicPlayerApi.js https://github.com/Musish/Musish/blob/master/src/app/service... https://github.com/Musish/Musish/blob/master/src/app/utils/Utils.js#L20 https://github.com/Musish/Musish/blob/master/src/app/utils/U... https://github.com/Musish/Musish/blob/master/src/app/utils/Constants/DragDropType.js https://github.com/Musish/Musish/blob/master/src/app/utils/C...
- victorantos 8y agoWhat about this horrible code section: https://github.com/Musish/Musish/blob/74a1a0c570c002d5980f15defd38e5a322b162db/src/app/services/MusicApi.js#L119 https://github.com/Musish/Musish/blob/74a1a0c570c002d5980f15...
- elwell 8y agoWell it is JavaScript...
- buzzert 8y agoVery cool! Would be incredible if you could access your iCloud Music Library as well.
- artellectual 8y agoI'm perplexed as to why the web client is so much better than the native itunes client. This was completely unexpected. I have to say the web platform has come a very long way.
- nicoburns 8y agoIndeed, for most things it's more than posisble write a performant web app these days. The bloat/lag found on the web is mostly due to poor/lazy engineering, and in some cases, ads/tracking code. Although, I believe native platforms make it easier to write performant code.
- grogenaut 8y agoApple has little motivation to improve the music player and has a massive megalith in iTunes to support. It does so much it’s likely quite difficult to work on. I mean I think it still installs bonjour on windows for some reason.
- accatyyc 8y agoThat reason is probably to discover AirPlay speakers on the network, right? Sounds useful to me
- grogenaut 8y agoI’m just listing out all the baggage that monolith drags with it. The pct that wants to just listen to music or sync their phone is way hire than those with the expensive air speakers no one is buying. But they all get bonjour by default.
- accatyyc 8y agoMost people may not buy specific AirPlay speakers, but for example if you have an AppleTV or AirPort-express they can be used for this as well. I use it a lot and I'm glad iTunes can find them!
- 8y ago
- darkstar_16 8y agoThis is actually pretty nice. I was expecting a heavy bloated web app but its not. Good work.