Feb 03, 2010

A Plea for Developer Unity

This is an atypical Labs post, as it doesn't really concern specific code at all. It's more of a wake up call. It starts with the same thing you've been reading about everywhere -- the iPad. It ends somewhere much different and much more important for our industry. It's a conversation about what we're doing as experts in this field and how we move forward together.

The announcement that the iPad won't support Flash kick started a lightning storm of opinions. The alleged issue at hand is that the iPad doesn't support Flash. This is a bad thing. It's a bad thing for the same reason that it also doesn't support Google Chrome, Firefox and (even) Internet Explorer. It's a bad thing because it doesn't support Unity and Java. It's a bad thing because it supports what Apple wants it to supports and that's all. Which isn't to say that we don't love making Apple applications... because we do. It's just that the iPhone app store was an incredible leap forward from the previous generation of mobile applications and so was rightfully recognized as revolutionary. The iPad isn't revolutionizing netbooks, it's devolving them back to a fully closed era. One environment, one language. A cumbersome, time consuming distribution process.While you can certainly be expressive using Objective-C and with the iPad, the decisions on how a user engages with something we make should be left to the experts.

We found a much more localized version of the infighting start to happen when we built a Silverlight site for Victoria's Secret and posted our thoughts. While the conversations in the comments were fascinating, we noted internally here how there didn't seem to be any constructive dialog between the "Flash community" and the "Silverlight community" despite the fact that they were commenting underneath the same thread. It's as if the blog post was a middle school dance and neither side wanted to even make eye contact for fear of cooties.

But I'm not interested specifically in the iPad not supporting Flash anymore than I am trying to convince "Flash developers" that Silverlight is more than some evil ploy by Microsoft to supplant their favorite plugin. I want to focus on the fractured nature of our community and how to [finally] get over the bickering.

Try to imagine these biases manifesting themselves in other aspects of life. Carpentry. Should we always use a power drill for everything... even when a regular old fashioned screwdriver might suffice? And what of a hammer?! A jigsaw? Sure, we'll be able to build a mighty fine house using just a limited selection of tools. But what's the best decision for the house? You might meet a lot of carpenters who will tell you the power drill is a great invention, but you'll never meet a single one who will tell you it's the only tool for the job. True expertise in a craft is where bias for a specific execution is weighed against all the possible ways to do the job right.

We're experts in our craft. You and I. We are first and foremost experts in interface. Our job is more than just understanding how to make things, it's understanding how those things will be perceived by the people using them. We need to collectively begin to understand that technologies are not things you get behind and root for to "win," they're solutions to different ways of giving people things to use. There's no good technology and no bad technology.

So how do we resolve our differences? Well, we have a complicated community. Maybe we should get together over a massive game of dungeons and dragons and hammer it out. I'd love to read constructive suggestions in the comments and in blog posts in the future, as I won't even pretend to believe ideals alone are the answer.

My sense? Maybe we should start with semantics. We don't have a single "Flash developer" at Big Spaceship. In fact, we grimace at titles like that. It's a pet peeve to be called a "Flash guy." We're programmers. We're builders. We happen to be good at (and love) Flash, but we also happen to be good at (and love) a couple trillion different other technologies. And that list grows as the spectrum of possibilities grow. The key to that is we NEVER saw ourselves as Flash developers. From the interview process on, we look specifically for people who will look beyond a specific platform and focus on making beautiful things work for the clients who come to us to build and for the users they want to reach. We believe in strategic thinking and great design and pushing the limits. Nowhere do we say it has to be done in technology X or programming language Y in order to be a successful and engaging project, and we don't believe the users who engage in the projects we put out there do either.

Once freed from the constraint of being a "[Insert your preferred technology of choice] programmer", your eyes open to the whole spectrum of technology. Not the Internet you're rooting for because you know it best, the whole thing. The potential to engage people in a new way can only be an incredibly exciting adventure. Try Unity. Try JQuery. Try Flash. Try Silverlight. Yes, they're going to have different syntaxes and processes. It's fair to say that anything outside of your comfort zone is going to be frustrating to learn. Over time, you'll come to realize that each language was developed a specific way to have specific strengths and weaknesses, and you'll find knowing them all will help you be a better developer. Which makes you a better expert. Which only helps your users. So... how does it hurt to be closed minded to anything?

It hurts in a lot of ways... ESPECIALLY financially. The company that is capable of in-house production of all these different technologies is the company that doesn't have to spend the money outsourcing to someone who does. It's the company who can stand truly stand by the principle of making the right experience for their users, since they are not limited to merely the technologies they are "good" at. And they're the company that is most flexible for the next big thing to drop in real time.

The iPhone did a great thing in ushering a new era of developers into the realization that they are better than the one language they started with. The app store gold rush helped our community realize it was within our brainpower to master new programming languages quickly. That the platform landscape may have changed but we would always be masters at understanding the users we were trying to reach. It is my hope that the iPad ushers in a new era of understanding that we are one joint community -- not a Flash one, not an iPhone one, not a JavaScript/HTML/CSS one working to push the limits and realize the full potential of what "being digital" means.

Share this Post


                           

Comments


Martin Varesio     Aug 23, 2010
If developers find a powerful toolset with a big audience (particularly one willing to pay, as is the case with native iPhone application development), complaints will be few and far between

Martin     Aug 15, 2010
I'm attempting to do a very small numbers of things: a) demonstrate that programmers may be ideologically driven, but most at the end of the day bow to the pressures of pragmatism

Druckerei     Jul 15, 2010
very good post.

jeu tarot     Jul 12, 2010
"Part of the issue with the community bickering is simply the community members mirroring and magnifying the inherent competitive nature of the industry and between the companies (Adobe, Apple, Google, etc.) that "control" it. " Totally agree with that :-)

Pişirme Oyunları     Jun 25, 2010
It really is a big restriction that the ipad can not handle flash. Hopefully this will still be adjusted.

I'm sure there was a period of reluctance and then acceptance but to this day some artists prefer oil based paint because of a certain way it feels despite advantages of a water based acrylic.

rencontres france     May 10, 2010
I have to agree with this post. But flash has never hitting his target

Jim     Mar 24, 2010
And by the way...all the teenage arguments that Flash isn't open. You are a stupid git. Plugins are an open standard. Develop your own that is the best in the world. ......oh yeah... even if you did develop your own plugin that is Flash-like, Apple wouldn't allow it. Because....they are so open....

Nope, anything of this nature will be prohibited. Stop your innovation. Resistance is futile. Develop only candy to be sold in the app store, not anything that could circumvent a device maker from controlling all money flow. Gee, that's like making sure there is only one store for DVDs for your private DVD player. Or being the electric company and you can only buy appliances from the electric company Genius! Yet the opposite of progressive and open. We've seen this before when AT&T wanted to control the service and the devices to land lines and the govt had to come in and break it up.

Tom     Mar 18, 2010
The web has been and should be about open standards. Flash is not an open standard.

Personally, I am relieved the iPad and the iPhone won't / don't support Flash. It is a proprietary technology that should go away as soon as possible. We don't need it.

Goldkauf     Mar 01, 2010
It really is a big restriction that the ipad can not handle flash. Hopefully this will still be adjusted.

Ales     Feb 25, 2010
Can you imagine that politicians would argue among each other as we do about technologies!?; just to win argument instead of being constructive ... terrible idea!

aurore plaisir     Feb 18, 2010
Great article and not only because I agree with you. Ok, it helps a lot and I do agree with you: we should not only consider as programmers that only stick to one language and massively refuse the rest.
Let's open up and consider the fact that times change, which makes it all the more interesting!

Adam D.     Feb 16, 2010
The web is all about trends. Flash was a trend, and now it has turned into the more useful purveyor of video players, games, etc. Adobe realized this, enter Flex.

Big Spaceship abandoned their all-flash site for a Wordpress powered, HTML site.

Flash will disappear eventually. Just like Director, and the CD-ROM market that used to keep us all busy.

When is the last time you busted out some Lingo?

Ryan     Feb 13, 2010
I totally disagree with this comment:

"I'm an interactive producer and strategist, and I don't hold it against developers to limit their languages to a few select camps."

If you're a trained and properly educated programmer, you should understand the basic principles of programming, regardless of syntax! That means: you should be able to shift in and out of any language.

Sure, each language has it quirks but that's why there is documentation and countless sites that remind you of those little caveats.

I realize there are lazy people out there that are programmers. However, there are also people out there that don't look at programming as work: they see it as a way of life and very passionate about it.

Simon Carr     Feb 06, 2010
Very insightful article - probably the best I have read concerning how the iPad will affect all digital developers.

I would say that being digital developer means adapting to change... Someone who is a flash developer can easily translate that knowledge to javascript, C# or a number of other languages.

One of the big reasons Apple does not want to support Flash is because it performs poorly on Apple products. Supporting Flash would also allow other developers to create applications, which would result in Apple losing money... From a business perspective, it is genius move for them to not support Flash.

What does that mean for the future? It probably means new and better technology. New jobs & the need for a more diverse skill set.

Geoff     Feb 05, 2010
Nice piece! I must say I totally agree.

Jamie Kosoy     Feb 05, 2010
@Juan Charvet: Memories. :)

I haven't read it. But I probably should. As for 'Being Digital', I dunno what happened to my copy of that book but I should really re-read it now that I can actually appreciate it. (Or understand it)

Juan Charvet     Feb 04, 2010
"Being Digital." Hah! Good old freshman year :). Amazing article, J. Scott. You wow me. Are you a fan of "The Pragmatic Programmer"?

Andy     Feb 04, 2010
@Oakhurst
Flash is a fantastic vehicle for learning the principles of interactive development to a very high level. It is far, far easier to learn a new technology for implementing those principles than it is to learn those principles from the ground. I lead a team of 30 interactive developers at a global agency, and while those people may have begun their careers with Flash they have not found it particularly difficult to skill themselves up to be able to develop for Silverlight, Android, iPhone, JS etc. I would expect a Silverlight developer, who displays flair, attention to detail and great coding skills to be able to apply their skills to Flash and Actionscript with little fuss, and vice versa. And to the other technologies to.
Maybe the power tools analogy is weak, but the point is spot.

Andrei Potorac     Feb 04, 2010
Excellent article Jamie! And what a different approach you have for this subject.

archont     Feb 03, 2010
I'm a flash developer. I'm not a graphic artist because I couldn't draw anything more complicated than a straight line. I'm not the music guy because I wouldn't know which side of the flute makes the noises. I'm not the HTML guy because I don't have ten years of dealing with browser inconsistencies, knowledge of obscure tags, browser specifics and a memory of all the ACID tests.

So I'm doing Flash websites and applications. I think it's pretty simple.

As for the iPad - it's really not my concern to cater for one particular tablet. I could as well make a website which is Sony Ericsson C702-optimized. But why would I? If apple failed at implementing flash, it's their loss, and their clients. The iPhone is not any bit more special than my little brick-phone.

We certainly are making alternative, text-only no-formatting versions of flash websites for inferior machines, such as phones, the google bot or the ipad.

Daniel Carvalho     Feb 03, 2010
I'm sorry if I speak out on my own tangent here, I haven't read your full article (need to sleep), but the whole craziness of "Flash must die" is too irrational for me to even approach reasonably.

For some reason, most these people have got in their heads that Flash is somehow only a platform to publish videos. That by some twisted process of deduction, they come to the conclusion that a humble HTML 5 tag, is now magically a replacement for Flash. Nevermind the design, animation, sound and immersive user experiences it provides.

Michael Langford     Feb 03, 2010
There are at least 3 languages on the iPhone in some state or other.

MonoDevelop already is a C# language for the iPhone Dev Kit.

http://monodevelop.com/

Adobe is currnetly developing a flash output target of "iphone app".

http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/

Iain     Feb 03, 2010
From where I sat it seemed like some high profile people (Perillo, Scoble) took what is essentially a minor flaw with the iPad (the lack of Flash) and tried to spin it to seem like a good thing in meaning the end of Flash, plug-ins in general, and with them banner-ads, browser crashes, or anything else negative they could think of. Most of these articles and comments contained numerous factual errors which under-sold Flash and over-sold HTML5. So I think, no, Flasher's were right to try and put the record straight.

Oakhurst     Feb 03, 2010
Your power tool analogy is weak. The common man makes no distinction of difficulty between the jigsaw, the screwdriver, the drill. They are easy to master.

At Big Spaceship, maybe your team members are an anomaly. Can programers and developers really be experts across multiple different languages? Have you ever met a master Audi tech/Ford tech/Nissan Tech?

The requirements to keep pace as as today's modern interactive developer are insane.

I'm an interactive producer and strategist, and I don't hold it against developers to limit their languages to a few select camps.

Ryan     Feb 03, 2010
Right! Now that we are all unified, we should all switch to using Vim on Slackware as a standard b/c they are obviously the most superior development tools in the world....

Robert Fauver     Feb 03, 2010
Amen

David Pett     Feb 03, 2010
I completely agree with this post. As you would say, I am a programmer who happens to be good at Flash. I am always exploring other languages so that I am not cornered into thinking that there is only one solution for everything. By learning other languages, I don't feel that my "expertise" in Flash has lessened by not focusing 100% on it, but has grown even more.

There is nothing to lose by learning other languages, but a lot to gain.

Jamie Kosoy     Feb 03, 2010
@Matthew Fabb: You have an interesting perspective and one grounded in something very rational, but I don't think I completely agree with it. I think it's okay to be an expert in a specific subset of programming languages on a skillset level -- if you're more comfortable building solely on the server side, that's fine. Further it's okay to have an opinion -- you like HTML/JS/CSS more than Flash, or you don't. But that opinion should only matter on your personal portolio. In service to users you should be thinking of what the right experience is for them. That's a key distinction.

Programming isn't the same as playing for an orchestra -- there aren't tubas and trombones and violin equivalents. It's closer to playing in a standard rock band. There's a bass, drums and a guitar or two. Maybe some vocals. Regardless, everyone needs to know a thing or two about music -- and about who they're trying to reach -- in order to make anything worth listening to. How your particular infrastructure is set up to handle that is a different decision than whether or not a developer should know how it all works and be able to do it.

Jos Koomen     Feb 03, 2010
Great post, it's good to start a conversation instead of all the fingerpoiting. I'm a creative interaction who uses flash most of the time. But i'm not stuck on flash. I just like the tool.
I don't think it will ever be gone but it's good to do some other stuff, it's great and refreshing to use a diversity of languages and tools. It keeps your work exciting and cool.

DannyT     Feb 03, 2010
Completely agree (and perhaps think some commenters are missing the key point - or I am). Our focus shouldn't be on the rights / wrongs of Apple, the 'certain' demise of Flash, the 'my framework/plugin's better than your framework/plugin' or any other corporate strategy driven technology battle. We should be embracing any and all technologies possible to mould the _best_ digital experience* possible.

*'Experience' encompassing developer experience, end-user experience, client-agency experience and any other experience involved in the delivery of the digital medium we're all so passionate about.

Pixelmixer     Feb 03, 2010
Part of the issue with the community bickering is simply the community members mirroring and magnifying the inherent competitive nature of the industry and between the companies (Adobe, Apple, Google, etc.) that "control" it.

Matthew Fabb     Feb 03, 2010
Good post, but personally I think it's best for a web company to have a set of Flash developers, a set of Silverlight developers and a set of HTML/JS/CSS developers. As developers who specialize in one environment will know all the best practices, tricks and more, will be able to develop better sites/applications faster than any developer who is a jack of all trades but master of none. Each environment has a huge number of accompanying libraries and capabilities that some even manage to specialize in certain sections (3D in Flash, video in Flash, Flex developers, Silverlight application developers).

That said specialized programmers shouldn't be the ones who make the decision what technology to use, although should be consulted about it's capabilities but once the decision is made for a specific technology, I think specialized developers are able to handle a project better.

mongol     Feb 03, 2010
one quick question about Flash: if Flash is so open, as opposed to iPad, when was the last time we (the developers) were able to take the Flash runtime and tinker with it, experiment and come up with new or improved environments that would, for example (play new video formats or include some plugin that we need)? It strikes me as odd that we would complain about Apple as being closed, favoring Adobe, which is as closed as the former.

Flash becomes obsolete if Adobe, keeps being "lazy" and just marketing (political)


James Hall     Feb 03, 2010
Wonderful post. I love the plea to developers to widen their programming horizons. I think another barrier to entry to being an open minded developer (which in effect is a hardship to new developers) is the {your langauge here} developer and how hard they are to new developers who are just trying to learn syntax and procedure, too often were too hard on the newbies and that makes them, in turn, a bitter programmer as well.

Jamie Naioti     Feb 03, 2010
Fantastic post Jamie.

Nathan I think your missing a major point that Jamie's post makes, which is that we are reaching an evolution point in technologies and Jamie is encouraging people to become technology agnostic. However it feels like your articles points about people blindly defending flash is the same as your crusade of abolishing flash. To suggest that flash will "go away" seems a bit blind sighted, I would imagine a similar debate occurred when acrylic based paint was formulated. I'm sure there was a period of reluctance and then acceptance but to this day some artists prefer oil based paint because of a certain way it feels despite advantages of a water based acrylic.

Also consider Apples inability to profit on providing support for flash on their devices.

Gabe da Silveira     Feb 03, 2010
The closed nature of the iPad is definitely alarming in what it could mean down the line if it takes off. I could definitely see these devices becoming more ubiquitous than laptops in the long term, and it's sort of scary to think of Apple being a major share holder of that market with all the app store approval nightmares.

However I can't agree with you about Flash. Flash on the iPad would be a terrible user experience because Flash is written with a mouse and physical keyboard in mind. Regardless of any ulterior motives Apple may have for not including it, it's a sure bet that existing Flash components would make the iPad feel like a cheap and clumsy laptop wannabe. Apple is trying to stake out new UI ground with the iPad, which is impossible if they have to support a quarter-century of legacy mouse-based GUI cruft.

Jamie Kosoy     Feb 03, 2010
@Nathan Peretic I agree with your assessment on how developers will choose their tools. Clearly a technology that dies off or is replaced by a superior technology isn't one worth continuing to build with -- any Director/LINGO developer will be the first to tell you that. It's also our jobs as devs to stay with the trends and evolve as technologies shift and change. And any proprietary technology is at risk of disappearing forever... even entrusting jQuery or prototype to be the end-all for javascript development is short sighted. It's on Adobe then to insure their specific plugin evolves with the times. Unity and Flash both offer compilers that move straight to mobile apps, and a friend of mine wisely predicted that tools that immediately deploy to devices in this fashion may become increasingly used.

I gave my two cents on why I felt the iPad is a step backwards for technological evolution, regardless of whether you're looking at it from the perspective of it's plugin environment or it's application environment. But my bigger concern is the people finding "glee", as you mentioned.

We're all in the same boat together. Let's use the lightning rod of the launch of the iPad to start a conversation anew about what good user experience is, separate from the decisions on what materials you chose to build with.

Hugo Fernandes     Feb 03, 2010
I just hope that someone at Apple (aka Steve Jobs) reads your post...

That's exactly what's scaring me: Apple wants to control the internet and how average consumers uses it. But not with the best intentions, just to fit their business. I'm a Mac user, but I'm so disappointed right now with the iPad philosophy... So many efforts to build an Internet for all, and now they want to rebuild the Internet for some. Sad...

Great article indeed. Cheers.

Nathan Peretic     Feb 03, 2010
Hey, Jamie. I appreciate the constructive criticism you've brought to the table. I absolutely agree that more technology options (competition) is a good thing. Where we disagree, I think, is that Apple's approach somehow hampers the experience of people who choose to use their platform (who by all accounts love it) or the opportunity for others to profit by selling phones and tablet computers. From the looks of it, many companies will be introducing similar hardware in the next year. The market will decide which is the easiest and most pleasant to use, whose offers to most functionality, and whose restrictiveness or openness in technology is most compelling.

As far as the inherent flaws or benefits of any one platform (Flash / HTML / other), my opinion is irrelevant. It is Google and Apple (and Mozilla) who are championing the "open web." If developers find a powerful toolset with a big audience (particularly one willing to pay, as is the case with native iPhone application development), complaints will be few and far between (though, as I wrote yesterday, some will be quite loud).

I would encourage anyone who finds glee in my article (The Withering Away of Flash) to read it again. I'm attempting to do a very small numbers of things: a) demonstrate that programmers may be ideologically driven, but most at the end of the day bow to the pressures of pragmatism and b) divine the technological tea leaves to predict that while Flash had its day, the increasing potency of the open web cocktail combined with the clear, gigantic emphasis Apple has placed on a Flash-less world leads me to believe its future is at least irrelevance and potentially extinction.

(It's true I said nobody will miss Flash. I meant only that Flash *users* won't notice it's gone and Flash developers will move on quickly. Some already have.)


Speak






Submit »