\

Ambient CSS v3 – Blender meets CSS

215 points - yesterday at 3:35 PM

Source
  • CSSer

    yesterday at 4:20 PM

    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

        yesterday at 4:38 PM

        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

        • andai

          yesterday at 8:15 PM

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

            • slj

              yesterday at 11:48 PM

              It will not take superior models or LLM processes to do skeuomorphism again. It was always possible to do skeuomorphic design, it just took hard work and a focussed design effort. Just as it’s now easier than ever to do any sort of UI/UX design now with LLMs, the missing link is the work, the effort. When you want to create a skeuomorphic design, don’t defer the hardest parts to the LLM, you should investigate for yourself the intentionality and thoughtfulness of each element you create. That’s what made the skeuomorphic design of yore so attractive, it was thoughtfully designed, down to the details.

          • scythmic_waves

            yesterday at 8:58 PM

            What's a good example that comes to mind for you of it done right? I don't do much frontend so I think I just uncritically accept whatever design is put in front of me.

              • CSSer

                yesterday at 9:32 PM

                I can’t teach someone design in a day, but I can elaborate on the reference and point out some of the worst habits. A lot of these designs feature ornamentation without purpose. Look critically at the content in a design it produces. Ask yourself if each piece of information is serving a purpose for the end-user. This used to be, at least a little, harder to get wrong when adding noise came at the cost of more effort. The other thing is most often just typography. For a number of reasons, text below 16px should be treated very seriously. Claude throws it around everywhere.

            • dmix

              yesterday at 8:07 PM

              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

                • wlesieutre

                  yesterday at 9:26 PM

                  Has anyone tried giving it the Apple HIG from 20 years ago instead?

          • mminer237

            yesterday at 7:34 PM

            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.

              • danudey

                yesterday at 7:47 PM

                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.

                • dkersten

                  yesterday at 8:23 PM

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

                  • JackFr

                    yesterday at 8:53 PM

                    And knobs are a useless control on in any mouse/pointer based interface.

                • graypegg

                  yesterday at 4:16 PM

                  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.

                    • kikkupico

                      yesterday at 9:42 PM

                      Orthographic projection was chosen here deliberately - that's why elevation makes no difference to the size of the object but changes the shadow. Perspective projection won't work well with scrolling because the angle of the object would have to subtly change when the user scrolls. Orthographic projection doesn't need to handle that.

                      The docs have a page where the lighting and camera setup is explained with an actual threejs 3d scene - https://kikkupico.github.io/ambientcss/guide/concept/#how-it... . Hope it helps!

                      Regarding the textures, they respond to lighting but not especially well. In the demo app, you can scroll to the materials page and use the theme switcher at the top to see how the texture respond.

                        • ricardobeat

                          yesterday at 11:00 PM

                          I'm sorry but that's just slop. The elevation in the actual CSS makes the shadow progressively lighter (technically correct, thought the proportions look very wrong, 2 is too dark), while the 3D model has it constant. There is nothing in this 'camera and lighting setup' that was translated to the styles.

                • alexaholic

                  yesterday at 4:21 PM

                  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

                      yesterday at 5:39 PM

                      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

                          yesterday at 6:12 PM

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

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

                      • dleeftink

                        yesterday at 4:25 PM

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

                          • alexaholic

                            yesterday at 5:05 PM

                            > Bespoke interfaces everywhere

                            From bespoke to Bootstrap, to Tailwindshitification

                              • phoronixrly

                                yesterday at 5:30 PM

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

                    • charlesrice

                      yesterday at 4:38 PM

                      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

                          yesterday at 6:41 PM

                          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)

                            • BorisMelnik

                              yesterday at 8:02 PM

                              well done! very nicew

                          • trueno

                            yesterday at 7:14 PM

                            vercel apps really do have a reputation

                            • drfloyd51

                              yesterday at 5:44 PM

                              Worked like crap on mobile as well.

                          • isodev

                            yesterday at 4:14 PM

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

                              • kikkupico

                                yesterday at 9:52 PM

                                With the knobs, I just figured out the problem was a stray div from an earlier version of the app overlapping the knobs in the components section of the demo app. I've fixed that now. Checked in both desktop and android Chrome and looks ok. haven't tested in mobile safari yet.

                                P.S: I agree knob controls in general are terrible UX. A real knob is usually turned with two fingers and the way on-screen knobs are operated is nothing like that.

                                • esperent

                                  yesterday at 5:29 PM

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

                                  • som

                                    yesterday at 9:19 PM

                                    Both performance and mechanics of the knobs :|

                                    • fwip

                                      yesterday at 4:36 PM

                                      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

                                          yesterday at 4:40 PM

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

                                  • wasmperson

                                    yesterday at 6:09 PM

                                    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

                                      yesterday at 4:23 PM

                                      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

                                          yesterday at 4:35 PM

                                          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

                                              yesterday at 4:46 PM

                                              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

                                                yesterday at 6:20 PM

                                                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_

                                              yesterday at 7:55 PM

                                              > 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/

                                                • tuvix

                                                  yesterday at 10:23 PM

                                                  From what I remember reading it was pretty limited and only applied to context menu actions.

                                                  I was pretty disappointed when I saw that, but they’ll probably expand it

                                                    • QuantumNomad_

                                                      yesterday at 10:38 PM

                                                      I was also unsure about that. A couple of YouTube videos I saw gave me the impression that it is possible to spawn a web view with your own HTML, JS and CSS. But without being able to try it out myself yet, I can’t really know if I understood correctly or not. But they did say that in terms of what you can do API wise it is very limited still indeed. But also that they are going to expand the capabilities of what you can do over time.

                                                      It being pretty limited is also part of the reason why I’ve not yet decided if I should pay for the upgrade from 11 to 12, or if I should wait it out until say Ableton Live 13 or 14 or 15 comes out.

                                                      I have the Suite version, so if I upgrade it will be a pretty expensive upgrade. Although, I did see that they also have a rent-to-own option to pay little by little over several months. And then there is also the possibility of discounts on Black Friday and Cyber Monday, which is only a couple of months away.

                                                      Also there is still a lot of content and capabilities in Ableton Live Suite 11 that I haven’t even made use of yet, including the full M4L that comes included with Suite. So even if I were to wait years before upgrading I wouldn’t run out of things to learn about the version I currently have anytime soon :)

                                          • noduerme

                                            yesterday at 5:45 PM

                                            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

                                            • eigenblake

                                              yesterday at 8:49 PM

                                              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

                                              • __alexs

                                                yesterday at 4:03 PM

                                                This has mid 2000's LiteStep theme vibes.

                                                  • yboris

                                                    yesterday at 5:09 PM

                                                    LiteStep forever in our hearts ♥

                                                • TechSquidTV

                                                  yesterday at 5:49 PM

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

                                                    • nekooooo

                                                      yesterday at 7:07 PM

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

                                                  • vivzkestrel

                                                    today at 3:17 AM

                                                    material design 3.0?

                                                    • inexcf

                                                      yesterday at 4:32 PM

                                                      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

                                                          yesterday at 4:38 PM

                                                          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

                                                            yesterday at 4:56 PM

                                                            Isn’t it just scroll-snap?

                                                              • inexcf

                                                                yesterday at 6:35 PM

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

                                                        • dvt

                                                          yesterday at 7:01 PM

                                                          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.

                                                          • troupo

                                                            yesterday at 4:15 PM

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

                                                              • smallnix

                                                                yesterday at 5:32 PM

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

                                                                  • woodrowbarlow

                                                                    yesterday at 6:13 PM

                                                                    so, skeuomorphic

                                                            • xgulfie

                                                              today at 12:15 AM

                                                              Imagemap still works btw

                                                              • BugsJustFindMe

                                                                yesterday at 7:03 PM

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

                                                                • BorisMelnik

                                                                  yesterday at 8:00 PM

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

                                                                  • varispeed

                                                                    yesterday at 4:10 PM

                                                                    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!

                                                                    • Quitschquat

                                                                      yesterday at 5:43 PM

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

                                                                        • Y-bar

                                                                          yesterday at 7:10 PM

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

                                                                      • drcongo

                                                                        yesterday at 4:05 PM

                                                                        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.

                                                                        • wigster

                                                                          yesterday at 7:33 PM

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

                                                                          • topoheal

                                                                            yesterday at 5:38 PM

                                                                            [flagged]

                                                                            • yesterday at 5:36 PM

                                                                              • andrewmcwatters

                                                                                yesterday at 5:14 PM

                                                                                [dead]

                                                                                • irickt

                                                                                  yesterday at 5:21 PM

                                                                                  https://github.com/kikkupico/ambientcss

                                                                                    • microflash

                                                                                      yesterday at 5:38 PM

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

                                                                                      Sigh.

                                                                                        • jdiff

                                                                                          yesterday at 5:41 PM

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

                                                                                            • microflash

                                                                                              yesterday at 5:45 PM

                                                                                              Yup.

                                                                                                • jdiff

                                                                                                  yesterday at 6:06 PM

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