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 [3 hidden]5 mins 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...
I'm waiting for Skeumorphism to make a comeback, but that will require a superior AI paradigm.
slj [3 hidden]5 mins ago
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 [3 hidden]5 mins ago
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 [3 hidden]5 mins ago
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.
Has anyone tried giving it the Apple HIG from 20 years ago instead?
mminer237 [3 hidden]5 mins 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.
danudey [3 hidden]5 mins 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.
dkersten [3 hidden]5 mins ago
It’s also glitchy and flickery for me on iOS.
JackFr [3 hidden]5 mins ago
And knobs are a useless control on in any mouse/pointer based interface.
graypegg [3 hidden]5 mins 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.
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.
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 [3 hidden]5 mins ago
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.
kikkupico [3 hidden]5 mins ago
The threejs scene in the docs is only for explaining the setup; it doesn't have a raytracer to render shadows accurately. The reference renders for the CSS were done in Blender. See https://kikkupico.github.io/ambientcss/ambient-css/grounded#... for examples.
alexaholic [3 hidden]5 mins 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 hidden]5 mins 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 hidden]5 mins ago
> they stopped because it wasn't actually good clean design.
Unfortunately, they didn't replace it with good, clean design.
dleeftink [3 hidden]5 mins ago
Remember motiongerm and the whole sleek 60fps flash design thingamabob? Bespoke interfaces everywhere
alexaholic [3 hidden]5 mins ago
> Bespoke interfaces everywhere
From bespoke to Bootstrap, to Tailwindshitification
phoronixrly [3 hidden]5 mins ago
... To Claudification... All of this project is completely vibecoded.
charlesrice [3 hidden]5 mins 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
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 [3 hidden]5 mins ago
well done! very nicew
trueno [3 hidden]5 mins ago
vercel apps really do have a reputation
drfloyd51 [3 hidden]5 mins ago
Worked like crap on mobile as well.
isodev [3 hidden]5 mins ago
I love the concept but (at least on mobile Safari) most of it feels unusable.
kikkupico [3 hidden]5 mins ago
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 [3 hidden]5 mins ago
Same on Brave on Android. But I think that's largely orthogonal to the design, which I like a lot.
som [3 hidden]5 mins ago
Both performance and mechanics of the knobs :|
fwip [3 hidden]5 mins 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 [3 hidden]5 mins ago
Round knobs are just a terrible idea. They never work comfortably with a mouse or touchpad, and are often an accessibility challenge.
wasmperson [3 hidden]5 mins 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 [3 hidden]5 mins 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 [3 hidden]5 mins 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 [3 hidden]5 mins 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 hidden]5 mins 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_ [3 hidden]5 mins 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.
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_ [3 hidden]5 mins ago
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 [3 hidden]5 mins 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.
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
you definitely reached the limits of skeumorphism. click and drag, especially along an invisible, curved path, is not user-friendly.
inexcf [3 hidden]5 mins 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 [3 hidden]5 mins 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 [3 hidden]5 mins ago
Isn’t it just scroll-snap?
inexcf [3 hidden]5 mins ago
Nah, this one stops you while you are scrolling and only lets you move on if you stop for a moment.
dvt [3 hidden]5 mins 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.
It does take the idea further by anchoring the design system in real world objects.
woodrowbarlow [3 hidden]5 mins ago
so, skeuomorphic
vivzkestrel [3 hidden]5 mins ago
material design 3.0?
xgulfie [3 hidden]5 mins ago
Imagemap still works btw
BugsJustFindMe [3 hidden]5 mins ago
Nobody who cares about UX adds virtual knobs to flat interfaces.
BorisMelnik [3 hidden]5 mins ago
badass. i so desperately want to use this on a small business website
varispeed [3 hidden]5 mins 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!
Quitschquat [3 hidden]5 mins ago
Why must UI/UX be a fashion. I knew this skeuomorphic shit would return eventually.
Y-bar [3 hidden]5 mins ago
I’ve been clamouring for the return of usable and at-a-glance understandable interface elements like this!
drcongo [3 hidden]5 mins 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.
wigster [3 hidden]5 mins ago
is it too much to ask for a button in a different colour to the background. ffs
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
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.
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.
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.
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.
Unfortunately, they didn't replace it with good, clean design.
From bespoke to Bootstrap, to Tailwindshitification
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)
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.
I love the look, though!
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.
I can’t deny I love the look, though.
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/
I was pretty disappointed when I saw that, but they’ll probably expand it
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 :)
https://thestrikeagency.com
But still, I love it!
Sigh.