Apple iPod Engraver (2019)

(dunstanorchard.com)

100 points | by NaOH 3 days ago

6 comments

  • georgecalm 2 hours ago
    I really appreciate that someone's job (or at least part of it) was to "prototype concepts that would add some interactive sparkle to the site". Working on a larger team, we generally add this kind of interaction at the start of a project or during redesign. There are larger prototypes, of course. But very rarely is someone designated to independently go out and just find small ways of making the experience just a bit nicer for the users, and build that; and I really like that idea.
    • lukeify 1 hour ago
      As much as there are things to complain about Apple in 2026, it's nice that it still seems like their design and UX teams have latitude to do things like this. See the folding animation on the Duo, for example.
      • gimmeThaBeet 47 minutes ago
        that was definitely one of those "wait, what?" moments. i still love it when software feels like a magic trick
  • fg137 34 minutes ago
    Off topic: why would someone engrave their item? If you or whoever is gifted the item ever decides to resell it some day, it becomes a headache. And I don't recall any other company offer such service for consumer electronics.
    • compiler-guy 5 minutes ago
      Many people don’t care about resale or pass-along value in the things that they own or gift.

      And even if one does, then you just consider the diminished value as another cost of having the personalized item.

      For many people, especially gift givers where the item is about far more than economics, it is worth it. And it is very unclear to me why "resale value" should trump about a million other considerations.

    • shermantanktop 24 minutes ago
      Watches? Jewelry? Monogrammed clothes? Custom-printed shoes and t-shirts? Lots of examples, and of course it affects resale.

      Apple was clearly thinking outside the category of “consumer electronics.”

  • hahla 57 minutes ago
    We all want to be able to afford to do what Apple did back in 2019. Have a full developers salary dedicated to adding sparkle. I wonder in todays day and age how do you add that level of personalization and differentiation?
    • jasongill 54 minutes ago
      "Add customer delight to the product pages; make no mistakes"
  • rezmason 1 hour ago
    I think it's worth noting that 2004-2006 was a time period where a Flash applet could have done this on the client. This was also a time when Flash content was supported by Apple QuickTime, so it's interesting that they didn't make use of it here.

    I wonder if a SWF was ever hosted on the apple.com domain.

    • duskwuff 1 hour ago
      > This was also a time when Flash content was supported by Apple QuickTime

      While QuickTime supported some Flash content, my recollection is that it only supported simple animations which could be mapped onto QuickTime's own interactive video features. I don't think it supported ActionScript, so this kind of interactivity would have been beyond it.

  • adolph 2 hours ago
    It is interesting to think about the socio-technical reasons to make a serverside roundtrip for each keypress. Another approach might be to load up the dictionary client-side and use javascript to swap letterforms in various pre-determined locations. Presumably using browser-text with a transparent background wouldn't sufficiently simulate what the real product looked like.
    • adrianmonk 1 hour ago
      It helps that it's not very big. In the working demo, the image is 132x26, and the actual JPEG file size is about 2-4 kB (depending on the text).

      So even on a 56k modem, it might take less than 1 second to load each image.

      You could also optimize it so it skips intermediate images if the user types fast. Suppose the user mashes "12345" in a fraction of a second. You start loading "1.jpg" on the first keypress. When you've finished loading "1.jpg", the field contains "12345", so skip straight to loading "12345.jpg".

      The demo page's JS doesn't seem to include any optimization code like that. It just updates the img src whenever the text changes. Yet my browser seems to do it automatically! If I mash several keys, the console network log shows only some intermediate images get loaded.

      I guess the browser is smart enough to know that, by the time it would have started the download, the resource no longer exists in the page. I'm not sure if browsers ~20 years ago did this, but it would have been worthwhile given how slow networks were.

    • madaxe_again 2 hours ago
      Basically, it was easier. Or even... barely even possible to do what you describe. Maybe you could, but it would have been nightmarish whack-a-mole, and a good chance that the next update to any given browser would break it completely.

      In ‘05, you had IE6, plenty of folks still on IE5, IE5 for Mac was still in use (don’t be fooled by the name - it did not behave like IE5 on windows), safari was 2.0, respectable but still a minority browser, and Firefox was on 1.0. Plenty of folks were still on Netscape navigator, which by that point was actively decomposing.

      IE6 was what you built for, as it was the majority browser by a country mile. Transparency was hit and miss. Alpha PNGs just weren’t supported, you had to hack them in via JS.

      Most websites were laid out using <table>. Using a <div> was new and exotic.

      Oh, and you could only do custom fonts using… flash. sIFR, if you want to delve into the hell that was web dev back then. Most folks would just end up with TNR. Transparency on sIFR you could only achieve by replicating your background into the SWF, and good luck getting it to line up.

      So. Support an absolute soup of edge cases across a bunch of different browser engines, and deal with “IT LOOKS NOTHING LIKE IT DID ON THE WEBPAGE” from customers, or just do it server side.

      Also, it was perfectly acceptable to wait for a website to load - 50% of the U.S. was still on dialup, and “broadband” was commonly 512k.

      • whstl 1 hour ago
        I remember transparency was handled with gifs back then, which had their own problems and limitations.

        Alignment was either done via position: absolute or by using a table. The animated background here would be a bit more complicated with a table.

        Risk of it breaking with some upgrade, or looking different for some people? As you said, very likely.

        So server-side image generation was indeed the best option. And it was a popular and widely solved problem, even in the 90s: visit counters that showed the visits in the shape of an image were super popular.

        • madaxe_again 1 hour ago
          Yeah, transparency on gifs is binary, so you always had a crunchy edge. Plenty of use cases, but nice looking text wasn't one of them.

          And position: absolute did not behave the same way across IE, NN, FF, or safari.

          For some reason I feel the sudden urge to have a drink.

          Just don't tell the kids about how eCommerce used to work. Credit card number in an email, courtesy of Mal's eCommerce? Pretty much industry standard. shudders, swigs

      • ssharp 2 hours ago
        Lots of things were different on the front end back then:

        - IE was an albatross around every web developers neck - Even better browsers like Firefox and Safari had tons of inconsistencies - jQuery and Prototype weren't around yet - CSS is not remotely close to what it is today

        Honestly, placing text over an image was a lofty task back then. We used to use lots of images with text as part of the image. Text images and table layouts were two of the main ways to get around all those cross-browser issues.

      • adolph 53 minutes ago
        Oh yeah, I forgot what the table layout stuff used to be like. Since the back has a shine gradient across the back, each position would need all the possible characters. iirc, in that period an article on A List Apart [0] proposed something like that. I think they were doing curved box corners and sending all corners in the same file and using background positioning to only show the portion of the image depicting that corner. As I scan the article it is heavy on CSS positioning, which is used in the demo but I recall IE5 had quirks.

        How true to period is the demo? I see in the source "I've tried to preserve the core of this code as it was when I wrote it in June 2005." but most of the page is a static image in the background.

        0. https://alistapart.com/article/sprites/

  • lm28469 1 hour ago
    [dead]