
Bootstrap 3.0 Upcoming changes - tilt
https://github.com/twitter/bootstrap/wiki/Upcoming-3.0-changes
======
ses4j
I wish they weren't dropping IE7 support. You can make fun of "who uses that!"
all you want, but we build a site that is used by government people who can't
control their own computers, and our current demographics are 50% IE7! Nothing
to be done, we just can't upgrade to Bootstrap 3.0. So -- if you MUST do this,
at least leave the website docs up for Bootstrap 2, cause we're not going
anywhere...

~~~
ScotterC
I've found this site to be very helpful: <http://bootstrapdocs.com/>

~~~
FuzzyDunlop
That's certainly nicer than the one I threw together (and never found time to
update manually) at <http://bootstrap-docs.org>. I'd probably consider
pointing the domain at one that was maintained properly :)

------
dminor
> Removed all color variables (e.g., @blue, @orange, etc). New, more
> meaningful variables are on their way (such as @state-warning-text).

Hooray! Should make customization that much easier.

~~~
Trufa
I'm sorry, I don't know what @state-warning-text is, googling it only seems to
point to this article, could somebody explain please? thanks!

~~~
pilif
The problem is that a variable name like "orange" is a very bad variable name
in case your design wants warnings to be in, say purple for whatever reason.

If the LESS variable is called "state-warning-text", you can define that to be
purple without the bad aftertaste of having to use "orange" when you mean
purple.

~~~
Trufa
Thanks!

------
Swizec
> All variables now use dashes instead of camelCase. For example, it's now
> @body-background instead of @bodyBackground.

Not sure how I feel about this. On one hand that's a pretty large sweeping
change that is going to break _all_ my customizations.

On the other, dashes look much better in css and I prefer them for class names
and so on. Not even sure why, is this some sort of community standard I picked
up somewhere along the way?

~~~
solox3
Maybe they aren't using the property of the dash character just yet, but it is
special in CSS: <http://stackoverflow.com/a/5598250>

~~~
jackmoore
They don't use that selector as far as I know, because it's very brittle.
Something like [class|='span'] would only match classes starting with 'span-'
if they are the first class in the class list. So it wouldn't match something
like '<div class="stacked span-5"></div>'

------
jonpaul
"Dropped all things fluid."

What are the implications of this? I'm not a web designer, so does that mean
that we have to have fixed-width pages? Won't that make it harder to design
web apps? Will someone help to clear up my misunderstanding?

~~~
phinnaeus
The also redid their scaffolding model (grid system) to use percent widths
instead of pixel widths, so it seems like the default (and only option) will
be for things to behave like the old fluid layouts did.

~~~
RossM
However I am not looking forward to removing all the row-fluid/container-
fluids in my templates.

~~~
markdotto
You should be able to use find-and-replace to tackle most of this—the classes
aren't changing too much.

------
bluetidepro
I don't think I saw it on the doc, but is there a projected release date for
3.0? It sounds like there is some pretty awesome updates coming, even though
they seem more "back-end" related.

~~~
ckluis
It would be great to get a prospective date in those types of announcements.

~~~
wpietri
I understand why people want it, but I'd rather most open-source projects
avoided announcing release dates.

Best case is they spend a bunch of time on estimation that they could have
spent on delivery. More likely is that they rush something that was
unexpectedly hard, or drop things that the would have rather kept in. Or,
worst of both worlds, they announce dates that they then slip.

Better, I think, that things are done when they're done. Or that they just
have frequent, regular releases, like Ubuntu and Firefox do.

~~~
ceejayoz
"We're thinking probably January" versus "sometime late 2013" would be useful
and feasible to provide, though.

------
jedireza
> Dropped all things fluid. We removed the fluid grid system, fluid container,
> and fluid layout.

Damn. That is very handy when you want to have even sub columns inside of an
odd-sized parent column.

~~~
nosecreek
I was worried when I saw this, but the very next bullet point is:

>Overhauled default grid system. Now uses percentage widths, padding, and box-
sizing: border-box instead of pixel widths and margins. Nesting and offsets
remain the same.

Which sounds like they are actually making everything fluid, and removing
fixed widths. Perhaps a good thing, although border-box means no IE7 support.

~~~
phinnaeus
They also removed all IE7 specific CSS hacks. IE7 will no longer be supported
at all.

~~~
josscrowcroft
Obviously this is particular to each site's visitor demographics, but the only
IE7-specific CSS my sites need would be something along the lines of:

    
    
        #ie-warning {
            display:none;
        }
        
        html.ie7 #ie-warning {
            display:block;
        }

------
tiredoffps
Glad they are finally using icon fonts instead of PNG. Now we can make icons
any color and add drop shadows if needed.

~~~
fourstar
It can be easily done (with any svg/fonts you have) using this awesome tool if
you're interested: <http://icomoon.io>

~~~
sbarre
Wow, that site pegs Chrome at 100% CPU on my Macbook Pro..

------
steferson
Really sad they are dropping support for IE7

unfortunately I will not be upgrading to this version then.

~~~
dharbin
_this_. And why drop support for FF 3.6 too? Is there a technical reason to
drop support for older browsers or is it idealism?

~~~
josscrowcroft
When was the last time anybody used FF 3.6?

Serious question.

~~~
dangrossman
It's the 16th most popular user agent seen across the ~60,000 websites tracked
by W3Counter. IE7 is the 7th. Dropping support for both will affect 1 in 20
visitors of the 'average' website (your particular audience may vary).

~~~
angersock
Maybe 5% of users need to get their shit together and upgrade. :|

~~~
CCs
They can't upgrade.

Hospitals and big companies lock down the computers, you can't install
anything. If it comes with IE7, that's all you got.

And it's not because of these companies.

E.g. they need to run a specific custom version of SAP (accounting), which on
turn crashes if any other browser is present. Upgrading would cost over $30M,
so forget it for a while.

Or the hospital needs to validate the hardware + OS + software. Until GE does
not support feature X they are stuck with the old version which requires a
specific list of software to be installed.

You don't want to hear "sorry about the bad news last week that you have
cancer - actually it was just a rendering glitch on your MRI due to the new
Chrome version".

So life is a bit more complex than "just upgrade"...

~~~
FireBeyond
To a degree, definitely. As someone who works in healthcare (both as a
practitioner - paramedic), and whose other job is healthcare IT...

I know your example is exaggerated for effect, but there is (or should) be a
difference between "general use" PCs in a hospital, and Patient Care /
Management PCs (EHR, workflow automation, digital diagnostic imaging, pharmacy
and the like). That in itself is a failling of healthcare IT policy.

Sure, your critical systems should all be be "certified", but even that is an
area ripe for disruption - witness DrChrono in EHR, and I myself am working,
or brainstorming on, better "field reporting" (i.e. 911 response laptops /
tablets - most software in this field is horrific for usability, though
admittedly there is pretty cool functionality, the ability to transmit 12-lead
ECG to the hospital for prepping cath labs is fantastic) - definitely willing
to talk to people interested in such a thing.

Edit: as an aside, I'm yet to see MRI software that wasn't driven by a Solaris
backend, or even Irix, though that does demonstrate how this area works.

~~~
CCs
I don't see a reason for general use PC in the Hospital (or any other
company). Your Christmas shopping is not a business priority. :)

Philips and Siemens runs Windows. As far I remember the GE scanners were
RedHat.

I do agree with the "ripe for disruption". Hopefully DrChrono, Practice Fusion
and others will force some change.

------
arcosdev
Does this add the semicolons back in?

------
yahelc
Not sure how reliable this is, but it seems like you can get a preview of how
these changes may affect you by testing out the branch 3.0.0-wip.

<https://github.com/twitter/bootstrap/tree/3.0.0-wip>

------
VaughnDTaylor
This is something that has been messing with my workflow so hear me out.
First, I use CodeKit on my local machine to compile. CodeKit allows me to
choose a framework (bootstrap-master > LESS files). I don't want to keep
multiple versions of bootstrap-master sitting around on my computer.
Preferably, I'd have the most current version with which I'd use to build all
of my CSS (regardless of the site I'm working on) by simply pointing to the
bootstrap-master directory. However, the inclusion of variables.less in
bootstrap-master > bootstrap.less (where it's an import) makes this difficult
- variables.less is the ONLY file in bootstrap-master that I need to slightly
tweak for each site I create. The variables.less file should not be a default
import in bootstrap.less - at least this would be ideal for me. The way things
are now, I have to modify bootstrap.less (to tell it not to import variables)
and variables.less (to control colors, grid, etc). I'd like to just update all
of the bootstrap-master files in one fell swoop without worrying about
overwriting my changes to these two files. If variables was not a default
import AND it was outside of this framework directory, I could update every
file in bootstrap-master without worrying about overwriting anything. I hope I
have communicated this in the right way - it seems a bit muddled?

~~~
aed
I actually know exactly what you're talking about and here's what I do:

\- Put Bootstrap in a folder and import it as a framework in CodeKit. (Just
like you.)

\- In my project folder, I create a LESS file for the project (e.g.
project.less).

\- At the very top of my project.less I add an import for bootstrap (@import
"bootstrap.less")

\- I define and customize all my LESS variables within the project.less
without touching bootstrap.less.

Yes, this does mean that the variables are being define again. However, this
won't matter because what you define in your project.less will override
everything else.

~~~
ZeroGravitas
The bootswatch project (basically themes for Bootstrap) uses a similar system,
though they generally have two less files, one for overriding variables, and a
second one for theme-specific additions.

[https://github.com/thomaspark/bootswatch/tree/gh-
pages/swatc...](https://github.com/thomaspark/bootswatch/tree/gh-
pages/swatchmaker)

------
Benferhat
Any thoughts on how the changes compare with Foundation 3? Is the grid system
up to par?

------
Griever
Exciting! I really hope they do end up going with multiple modal widths in
3.1, as I've had to do this myself on more than a few occasions.

On a side note, I'm curious as to why they decided to refactor their variable
names to include dashes instead of just sticking with camel casing.
Personally, I find camel casing to be much more readable.

~~~
jpdevereaux
For a while the dash-ing annoyed me until I realized that it makes
selecting/changing part of a variable name easier (at least in vim). Can't
imagine that's the reasoning behind it but it does work out well.

~~~
markdotto
Vim wasn't the exact reason, but text selection is a huge part of it.
Readability and text selection are huge.

------
excid3
> Responsive CSS is no longer separate.

Will we still be able to easily remove things like the "large desktop" size?

~~~
markdotto
Yes, of course. The customizer will continue to have the ability to include or
remove the media queries for these. You can also always make a local build on
your own to do it.

~~~
excid3
Awesome, thanks! I typically just drop in Bootstrap with a Rails gem but this
is good to know.

------
riffraff
> Hero unit > ❑ Convert class to .jumbotron.

can someone explain the rationale here?

~~~
bluetidepro
V2.2.2 used ".jumbotron" AND ".masthead" for the _hero unit_ in the docs, so I
think they are just condensing that to one class.

See this screenshot: <http://bluetide.pro/cPkH/5LohuilN>

~~~
markdotto
Pretty much. Plus, it's a much better (and more socially known) metaphor for
describing its function and presentation.

------
isabre
"Dropped all things fluid."

Looks like I've got some updating to do in the near future.

~~~
markdotto
The default grid system will be come fluid (using percents for widths), so
you'll have to just find and replace the row classes and you should be okay.
Unsure about more complex layouts though.

~~~
jrochkind1
This is awesome, thanks for the clarification.

I got scared at 'dropping fluid', because it's become been pretty clear to me
that the fluid approach in bootstrap was better for most apps, and I was
wondering why in fact using the fluid approach wasn't more popular. I got
worried that you were making it much more difficult -- but it turns out you
agree with me, and instead are making it the out of the box default! woo!

------
hackerboos
How about dropping support for LESS and using SASS instead?

~~~
untog
You mean, "how about re-engineering the entire project for little benefit"?
LESS vs SASS is one of the more infuriating "this vs that" argument circling
the web right now, because everyone is so inexplicably vocal and passionate
about it.

Looks like there is already a SASS port:

<https://github.com/thomas-mcdonald/bootstrap-sass>

~~~
hackerboos
The SASS ports tend to lag behind the original or don't leverage the full
potential of SASS/Compass.

I personally think SASS has won out over LESS since the introduction of SCSS
and if Bootstrap dropped support LESS would gradually fade away.

~~~
untog
Won out in what sense? Last I checked there are no formal figures about usage
for either. Bootstrap's phenomenal popularity ought to make it a kingmaker for
the preprocessor it uses, I suspect.

~~~
moe
Well, the CSS preprocessor ecosystem is a clusterfuck (pardon my french).

Since the differences are so marginal I wish projects would pick their
preprocessor by the number of available implementations (in popular languages)
rather than the latest fashion.

Less and stylus only have javascript impls and should be avoided for that
reason alone. The same applies for most other niche processors.

Like it or not, SASS appears to be the only one with a C library that enables
a wide range of language bindings.

~~~
sirclueless
In the Microsoft corner of the world, DotLess[1] is pretty popular, and way
more mature than any SASS libraries in .NET.

[1] <http://www.dotlesscss.org/>

~~~
WickyNilliams
Recently I was investigating using LESS on windows. I didn't want to do it at
run-time a la DotLess, but at build-time. I wasn't able to install node.js so
i had to scout around for other options...

I came across this: <https://github.com/duncansmart/less.js-windows>

It leverages the fact that windows has long supported running JavaScript (OK
technically "JScript") outside of the browser, without node, to create a
command line utility from the less.js implementation. Works perfectly :)

------
mikhuang
Any word on carousel supporting fades? They mention vertical movement but thus
far I've had to hack in fades a lot

------
jbrooksuk
Ok... I can see the rationale behind almost every single change here, and
whilst I love the changes, this will undoubtedly cause me no end but problems
when I revisit a project, change the source of a CSS file and wonder why it no
longer works. This is because I've setup a Codekit framework with Bootstrap.
If I change anything now, I'll be changing the entire project for the sake of
a couple of classes. Dang!

------
johns
When will input and button size classes (e.g. input-xxlarge) be normalized as
hinted to in the current docs?

------
nailer
Does 'punted' mean punted away like in a sport? Or does it mean bet on, like
at a casino?

~~~
aquark
It's the sports metaphor ... kicked down the field for later

------
nycacorp
well i like it! i usually get a helping speed boost through NetDNAs CDN
serving of bootstrap files. <http://blog.netdna.com/opensource/64-million-
request/>

------
wittjeff
Still punting ARIA support?

------
johnx123-up
Some of these like Glyphicons are already in Kickstrap (a Boostrap fork)

------
TommyDANGerous
Can't wait to use it.

------
wilfra
I really like how frequently words like 'dropped' 'removed' and 'consolidated'
are used. Was a little worried about bloat with the creators now having more
time to devote to it. Great to see that wont be a problem!

~~~
mepcotterell
Any reason why you prefer that over "deprecated"?

~~~
abraham
Deprecation keeps the code around to increase size, reduce performance, and
slow down development.

