I always love seeing tricks like this from designers but then I never see anything this cool on the web otherwise. Where do all these great designers work and why don't I ever get to see the products they make?
You can have exquisite presentation with good choices of text, formatting and typography (including judicious use of colour, spacing and even animation and textures). A luxury printed book full of beautiful details will feel much better than a cheap paperback.
The best techniques can be applied in subtle ways to improve the overall presentation, without resorting to flashy showcases.
Information can be beautiful on its own, if you follow some common patterns about contrast, clustering and hierarchy. These are based on the principles of Gestalt [1] which engineers can learn without having artsy skills by watching books and courses specific for us, e.g. [2].
Do you know about Edward Tufte? His work doesn't revolves specifically about software, but his principles show how to present technical information in the clearest way, and his books [3] are beautiful examples on how to put a technical topic in book form with clean and beautiful layouts.
A lot of Python docs are in fact pretty well designed to resemble a book without completely breaking the fluidity of the web page. They use serif fonts, apply font weights and colors subtly. In fact I think they strike the right balance between just being a regular webpage and completely succumbing to the constraints of the book as media.
Because these animations only work in rigidly specified isolated static objects. Because god forbid any animation touches layout.
Well, many of those animations like opacity changes and border animations undoubtedly force the browser to re-layout and repaint the entire screen anyway. So on an actual page you'll se stutters, frame drops and ungodly CPU usage.
The only animations that will (barely) work is the `transform: translate` ones as they usually preserve the layout, and can be composited on the GPU.
> With Blink opacity, filter, and transform will skip past layout and paint after the first render.
Thanks! Didn't realize opacity was mostly fixed. In my head it as still very problematic because I know that opacity changes are very frowned upon by device manufacturers (like smart TVs). The reasons are actually mentioned in the video:
- they "don't trigger layout and can often bypass paint" (so paint isn't always bypassed)
- "compositing is not free. If you are on resource constrained devices, you really need to watch your composited layer count"
The vast majority of devices in the world out there are resource constrained: cheap smartphones are ubiquitous. But then there's also things like smart TVs etc. Hence my reaction to opacity changes :)
What do you think of The Pudding (https://pudding.cool/)? They make beautiful “visual essays”. Unlike some fanciful animated sites, I feel like The Pudding’s design and animation complement the text to make the result ‘greater than the sum of its parts.
The only thing that didn't appear to work for me was the code selection. It would only allow selecting the whole code block, and not toggle to allow selecting only a portion. Other than that the animations appeared fine to me as well.
Those CSS animations would be a success in the web of the old days. Reminds me of the whole rounded borders thing: all those hacks and loops to make it work in all browsers (transparent images in the corners, lol), and then finally when there's wide browser support, rounded borders were already out of fashion
None of the examples in the article work with js disabled.
I'll say more generally, that as much as I love all the cool things CSS is capable of these days, I think it's gotten to the point where now I want a CSS blocker the same way I block ads and JS by default, ideally something that lets me enable only a sane subset of CSS while blocking everything else.
I keep meaning to write one for firefox, but I really don't have the time, and I'm honestly hoping somebody comes along and beats me to it.
This reminds me of the time I removed tyres from my car’s wheels. I want the predictability of my horse drawn cart back. A wheel breaks, I just take a hammer and some nails to it. Galvanised rubber and metallurgy is something I don’t understand so it must be bad.
> This reminds me of the time I removed tyres from my car’s wheels. I want the predictability of my horse drawn cart back. A wheel breaks, I just take a hammer and some nails to it. Galvanised rubber and metallurgy is something I don’t understand so it must be bad.
I understand CSS and I've done a fair bit of webdesign myself. CSS has evolved to the point where it can be used abusively. Hell, some consider it turing complete (https://github.com/brandondong/css-turing-machine).
CSS can be used for ads, fingerprinting, and exploits. There are perfectly valid reasons for wanting a little less functionality while still allowing for some basic styling.
I mean, it's cool that there are computer games written in pure CSS and other neat tricks, but sometimes you just want a browser to behave itself even in hostile spaces. If that makes my heavily locked down browser a "horse drawn cart" I'm happy to trot forward.
Codepen is certainly part of it. Lots of boxes with nothing inside but centered text saying things like "See the Pen Spooky Boo! by Will Boyd (@lonekorean) on CodePen."
Nothing on that page animates for me, although I'm sure that's my fault. CSS should work, but I've got a whole lot more than just JS disabled in this browser too. For what it's worth I tried to search the page for the words "ghost" "table" and "price" and couldn't find any mention.
Probably because: "i did something unspecified and now it doesn't work" is kind of an annoying comment. More to the point, nobody promised that the page doesn't use javascript, just that the techniques presented do not need js in principle.
It's just weird to me how often people who have their own websites and are perfectly capable of self-hosting demos of things that don't require javascript make the decision to instead use a website to showcase them that requires JS to work or be visible at all.
I fully understand my configuration is unusual. I don't think it's unusual to expect that a certain number of people who don't use JS would be interested in a site that offers cool CSS tricks that don't require it, so it's strange to see those same people being unnecessarily excluded. To the writer's credit they have some source available in their article at least.