Ambient CSS v3 – Blender meets CSS

(ambientcss.vercel.app)

147 points | by kikkupico 5 hours ago ago

55 comments

  • eigenblake a minute ago

    For a course I'm taking, I made an "Exposure Triangle" demo inspired by Duolingo. This feels like I just struck gold. Whether I use this implementation or another, I'd like to develop a library of these Skeumorphic components. I want to make a later version of my application -- where I make explanatory mathematics and this kind of minimal diegetic interface is exactly what I need to pull that off

  • CSSer 5 hours ago

    I really dislike how the dribbble/envato style somehow escaped containment into Claude and now I’m seeing it everywhere mixed with mediocre design layouts. I think to myself that maybe stuff like this will help counteract that but then I see it in use with 12px typography (the kubernetes 3D dashboard thing) and I recoil in horror. Please consider this a PSA: Claude doesn’t understand UX or good design principles out of the box. Please go hug a designer.

    • graypegg 4 hours ago

      UI greebling [0] is something I'm not looking forward to.

      People always miss out the fact that older information-dense UIs were... information dense. We get this weird simulacrum of information density where the LLM has slapped on "every pod has a machine", a made-up PDU for pods with a watt rating somehow, and random status labels EVERYWHERE. All it's missing is the green circle "LIVE" label that every claude app seems to have...

      [0] https://en.wikipedia.org/wiki/Greeble

    • dmix 44 minutes ago

      Pro-tip: ask Claude (or Claude Design) to reference the Apple HIG https://developer.apple.com/design/human-interface-guideline... and then review your interfaces

    • andai 35 minutes ago

      I'm waiting for Skeumorphism to make a comeback, but that will require a superior AI paradigm.

  • mminer237 an hour ago

    Neat idea, but feels very poorly made.

    The light direction governs the whole grid for some reason but stops outside an arbitrary div and often just stops working period, on top of feeling laggy for such a simple effect.

    Channels are messed up. The example doesn't seem to work, while in the video it just makes two edges white for some reason?

    The color options and textures are kinda ugly. The glass colors clearly just don't work. "Brass" turns into "Olive" on the last one for no reason?

    The radio buttons are a bad idea for a digital interface, implemented completely inconsistently(‽), and the middle one just doesn't work at all.

    Buttons have virtually no feedback if they're pressed or not.

    Reminds me a lot of Google's material design, at least the older versions of it, just much sloppier and less usable and less colorful.

    • dkersten 27 minutes ago

      It’s also glitchy and flickery for me on iOS.

    • danudey an hour ago

      It supports a dark theme but then you can't see 90% of what it actually does because drop shadows on dark backgrounds just plain don't work.

  • graypegg 5 hours ago

    Nitpick, but elevation would make much more sense if you assumed a base plane + set a perspective, and then translate3d'd upwards on the Z axis. It would grow the size of the element as well.

    Saying that, probably annoying to work with transformed DOM nodes, but the background being the only thing moving in the "bounce" example just stood out to me as weird.

    Also, the texures seem to be just gradients or embedded texture data. Was thinking this would use https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/V... and fall back to gradients/premade images for firefox.

  • alexaholic 4 hours ago

    We used to do this during the Web 2.0 era with PNGs, GIFs and `progid:DXImageTransform` because back then you couldn't do it with standard CSS alone. Then as CSS (and MS!) evolved to enable it, the world moved on to flat UIs. It's ironic, isn't it?

    • mcdonje 3 hours ago

      There was a lot of one-upsmanship at the time. People did it because it was hard. When it wasn't difficult to do anymore, they stopped because it wasn't actually good clean design.

      Also, early on, there was an idea that cyberspace should resemble meatspace so the meats don't get confused. That's no longer much of a concern.

      • thesuitonym 3 hours ago

        > they stopped because it wasn't actually good clean design.

        Unfortunately, they didn't replace it with good, clean design.

    • dleeftink 4 hours ago

      Remember motiongerm and the whole sleek 60fps flash design thingamabob? Bespoke interfaces everywhere

      • alexaholic 4 hours ago

        > Bespoke interfaces everywhere

        From bespoke to Bootstrap, to Tailwindshitification

        • phoronixrly 3 hours ago

          ... To Claudification... All of this project is completely vibecoded.

  • charlesrice 4 hours ago

    My favorite is the knobs where some of them you can grab and rotate like they are physical but other ones only react to the vertical position of the cursor so you feel like a crazy person trying to use them

    • rrr_oh_man 2 hours ago

      Can I plug https://mydogisthebest.org?

      If you're into skeumorphism, you'll love it. I put a lot of care into how the buttons and other elements work and interact with each other.

      (It's a free little dog journaling app I created with my partner to help us cope with losing our dog)

    • trueno 2 hours ago

      vercel apps really do have a reputation

    • drfloyd51 3 hours ago

      Worked like crap on mobile as well.

  • isodev 5 hours ago

    I love the concept but (at least on mobile Safari) most of it feels unusable.

    • esperent 3 hours ago

      Same on Brave on Android. But I think that's largely orthogonal to the design, which I like a lot.

    • fwip 4 hours ago

      The knobs are especially difficult to use (on desktop here). The first two knobs only respond to click & vertical drag - moving up rotates clockwise, moving down rotates ccw. Moving left or right does nothing. The second knob's grab handle is just totally wrong, appearing in only about the 4 o'clock to 6 o'lock position.

      • SwellJoe 4 hours ago

        Round knobs are just a terrible idea. They never work comfortably with a mouse or touchpad, and are often an accessibility challenge.

  • noduerme 3 hours ago

    I wrote something a bit like this years ago as an experimental portfolio site... a sort of responsive engine managing flat "cards" with CSS shadow cues for depth. (The responsive aspects are all JS on a loop that tweens everything). Ever since Photoshop released drop shadows on the world, I've generally thought that their overuse was a way to mask bad design, but I thought it was interesting at the time to see how far you could get using only drop shadows. Note: This site hasn't been updated in a decade. Not made for dark mode.

    https://thestrikeagency.com

  • wasmperson 3 hours ago

    The keyboard controls to select a radio button shouldn't depend on the visual orientation of the radio buttons. Browsers get this right by default, but the radio buttons aren't implemented with `<input type="radio">` and instead are just a row of plain buttons and a bunch of javascript. A quick check in the dev tools confirms the other widgets are similarly implemented :(

    I love the look, though!

  • tuvix 4 hours ago

    Reminds me of VST GUIs, looks great! But, like other commenters have noted, I think a number of these controls might be desktop only, which is totally fine. There’s too much UI stuff centered around mobile anyway these days

    • SwellJoe 4 hours ago

      Counterpoint: I hate VST GUIs. They're often skeuomorphic hell.

      They love fiddly round knobs which are terrible to control with a mouse or touchpad, and are bad for accessibility. They also tend to have a bunch of mystery meat navigation because the historic hardware UIs they're emulating were forced to bury stuff behind menus due to limitations of the technology, and cost limitations, at the time. Some are better than others, but the priority is often looking cool in screenshots rather than being comprehensible and discoverable.

      I don't mind shadows and shapes that look three dimensional; affordances that indicate what you can do with an interactive element is great and an improvement over the flat trend. But, VST GUIs are among the worst examples to copy. And, round knobs are probably never the right choice for a computer GUI.

      • tuvix 4 hours ago

        Haha yeah I think I’m mostly speaking from nostalgia. I do remember wrestling with knobs in Massive or whatever free VSTi back in the day was pretty terrible.

        I can’t deny I love the look, though.

      • immmmmm 3 hours ago

        While I have a massive collection of VSTs I always end up using my very limited modular and Rytm mk1. And Elektron machines are an UI nightmare.

    • QuantumNomad_ an hour ago

      > Reminds me of VST GUIs

      I was thinking the same thing. And I was also thinking, now that Ableton Live has a JavaScript toolkit [1], maybe this Ambient CSS could be useful in that context.

      I’m still on Ableton Live 11 so the Ableton Live Extensions SDK is not available for me. Therefore I cannot try this idea myself yet.

      [1]: https://www.ableton.com/en/blog/introducing-extensions-sdk/

  • __alexs 5 hours ago

    This has mid 2000's LiteStep theme vibes.

    • yboris 4 hours ago

      LiteStep forever in our hearts ♥

  • dvt 2 hours ago

    Skeuomorphism is back, baby! Apart from the wonky dragging on some of the knobs, I really like these. Kind of reminds me of teenage engineering.

  • BorisMelnik an hour ago

    badass. i so desperately want to use this on a small business website

  • TechSquidTV 3 hours ago

    I had tried (and failed) to do something similar. https://analogui.com/

    • nekooooo 2 hours ago

      you definitely reached the limits of skeumorphism. click and drag, especially along an invisible, curved path, is not user-friendly.

  • inexcf 4 hours ago

    God this site has atrocious scrolling behavior. Allowing me to scroll halfway to the next "page" but then forcing me to stop scrolling and start again to get to the next one made me close the page half way through.

    • SwellJoe 4 hours ago

      When a page about a new GUI thing fucks around with well-defined behaviors, back-button, scrolling, widget interaction, I know I can't trust their judgement. We don't want the same things and it's best if I move on.

    • cluckindan 4 hours ago

      Isn’t it just scroll-snap?

      • inexcf 2 hours ago

        Nah, this one stops you while you are scrolling and only lets you move on if you stop for a moment.

  • troupo 5 hours ago

    Isn't this just short-lived neumorphic design from a few years back? https://neumorphism.io/#e0e0e0

    • smallnix 3 hours ago

      It does take the idea further by anchoring the design system in real world objects.

  • BugsJustFindMe 2 hours ago

    Nobody who cares about UX adds virtual knobs to flat interfaces.

  • varispeed 5 hours ago

    Looks cool, but I can't see myself using something like this. The readability is poor, it is difficult to gauge if button was pressed or what is selected.

    But still, I love it!

  • wigster an hour ago

    is it too much to ask for a button in a different colour to the background. ffs

  • drcongo 5 hours ago

    You see a lot of this kind of look in AUv3 plugins on the iPad and I love it - it's so nice to have visually tactile interfaces rather than the flat shit that OSs have been forcing on us.

  • Quitschquat 3 hours ago

    Why must UI/UX be a fashion. I knew this skeuomorphic shit would return eventually.

    • Y-bar 2 hours ago

      I’ve been clamouring for the return of usable and at-a-glance understandable interface elements like this!

  • irickt 3 hours ago
    • microflash 3 hours ago

      > A user you’ve blocked has previously contributed to this repository.

      Sigh.

      • jdiff 3 hours ago

        Only 5 "contributors," did you block one of the AI bots bouncing around in there?

        • microflash 3 hours ago

          Yup.

          • jdiff 3 hours ago

            Just Claude or have you managed to block Jules as well? I haven't figured out Jules yet myself.