This has come to my attention after looking at a few tutorials on various frameworks and technologies over the last 2-3 weeks or so. (As you might have learned, us, developers, look at “stuff” like this on a daily basis — since it’s still us, developers, who keep inventing new such “stuff” 🙂 ) Anyhoo … I have been turning my attention lately to Ruby on Rails (sooooo overrated if you ask me, but I can see how people prefer it for prototyping), Redis, Scala, Play framework and a few others.
Typically when I do this sort of investigation, I will follow some (online or not) tutorial then try to follow that up with at least another or more sessions from other sources — this allows me to capture different perspective on the framework as well as typically getting acquainted with details that the original tutorial might have missed out. Basically gives you a few angles on the same “stuff” (please see my note at the bottom about the over-usage of the word “stuff” in this article!).
What occurred to me as of recent is that every single bloody tutorial nowadays teaches us invariably how to build a Twitter service! Take Ruby on Rails — 3 tutorials in different sources going through building a Twitter app! (Granted, slightly different database schemas!) I thought ok, maybe it is because Twitter actually started on Rails… Fine!
Groovy and Grails — yup, Twitter-like app! (Again, slightly different database schema, which I actually find amusing!)
Then move onto the Play Framework — first tutorial? Yup, you guessed it: build a Twitter-like app! 🙂
I’ll stop here with such examples — I’m convinced by now that at least half of the technologies/frameworks nowadays teach us how to build a Twitter (most of them in under an hour too!). As a developer I reckon we probably build about 10 Twitter’s in a year — I’m not counting here existing packages upgrades, which invariably just revisit their initial “building Twitter” tutorial and just add a few more bits and pieces to showcase the new features added in the last version.
The interesting question around this is: why Twitter? Why not “how to build an Instagram-like app”? Or Reddit? … Is it the case that Twitter is so popular and us techies use this “stuff” all the time? Or is the fact that us developers are too lazy to think of any other “stuff“? And what the bloody hell happend to “Hello World“? 🙂
One potential explanation about the “Hello World” app is that teaching someone that their “Hello World” web app (all cloud-ready and scalable to billions of users, of course, I mean, have you encountered any language or framework that claims otherwise nowadays? :D) needs at least load ballancing, web servers, caching layer/servers, database servers and business logic servers might put them off your technology upfront 🙂
So building Twitter’s is THE thing to do in tech now… Now, statisticians told us that we sit a million monkeys in front of a million typewriters, one of them will end up typing a Shakespearian masterpiece, which then begs the question: how many more “build a Twitter service” tutorials do we need to write to actually come up with a better Twitter? 🙂 I mean this is a proper challenge for y’all out there writing tutorials (“that includes you too, Liv” — says my alter ego!): if you’re going to keep building more and more Twitter’s let me know when you build a better one! Or, let me know when you build some other “social media” service, I love Twitter a lot and y’all are beginning to ruin it for me! 🙂 And on the subject of millions monkeys on millions typewriters: ahem, but Twitter themselves pretty much proved that statistic to be wrong! 😀
Oh, and on the subject of using “stuff” : I re-watched recently the brilliant Meryl Streep in “The Devil Wears Prada” and grew once more fond of the “Pile of Stuff” scene in it and it occured to me that there’s certain resemblence of the software industry in that. More to the point, most of the people who I know (outside Silicon Valley bubble) know that I do “computer stuff” — have no idea what that “stuff” is and have no intention of finding out… Yet, in their daily lives more than 50% of their activities and hobbies are empowered or fueled even by the “stuff” that us techies build. I wish I could say to them that “ignorance is bliss”… but it’s not… sadly! Oh well, I’ll get back to my … stuff! 😀