Round rectangles are everywhere
folklore.org
folklore.org
It's not a direct-to-screen rendering technique like the article, rather a way to procedurally construct the 3D mesh based on few parameters (W,H,D, radius, # of subdivisions). Just like rectangles in 2D, boxes in 3D are too simple and have harsh sharp edges. Adding rounded edges makes them nicer to look at. Additionally, the octasphere method gives you capsules and spheres and everything in-between.
Edit: Oh look - there's a front page article that talks about this in-depth: https://wwwtyro.net/2021/09/24/rounded-box.html
But in OS land, specifically in Windows land, this is actually a pretty big step in a product with few refactor opportunities. Win doesn't have the luxury of changing the UI every 6 months like websites/apps do, and so they're placing a pretty big bet on this UI being a reasonably long lived product. I wonder how much that influences their willingness to chase trends.
Take the last ~20 years of NT:
- 2000 (looked a bit like 9x but with a little bit of polish)
- XP (massive bold colours and chunky themes)
- Vista (transparency and rounded edges galore)
- 7 (a lot like Vista but refined a little so feels less like a toy)
- 8 (another massive redesign. Now everything looks like Windows 1.0 in HD)
- 10 (a lot like 8 but refined so feels less like a toy)
In that 20 years we've seen 4 completely unique UIs with another 2 relatively significant updates too. That's an average of a complete redesign every 5 years!
Compare that to the Mac where OSX/macOS has had a few relatively significant updates but nothing as grand as any of the 4 overhauls that Windows has had. Likewise with KDE. In 20 years we've had the release of KDE 3, 4 and 5. 4 and 5 are visually very similar. KDE 3 differs quite a bit from 4 but still nothing as contrasting as Windows 7 to 8. Same is true for GNOME and other Linux desktop environments too.
Whereas, Windows sits on fairly open hardware. PC users have another option of OS in Linux (and maybe BSD...) So Microsoft are aware that they need you still be invested in their OS every few years.
It's like selling a car. Every few years the car manufacturer refreshes the body shape of the car to keep people loyal to that model and encourage them to refresh their older version even though fundamentally the newer model is no different.
Sure, there will be a subset of people who get excited by jumping to the next shiny new thing but I don't believe that is enough to justify the frequency and significance of the changes that Microsoft implement.
The proof is already out there, if you look at XP, that had official support for 8 years. Microsoft extended support a few times because of demand and lots of people still complained when Microsoft did eventually retire it. If it were the case that Microsoft needs to create a UI redesign every 5 years then XP wouldn't have been as long lived as it was.
Then look at Windows 10, Microsoft had to literally give it away to get the average person to upgrade (and that's despite Win10 getting good reviews vs Win8 being hugely unpopular). Adoption was so underwhelming that Microsoft even made a statement that they weren't going to do any more major releases and follow Apple's release model with macOS. I think their OS department just got a little bored and decided to create Windows 11 regardless.
100% agree with this statement. The Windows II UI is a pointless update[1]. They could have rolled all the backend improvements into a Windows 10 feature pack, but apparently didn't want to do that.
Not to even mention that they hadn't even finished building Windows 10!
---
[1] Like a spoiler on a hatchback car.
Procedurally generating a rounded box mesh - https://news.ycombinator.com/item?id=28677064 - Sept 2021 (21 comments, particularly https://news.ycombinator.com/item?id=28677781)
Past submissions of the folklore.org article:
History of Rounded Corners - https://news.ycombinator.com/item?id=7062706 - Jan 2014 (1 comment)
Steve Jobs and Rounded Corners - https://news.ycombinator.com/item?id=3096927 - Oct 2011 (1 comment)
The story of round rectangles - https://news.ycombinator.com/item?id=1636358 - Aug 2010 (77 comments)
Something about the early computer industry is it's tolerance of rough, lumpy personalities.
Not sure exactly how to express this but I hope we don't totally loose that sort of space as the industry matures. These personalities are both difficult to work with but also very interesting.
I remember my days working on similar (and older hardware too) and stuff that was conceptually simple would often be much harder to implement in practice. And not always just because of hardware limitations, some of the algorithms we take for granted today hadn't been invented back then either, so we were having to figure all sorts of things out for the first time.
On the Mac, you also needed to do clipping against arbitrary regions (https://www.folklore.org/StoryView.py?project=Macintosh&stor...). Doing that at reasonable speed wasn’t easy at the time.
I didn’t check the source (https://computerhistory.org/blog/macpaint-and-quickdraw-sour...) but I guess the drawing routines created scanlines top-to-bottom (that’s how regions worked on the Mac), and Bill tweaked a copy of the oval drawing code to insert extra pixels in each line and extra identical lines for the straight vertical parts.
The solution you propose, seems to work, too, but has a hacky feel. If you work with fixed pixels, it is hard to increase border-radius at will for example.
Arcs are also handled by DrawArc, but of course there's a fast path for when start=0 and end=360.
[1] https://d1yx3ys82bpsa0.cloudfront.net/102658076_quickdraw_ac...