Twitter UK’s first #ukopenhouse
It’s taken me a while to write this…
Some of the tech team at Holiday Extras went to London last Tuesday for @twitteruk‘s first ever #ukopenhouse. I’ve been meaning to write this post every single day since then, but I’ve been rather distracted with one of the biggest deployments I’ve ever been a part of; Holiday Extras has finally moved it’s phone system to VoIP but that is worth a post (or 2) to itself.
TwitterUK’s first London meetup
Before I go on though, for anyone who’s been to one of these meetups before, we all know how important the food, drink and freebies are. Twitter put on a good spread, the food was great, everyone got two free drinks and there were badges and stickers to pick up. You’ll know if you’ve read my previous post about defacing company property, how much the tech guys at Holiday Extras love stickers, and as a result I don’t think there’s any space left on @marcgreenstock‘s laptop anymore.
First up, the first ever Twitter UK Engineering meetup
It was great to see an English guy talking about Tweetdeck, Twitter and everything they do. @iaindodsworth said they’re looking for more Software Engineers so if you’re interested take a look over at their International Jobs site.
Next up, Pushstate or bust
For me, this was the most interesting talk of the night, probably because of the kinds of things I’m interested in. You can find Dan Wrong‘s slides. He talked about page refreshes, Hashbangs, Pushstate, and everything in-between; what the positives and negatives are, and how to go about putting something together so that everyone on the web is happy. This includes not breaking the back button in your browser, google indexing your content, bookmarking content, the goodness of HTTP such as redirects, and making sure it works in every browser in some form or another.
Dan tried to explain what he meant by his “Pushstate or bust” tweet a few months ago; he didn’t mean use Pushstate and nothing else, he meant if you’ve got access to pushstate then by all means use it along with some client side templating like Mustache / Handlebars / Hogan to give content without page refreshes. If the browser doesn’t support Pushstate then you just default back to page refreshes; this way everyone on the web is happy.
It makes absolute sense to me; what do you think? Are there any pitfalls to this method? I mean, I can’t see them myself; Github are actually already doing this. They already use pushstate if available and if not then you just load up a new page on every interaction. Yes, anyone with an older browser (or recent one in IE’s case) still ends up loading a new page, but there’s only so much hand holding you can do for older browsers; if we as web developers didn’t continue to innovate then why would anyone ever update their browser?
I loved this talk and it was by far the most interesting of the night. It even showed that Twitter are moving away from using their own API (which is why they became as popular as they are today, their API allowed apps to be made for iOS etc in the early days – it had all the features as Twitter were using it themselves); @danwrong said that they’re likely to move away from it purely because of how they would implement Pushstate on twitter, with data being passed to templates on the server, being the exact same data passed to the templates on the client; you can see this in his slides, where if the request is an xhr request, the request gets handled differently. It makes perfect sense to do this for the client, that way you end up using the same data and templates both server and client side.
This is even more interesting to us at Holiday Extras as this is exactly what we’re moving away from, historically Holiday Extras had an API and a website, both developed separately with different features; but we’re investing over £0.5 million in updating our web infrastructure so everything runs from one data source, our new NodeJS api. This means our partners get the same products/features as we do and at the same time as we do.
Then, Tweetdeck (or blackbird as they call it)
Then they start talking about their deployment/test/build process; how they use PhantomJS and QUnit for automated testing, Jenkins for CI and how they create nightly builds which people around Twitter then use to catch bugs before full releases. Again, this is something else we’re very much interested in doing at Holiday Extras. Why should our internal users have to wait for one of our 2 deployments every day?
And then finally Twitter bootstrap
They talk about a load of stats regarding Twitter Bootstrap 2.0 on git, and then onto some more stats regarding Twitter Bootstrap 2.0.3. Then they go on to talk about tooling, how they use Less and tools around it that allow for rule rewriting; their last hack week at Twitter was based around tooling and what they could create to make their jobs easier.
To be honest, the talk goes on about what they want to do with Twitter Bootstrap, how they want to make mobile integration better, and how they want to make their docs much better than they are now. But the most interesting part for me was something that @mdo said when asked a question about how they want Twitter Bootstrap to be interpreted further down the line. @mdo said that (and I’m paraphrasing here) “It would be odd if the web was full of websites that look like Twitter, Twitter Bootstrap was designed as exactly that, a bootstrapping tool. A tool for prototyping or to get you started but then changing and customising it to match your own brand/ideas”; this was great to hear to be honest with you. Earlier on they showed some sites that use bootstrap, two of which you could tell used bootstrap and another, kippt.com, which at first sight doesn’t look at all like bootstrap.
All in all, the talk about bootstrap was interesting, especially as Holiday Extras look into how we can use it to help us within our development process, but it’s not something I’m as interested in as much as I am Pushstate.
It was a great night with a great meal afterwards with the guys at Holiday Extras; looking forward to the next one, whenever that may be.Tags Meetup, Twitter, TwitterUK,, UKOpenhouse