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