1) By going mobile first, browsers such as IE8 which don't implement media queries now require you to add in an extra 15KB of CSS to fix it ( https://code.google.com/p/css3-mediaqueries-js/ ) , whereas all smart phones support media queries already.
2) By having glyphicons as fonts rather than sprites, we gain the ability to precisely size, place and colour the icon, but have now broken accessibility as the vision impaired or those choosing to have their browser use user specified fonts now get random characters displayed.
And that is it... the only 2 issues from a site currently in production and with users.
I should note that there are some really good bits, the extra support for mixins for example. I also personally also love that the new grid is now fluid and responsive by default. I like the declarative nature of col-lg-* and col-sm-* (though think a col-md-* should exist for fine-tuning layout tablets).
The biggest hurdle in coming from 2 to 3 is really the grid changes, the move to fluid, the changing of the class names. There are some minor changes to class names for buttons, forms, text colours, etc... but nothing that requires too much thought to deal with when upgrading.
1) You can use respond.js[1] if you don't need complicated media queries. It's much smaller than 15k
2) Icon Fonts should make use of the Unicode Private Use Areas[2]. Screen readers should not attempt to make sense of these code points, and you can add title tags to enhance accessibility.
Forget about "mobile-first", this is probably the best part of Bootstrap 3:
Refactor components to be more mixin-friendly.
Honestly, Bootstrap will really benefit from being easier to fit into your own markup, rather than forcing your markup to fit Bootstrap. I mean: that's what CSS is kinda all about.
In my experience, sometimes you "click" with a certain architecture, because it more or less maps to the way you work, and sometimes you don't. When you don't, it will be easier to adapt it if it isn't too opinionated.
A good example is going to be the upgrade process from 2.x to 3.x.
If you have been developing your site with Bootstrap to-date, then you've very likely been using their style classes throughout. For example, if you setup a grid on a page, perhaps you did something like this:
But with Bootstrap 3.x you'll need to change every instance of span* with col-span-*. Wouldn't it be nice if, instead of changing all of your templates, you could simply modify the LESS/CSS files using mixins?
Upgrading is just one example, another example is attempting to use Bootstrap to style an existing application where you do not have the ability (or only a limited ability) to change the HTML, but only the ability to inject a CSS "theme".
I know it isn't really a big thing, but this is really going to cramp my style:
"Instead of .span and .offset, we're now using .col-span- and .col-offset-."
I can blaze through views using .row & .span in HAML, not so much now. I envision tons of personal errors in the short term as I transition projects to BS3.
Issue #3 [This is under the modal section...] This sounds like a bad idea, I personally don't have an ios3/4 device handy, but someone should be on that for something as big as bootstrap:
"Test on iOS5. Not sure if we need to go older, but I want to check here to see how well fixed is supported."
"Glyphicons Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at no cost to you as developers. As a thank you, we ask you to include an optional link back to Glyphicons whenever practical."
I didn't think fontawesome was around when bootstrap started, but I'd think now it'd be better to bundle fontawesome instead - more icons and they're scalable; that's been my experience of why FA>GI.
Glyphicons provides a special license for bootstrap.
I assume the publicity/business that bootstrap drives to glyphicons must be well worth giving away part of their paid product.
"Updated class prefix for all icons: .glyphicon- instead of .icon-.
We changed this for a more unique class, but also for consistency with the newly required base class as noted above."
When I implemented Bootstrap 2 with an existing site I found that the icon sprite was getting loaded on random pages. Turned out there was existing CSS that used "icon-" as part of the classname which was getting picked up by the Bootstrap CSS.
Yeah, this is going to be a bit of a pain. Plus it looks like you also have to add .glyphicon? So instead of .icon-plus, you now have .glyphicon .glyphicon-plus. :(
1) By going mobile first, browsers such as IE8 which don't implement media queries now require you to add in an extra 15KB of CSS to fix it ( https://code.google.com/p/css3-mediaqueries-js/ ) , whereas all smart phones support media queries already.
2) By having glyphicons as fonts rather than sprites, we gain the ability to precisely size, place and colour the icon, but have now broken accessibility as the vision impaired or those choosing to have their browser use user specified fonts now get random characters displayed.
And that is it... the only 2 issues from a site currently in production and with users.
I should note that there are some really good bits, the extra support for mixins for example. I also personally also love that the new grid is now fluid and responsive by default. I like the declarative nature of col-lg-* and col-sm-* (though think a col-md-* should exist for fine-tuning layout tablets).
The biggest hurdle in coming from 2 to 3 is really the grid changes, the move to fluid, the changing of the class names. There are some minor changes to class names for buttons, forms, text colours, etc... but nothing that requires too much thought to deal with when upgrading.