The world of technology is ripe with drama. Everyday we hear stories of companies suing other companies over copyrights and trademarks, CEOs bashing other CEOs over their latest products and evangelists smiting technologies that dare defy their gods.
And people love hearing these stories. We love controversy, we love drama, we love action. We love to take sides, and bash the other camp. We love to exercise our inner trolls and call one another names in defense of our beloved technologies. We crave that excitement we get when we find out about corporate espionage, in-project fights and evangelical bashing.
So I decided to indulge all your desires of controversy. As you all know, I have recently become a core contributor for Appcelerator Titanium. But it’s all about to change…
Here I am, Mark Obcena telling all of you the Top 10 reasons why Titanium sucks.
Reason 10: Titanium is Open Source.
Who wants Open Source software? Proprietary software is the way to go. Admit it, you want to be locked in on a platform that doesn’t allow you to extend it. One whose source code will never be available publicly and will take you into the grave once the company that owns it decides to stop supporting it. Right?
We don’t want to be able do download the source code! We want it kept somewhere where we can’t see it, where we can’t scrutinize it or browse through it. We want it hidden from our eyes so we’ll never want to look at it and try to understand how it works or find bugs that will improve the it.
Titanium’s open source nature gives the community power to be able to improve the platform by being able to submit patches and bug fixes, as well as extend it in ways the core developers can only dream of. But nobody wants that! We want slower release cycles that are determined by how much the company works on the platform! We want non-extensibility so we’ll never be able to extend the platform to fit our own needs!
So please Titanium, just lock us in.
Reason 9: Titanium Leverages Your Ability as a Web Developer.
A Web Developer being able to create rich applications for the desktop? That’s crazy! Why would we, as Web Developers, want to be able to improve our skill-set by being able to create applications for both the browser and the desktop? We want our resumes to be shorter, thank you very much!
This is evil! If we use Titanium, we’ll be able to develop more kinds of applications that our clients want—and that sucks because we don’t want happy clients! I think I’m speaking for all web developers out there when I say that the smaller the amount of business we get, the better. Most of us web developers already have a quadrillion dollars in our bank accounts, so thanks Titanium, but no thanks.
Reason 8: Titanium uses Webkit.
Seriously, who uses Webkit these days? See? No one! All good projects use a proprietary engine! Titanium’s use of one of the best open source browser engines today seriously sucks.
We don’t want to develop projects in an engine that supports and implements web standards! We want buggy layouts, ugly rendering and non-standard hacks! We’re web developers! We crave the long sleepless hours we spent trying to fix our designs to make them render properly! We want to push our deadlines to the limit by trying to solve problems that shouldn’t be there in the first place! And we want to use non-standard hacks! I repeat—we want to use hacks!
And because Titanium uses Webkit, we get things like new HTML5 features, CSS Animations and Local Database storage. Who the hell will use that? We’re already comfortable with our font tags and non-validating HTML, and we don’t need better CSS rendering and awesome features. And we’re certainly not gonna use local databases—that’s why we have backend servers, because our users can afford making unlimited requests on their browsers since all their internet connections are perfect.
So Titanium, please consider creating your own proprietary platform. Or better yet, use the Trident shipped with IE6. That’s the best engine you’ll ever get.
Reason 7: Titanium Gives You Unlimited Options.
WTF? I could use any technology I want? That’s bogus! No one wants to be able to use the technologies we’re comfortable with in developing applications! We want pain and suffering and loss of money from having to buy five volumes on a platform’s obscure new language! Why do you think we have blood and kidneys? Yeah, that’s right—so we could sell them to buy more books on new proprietary languages.
And the worst thing is that because of all the awesomeness Titanium possesses, you’ll be able to develop a multitude of applications that you could only dream of doing in a browser or any other platform. That’s not what people want. Developers are already comfortable with the limitations of the other choices, and we’ll miss crying at night over why our favorite languages can’t do everything we want if we’ll use Titanium.
And just thinking about all of the cool and nifty projects I’ll be able to do once I use Titanium already makes me too giddy. And I speak for everyone when I say we don’t want to have fun when we’re working.
Reason 6: Titanium is Cross Platform.
They have got to be joking. Being able to create applications for both Window, OS X and Linux with a single code base?! Preposterous! That’s like getting a million dollar paycheck every month—no one wants that.
Every developer’s dream is to be locked into a single platform, because we all know that the less users we have and the less users we satisfy with our applications, the more happy we are. We’re snobs who don’t like getting thank you’s from happy customers and users who are as excited at our products as we are, and we certainly don’t want to get more income by being able to develop apps for more platforms.
And besides, even if we want to develop cross-platform apps, we don’t want a single codebase. We want multiple codes that take monstrous effort to maintain and makes everyone who follows the DRY principle cringe (those bastards!). We want long hours of work making simple functionalities work across multiple platforms and we certainly enjoy fixing bugs that are generated by each platform’s quirks.
So boo you Titanium for being cross-platform!
Reason 5: Titanium Lets You Bundle the Runtime Together With Your Applications
Every developer hates his users. Why do you think we make it hell for you to install our products? It’s because we want you to suffer.
With Titanium, developers will be able to bundle the runtime and everything your app needs to run into a single file. This means that the satisfaction of seeing your users cry out of frustration will be swindled away from you. You don’t want that.
We want our users to die from blood-loss caused by the wounds generated by the extreme hair pulling they do when they get frustrated by installing our apps. We want to see their eyes bulge out while they wait for the 30 required third-party applications to finish installing. And we want to see them cry when they see the list of the 500 separate dependencies they need to install first before they could install our products.
Don’t let Titanium take away the joy of seeing your users cry.
Reason 4: Titanium Will Make Your Bosses and Clients Happy.
Because of all the awesomeness Titanium will bring into your work, you’re bosses and clients will be happy campers. You’ll be able to do stuff more efficiently, you’ll be able to deliver work on time, and you’ll be able to give everyone the awesomeness they’re craving for.
That’s just sad. How will you be able to survive without the constant bickering between you, your boss and other members of your team? How will you be able to sleep at night when you no longer have to call your clients and tell them you just can’t do what they want? And how will you fill that gapping void left in your heart when the office drama that has filled your life for the past twenty years suddenly dies down and gets replaced by happy, smiling faces?
Developers, Clients and Bosses were made to fight each other and never get along. Titanium will make everyone happy—that’s something we should prevent.
Reason 3: The Titanium Community is Too Nice.
This is one of the worst problems of Titanium—everyone is just too nice. Go to the forums or the IRC channel and ask a question. I’ll bet someone will gladly answer it. What the heck?
Where’s the smug attitude? Where are the trolls? Where are the proud core team telling you to go fuck yourself because you can’t understand their epic platform? Titanium doesn’t have that—what it has is a solid community that will take their time to answer your questions and help you through your problems. It’s like going into your Happy Place, but with other people.
This violates the rule of all open-source projects: the community must be evil! Developers should fight each other, noobs should be ignored and taunted, and the core development team should be a secret cabal that doesn’t mix with the lower people. It’s the law of nature.
Titanium breaks this law big-time! You’ll see developers helping each other, newbies being guided and the core team conversing with mere mortals. I mean c’mon! Why are Jorge and Martin, both core team members, helping people? Why is Marshall, the project leader, writing tutorials? Why is Nolan, Appcelerator CTO, guiding new users? And most of all, why is Jeff, CEO of Appcelerator himself, even appearing and speaking in the channel? You guys shouldn’t mingle! You all need to be invisible!
It’s fucked up, that why.
Reason 2: Titanium is Only in PR2 and It Already Works.
You know what PR2 means? It means “Preview Release 2.” That’s right, the current Titanium build is only a preview. But it already works! What the hell?
This is another one of those unnatural things that Titanium does. A preview release shouldn’t work! As far as I’m concerned, a preview release should only be rough sketches on tissue paper! So why the heck can you already develop something with Titanium’s Preview Release?
In case you didn’t know, software has several stages: the first stage when a software should be able to work is in Alpha—and even then, it should be filled with so much bugs that you’ll just be able to see a splash screen before it crashes. Then you have to have a series of 5 Betas: Beta 1, Beta 2, Beta 3, Beta 4 and Beta 5. The first four shouldn’t work—they’re just released for the heck of it. Then in Beta 5, you show something that kinda works. Then you release RC1 (Release Candidate 1), which fixes a hundred bugs, but is still unusable. Then follows RC2 to RC5. After then, you should release your application as Beta—no numbers, just Beta—and let it stay like that for 6 years before version 0.1. This is a basic rule of software development—it shouldn’t be changed.
Titanium releasing a preview version that already works is against everything that was ever taught to you in Computer Science 101. Titanium PR2 could have been screenshots or even a webcast at most—but noooo! We had to release a working version that you could already use and develop with.
And in case you didn’t know, the first Titanium release (PR1) was back around mid-December. And when was Titanium PR2 release? Late February! That’s like just a few weeks in between! If Titanium PR2 already works, it scares me to imagine that when Beta 1 is released, you’ll be able to use it in production.
Reason 1: And The Top Reason Why Titanium Sucks? You’re Still Not Trying It Out.
Come to think of it, this isn’t the top reason Titanium sucks—it’s actually the top reason why you suck.
Instead of downloading Titanium PR2, trying it out, and starting to create awesome applications using the platform, you’re here, reading this sarcastic blog post about why the platform sucks. You do realize this is all tongue-in-cheek right?
But seriously, Titanium is an awesome platform, and if you’re lucky enough to read between the lines of what I wrote, you’ll be able to realize the multitude of benefits you’ll get when you start your own Titanium adventure.
Sure, even I can tell you why Titanium isn’t perfect (with no sarcasm), but it’s not important. Because I’ve already seen what it can do, and I know the benefits it will bring you and your work. Besides, I’m a core contributor for Titanium—I’m supposed to know this stuff.. ;)
You can download Titanium PR2 now from the official site. We’re also inviting all of you to join the discussions on the official forums or on the IRC Channel. And be sure to check out the source code for Titanium at Github and follow the official Titanium Twitter account.
So take my advice: stop looking for controversy and start exploring Titanium. It’s worth all the drama you’ll ever crave for.