Bootstrap Maintainers Leave Twitter
blog.getbootstrap.com
blog.getbootstrap.com
I can see the same path for an HTML/CSS beginner.
As I learned I wrote a lot of code I'm not too proud of, looking back on it. But I grew to learn and love Javascript and I honestly have jQuery to thank for that.
Of course the problem with that is the code you ARE proud of rapidly becomes the kind you aren't proud of as you learn more.
Actually a bit is being kind. It's rare to come across a site not using jQuery. I write a fair few personal scraping scripts and it's very rare I actually have to add jQuery.
The handwritten code I used to use for element detection was a thing of evil, that kept on getting cut-and-pasted around because it worked.
The conciseness and cleanness of using jQuery was a welcome change.
jQuery has two big benefits for me: cutting down on verbosity a bit, and on making a cross-browser solution possible. For the latter various polyfills solve the problem effectively, but the verbosity problem still remains.
Actually, in many ways I think learning jQuery before learning vanilla javascript can be an advantage. jQuery is heavy on functional programming techniques, list comprehensions, and such-like. As long as you learn well and don't cut corners I don't see any problems with "learning jQuery" on its own.
I entirely agree about the jQuery analogy. There is going to be a huge Bootstrap ecosystem - again similar to WordPress as well as jQuery. It's kind of a problem for the web when this happens, in that it creates the kind of fragmentation the web should ideally avoid, but it's a reality nonetheless that technologies like this are going to be two steps ahead of the standards.
Just seeing the various Bootstrap themes sites is exciting. When I've looked for themes in the past, there are very few focusing on rich HTML5 apps. Mostly just static websites and WordPress stuff. That's just one area which has changed since Bootstrap, as it's now possible to build a theme around standard higher-level constructs.
Just yesterday, Joomla, the next largest CMS behind WordPress, launched a latest version, entirely built with Bootstrap: http://joomla.org/3/
That's a not-insignificant % of the web right there that's moving to Bootstrap.
EDIT a good example: If you wanted to rebuild hacker news, would you start with bootstrap? I wouldn't
Just looking at the caliber of other projects that have gone this way (at the top of my head: Apache, Drupal, Django, Zope...) and looking at Boostrap I don't think it's even close to the userbase/clout needed to pull this off. Even the maintainers of those other projects, successful as they are, tend to have a day job.
I don't know, maybe I'm reading too much into this, but I think it might be a little to early to make this move. Just my 2c.
What do you mean by "not mainstream enough?" Organizations on Github are simply a convenient place to put one or more projects that are collectively worked on by a group of individuals and do not necessarily have a single core maintainer.
Did I make myself a bit clearer? :)
jQuery - 16,896 watching, 2,314 forks
bootstrap - 38,026 watching, 8,836 forks
There are a lot of ways to interpret those numbers, but I think it at least shows that there is serious, broad interest in bootstrap.Major kudos to the team and to Twitter for having the generosity to acknowledge a responsibility to the community that extends past their ownership of the project they've created. Thanks. :)
tl;dr: <3, Jacob and I quit Twitter, he's going to Obvious, I'm going to GitHub, it's been amazing, nothing but love, Twitter is great, no ill will, Bootstrap is going to keep going, <3.
First, thanks for the love everyone! Jacob and I love seeing people as excited about the future of Bootstrap as us. We're hopeful that this is just the beginning of it. And now, onto answering some of the questions/comments folks have brought up here thus far.
Jacob left over a month ago and my last day is next Friday (10/5). He's going to Obvious, and (announcing it here for the first time) I'm going to GitHub.
The timing has nothing to do with a disagreement about Bootstrap (seriously, none what so ever), and more to do with us both wanting a change in our own lives for what we do day-to-day. Twitter, the company and product, are both amazing and Jacob and I have worked there for 2.5 years. We're stoked for our next things and we both want to keep working on Bootstrap no matter what. We have an obligation to the community and know it could go much further. (Oh, and yes, I screwed up the date on the post. My bad, yo.)
Bootstrap was created by me at Twitter as a means to make better looking internal tools (I wrote about this on A List Apart awhile back: http://www.alistapart.com/articles/building-twitter-bootstra...). It started off as a simple HTML/CSS thing, then Jacob built plugins on top of it, and we open sourced it together. We made it at Twitter, so when we wanted to open source it, we went to Twitter to ensure it was good to go. Thus, it was named Twitter Bootstrap (originally, "Bootstrap, from Twitter" actually). Now, it's back to just "Bootstrap".
We don't really think of it as the next jQuery, Django, or Drupal. But you can't deny there is something to front-end frameworks like Bootstrap, and that's what we're excited about. HTML and CSS are the two easiest and most basic building blocks of websites. Everyone knows and uses them, and that's a big part of why Bootstrap has grown so much, and can continue to grow more.
No, we weren't "given time" to work on Bootstrap, but that's because it was a project I started on my own to help other engineers. Jacob came in to shape it into a proper open source project and then wrote all the JavaScript plugins (Fun fact: before the jQuery plugins, he wrote a MooTools library on top of it called Tit, which is a type of bird). Anyway, we weren't given time because it wasn't a company priority, naturally, and we're okay with that. We worked on it, at the office or at home, whenever we wanted and folks were generally okay with that as well.
The move to making Bootstrap its own project and organization is a joint one, between myself, Jacob, and Twitter's Open Source team (@cra). The transition will take time, but we need to grow Bootstrap beyond the two of us and Twitter, and into something more. There is really sooooo much potential for making better things on the Web, and we're hoping we can keep that up with the help of the community.
Anyway, we're both stoked to keep working on Bootstrap. It's a great project that can be so much better, and that's pretty damned awesome to us. Twitter has been amazing for both of us and will continue to down the road. We wish nothing but the best for everyone we've worked with.
<3
As a leader, it's often difficult to see your hard working employees move on to other opportunities. And you hope deep down that the lessons they learn from you along the way will be remembered as influencial in their career. Mark had a great run at ZURB before Twitter. I wish him the best.
For ZURB's current employees, and the ones that put thinking into developing Foundation, it's important for me to make sure they receive credit for the contributions they have made to the design community that extend beyond what Mark remember's Bootstrap to be (or wants it to be) or what Foundation has become. The first iteration of Bootstrap emerged from the work ZURB did over the last few years prototyping with our clients. In fact, the initial Bootstrap push had direct lines of code and copy taken from ZURB's work on what today is Foundation 1.0.
When you see Mark's history conveniently rewritten as "I developed Bootstrap," it's important for me to make sure that those who contributed to it's initial core from ZURB are recognized. There were many ZURBians who put countless hours into writing code and laying down the vision for a css framework before Mark "envisioned" this solution for his Twitter engineers. Talented designers at ZURB even shared that vision with Mark as part of our refinement of Foundation 2.0 before it was launched.
Foundation (http://foundation.zurb.com) is fine and kicking and we benefit from the global awareness of css-frameworks. ZURB is quite happy about that and we'll continue to evolve our solution to benefit the community. I want to make sure talented product designers like Jonathan Smiley and Matt Kelly, who helped envisioned the idea, get credit for their contributions for making stuff like this possible. These guys are my heroes and I hope that you see that as well in the code they write and share.
Assuming what you are saying is true, credit would have been nice though.
However:
- How much of Bootstrap's is directly lifted from Foundation? Or was it mostly the idea? _Execution_ makes or breaks. Vision and ideas complement execution.
- And Bootstrap's success isn't just because of the code alone. It was the packaging, and the selling.
It does support IE8, minus the responsive stuff, it's < IE8 that it doesn't (http://foundation.zurb.com/docs/support.php), and that's a deal breaker for me and why I've never used it since most of the sites I build still get around 10-12% from IE7.
You could use the older version of Foundation, but that doesn't appeal to me either.
You can use foundation 3.1 with the htc boxing fix [1] that fixes the grid problems with IE7.
I love use foundation over BS, since BS (to me atleast) is more of a UI decision, where you build your site from scratch with foundation).
I respect your defence of your people and much kudos to you. I would not fear for their futures - they have shipped a much respected product, and inspired a calling card product.
Good luck
But when I go to the Foundation web pages... I've clicked like 5 times, have managed to get to the Getting Started page, and I still haven't seen any code examples of how to actually use it. Note that the Bootstrap docs start with and are centered around examples; it _starts_ by telling you how to install it and start using it. Every 'feature' element on the home page is right next to a code example showing how to do it.
I think Bootstrap's documentation is actually a huge part of it's success. If you're wondering why Bootstrap caught on where Foundation didn't, I think that's probably part of it. Foundation's docs _look_ as pretty as Bootstrap's (which is a good sign given the nature of the products), but they aren't done as well for getting people to dive in quick or overview of how the code actually works quick. Writing good docs is a skill of it's own, and whoever does it for Bootstrap has definitely got it. You can get started with Bootstrap _so_ fast, because the docs are written with that goal in mind and achieve it.
You did teach me a lot, Bryan, and I know the (edit: removed the number) ex-ZURBians would agree with you on that. You taught me about design process, design thinking, and how to communicate well with clients and other designers. Moreover, if you hadn't brought me out to California, I wouldn't be where I am today. Thanks again for that, I really do owe you one there. You taught us a lot more, but we don't need to go into that as I'm sure everything that drove us away has changed for the better.
Yes, Bootstrap emerged from my work at ZURB, but more importantly, from the entire web community. Before I redesigned ZURB.com or wrote nearly the entire ZURB Style Guide (at least the CSS and Design Patterns sections), frameworks and style guides were already in high demand and influencing our work at ZURB. You can take a look at the CSS section here: http://d.pr/i/uoGb. I have screenshots of every page of the project from right before I left.
It's important to note that I never worked on Foundation, nor had any idea it was in the works until it was released on 10/14/2011, two months after Bootstrap was released (https://twitter.com/ZURB/status/124984359135608832). In fact, it was Dave Gamache, former ZURB designer and now former Twitter designer, who wrote a majority of Foundation 1.0 after I left ZURB. Go ahead and ask him (@dhg) about that for more details.
However, I did copy and paste code, but never from Foundation. The things Bryan is referring to are "how to" docs, lorem ipsum and filler text, and examples for the address tag, emphasis tags, lists, and blockquotes. Looking at the very first commit to Bootstrap (https://github.com/twitter/bootstrap/tree/eb81782cdbdc68aaeb...), four months before we released v1.0, you can see that content there. I have made no attempt to hide it, nor could I. In the hundreds of following commits, I removed nearly all that code before launching BS1.0, but I missed some (the items listed above). Within days, I removed it and replaced it with my own code, copy, and examples. Edit: for full transparency, you can see Bootstrap 1.0 and the offending content at http://d.pr/i/Rn9r.
I made an honest mistake that any developer can by using code from the work I did at my previous employer, but I also fully rectified it immediately by removing all the offending code and replacing it with my own.
I made a mistake early on by using the work I had done at ZURB as a basis for everything I have done since then. In the theoretical sense, that is never frowned upon, but in the practical, it is, and I'm sorry about that. But I never ripped Foundation, nor ever intend to. If anything, you need to take a fresh look at Foundation 3 and ask yourself who's really taking code from the other's framework. (edit for clarification).
Ever since Bootstrap 2.0 came out, you've ripped nearly every single component we created in our framework and added it to Foundation, including: the basics of our grid system, navbar, responsive navbar, breadcrums, alerts, labels, tooltips, popovers, prepended and appended inputs, breadcrumbs, accordion, progress bars, image styles, and more. All of those were in Bootstrap first, and you've added them without even batting an eye. We've also added things that other frameworks and products added, but when you're calling me out for ripping something I never had access to, you really need to take a step back and look at what you've done as well.
I have no illusions about how I got to where I am: I thank everyone profusely, day in and day out, for making it possible. I made the mistake of using the work I did at ZURB to start a brand new project, and I apologize for doing it that way and corrected the mistake within days. I never stole from Foundation, nor do I ever plan to.
(I love hearing about these connections/relationships between developers and companies!)
I think that the emergence of two of the best html5/css frameworks out there is a great thing and can only help developers and the internet as a whole. Let's not forget the spirit of Open Source - the ability to share, build upon, and innovate on the hardwork of others and in turn build better code, better products, and a better experience for both developers and end-users. Rinse. Repeat. That's a good thing.
I applaud you all for your contributions to the development community. Both of you and your respective teams are an inspiration to not just myself but I'm sure tens of thousands of other developers as well. Keep up the great work, keep releasing code, and have fun doing it.
NOW. @chiefinstigator - I'm working on a project based on Foundation 3.1.1 and am attempting to use the sub-nav navigation menu, and from what I can tell, none of the examples in the documentation work. Unless I'm supposed to be changing the 'active' class to the currently selected menu item manually... what gives? Here is the Gist - https://gist.github.com/2980502#file_f3_subnav.html i've included the navigation plugin and made the call to $(document).foundationNavigation(); as described in the documentation. What am I missing? One note, on each of the dd elements I have a method that is handling the onclick() event. Could this be the problem? (Just thought about that...)
EDIT/ADDED: Can we get a little friendly competition going on here.... ZURB and Bootstrap users/evangelists alike..... what's going on here?
If you need support for the top bar, shoot us an email, foundation@zurb.com. Happy to help.
After also reading this: http://blog.getbootstrap.com/2012/09/29/onward/ I still don't get what this actually means for the future of BS, is it good news, or bad news, is everyone too polite?
Good to be remembered here of Foundation again. I was recently asked for BS alternatives and couldn't named any.
Best of luck at Github, huge win for you both.
If this was something Twitter believed too, I imagine there would be some fanfare around this, Twitter helping FLOSS and all that.
More to this story?
I can't imagine any managers at Twitter were sitting there thinking "Hey, I have this great idea that will make us boatloads of money! Let's release an open-source html/css/js framework that makes it super easy for anyone to make a site that looks like Twitter."
In all likelihood, it was a project that the developers wrote for internal ops and later attempted (and succeeded) to open source. If you look at the Impact Graph on github (https://github.com/twitter/bootstrap/graphs/impact), you can see that it's pretty much Jacob and Mark's project.
From Twitter's perspective, they can either let Jacob and Mark continue to run with it at no real cost to themselves (since it's open source and they can still use Bootstrap), or they can try to find someone within the organization to continue to maintain it, which has a very real cost -- developer time. Given that they may not find someone to fill that role and that forcing someone into it would probably be bad for the project, I think the decision makes a lot of sense for Twitter.
Great move away from Twitter. May the winds be forever at your backs.
I've now gone through multiple tutorials where the term is used to refer to Bootstrap from twitter or the general idea of bootstrapping an app.
Now each time I read "bootstrap" I've to establish the context which gets especially tricky when the same documentation or tutorial uses both Bootstrap from Twitter and the verb "to bootstrap".
I was thinking I'd build a simple and attractive site from scratch and make the tutorial a step-by-step of how it was done, so even somebody with no HTML or CSS experience could do it - but also so that even experienced programmers would quickly learn all sorts of cool things that Bootstrap can do.
This is how I'm learning Rails right now - the Rails tutorial is amazing. Bootstrap needs something similar.