Bootstrap 3 preview
rc.getbootstrap.com
rc.getbootstrap.com
The tab component is a good example of this - turn off JavaScript in your browser and you'll see that it still looks like tabs (thanks to CSS) but you just can't access anything part from the first tab.
Technically, this isn't a hard problem to solve. Have JavaScript add the HTML class that triggers the CSS rules to make the content look like tabs. If JavaScript fails, no part of the page ever gets hidden.
It would be great to see Bootstrap embrace progressive enhancement properly. With more devices of different capabilities accessing the web over networks of varying quality all the time, it becomes more important than ever to build robustly and not just for the best-case scenario.
Specifically building your app to attempt to handle the "bad data connection" use case that users already are familiar with in the context of the internet seems like bad programming.
Why provide a usable but substandard experience when those users would get a superior experience after a simple refresh?
As for the "turned it off crowd": in terms of web apps, who cares? If you've disabled Javascript, you're not looking to use web apps -- period. Javascript is required to use web apps for anything other than fancy form posting...
Of course, every site's audience is different, and you should prioritize your development for your audience.
For the love of god please provide a BASIC fall back!
Slightly adhomien edit, but I think you're ignorant and live in a bubble. Not everyone uses their computer, or has the same level of access, like you do.
If information is what you care about and not design, style, or functionality, than my pages are perfectly readable on a screenreader. It will look and function like shit but the people who see it that way A) expect to or B) are not my target audience.
But you're right, it's a bubble. If my audience included people with poor data connections in Asia, then I would certainly approach the problem differently.
However, when it's just one guy making something, prioritization and cutting out the nonsense (like bad connections from Asia) are vital ;)
It seems that a lot of services don't really understand their target audience, why would an airline or online travel insurance firm make JS mandatory?
Because they wish to offer any form of rich experience that goes beyond form elements and form submission? Because they want date pickers, column sorting, marketing tracking, transition effects and a hundred other UX tweaks that are only possible through javascript?
Why should airline/online travel forgo modern user experiences? To satisfy a statistically negligible amount of their traffic that cannot see it?
At some point, horses aren't allowed on roads, and users need to buy a car.
You are very short sighted. I hope you end up in a position where you need minor surgery in Vietnam during your gap year and can't enter the claim in the insurance companies system because they insist that ALL user must be able to see their fancy drop down menus with rounded corners OR not being able to book an onward flight from Cambodia therefore being refused entry because you can't prove that you plan to leave in the next 3 weeks all because the internet kiosk you're using is blocking the CDN that pushes some crap JS that adds nothing other than eye candy.
What's wrong with creating an alternate UX without all the overhead?
I hope you suffer the consequences of your own short shortsightedness.
Also, FYI, horses are still allowed on roads.
EDIT (can't reply) I think you'll find that medical insurance sites and travelling / booking sites are very similar and attract a very similar userbase. People book flights ticket and medical insurance, people fly then use the medical insurance when they have too. You seriously do live in a bubble, i have a feeling you are an American who isn't very well traveled outside of his own country and only uses medical sites in the context of your non state health insurance. You probably aren't the kind of person that would use any of the services I care about.
SECOND EDIT.. I spoke about my two target services from the offset and did not switch context. Do you not realise how these two sites / services go hand in hand?
I just got back from skiing. I used an airline site and medical insurance site for the same trip.
Haha. We went from talking about my 1-man development website, to travel sites, to medical sites.
All because each example is a better fit for your argument. You don't warn me when you change the context of our conversation, you just do it and then insult me afterwards for not meeting your newer demands.
Medical =/= travel =/= my site.
Each are fundamentally different industries with dramatically different requirements. Obviously you have to meet the requirements of your industry and your users. I have CONSTANTLY SAID that you must prioritize your users. Medical users ARE NOT travel users ARE NOT blog users.
You're also failing to take into account a team versus one man. One man or small teams trying to launch have to prioritize their MVP and their main audience. Massive operations with dozens of developers SHOULD meet everyone demands, because they have the time and talent to do so.
When you're capable of not context-shifting a conversation to continually cast your argument as superior, I think this chat can continue.
Otherwise, you're just shifting and insulting me for your own jollies, and you'll excuse me for not going along with it.
Good day!
EDIT to your EDIT:
I currently work in healthcare IT after transitioning from a major travel IT company. The requirements are NOTHING alike, really nothing alike at all. The types of users and the requirements placed on the organizations by regulators are dramatically different. Medical is a WHOLE different ball game with tons of people to answer to.
Also, people can be expected to not book a plane flight with a bad connection on an old phone. "Wait until a better connection" is the standard response that has worked thus far (or call your secretary/company to handle it).
When it comes to medical data, waiting is less of an option and getting a good UX is less of a requirement.
Wait for a better connection... oh yeah sure, I'll just go look for another internet cafe in the middle of nowhere on my travels.... Seriously, you're an idiot.
So many companies get this right. A few don't. I serioulsy hope you suffer
EDIT: I'm specifically referring to people that travel here. As you live in a bubble, I doubt this applies to you or the sort of work you do.
That is the most superficial comparison between two disparate industries that I've seen in some time.
Yes, both are websites that you access.
By this context: I visit mobile gaming websites from foreign countries. According to your analysis, mobile gaming == travel industry == healthcare.
You do, of course, realize that the regulation requirements behind the systems that deliver those websites are dramatically different?
Between HIPAA, ARRA, a bevy of other national regulations and 50 separate state implementations of Medicare/aid with additional privacy and other regulations on the state level, I hope you can appreciate that medical software requirements are fundamentally different.
Implementing a medical portal is an order of magnitude more difficult than a travel portal from the regulation and control side alone.
Put it this way: if you leak user data on a travel site, all you might have to do is write mea culpa and force a password change.
If you leak user data on a medical site: the fucking hammer comes down, public disclosure is mandated and _heavy fines will follow_.
These kind of systemic differences absolutely affect the end user UX and the kinds of priorities that developers have going into it.
Making sure spotty data connections work is less of a priority than making sure a secure connection is present when dealing with HIPAA protected data.
long haul airline sites and medical insurance sites fall under this category. I'm not talking about this from any other perspective than accessibility under less than desirable conditions.
I don't really see how this has anything to do with American state laws. Accessing a portal that tells an insurance company that I need treatment abroad is a simple. Can you please burst your god damn bubble. We're talking about JS and CSS fallback not the united states of americas various laws in regards to medical records.
Have you ever left the US?
I clearly stated exactly that in my first original post in this thread. I said, always know your audience and prioritize your development for your audience. I don't know why you've missed me saying that 4+ times at this point. I guess it's because you want to "win" a debate, even though I made your point before you even read my original post.
>I don't really see how this has anything to do with American state laws.
Because accessing data requires you follow the laws governing that data regardless of where the request comes from.
>Have you ever left the US?
Have you ever programmed before? Do you know what software requirements are, or legal requirements, or any of it?
Honestly, you sound like a layman. 100% end user with zero experience in building a portal or medical software or anything else. "Who cares about laws, I'm talking about css fallback". Well, the people who pass and enforce those laws care, even if you don't. And they will make sure you care sooner or later, if you plan on staying in business.
That's the point. You have to care about laws because they're fucking laws! You don't get to just distribute protected medical data over insecure connections because it's convenient for end users! That's illegal.
And protected medical data IS DIFFERENT from non-protected personal travel data!
I know that understanding that difference is difficult for an end-user, but please respect that the concepts are completely different and pretending that "it's the same" only hurts your ability to understand the additional complexity that security laws like HIPAA introduce.
Please do not talk to me any more. I have no interest in replies and have provided this one because you keep stalking me in other posts, so I wish to provide closure.
If you want the last word, please take it here and no where else.
Please stop following me and posting on unrelated threads, it's extremely immature.
This has very little to do with data protection laws. I'm not talking about making your data secure, using ssl, redundancy in your database etc. These are all requirements but this is not what I'm talking about.
Simple accessibility in sub-optimal conditions. Stop trying make your small minded opinions the focus of this. Do you even own a passport?
I'm right, he's clearly a try hard with no idea what he's talking about.
If the failure wasn't related to a network issue (either bad data, or perhaps a buggy JS interpreter on their device) then refreshing won't help. The site will still be broken.
My point is that we can plan and build in such a way that JavaScript failures don't break the page. It's a little bit more work (doing things well usually is) but a reusable component library is absolutely the right place to focus that effort. Everyone then gets the benefit with no more work required.
> Specifically building your app to attempt to handle the "bad data connection" use case that users already are familiar with in the context of the internet seems like bad programming.
Au contraire: It's the height of good programming to attempt to predict and handle as many real-world errors as humanly possible. If I'm writing a USB device driver, you'd best believe I should try to do something sane if the cable comes unplugged, rather than just saying "don't do that".
Also, not all users will understand that components didn't load (many users still don't even know what a browser is!). And if the failed load is due to a proxy/firewall/DNS problem, or just a straight-up bug, a reload may not solve it anyway.
In any case, you're spot on about prioritizing development to the audience. Guidelines can be a good start, but there's no "one size fits all" for the web.
Should you devote a lot of your limited programming time to catching an exception that users naturally experience during USB operation and can be corrected by a simple "unplug and replug?"
I argue that you shouldn't devote undue attention to something that users naturally already handle.
But if your project is healthy and features are rolling out and you have the time and talent to waste on edge cases like this, then why not!
https://github.com/twitter/bootstrap/pull/6342#issuecomment-...
Customizing Bootstrap has always been a pain (and I'm not the only one to think this, in the words of @mdo : those who want to use Bootstrap as a bootstrap kind of get the short end of the stick), I'm very happy to see that they're looking to make this easier.
I've been playing with the 3.0.0-wip branch for a little while, and I think that there are a couple of really cool features that should be noted above the cosmetic - the single, fluid grid; font icons by default; and a mobile-first design.
I've only been using bootstrap for a week, but I instantly noticed that the grid elements were separated not with a left margin, but with both left and right padding. This is going to be fantastic, and shows their responsive first thinking.
Still no border-sizing:border-box. Which makes me still root for Foundation.
Buuut, there is now a better nesting (Foundation-like) where there is no need to write row-fluid. Which is good.
You might be looking at the 2.3.1 (master) branch, which didn't use border-box :).
Bootstrap 3: flat and fat!
It just seems like a huge step back to me. It's not even an elegant "flat" design; it's like they scrapped everything and decided to make all classes (even buttons for God's sake) DIVs of different colors. The new navbar, for example, is literally a gray DIV with rounded edges. I use Bootstrap on my web app because I care about design, but I don't care so much about learning fancy CSS; Bootstrap takes care of making things look subtly 3D, shaded, animated, etc., and that's what I'm looking for. I can make flat DIVs myself, thank you very much.
When used to build something that should be visibly unique, the visual design and appeal is something that should be created aside from bootstrap, maybe with the grid in mind, and delivered as mockups or pattern guides.
I suppose you could say it comes with a theme, but anyone who cares enough to complain about the theme should also be motivated enough to customize it.
Bootstrap is definitely useful if you're just tinkering - it makes a minimum viable product look sort of legit ;)
But I would certainly invest in specialized developers to make a lighter-weight, in-house UI if I were really serious about a website.
What is always good to have is a designer or at least a developer with an eye for aesthetics, to use the Bootstrap elements in an elegant way. Otherwise, what would you "hack" about HTML/CSS? Either reimplementing Bootstrap, or playing with the latest and greatest that won't work in anything else but the latest Chrome (see the IE6/7 discussion).
A lot of web applications -- line-of-business but also consumer-oriented -- should NOT be visibly unique, and styling your own buttons not only is a big waste of time, but also reduces usability. Look at the WinForms/Cocoa/GTK environments to see the value of a single visual language in action (including their respective UI guides that help with a consistent experience). The popularity of Bootstrap tells you the need is still there -- for both the millions of developers who need to get the job done without reinventing too many wheels on top of broken hypertext, and for the users who appreciate not having to figure out a UI for the millionth time (just ask your boss/customer what they think of your boring Bootstrap app, they probably love it).
What about the scaffolding, the grid system and sane typographic rhythm? What about the glyphicons and out of the box mobile awesomeness?
Bootstrap is more than 3D buttons and box shadows, perhaps they are moving away from that to focus on the utilities that make the framework great, and not for the shiny buttons.
Glyphicons are probably my favorite part, though.
might just be me, but I don't think you care too much about design if you rely on standard bootstrap for style. Not that I don't understand the appeal of having something that looks good out of the box.
A paradox.
Maybe the motivation behind this change is to make the navbar look a bit less twitter-y out of the box?
http://www.zurb.com/article/1173/foundation-4-is-here-the-sm...
Check out "Layout and grid system" section here: https://github.com/twitter/bootstrap/pull/6342, it specifically mentions border-sizing: border-box is being used and in the top in bold it says "Bootstrap 3 will be mobile-first"
ref: http://blog.getbootstrap.com/2012/12/10/bootstrap-3-plans/
http://clicky.com/marketshare/global/web-browsers/versions/
http://gs.statcounter.com/#browser_version_partially_combine...
If your audience is public businesses ie7 shares whill not be just 1% of your target.
If you care only about people using browsers at home,then you are not doing your job.
Can you elaborate on usage stats of "public businesses" and where you got those from?
If you have usage stats on your audience, then use them. Otherwise, go with the global usage, or at least your country/continent.
Normalize css[1] Bourbon[2] for utilities Neat[3] for the grid, Typeplate[4] for a nice type base.
If you still need bootstrap style elements, you can get individual mixins and styles from one the bootstrap-sass projects[5]
[1] https://github.com/necolas/normalize.css/
[5] https://github.com/thomas-mcdonald/bootstrap-sass
edit: typo
Bootstrap makes use of certain HTML elements and CSS
properties that require the use of the HTML5 doctype.
Include it at the beginning of all your projects.
The two examples that immediately come to mind are NAVs[1] and progress bars[2]; HTML5 already defines these elements. Why reinvent the wheel?[1]: http://rc.getbootstrap.com/components/#navs [2]: http://rc.getbootstrap.com/components/#progress
A book named The Truth About HTML5[2] provides additional reasons not to use HTML section elements.
I've yet to read about any benefits to using HTML5 section elements.
[1] http://www.accessibleculture.org/articles/2011/10/jaws-ie-an...
Zurb takes an interesting approach with their responsive tables (http://www.zurb.com/playground/responsive-tables).
https://github.com/twitter/bootstrap/pull/6342
It may also help to keep in mind that this is a preview. Bootstrap 3 isn't done yet.
The fluid grid has long been a part of Bootstrap, but until now has generally been secondary to the fixed 12-column grid, which used strict pixel values.
Then all the of flying community come out of the woodwork to cry bloody murder it isn't flying yet when you just strapped on some wings and aren't finished. Then you start to wonder if it's worth sharing both the process and the product in the first place when you have to deal with all the kids out there who cry as if their lollipop was stolen.
http://www.backwardcompatible.net/164-twitter-bootstrap-3-bu...
Also, considering the nature of Bootstrap, the UI design is always optional.
I would consider it quite crucial. When using Bootstraps responsive features, (which are clearly a selling point) you'd expect something as trivial as a popup-menu to actually work on other than desktop devices.
There will be gradients on the buttons.
https://github.com/twitter/bootstrap/pull/6342#issuecomment-...
-webkit-font-smoothing: antialiased; font-weight: bold;
Apparently you can.
Regardless: ull/6342#issuecomment-12332378 Gradients and other embellishments have temporarily been removed while I focus on other things. It has nothing to do with skeuomorphism or anything like that.
Bootstrap is not just a UI framework.
I like both frameworks but is this a trend we should worry about?
Proprietary elements in Angular are called directives. You define them and choose how to render them, what data to pass to them and linked functions to call after rendering. Everything is taken care of, it's not like the browser is going to freakout and not know what to do.