Tampilkan postingan dengan label Flash. Tampilkan semua postingan
Tampilkan postingan dengan label Flash. Tampilkan semua postingan

Kamis, 29 April 2010

Steve Job's Thoughts on Flash

Today, Steve Jobs posted an open letter titled Thoughts on Flash, in which he lays out the reasons why Apple doesn't want Flash on the iPhone, iPod touch, and iPad. It's Steve, so there's a little bit of RDF, but it's actually refreshingly straightforward and rational. It seems to be striking an almost conciliatory tone towards Adobe and certainly takes a far more mature tone than Adobe has taken toward Apple in their public grousing since the new SDK agreement came out.

Steve ends the letter by encouraging Adobe to do what I (and many others) have suggested they do, which is create tools for generating HTML5 content. There are some tentative first-steps towards that in Flash CS5 from what I understand, but the time for Adobe to strike and take ownership of HTML5 content creation is now, not two or three years from now when CS6 ships. If Adobe can get a kick-ass content creation tools that outputs open standards-compliant interactive content out the door, they'll have an instant runaway success on their hands. It's a market with huge potential and Adobe could own the space if they were to make smart decisions.

Willingness to foresee and change corporate strategy is vital to long-term success. Have you ever read the history of Reuters? Reuters started as a carrier pigeon company. When the telegraph came on the scene, they certainly could have whined and complained and even insisted that their customers continue using carrier pigeons, but they were smart enough to realize pigeons were an outdated technology that couldn't compete with the telegraph. Instead, they invested heavily in telegraph technology. As communication technology continued to change over the last 150 years, Reuters saw the changes coming, accepted them, embraced them and, as a result, they are still around today, bigger and stronger than ever.

Adobe needs to accept and embrace the fact that Flash has been supplanted by better technologies, especially when it comes to mobile and embedded devices. It doesn't mean they need to abandon Flash (though I wouldn't mind if they did), but they need to realize that it's moribund due to the fact that the embedded market has a very different dynamic and makeup than the desktop world did back in the late nineties when Flash was born. A single-vendor proprietary solution is untenable when you have as many different viable operating systems and hardware manufacturers as we do in the mobile space.

It's truly sad that Adobe is unable to see or embrace where the mobile web is going and continues to insist on trying to control where it does go. Adobe's failure to accept these things is preventing their developer customers from reaching one of the most profitable and desirable mobile markets. In fact, their decisions thus far have, in reality, prevented those customers from effectively reaching any mobile market yet. Despite several years of promises that ubiquitous mobile Flash was just around the corner, it hasn't happened yet. In the meantime, nearly ubiquitous adoption of HTML5 on smartphones has occurred. It's supported, out of the box, by every major platform except Windows Mobile, and Windows Mobile has dwindled down to single-percentage market share.

Jumat, 29 Januari 2010

Waaaaah!

Oooh, a petition. I'm sure this will change something.

No I don't.

This modified re-tweet gave me a laugh, though.

Adobe's Unhappy

I was going to respond to Adobe's self-serving, biased, and not entirely factually accurate blog post, but rather than incur more wrath from the legion of Flash "developers", I'm just going to link to Chris Rawson's piece at TUAW.

Regardless of how the iPad does, with over 70 million iPhone OS devices in the world that don't run Flash, content providers who currently use depend on Flash HAVE to be looking at other options. In many cases, the other option will be an alternative instead of completely supplanting Adobe, but either way, it's good for the web.

Senin, 25 Januari 2010

Flash and Fireball

Daring Fireball's John Gruber and I don't see eye-to-eye on everything, but we do when it comes to Adobe Flash.

Kamis, 12 November 2009

In my Inbox Today

This came in my inbox today (click for readable version). I really, really don't think this needs any commentary, but there's obviously a certain irony in sending it to me. I had a great belly laugh over this, though. Thank you, Adobe, for brightening my day. Seriously. This cheered me up more than LOLcats could have.


I guess Microsoft doesn't have a monopoly in ill-advised, lame marketing campaigns. Maybe next, Adobe will suggest out-of-work people throw "Unemployment Parties" where they can learn Flex™ tricks and play cool Flash™ games.

Jumat, 09 Oktober 2009

Adobe's Ace in the Hole?

There's one thing I'm having trouble figuring out about this whole Flash CS5 thing. Adobe invested a lot of time and money to get Flash on the iPhone, seemingly against Apple's wishes. To sink that much time and money into trying to get software onto a closed, proprietary platform without the consent or help of the gatekeeper seems odd. From an outsider's perspective, Apple seems to hold all the cards. They have any number of technical means to prevent Flash-generated apps from going on to the App Store if they decide to. It seems to me that there's only two possible explanations for Adobe's actions.
  1. Their management is desperate and completely incompetent. Possible, but doesn't seem that likely. While Adobe has made a lot of decisions in the last few years that I consider poor, I haven't seen any evidence of this level of gross ineptitude

  2. They have leverage to use against Apple, or some reason to think Apple will allow them to do this. Perhaps, some kind of "ace in the hole" that Apple really wants? Perhaps a 64-bit version of their main CS5 apps, like Photoshop and Illustrator?
I don't know. Obviously, Adobe's not going to tell me anything, but one has to wonder if there isn't more to this than meets the eye.

Kamis, 08 Oktober 2009

Louis Gerbarg on Flash for iPhone

The day that Adobe announced Flash CS5 with iPhone support, I took apart several of the Flash-generated iPhone applications and tweeted my findings. Louis Gerbarg has done a more detailed dissection of the Flash-generated iPhone ipa files (the actual file that gets downloaded from the App Store) than I did. He found the use of multiple (about a dozen) private API calls being used after doing what he calls a "cursory examination". His opinion of the size of the applications jived with mine as well (unnecessarily bloated), and he throws in some more concrete evidence showing that these apps do, in fact, perform poorly on iPhones prior to the 3Gs.

Louis' findings would cast some doubt on Adobe's claim that they didn't do any reverse engineering. Of course, in my mind, there already was a fair amount of doubt on that point.

Rabu, 07 Oktober 2009

More Flash Thoughts

There's been a lot of interesting discussion around the whole Flash CS 5 generating iPhone Apps thing. None of it has changed my opinion that it's in Apple's best interests and ultimately the best interests of iPhone users for them to take steps to stop Adobe from moving forward with this, or at least for Apple to set some boundaries with Adobe and phase the program in over time to avoid overwhelming the App Store infrastructure. The problem is multi-faceted, which can be confusing. To me, it seems to break out into a couple of related, but distinct issues:


  1. Technical: Are the applications generated by Flash 5 as good, or at least "close enough" to being as good as those created using Xcode? It's not a simple question, because even the best tools can be used to generated sloppy, bloated executables, but it's still important to get a sense of whether the typical Flash-generated application is going to be comparable to the typical applications created using Xcode. It's an unanswered question. I'm sure Adobe is going to argue that their applications are just as good. I, and many other developers who have been working with the platform since it came out are going to be somewhat skeptical of that claim. How likely is it that they've been able to add an extra layer of complexity, including a garbage collector, and not incur any additional overhead? Probably nots possible, but the question then becomes: just how much overhead does it add? Is it enough to really matter?

    This is just an educated guess, but with first and second generation iPhones, I'm going to bet it will matter, and the simplistic nature of the Flash apps already on the App Store does little to dispel that notion. If the apps were really "just as good", they would have put a sample up that really showcased what they could do rather than just showcasing the fact that they could do something. If they were just-as-good, Adobe would have wowed us with a 3D game or something else that really pushed the limits of the iPhone's hardware. Even on my 3Gs, I thought the Flash iPhone apps all felt a little sluggish compared to what I'm accustomed to.

    Unfortunately, we have no objective data on this point right now. We have no way to take an app generated by Flash CS 5 and the same or similar app ported to Objective-C and compare them in meaningful ways. If someone would be willing to compile a version of a iPhone apps with debug symbols on, I might be able to get some hard data using the performance tools. As things stand, though, we have no objective data, and without that, it's all conjecture. We could argue forever, and neither side will concede anything.

    In my mind, there's enough reason to believe the apps won't be "as good" technically speaking, that it's fair to put the burden of proof on Adobe. They should prove that these Flash-generated apps are capable of being just as good or at least identify how close they are and support that claim with verifiable data. We already know the file size of the Flash-generated apps are considerably larger than comparable Objective-C apps created with Xcode. Subjective evidence seems to point to the apps also being slower. I'd like to see some hard evidence so we can judge them more fairly, but until some exists, I think it's a fair assumption that these Flash-generated apps are not as good and the differential is enough to matter. If somebody wants to prove me wrong, I'd be thrilled to see some hard evidence so we can discuss this intelligently. If I am wrong, believe me, I will be suitably impressed by the engineering that went into it.


  2. Logistical: There is a very large installed based of Flash developers and a large amount of existing content. The popularity of the App Store has already caused significant growing pains. The team responsible for doing App Reviews is overworked as it is and are doing a thankless job. Allowing existing Flash developers and existing Flash content to flood into the App Store almost overnight is bound to cause significant issues for the App Store infrastructure and the people responsible for maintaining it. That, in turn, will cause problems for customers and developers alike.


  3. Equitable: Related to the previous point, this flood of new content literally overnight is going to have a significant and detrimental impact on existing developers. You know, the ones who invested the time and effort to learn the platform and native tools? Those developers who will be penalized for that effort by having longer wait times and a lot more apps to compete with for attention. It's unlikely that the size of the App Store pie is going to increase measurably as a result of the influx, so an influx of new apps is inevitably going to dilute the chances for any single application to make a profit. It hardly seems very fair that the people who actually put effort into learning the platform and who have dedicated themselves to the platform won't be able to reap the benefits of that hard work without putting in addition effort to figure out how to get noticed above a sea of quickly-ported Flash games. Contrariwise, it hardly seems equitable to reward those who couldn't be bothered to learn the native tools.


  4. Political: Adobe and Apple long ago stopped being BFFs and have been in a somewhat contentious coopetition situation for quite some time. Apple made it very clear to Adobe on a number of occasions that Flash was unwelcome on the iPhone, and yet Adobe has continued to push ahead with an amazing disregard for that, fueled by what seems like a tremendous sense of entitlement: a feeling that they have a right to benefit from Apple's success with the iPhone even though they did not contribute to it in any way. The part that really doesn't sit right with me is that Adobe isn't being up front with their developers about how risky the situation is for them as a result of the politics of their relationship with Apple. Adobe didn't create Flash CS5's iPhone functionality with Apple's consent or knowledge. In fact, they did it despite being specifically told Flash wasn't welcome. That's pretty fucking rude. It's like inviting a million people over to somebody else's already-jam-packed party. Throw your own fucking party, man. Seriously. And the whole sneaky way Adobe went about putting their apps into the App Store just reeks of dishonesty. It's ends-justify-the-means thinking and it really does not endear me to Adobe at all.


  5. Legal: Despite Adobe's claims, I'm incredibly skeptical that they could have created the tools needed to generate iPhone apps without using Apple's toolchain at all given the amount of time it took them, unless they had access to the SDK and violated the legal agreement that they had to agree to to get access to it. Apparently, Adobe management is reassuring their employees internally that they respected the SDK agreement to "the best of their understanding" and are claiming that they didn't reverse engineer anything. I suppose it's possible, but it's improbable to the point of ridiculousness and I don't buy it.

    That Adobe could have figured out how to link to and use objects and functions from Apple's frameworks and figured out what to link to without some amount of reverse engineering just stretches credulity given how much of the iPhone's internals are not documented officially. Adobe's trying to make it sound like it was just a matter of compiling down to ARM assembly code and they didn't need to reverse engineer anything to do that. But it's not as simple as that. These generated applications have hooks into many of the existing Apple frameworks, including UIKit, OpenGL ES, Quartz, Core Animation, and Audio Queue Services. They are leveraging Apple functionality to do a fair chunk of the work, which means Adobe did more than just compile ActionScript to execute on the iPhone's ARM processor. A lot more.

    Even if they didn't reverse engineer anything, I would put forth that Flash 5's iPhone application generating ability IS a derivative work under section 2.5 of the iPhone SDK agreement. This would seem to be precisely the type of thing that Apple was trying to prohibit when they put that clause in the contract, so even if Adobe was completely above-board and did no reverse engineering, I think there's still grounds to allege they are in violation of the SDK agreement.

    At very least, I would say that there's sufficient grounds for Apple to bring legal proceedings if they choose to. They could very likely get an injunction to prevent Adobe from releasing the iPhone portion of Flash CS 5 if they wanted. I have no idea if Apple will go this route. I honestly doubt it's their first choice for dealing with the situation, but it's an option that's available to them and, therefore, is an added risk for Adobe and any Flash Devs who choose to use it.


It will be interesting to see how things unfold. The technical questions will eventually be known. At some point, we will be able to compare Objective-C and Flash-generated apps and get some concrete data about their size, efficiency, and performance. For the rest of it, the ball is really in Apple's court. Until Apple makes their next play, we don't really have an inkling of how this will all play out. Everything from Apple embracing Flash IPhone apps to an all-out war with Adobe is within the realm of possibility.

Selasa, 06 Oktober 2009

Sue Me, I Think Developers Should Care

James Higgs has a different take on MonoTouch and Flash for iPhone. You should read it. It's good to see other points of view.

That being said, I can't say that I agree with most of it. Indeed, I feel like James is missing the point and misrepresenting the point of view of well-respected members of the Objective-C community by cherrypicking individual tweets. The fact is, I agree with both tweets referenced in his blog post, even though they come off as a little crass and even elitist without context and given that the authors had only 140 characters to make a point.

To highlight my main difference with James' opinion, let me respond to his concluding paragraph that he seems to think no reasonable person could have a problem with, and tell you my problem with it:
It boils down to this: if MonoTouch and Adobe’s Applications for iPhone platform are no good, they will die. Developers who use them will sell fewer apps in the App Store. Objective-C developers will carry on developing apps in their preferred style and creating apps that sell well. But if the rival techniques are sound, everyone gets to write great iPhone apps, and the result is happy users, and an even wider adoption of the iPhone platform.
Here's the key point missed. It doesn't boil down to that. If MonoTouch and Flash for iPhone are no good, they won't die for a reason James himself pointed out earlier in the same posting: the users don't know or care how the application was created. If MonoTouch and Flash applications are slow and crash or use gobs of memory or break under future versions of the iPhone OS, the end users aren't going to take away a negative impression of Adobe or Novell, they're going to think "Apple Sucks". They're going to blame the iPhone. It will affect the users' opinion of the individual developer, sure, but first and foremost it's going to affect the users' opinions of the iPhone as a platform.

I'm pretty sure Apple will have a problem with that. If one app sucks, it's no big deal. If there are hundreds or thousands of apps that all break or perform poorly, that's going to impact the overall perception of the iPhone.

I, personally, have a problem with a developer who feels entitled to be able to develop for a platform without investing the time to learn the language or frameworks that platform was built around. Languages affect design. Objective-C has greatly affected the design of the iPhone application frameworks and, indirectly, the experience of iPhone users. If you can't be bothered to learn that, to understand the iPhone experience completely, that tells me that you just want a piece of the pie. You see something that's been phenomenally successful, and you want to be able to take advantage of Apple's success to make some fast money, but you're not willing to understand at even a superficial level the engineering that underlies that success.

This is vitally important on an embedded device. On a desktop computer, we can tolerate Flash because we have crazy fast processors, gobs of physical RAM, and full virtual memory. On the iPhone, the processors speeds are about ten years behind the desktop, we have a fraction of the RAM, and volatile memory won't get paged out to swap, so memory use and processor use are vitally important. Yet I should be "okay" with someone who wants to develop for the platform and is either ignorant or cavalier about these things? I don't think so.

A few paragraphs earlier, James says
Like me, many developers will welcome the chance to learn a new language and a new platform But many will just want to write an app and get it into the hands of their users as quickly as they can. (emphasis mine)
Exactly. That's exactly what I have a problem with. Getting an app into a users hands as quickly as possible is not a virtue. Getting an app to the user when it's done, and good, and well-tested, and performing well is. I don't want this mentality. I want developers like Snappy Touch, who obsess over the user experience. I want developers like Imangi, Flipside 5, Tim Haines, and the countless others who cared enough to dive in and learn the platform, learn the language and tools, and deliver great user experiences on the iPhone despite having to learn to do it. I want developers who care. Developers who care, care enough to use the right tools and invest time learning about their platform and about the users of that platform.

Part of the iPhone's success is exactly because there is an obstacle to entry for developers. It's not insurmountable, in fact it's pretty darn low, but it has tended to keep out the worst of the opportunists and hammer developers, and that's been a good thing. It's not a perfect environment, but it is pretty awesome, and it's a darn sight better than it would be if flooded with people who can't be bothered to learn a bit about the platform that they want to milk for all it's worth.

Here's another thought. Even with just Xcode and Objective-C available for building iPhone apps, the app review team at Apple is completely swamped and overrun and has a very difficult job. Do you think flooding the app store with iPhone ports of every crap Flash game in existence is going to help that situation? Hell no. It's going to make the situation so much worse. Now, try and tell me with a straight face that that isn't going to happen the second Flash 5 is released to the public. Of course it is. Every Flash developer is going to raid his or her portfolio for stuff they can quickly throw up on the App Store to try and make a quick buck.

Yeah, gosh, how could anybody not want that? That will make things so much better for iPhone users.

I don't know what Apple's going to do, but if it were me, I would let Adobe know, in no uncertain terms, that Flash apps are not welcome on the App Store and that Flash developers are more than welcome to come learn Objective-C and Cocoa Touch. If I were Apple, I'd be pretty darn annoyed at Adobe's insistence and willingness to resort to borderline unethical behavior to steal a piece of the iPhone and App Store pie, and I would take steps to protect the quality of the user experience on the iPhone, even drastic steps if necessary.

But, I'm not Apple, so only time will tell.

Senin, 31 Agustus 2009

Click-to-Flash

Just thought this was an apropos time to mention Wolf Rentzsch's wonderful Click-to-Flash, which disables the Flash plug-in from working in your browser unless you specifically authorize it. It's a wonderful tool that any Mac user should have installed (except you Flash developers, of course).

Flash Post Mortem

Okay, this is going to be my last word on Flash for a while. As fun as this has been, beyond this, I think that things will begin to get counterproductive and I have a lot of stuff I have to get done in the next few weeks.

I do appreciate everyone who took time to point out their perceived flaws in my argument, and to everyone who provided links and information about the Flash Platform with regards to the mobile web. Nothing I saw changed my mind about the future of Flash as a web development tool, but I feel better informed about Adobe's desperate attempts to hold onto the position they've carved out for themselves on the pre-mobile web.

Even if my predictions are completely wrong and Flash manages to survive as a dominant web development tool, it won't change my conviction that it's simply the wrong paradigm for the vast, vast majority of web development tasks. It's a fine tool for interactive presentations, kiosks, and limited cross-platform development. But for the web? It couldn't be a worse tool. Sorry. I know many of you disagree with me on this, but I've used a lot of web development tools and visited a lot of websites over the years on multiple platforms and Flash is just a back-asswards approach to web development. If Adobe changes the fundamental architecture of the platform, then I'm open to re-assessing Flash's worth, but until then, any enhancements or new features are nothing more than turd polishing. The shiniest, most jewel-encrusted turd, is still a turd.

But I'm completely unconvinced that Flash is going to survive the growth of the mobile web, at least as the dominant player it has been. Here's the thing that's missing. Adobe has created a consortium to get Flash on to "billions" of mobile devices. Who's not on that list right now? Apple and RIM, makers of Blackberry. When you look at the mobile web, either by units or packets transferred, those two have the lion's share of the market. Having a consortium to promote something on the mobile web without those two participating would be like having a consortium to develop standards for the regular web without including Microsoft. If you can't get at least one of them, and probably both, Flash is a dead end for the mobile web. That's just the political reality. Even if you can get RIM, you've still got the single largest smart phone in terms of units, packets transferred and, certainly, mindshare not participating in your "consortium". So, are companies going to want to do their sites one way for the iPhone and another for everyone else? Or are they going to start veering towards the open standards that will work on all devices? I think the slow move toward standards whenever feasible has already begun and eventually Flash will be left to handle the small number of niche jobs that can't be handled using Javascript/HTML/CSS.

On top of that, as long as Apple is in the position they're in with the iPhone not supporting Flash, other phone manufacturers are going to view mobile flash as "not mission critical", even if they join your consortium and let you put their logo on the consortium's web page. As long as that's true, these companies are going to view Flash as a potential marketing advantage and nothing more. They'll list it as a feature they have that the iPhone doesn't, but they're not going to expend huge resources making sure it's wonderful, because it's already been proven that people will buy smart phones that don't have Flash. These companies will do just enough to be able to put "Flash-enabled" in their ads and that's it. Again, it might not be right, but it is the political reality of how decisions are made at large companies. There's always too much to do and too few hours, and if you can't convince them all that Flash is mission critical, they're not going to pull resources away from other things to get it done.

Now, if Apple and RIM get onboard with Flash, that completely changes the political landscape. It won't change my mind about Flash being a poor choice for most types of web development, but it certainly will change its future viability substantially.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Lady Gaga, Salman Khan