CSS3 Microsoft Modern Buttons
ace-subido.github.com
ace-subido.github.com
A few months ago I've been really searching high and low for a simple library to recreate those buttons Microsoft uses on their websites. I do agree, it really doesn't look like buttons when you take away the text. Well anyway, I decided to build one for my own. Just shared this v1.1 release to everyone here at hn. Just maybe, just maybe, someone out there also needs a simple button/form library for such a specific need.
The release kind of addresses some issues, because some people keep contacting me at twitter or fb asking me "how-to's", so hopefully most of their 'needs' are met :) Really tried to make the documentation a little eye friendly for everyone.
Thanks again man!
Can you maybe point me towards any other metro UI libraries you may have found?
For web, I've seen code52's metroCSS (https://github.com/Code52/metro.css/) and olton's Metro UI CSS (http://metroui.org.ua/)
Both are full-blown frameworks with grids and everything and I've tried them out for my needs, but most libraries are too over the top. I needed something more stripped down for buttons that can work with Bootstrap or with my own handmade disaster.
On a sidenote, the day Microsoft adviced and pushed developers to stop calling it "Metro" and call it "Modern UI" instead (http://gizmodo.com/5933580/on-second-thought-microsoft-is-ca...), really got their own ecosystem off balance.
Metro isn't about skeuomorphic design, you see.
In fact, each example group has a grey rectangle in the top-left corner that says "Example" and the distinguishing feature is that it uses a bolder font in a lighter shade of grey. But otherwise a user might think it's also a button. So I guess when you say it's got to be incorporated into a Metro-style design, you just really can't have any other colored rectangles on the page anywhere lest they be confused with input right?
I'm not saying this to be critical of the author. I think he/she did a fantastic job, and the buttons look really well done for Metro style.
"They don't look like buttons" is a complaint about lack of skeumorphism. An extremely common and accepted case, but a case nonetheless.
Metro-like buttons do not look like 'real' buttons and, embedded in non-Metro content, don't look clickable. In a properly designed Metro UI they are unmistakably clickable and work fine in touch devices. Metro is still relatively new and takes some getting used to in the wild. But hey, there was a time when people complained about the lack of underlining in the text of button-looking clickable elements in web pages.
You are right also, in Metro a colored rectangle with a symbol and/or a short word is meant to be clickable. Non-clickable elements should look clearly different in content or in styling. That is fine.
Note: I'm not trying to defend Metro as 'better' or 'worse', only emphasize the fact that it's different.
I guess that is the part of the point, to have actionable text which describes what happens if you press the button.
1. Why would MS chose to use non-rounded buttons?
My understanding is that rounded corners draw attention to content in the middle because they require less cognitive strain.[1] As far as I know, the only reason these buttons are/can be successful is if there is marginally more space between the edges and the content. (thus instead of rounded corners drawing the attention inwards, the large blank space is)
[1]- http://www.uiandus.com/blog/2009/7/26/realizations-of-rounde...
My guess, they didn't want it to look like an iOS screen.
IMHO the real MS interface isn't very desktop/mouse friendly and the reason it works is because all of those square buttons are the only thing you can activate in the metro screens. If I put one rounded button in the metro interface I'll bet it would get clicked far more often than the other interface elements. It wonder if they tested it vs a more humanistic version?
Sometimes, for the sake of the design, you would choose harsh corners so that it makes them stand out all the more. Especially since so many use rounded corners for their designs these days. When everyone else has rounded corners your squared corners stand out. They may be bothersome to the eye but they attract the attention.
Maybe having rounded cornered buttons conflicts with the rest of the design which ruins the pleasing effect of the entire design? Possibly they felt breaking the "rules" for the buttons prevents a collapse of the design as a whole. Say, for instance, the majority of the design is squared corners but those rounded cornered buttons stand out so much that the eye is constantly draw to them instead of the content to be read?
Maybe they just don't like rounded buttons?
As someone else commented, maybe they don't want their buttons to be too similar to buttons from another design? It does seem you can be sued for minor design choices these days.
When the buttons are tightly packed, as live tiles are in Windows 8, the rounded corners clash with eachother and the negative space distracts away from the content within the tile.
Source: I'm designing a Windows 8 phone launch app.
The lack of hinting that one element is clickable/tappable while another is a bigger issue, though, than just rounded edges. As far as web use of this style goes, I think the arrows-in-circles (or something similar) used on the main button on this page, and on the Windows Azure site mentioned elsewhere in the comments here will be key.
WP7 is pretty good about having "buttons" be styled fairly distinctively from other elements (they're circular in the menu bar at the bottom of an app, and in other places like the "More Details" button when editing a calendar appointment they get a thick distinctive border.
When your style is minimal you need to be very careful and consistent with the meaning of what visual cues you do have, so how stuff like that will translate to the web—especially if someone just wants to make a site look "Metro" but isn't so familiar with the conventions)—is an open question.
* When two buttons are next to each other, do they behave as tabs, toggles or buttons with disparate behaviors? You can't tell.
* is an icon next to a field actionable? I have no idea until I try to click it.
* These buttons are very reliant on :hover to indicate behavior. That's not very useful for users on touch devices (Is the button intentionally disabled, or is it broken?)
Questions like: "is that a label or button?" were frequent in my mind because many "buttons" that are just text, with nothing to suggest they're clickable.
However, once you mind is free of the notion that a button must have a border around it or be underlined, you start to admire the simplicity.
I tested with my mother, with my grandma, and my girlfriend. The buttons doesn't work.
But the site is nice.
Other than that, I find the website, including the buttons, quite clean.
Like ThomasQue, I think you need to put some button examples on the home page. I wasn't entirely sure what a metro button was going to look like.
The aliasing of the icons looks a little off (I'm viewing on a retina MBP, so it stands out against the crisp text). Zoom in and you'll see what I mean. The edges are not crisp in the right places. The circles don't look perfectly rounded. The plus has unnecessary aliased verticals, etc. Perhaps start with a higher quality vector and scale down, taking care to align the sides with a pixel border.
One thing I'd like to see is the focus style. Searching through your code it looks like you do have support for it, so I guess it's just a request for something to add to the demo page.
You're right, maybe a single HTML template alongside the download would be great.
Thanks again!
More components would be awesome!
All sources are transparently mentioned in the acknowledgements section of the readme.