Vendor Lock-in; Heard this term before at a big company from a co-worker deciding to use a technology. Didn’t know wtf he was talking about at the time… now I do. I’ve seen the term thrown around a lot by Open Source zealots, using it as a negative for not using open source alternatives. I like my vendor, thank you very much.
…well, I did… then I didn’t… now I do again.
Macromedia made a better product to do my desktop apps while still allowing designers to play; Flash. I was using Director, and it took longer to do things, was less flexible once you picked a development path, and couldn’t have designers working with the same files.
Since 2001, I made the switch 100% to Flash, both design & coding, desktop & web applications.
Something weird, however, happened in 2004… actually 2 things. First, Macromedia released Flex; I know it was released earlier than that, but it didn’t really pick up steam till a few months before 1.5 was released. Secondly, MTASC, the open-source Flash compiler came onto the scene. We’ve had Kinetic Fusion & JGenerator in the past, but nothing made such a profound impact to the community like MTASC did.
Flex came and went for me. I purchased the CD, installed it, went through a couple tutorials, laughed at the sales guy who called me, and really got confused. Why would I ever want to develop this way? Why do I need a server, etc. Then, I started seeing some more blog entries from Macromedia employee’s pop-up; Iteration::Two kept talking about it, and I noticed a lot of Macromedia employee activity on the Flexcoders list. So, I bought the CD again.
I “got it” the 2nd time.
However, I started to see an extremely uncomfortable pattern. During the same time, a lot of announcements were made about Flash 8, none of them seemed to solve the problems developers were having with Flash. Mike Chambers availed a lot of the FUD, but I still didn’t feel 100% better. All the while traffic continued to rise on the Flexcoders list, and the Macromedia presence was strong. Additionally, you could see them actively requesting feedback from customers, even on a 1.5 product. I looked at the price of Flex, and payed attention to some purchasing decisions made while I was at BellSouth.
Things started to click. Debating on this blog, email lists, and through instant messenging conversations, things made even more sense. The more clarity I received on Macromedia’s projected direction for Flex, the more worried and frustrated I had become.
Why was Macromedia focusing on the enterprise customers? Granted, I really saw the potential for getting them involved in our line of work, empowering traditional web programmers to do the same type of work us Flash Developers had been doing. But we Flash Developers still had many challenges to overcome… where was the focus? They had taken a break from the desktop initiaitives, cool, but… we’ve been using your product for years, we’ve evangelized the use of Flash, and an awesome community emerged from that. Why aren’t you actively trying to solve our needs? We’re paying customers, too.
Meant jack. The more I developed with Flex, the more I realized, at least for my type of work (large programming projects, heavy on the back-end, more than likely to have more than 1 developer), this was the future. Sort of.
I, like everyone else, failed to see how I, as well as any company I worked for, could afford such a product. Apparently, however, people were buying Flex and using it. I didn’t work for a big company though, nor intended too. I didn’t mind getting contracted out, but as an employee, um, no.
Only a few of us stuck with it, while the rest clearly saw it wasn’t priced in their market, and left. I however, couldn’t. There was just something “right” about Flex, and I HAD to use it; I could tell this was my future, this is where I needed to be. But how? HOW!? Flash by day, Flex by night… this wouldn’t work forever.
So, I just bided my time and hoped. It only got worse. I suddenly realized that the components in Flex were actually extremely improved & re-factored Flash MX 2004 ones… and they were old, too. Huh? Why didn’t we Flash Developers get these? We would of paid for this.
The cold shoulder I continually recieved at Flexcoders didn’t help any either. Even if I toned down the slang, spoke clearly and articually while still keeping my passion in the craft, I could feel like I was unwanted and not taking seriously.
This pissed me off, big time. I was seriously contemplating punting Macromedia altogether. I tried gathering community support for Flex from the Flash community, but failed since I didn’t effectively convey the value that Flex brought a lot of application developers, even those not working on large projects. That only made it worse, because the price became even more of a hindrance. Even those who did see the value couldn’t convince their customers.
With extreme bitterness, I longed for Sparkle; suddenly, I wanted to be the best .NET & Sparkle developer to ever live, half out of spite. You want to treat this as just business? Fine. I dropped Director like a ton of bricks, and I’ll drop Flash too.
The announcement of AS3 & Flash Player 8.5 for Flex first, Flash second was the nail in the coffin.
…then parts of the vision were shared.
That won me back. The new licensing for Flex Builder 2 generated SWF’s as well as the approachable price point made it work.
By then, however, plans were already in motion. I had no choice; I couldn’t handle Flash any longer for the work I was doing; it was frustrating. It does what it does well, but I needed something different for the code side; FAME wasn’t doing it; while fast, it wasn’t intuitive yet.
I bit the bullet; if you can’t beat ’em, join ’em. So, I started looking at companies that WERE using Flex. Some were appealing, some weren’t. After a week unplugged in Canada, and 4 weeks of being unemployed, I finally struck a phat deal; I could sit at home coding Flex all day with minimal trips to the office; say, once every 2 weeks or more when needed.
Off. The. Chain. What could be better?
So, while tying my career to Macromedia has had it’s pre-emptives (goodbye Director), and forced changes (uh… hi Flex… again), I’ve worked through it. I keep reminding myself this isn’t personal, it’s business, there are stockholders to please, and we have a future to mold. I re-invented myself, hopefully shared the light with as many others as possible, and have tried to positively expose the technology to the masses.
I now understand Vendor lock-in.
Now, on the flip side, Open Source I feel locked me, as well. Certainly lead me on, that’s for sure.
Nicolas Cannasse is a bad ass. The guy created a seriously cool tool which empowered an entire legion of others to exploit Flash in an open source world. The results are continually amazing.
I suddenly was a lot more productive; I was no longer being punished by making tiny code changes only to have to wait minutes for just a tincy change in code. My workflow, while changed, took me out of my comfort zone, and I learned about new tools, new ways to develop, but still used a lot of my existing skillset I’ve honed for years. Cool!
Then, Nicolas takes a 90 degree turn that no one expected. Not only is he not going to support ActionScript 3, but he wants to create a new language.
“Uh… but… dude, I was kind of hoping that I wouldn’t be tied to FlexBuilder 2 costing thousands of dollars because I could use MTASC. Shit… anyone know OCaml?”
Options are funny things. People want them, but don’t always use them. I’d argue a lot don’t. I’d even go so far as to say a lot of the freedoms Americans have in this country are not utilized, but take them away, and their’s hell to pay.
I find the same thing with open source. The “option” exists for most of the projects, depending on the license obviously, for you to not have to wait on any company, and build your own, needed changes to the software, and release it back to the community, legally.
How many could actually do that? I love PHP, but I don’t know C. If I hate PHP 4’s handling of XML, and I bitch on the list requesting a new API be built, or a wrapper be built around the current API, I’d probably be told to put up, or shut up; go write it myself. “Uh, no, how about I pay you to.”
Same with MoveableType. I HAD to learn Perl, though, for if it I didn’t, my webhost would shut down my blog as the spambots were using too much bandwidth. If I didn’t find a way to stop it, the admins would, at the very least, forcefully remove commenting from my blog. Wow, I’m neat, I “fixed” open source software, and thus participated in the revolution. I guess. To me, I felt I was fixing something, vs. improving it… and that was only because ANOTHER open source plugin, a Captcha test, didn’t even work. This isn’t fun, I don’t enjoy this, my efforts do not feel fruitful.
So, while the “illusion” of open source was placed on MTASC, it’s really not, maybe license wise, but not in the “anti-vendor lock-in” spirit; OCaml programmers are, as I’m now finding out, not necessarely in high numbers.
Yet another nail in the coffin for me to HAVE to use Flex.
…AND, proof that you can be locked-in to open source as well.
I’m still a prisoner of MoveableType. I need control of my own blog, but don’t have the time to install something like, WordPress, which is PHP based which gives me enough knowledge to at least take a more active role in improving (or fixing) things. But, my theory is, if it isn’t broke, don’t fix it. I’ve been burned too many times screwing with something that didn’t work, and my blog isn’t checked into Subversion.
At least with the open source, I had a choice; go back to a vendor, or start learning haXe.
I like Macromedia. I like Flash. I like Flex. I like a lot of Macromedia’s other products, and I feel a lot of them I can still evengelize to others. I have learned valuable lessons, though, about what I feel is vendor lock-in, as well as not talked about dark side of open source software, open source lock-in.
So, sure, I could go learn Ruby on Rails… but, Flex & Flash are fun! I don’t mind being locked-in if it’s fun. People who use the prison metaphor; like the Matrix. You don’t even really realize you’re in a prison.
Yeah well, this is the real world, and I don’t know C or OCaml… and Flex and Flash are fun, so… what can I do? Make the most of it. At least I can depend on Macromedia (and soon to be Adobe) being around longer than my quick forray into the open source world. Not a good first experience for me, and certainly makes vendor lock-in a good thing vs. a bad… for me, anyway.