[HN Gopher] Show HN: iPod.js - An online iPod that connects to S... ___________________________________________________________________ Show HN: iPod.js - An online iPod that connects to Spotify and Apple Music Author : tonyhawkins Score : 557 points Date : 2021-06-23 16:04 UTC (6 hours ago) (HTM) web link (tannerv.com) (TXT) w3m dump (tannerv.com) | Lifescape wrote: | whoa this is awesome! thanks for making the source available too | :) https://github.com/tvillarete/ipod-classic-js | justusthane wrote: | This is really cool. It's amazing how "realistic" the clickwheel | feels--it instantly transported me back to actually using an | iPod. Also, there's something poetic about emulating the | clickwheel on the interface that replaced it :) | beeandapenguin wrote: | +1 Would be super cool if this integrated with the Battery | Status API for even more realism! | | Looks like the spec is getting updated with more modern | security and privacy practices. | | https://www.w3.org/TR/battery-status/ | racl101 wrote: | I still have my original iPods. The original and the mini | chromatic ones. When I'm on the go and or in a gym and I need | to play music, nothing beats a simple mp3 player. Don't want | the bulk of the phone. Don't want to have to touch a phone | screen and engage with it. | | I'd rather just reach into my pocket and press buttons. | websap wrote: | Airpods + iPhone/Apple Watch. No wires, nothing to put in | your pockets when you're lifting and running. Who loads an | MP3 player? | scatters wrote: | I think smartwatches fill that niche now - at least those | models with physical buttons. I'm actually impressed by how | ergonomic the music listening experience on my Garmin is. | zeroonetwothree wrote: | I don't like wearing a watch So for me the MP3 player is | still great | smoldesu wrote: | I never thought I'd say this, but I actually agree. I have | a Fossil Gen 5 that I use for the exact same purpose, and | it works great with Bluetooth headphones. | fumar wrote: | Right, wearing an Apple Watch + AirPods is the modern iPod | experience to me. I can leave my house without a smartphone | and take a stroll or bike ride or skateboard etc with | music. The Apple Watch crown provides that tactile feel | missing from smartphones. I like how easy it is to turn up | the volume by quickly rotating the crown up or down. | notJim wrote: | Do you have to have the watch with LTE, or does it | actually cache music locally? | fumar wrote: | LTE but you can download music when on Wifi and keep it | stored on the watch. | kfarr wrote: | Agreed! And given the source code is available maybe someone | could hack together a prototype of this Onion classic: | https://youtu.be/9BnLbv6QYcA | dylan604 wrote: | "Sadly, this only works on Chrome Desktop" when clicking the | sign in to Spotify on my iPhone. definitely doesn't have that | "it just works feel" in that regard. However, driving the click | wheel is fun. I did instinctively click on the buttons that | would pop up in the menu by clicking them directly the first | time rather than spinning the wheel to get to them. Just shows | how much more powerful the touch screen is. | mparlane wrote: | I think in terms of scrolling through the big lists, the | wheel was a far superior scrolling device than touch scroll | is. | davidmurdoch wrote: | Is the click wheel "feel" experience only on iOS? I don't get | any haptic feedback on Android | muhammadusman wrote: | I don't feel the click haptic feedback on iOS with iPhone 12 | justusthane wrote: | No, no haptic feedback for me either. It would be | interesting to try, but honestly it might make it feel more | gimmicky if not done perfectly. | nuccy wrote: | Depends on the phone, high-end phones (iPhone obviously, | but also Samsung S XYZ, et al.) have quite good | "vibration" these days, since it is produced by more | sophisticated mechanism [1] than just rotating motor. | | [1] https://www.ifixit.com/News/16768/apple-taptic- | engine-haptic... | nuccy wrote: | No vibration feedback on Android, something like | navigator.vibrate(...) can be used for that [1] | | [1] https://developer.mozilla.org/en- | US/docs/Web/API/Navigator/v... or | https://googlechrome.github.io/samples/vibration/ | breck wrote: | > transported me back | | I felt the same way! It was 2003 again. Cool stuff. Thanks to | the OP! | ShaneMcGowan wrote: | Every time I pressed a button my brain was expecting to hear and | feel a click | CleanCoder wrote: | Have you tried clicking on it? | davidmurdoch wrote: | There is no click or vibration on Android. | runawaybottle wrote: | I forgot how intuitive that wheel really felt. | smnscu wrote: | How do you even get the _feel_ of the device so right? I'm | perplexed, such a great project. I started using it unironically | to play music, I'd totally pay for a Mac/iOS app haha. | btown wrote: | Simpler than one might think - once you do the math to project | each touch/mouse event down to an angle, you just need to | quantize the angle to a certain number of discrete options | (which you can measure on an actual device), look at the event | stream of such angle events pairwise, and take the sign of the | pairwise difference as right/left or up/down! | | The much harder part when designing the iPods themselves was to | build a robust touch sensor given the hardware of the day, and | actually come up with pleasing dimensions and quantization | parameters as a designer! | | Code for this implementation: | https://github.com/tvillarete/ipod-classic-js/blob/master/sr... | lxe wrote: | > Simpler than one might think | | > ... you just need to quantize the angle ... look at the | event stream ... and take the sign of the pairwise difference | | This is harder than I thought | corobo wrote: | "just" haha | jonny_eh wrote: | That "just" is doing a looot of work. | mypalmike wrote: | Not really. It's just atan2, modulo, and subtraction. | btown wrote: | I was going to respond saying "at least it's less work | than mimicking modern Apple momentum scrolling..." but in | fact I'd argue that's simpler than one might expect as | well! https://medium.com/homullus/recreating-native-ios- | scroll-and... | jack2222 wrote: | Taking nothing away from the maker of this, but cried must also | go to Apple for the original UX too and how well designed that | is that copying it works so well too. | rileytg wrote: | I would pay for the app just to get the haptic feedback! | y2bd wrote: | iirc there was an iPod-style app on the Apple App Store for a | bit around a year ago, but it was shortly after taken down. I | don't know if the developer came out with an official | statement, but I imagine Apple had some copyright grievances. | | It did have haptic feedback on the wheel which was cool, | although I think this web implementation actually does a | better job of nailing the motion and feel of the click wheel | itself. | dylan604 wrote: | Should make one that looks like a Zune!! | rileytg wrote: | ah ya of course you can't put an ipod on apples app store! | | looks like you could maybe use the Vibrate API for some | andriod browsers... | bg_k wrote: | Nice work. I kept clicking on the labels and got so upset that it | didn't work lol. Those who have the same issue, use the Scroll | Wheel!! | LegitShady wrote: | Still a better interface than youtube music, the app for which | still doesn't have a horizontal screen axis mode six months after | google music shut down. the web interface can't disable videos | and play music only, while the app can. | | I don't understand google's approach to youtube music. Maybe they | secretly want it to fail. | abanayev wrote: | Awesome idea, and even more awesome execution! | aaabbleco wrote: | Love it. Clean and simple as the original. It takes me back to | when I had mine! | numpad0 wrote: | _Where's the back button?_ - took me half a second to dust off | memories. Also it's uncannily snappy compared to how I remember | it! | matsemann wrote: | Might be because I never owned one myself, but I've always felt | the interface incredibly clunky and the navigation hard to | grasp. It's not something intuitive you know how to use just by | looking at it. | Cipater wrote: | This is so well done. Such a pleasure to use. Responds just like | an iPod Classic did to the point I find myself anticipating the | click sound on the wheel. | | Amazing work. | Whiteshadow12 wrote: | Nice touch adding pong (brick). | freeqaz wrote: | I'm ready for them to add a level 2 now :P | qwertygnu wrote: | Even has the same bug where the ball glitches through a few | rows!! | android2222 wrote: | Curious if Apple would even allow this as an app on their store? | hichamino wrote: | Does not respond on android .. google chrome. Any solutions ? | meibo wrote: | This is great, good job. | | Some bugs I've noticed(Chrome 90 on Android): | | * When looking at a list of albums, using the clickwheel to | scroll won't actually scroll the list | | * With Spotify, only my public playlists are shown | | Thanks! | arickuter99 wrote: | Wow. This is amazing. Well done | mcast wrote: | The iPod reflection on a white page brought me back to Apple's | late 2000s marketing pages before they became so interactive. | hichamino wrote: | Does not respond on android .. google chrome . Any solutions ? | turbocon wrote: | Weird, works for me on android, both Chrome and Firefox | jdlyga wrote: | I miss how smooth those gradients look | andrepd wrote: | This is so much more pleasant than flat interfaces. | schmorptron wrote: | I never owned an ipod so I don't remember the UI at all, but | from the now playing screen the only thing that looks like it | has a gradient is the top bar[1], all of the menu selection | indicators looks solid blue as well. Am I missing something? | | [1]https://i.imgur.com/y4s4o24.png | schmorptron wrote: | oh wait nah I see it now, the playing bar has a very light | one. Looks nice! | harshoninternet wrote: | this is absolutely amazing. | KMnO4 wrote: | This is awesome! My only request is to polish it _just_ a bit | more when you add it to the home screen. I'd love for this to | feel like a native app. | | Nominally: | | - The default title when adding to the Home Screen is "React | App". | | - The icon could be better by choosing something in 1:1 aspect | ratio. Maybe just the click wheel? | | - When opened from the home screen it correctly loads without | displaying the browsers nav bar, but the dimensions are slightly | skewed so it doesn't fill the screen. | rglover wrote: | I was just thinking about how much I missed this thing earlier. | Beautiful design and interaction. | [deleted] | chirau wrote: | Unfortunately it just signs me in Spotify but does not import | anything. Can't play anything either. Keeps asking me to sign in. | neogodless wrote: | Do you have a free account? I had to pop open Developer Tools | to see that there's an error if you don't have a paid account | that prevents the iPod.js from connecting to your account. | phreack wrote: | I can't believe how there's no buttons on devices anymore. This | is a reminder on how much I miss them! I remember when I'd clip a | really small iPod to my chest between layers of clothes and just | move through songs by pressing it whenever. First and last time I | felt cyborg-ish with technology. | mastrsushi wrote: | Mexican teenagers from 2008 with jailbroken PSPs would be proud. | psychomugs wrote: | This is awesome. It's heinous how confusing and buggy the stock | interfaces are. Instantly added to my home screen. | sirfrankiecrisp wrote: | Maybe a bit of a dumb question, but how can one be sure that this | doesn't steal my credentials when logging in with spotify? It's | open source, so I guess someone would probably have figured it | out if it did by now, but is there a way to be sure or is it even | possible? | prezjordan wrote: | Not a dumb question, very much appreciate you keeping an eye | out for your password security. It uses an OAuth flow so you're | actually entering your credentials on accounts.spotify.com | (Spotify-owned) and then Spotify gives this developer a token | (rather than a username+password) to access your data (usually | a very limited subset of data outlined on the login page). | ramenmeal wrote: | any idea why it uses ngrok when I go to the sign in flow? | Chrome is saying the connection is insecure. | ike0790 wrote: | how can you be sure that any web site asking for google | authentication doesn't "steal" your goolge data? | | The reason is because of a protocol called Oath2. | sirfrankiecrisp wrote: | Nice, thanks! I have heared of OAuth2 before, but didn't know | what it was for... Now I know:) | vcoelho wrote: | I never had one. Was clicking on the >>| and thinking it was | bugged because it won't navigate between the items on menu... | linkrboat wrote: | lol soooo cool. takes me back | aaroninsf wrote: | Does it not make the ticky clicking sound? | nmstoker wrote: | Whilst it looks nice, is no one else concerned with passing | details to some unknown site? It doesn't seem to have any direct | way to make contact nor is there a privacy policy (nor is there | anything obviously relevant in the GitHub repo for the code | either) | urbandw311er wrote: | I would like to complain about the game of Brick that refuses to | award me a victory despite clearing away all the bricks. | | Can I get my money back please? | jgtrosh wrote: | Also, it always bounces at the same angle regardless of where | it bounced on the paddle, which makes it really long and | boring. The lack of payoff is even more annoying. | enigami wrote: | This is just awesome and the experience from my Phone felt like I | went back in time. Any possibilities of releasing as an Android | App, I would actually pay for it | AzN1337c0d3r wrote: | Firefox appears to be blocking Cross Origins Requests so cannot | actually successfully sign-in: | | Cross-Origin Request Blocked: The Same Origin Policy disallows | reading the remote resource at | https://apresolve.spotify.com/?type=dealer&type=spclient. | (Reason: CORS request did not succeed). | neogodless wrote: | Firefox on Windows 10 with uBlock Origin (which I disabled on | this page) and Multi-Account Containers. I'm not a Spotify paid | user, and the error I get is different: | | > Cannot register to Track Playback with non-premium user. | | However, the "iPod" just keeps telling the user to sign in. It | might be good to have some indicator that you need a paid | account to use Spotify on this iPod. | llacb47 wrote: | That's also the message you get when a content blocker blocks a | request. Could be uBlock Origin or tracking protection, | probably not CORS. | zachberger wrote: | I had no issue on macOS 11.4, Firefox 89.0.1 (64-bit arm) | amatecha wrote: | Could be due to Strict privacy settings? | Cipater wrote: | Like the other reply, I had no issue at all using it on Firefox | on Windows. Even with a whole host of privacy addons and | settings enabled. | rileytg wrote: | anybody notice ngrok when singing in? wonder what that's about... | emptyparadise wrote: | I'd love this as a phone app. | the_arun wrote: | This is definitely a good project.. I was pleasantly surprised to | see - github link as navigation item. | | Settings -> About -> Github Repo | IAmMaulik wrote: | Awesome tool dude. Brings back a lot of old memories | HipstaJules wrote: | This is so pretty. I love it! Thanks for making it! | filmgirlcw wrote: | This is great work! Thanks for putting the source on GitHub too!! | This brings back so many memories of a simpler time. | hooloovoo_zoo wrote: | Others would know more, but surely this is poking the Apple legal | department bear? I once tried to have a company print a single | ping-pong paddle with the name iPaddle and they refused. | jamesbfb wrote: | Oh, wow! This brings back a wave of nostalgia. This is great! If | only you could get some haptic feedback happening, it would be | the icing on the cake. | gherkinnn wrote: | Great execution! The click wheel feels really good on iOS. | msackmann wrote: | Really amazing! Great work, indeed pretty close to the original | feeling :-) | xrd wrote: | I don't have Apple Music, but my wife does. If she, | hypothetically, logged in on my Android phone, could I use her | library? | ribosometronome wrote: | There's an app for Android, as well. | tshaddox wrote: | I don't see why not. There's an official web version at | music.apple.com. They probably prevent multiple simultaneous | streams on the same account at the same time though. | vestrigi wrote: | I found out it actually allows me to play on the same account | on two separate devices. The official apple music apps | reliably stop my attempts to abuse my one person membership. | Maybe this means that authorised applications aren't checked | as thoroughly for this. | zoover2020 wrote: | Ssh, Apple engineers are silently reading along! | tshaddox wrote: | Yeah, they might just be lenient for now with the MusicKit | JS API. I know for commercial partners they seem to be | pretty strict. | mraza007 wrote: | If they brought an iPod back with spotify and apple music I would | definitely buy it | | Anyways great execution and loved how seamless it works really | cool project | isoprophlex wrote: | Now that you mention it, I REALLY want a piece of hardware like | this..! | McAtNite wrote: | Something like this? https://bemighty.com | | It's not active live streaming, just downloading your | playlists. | worldmerge wrote: | That's a cool piece of tech. It's unfortunate it doesn't | work with mp3s ( from the faq) as well. | spicybright wrote: | Wow, that's insanely awful, at least in my opinion. I | loved my iPod shuffle. Pretty much the exact same form | factor as this. | Tijdreiziger wrote: | Sony sells touchscreen Walkmans these days. AFAIK they're based | on Android. ___________________________________________________________________ (page generated 2021-06-23 23:00 UTC)