Cathode Tan - Games, Media and Geek Stuff
logo design by man bytes blog
Showing posts with label adobe. Show all posts
Showing posts with label adobe. Show all posts

Thursday, September 09, 2010

Apple Quietly Reverses Developer Tool Ban

Apple did not specifically mention Adobe — though investors drove up shares of the company up 12 percent on the news — but the changes seem to mean that you can use Flash to develop your apps, and then compile them to work on the iPhone and iPad with a tool called Adobe Packager. This could be boon to publishers, including Condé Nast, owner of Wired, which use Adobe’s Creative Suite to make print magazines and would now be able to easily convert them into digital version instead of re-creating them from scratch in the only handful of coding languages Apple had allowed.

To be clear, that doesn’t mean Flash is coming to iOS as a plugin: You still won’t be able to view Flash content on your iPhone, iPad or iPod Touch. This change in Apple’s policy just means developers can use third-party tools such as Flash to create apps sold through the App Store
-- Apple Eases App Development Rules, Adobe Surges[Wired]

For all the bluster that roared from Apple on banning the use of tools like Adobe's Packager, including a strongly worded essay from Jobs which essentially ignited the debate on HTML5 versus Flash/RIA/the world, it has now softly backed away from the stance that such tools would lower the quality of the App Store and let developer use them.

Why? Well, possibly because Apple's reasoning was mostly PR nonsense designed to look like a strong technical argument ... but I have to somewhat doubt that really factored much into the equation. This is Apple we're talking about here and the company has been able to use PR to defy gravity countless times before.

The more prominent, and probably more likely, theory, is that Apple decided it wanted to trot out that amazing Epic Citadel demo (which is, by the way, truly amazing - at least on the iPhone4) they realized that there would be no way to unleash it onto the world without subsequently backing off on the whole third party development tool.

Epic's bread and butter, after all, is the third party development toolset which allows for other companies to license their technology for games ... and a huge feature of that is UnrealScript - a specific language the engine uses and how the majority of Unreal games are coded. To have shown the demo and then not change their policy would have just been an enormous tease.

And to change the policy to only let Epic in would likely have brought anti-trust champions bearing down on Steve Job's office door.

So it's true - you can probably thank video games that Apple has come to its senses.

Tuesday, September 07, 2010

Land of Me And The Wilderness Downtown: AIR and HTML5 Demos

I love mornings where new things land in my lap. First was an email asking to go try The Land Of Me, an interactive children's story/game developed in Adobe's AIR. Designed for preschoolers and with Prof. John Siraj-Blatchford from the The University of Swansea - The Land Of Me looks to be a delightful artistic romp ... well, if you're around two years old. There is a free chapter to download and try and since it runs on AIR - the game runs on most PC's and Mac's.

A few twitters also pointed to The Wilderness Downtown, probably best described as an experimental HTML5 video mashup with Google Maps. It's an interesting concept which mostly works - currently best serving as an example of what using the HTML5 video tag might mean down the road. It is, however, specifically designed for Chrome - though it appears to work in Safari, those certain devices using Mobile Safari need not apply.

Enjoy, peeps.

Thursday, August 19, 2010

OMG STEVE JOBS WUZ RIGHT! (WAIT ... what?)

This is insane:

How bad is mobile Flash? When I went to ABC.com and tried to play a clip, I waited five minutes while the player said “loading.” During that time, it was nearly impossible to scroll around the page or tap objects on it. Eventually, I scrolled up to see a message that was previously obstructed and said ”Sorry. An error occurred while attempting to load the video. Please try again later.” It gets worse…

When I visited Fox.com and tried to start an episode of House, the program actually played but, even over Wi-Fi, the playback was slideshow-like. Worse still, the player became unresponsive as it ignored my attempts to tap the pause, volume, and slider buttons.
-- Mobile Flash Fail: Weak Android Player Proves Jobs Right [LaptopMag]

OMG! FAIL! STEVE JOBS WAS SO RIGHT! Wow, thank god I have an iPhone. I'll just go right over to ABC.com and watch me up some shows.

Um, ok ... here we go:



Oh, uh. Oh, right. Steve Jobs said plugins are bad and that we should be using native apps for anything cool. Apparently HTML5 video wasn't, um ... I dunno. Around or something. So I'll go download that app now and...



Well, that's embarrassing. I guess before you go pronouncing the Steve Jobs was right and that Flash has failed - maybe ... just maybe, you should actually compare it to something in reality.

Monday, June 07, 2010

Thoughts On HTML5

My current project has dragged me through the rails of HTML5, with the luxury that we're targeting WebKit (Chrome specifically) alone. So I can conveniently ignore a lot of the current disadvantages of working with HTML5, or rather the main one - that 90% of the web has no idea what the hell it is - and focus on the positive.

Since Apple declared that HTML5 would destroy all plugins, there has been rather sudden amount of marketing and attention to the specification. Some of this may be good, as most web specs don't get decent advertising ... but marketing can control the message, and messaging can impact how developers tackle new technologies.

Which can be dangerous. For one things, HTML5 is not all about plugins. Here's a few notes I've had since working with HTML5.

Flash and HTML5 can (and will) co-exist
Steve Jobs would like to have people think that HTML5 and Flash are some kind of binary decision. What HTML5 is providing in terms of audio and video is a rather logical and much needed update to the way web pages handle assets. Since the web was young, the image tag has been foremost in people's minds and has been slowly appended to include rather advanced features. All the while video and audio were relegated to various kinds of plugins.

Take Timex as an example. They have their Flash lead banner, with rich interactivity and animation, and they have a simpler HTML item scroll beneath it. It's actually a very good use of both Flash and dynamic HTML.

Could the canvas tag be made to replicate the Flash banner's smooth animation and interaction? Perhaps, but unlikely. And the reason why Flash is going to be around for some time is that the pipeline to create that animation? That's all Adobe. From Photoshop to Flash Studio - developer use Adobe products to create these kinds of products.

Or in other words: HTML5 probably won't be a complete replacement for everything Flash does a) performance for the canvas tag is increased, b) the complexity of dealing with SVG is decreased, and (or essentially) c) until Adobe designs the toolset to to make HTML5 as powerful as Flash.

And these thing may never happen. Which is fine - plugins have existed to give browsers functionality they wouldn't normally have. HTML5 gives web developers more options, but that doesn't mean we need to start taking any away.

To truly sum it up: Flash is not the blink tag.

HTML5 extends the browser
If we can ignore the fact that you'll be able to sometimes embed videos without Flash, there's a larger picture about the new features. If anything, it seems that the real goal of the HTML5 seems to be about extending the reach of the browser to your desktop and the world around you. With an offline database, geolocation, web workers and web sockets HTML5 browsers are poised to be able to offer new capabilities to enhance the things people do today in the social networking world.

Theoretical example: Twitter could have a whole new concept of local trends. Background processing could localize tweets only within a 50 mile radius of your current location and provide a list of current hash tags. Or why not 50 feet? See what trends are occuring in your coffee shop, not your entire city. Meanwhile your offline storage is tracking tweets you've replied to and retweeted - essentially creating a potential recommendation list for future browsing.

HTML5 extends the concept of a website
When I first encounted the concept of offline web applications I dismissed it as merely a more intelligent cache scheme - which isn't necessarily a bad thing, but not really a wonderful thing.

The more I tinkered with it - the more I realized, though, that works in a very subtle way with the rest of HTML5 to blur the notion of a website and an application. If you go to ebay.com right now, you are very clearly going to a website. More than likely anything you haven't recently viewed will be downloaded for the browser to render, the same with everything else on the rest of the website.

Browsing as normal, right? OK - now think of ebay.com as just the place you go to get the initial download of ebay's web application. As you browse, ebay's manifest is storing all the important assets you need to use ebay on your drive. Not in a transitional sense, but a rather permanent one. You'll use this version of ebay's website - online or offline - until you intentionally remove it or ebay updates the manifest.

First you'll notice everything is faster, because fewer assets need to be loaded per page load. Also, any mobile functionality could be automatically provided to you. Static information about your account, etc., could be stored in the database. You really only need to call out to the server for search results and to get the latest update on that bid you've made.

The bottom line: if ebay were to deliver a desktop application for you to use, it would probably look a lot like this. And you didn't have to do anything to install it but browse to ebay.com, and to load it again - just return to ebay.com ... even if you aren't online. Looking for the details on that gizmo you bid on last week? Just go to ebay.com, head to your account and pull it up. Ebay's server won't need to be hit once.

HTML5 is very suitable to tablets
A large screen on a mobile device? With GPS? Yeah, trust me - people haven't even scratched the surface of how functional web apps can be on tablets.

The Chrome Web Store Gets It
When I saw Google announce the Chrome Store during I/O this year, it became apparent that their strategy around Chrome and Chrome OS is a tightly woven web. Google is clearly going to be championing this kind of development and providing a marketplace around it. Interesting that Apple is doing a lot of podium pounding about HTML5 and yet web apps are still treated like second rate citizens when it comes to the iPhone OS. Installation is a bit of a mystery to most users, with no real indication of the difference between a bookmark and a web app, and management is limited to mostly just deleting. Chrome, Chrome Store and Chrome OS will probably provide users with a fully functional interface to find, purchase, install and maintain web apps in much of they way they deal with desktop apps today.

So it will be interesting, as HTML5 continues to mature and feature adoption increases. It's not a small change to web standards, or more specfically - web features ... and it certainly isn't all about plugins. To think of HTML5 as the replacement to Flash is narrowing the concept down to a point where it just isn't useful.

Friday, June 04, 2010

For Apple, Web Standards Equals Safari Only

Apple's campaign to push HTML5 as the alternative to plug ins has taken a very odd turn. They've added a page to Apple.com to demo HTML5 with this particular twist:

You need to use Safari to access the demos.

Now, I'm browsing in the latest version of Chrome - which also uses WebKit for rendering and JavaScript. I'm sure there is a fork in the road from the Chromium project but they should be extremely close when it comes to features and standards.

And Apple won't even let me use that.

Instead of championing the supposedly future thinking open development that Jobs insists is superior to the "old ways" - the page highlights exactly what is wrong with the stance Apple has taken. First, net users have never really cared if a feature set is blessed by some committee - they want things to work in the browser of their choice. Second, Apple's concern for the use of these standards is directed in one direction: users of Safari ... and in reality, users of Mobile Safari.

Together and you can see that this is actually the same strategy Apple took with the cross-compilation issue. They're not concerned with creating content consumable across the net - if they did then they wouldn't block this demo down to Safari and conversely, developers would not need to worry about an iPad version of their website. No, they are concerned with content which falls under the umbrella of Apple software.

Monday, May 03, 2010

Flash Against The World: Everyone needs to calm down

Job's open letter seems to succeeded in at least one task: it has kicked off a flurry of conversation which isn't entirely about Apple shutting out a major form of web development. Microsoft just found itself explaining an earlier post about HTML5 video support which people mistook for "dropping" Flash, where in reality plug-ins will work in IE9 as one would normally expect (and really, why wouldn't it? Microsoft still delivers Silverlight via plugin). Anyone who thought Microsoft was going to "ban" Flash needs to take a few steps back: Microsoft isn't deploying a closed box consumer product where they control all the software that goes on it - they're developing a web browser. It's like comparing apples and bromide, and there's no logical reason why IE9 shouldn't be running all the Flash apps out there. Doing otherwise would be browser suicide.

Then you get the other side of crazy, like this post on Beatweek about why we should bash Flash - which is just as much flame bait as it sounds like, describing Flash as "outdated junk from the Geocities era" and calling for it to be summarily executed. Which is patently ridiculous - Flash holds a position on the web which cannot currently be replaced.

Let me say that again, as it may keep people from freaking out prematurely: Flash holds a position on the web which cannot currently be replaced.

Here is reality:

  • About 95% of all web browsers currently surfing the web have some form of Flash installed. For delivering video, audio and RIA (Rich Internet Application) content for the majority of the web, it is not only the de facto solution - there is essentially no real competition for it. Microsoft is making inroads with Silverlight, but Flash is still king.

  • And for the record, 95% is probably a conservative number.

  • HTML5 isn't even finished yet, and even the latest builds of browsers only have partial implementations. HTML5 is not a product being released by a single company, but a standard being developed over time by a large group of people.

  • A subset of browsers have access to a subset of HTML5 - but not the same subset. The canvas and video tag is relatively well adopted, and support for offline application (offline cache and databases) is growing. Support for the audio tag is growing as well.

  • Like every other introduction of new web standards, every browser has slightly different implementations of the features they support.

  • In the near term, the video tag will offer a non-plugin route for specific video formats for some browsers, most notably mobile browsers or browsers released for recent hardware platforms (i.e. tablets or netbooks). HTML5 is not currently ready to replace Flash for other uses, like sharing audio (Pandora) or Rich Internet Applications.

  • As of March 2010, Internet Explorer 6 - which isn't even a completely HTML4 standard browsers, still represents 20% of worldwide Internet traffic.

    Short, short version: when you pull the focus back to the Internet at large: Flash is still a necessity for delivering rich content. A recent video highlights the distinctions quite well. You can also read a recent Gartner post reaching much the same conclusion.

    Apple doesn't really care much about the Internet at large, they are far more concerned with the Internet at the very small: on the iPhone and iPad. Jobs has a set this up as a "past versus future" argument - but that is far too myopic to be useful. This is a PC versus mobile argument - and even more of a "PC versus PC-like mobile devices" argument. And this evolution is real, as others are noting:

    Anyway, here's Steve Jobs' strategic dilemma in a nutshell: the PC industry as we have known it for a third of a century is beginning to die.

    PCs are becoming commodity items. The price of PCs and laptops is falling by about 50% per decade in real terms, despite performance simultaneously rising in real terms. The profit margin on a typical netbook or desktop PC is under 10%. Apple has so far survived this collapse in profitability by aiming at the premium end of the market — if they were an auto manufacturer, they'd be Mercedes, BMW, Porsche and Jaguar rolled into one. But nevertheless, the underlying prices are dropping. Moreover, the PC revolution has saturated the market at any accessible price point. That is, anyone who needs and can afford a PC has now got one. Elsewhere, in the developing world, the market is still growing — but it's at the bottom end of the price pyramid, with margins squeezed down to nothing.
    -- The real reason why Steve Jobs hates Flash

    Don't be mistaken: I think HTML5 holds a lot of promise for the web, especially for allowing the Internet to behave more like native applications in general. I think over the next couple years the overlap of HTML5, Flex, and other RIA tech like Silverlight will be quite interesting. Right now if you have an audience you can hook into Chrome or Safari, HTML5 holds some interesting possibilities. I actually think HTML5 is pretty awesome and am quite happy to be taking it out for a ride, professionally speaking, lately.

    That doesn't mean Flash is teetering on an edge, however. Let us also note that Jobs' solution to a lack of Flash on the iPhone and iPad was not, by any means HTML5. If you thought that, you didn't read closely enough. Jobs is clearly saying: anything you can do in Flash, you can code in Cocoa.

    So everyone relax: the majority of piano playing cats will be delivered tomorrow much in the way the way they were yesterday, and that will continue for some time to come.

  • Thursday, April 29, 2010

    Steve Jobs Isn't Wrong (But That Doesn't Make Him Right)

    Steve Jobs has written one of his rare open letters, this time about the whole Apple versus Adobe thing.

    Please assume all the following quotes are from the above link.

    Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true.


    Just keep that in your hat for now, we'll return to it later.

    Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc.


    This is largely true, although Flex, which compiles into Flash, has open source components, and Flex Builder is based on Eclipse. Adobe has other side projects available as open source, but in large - Flash is a black box product.

    The setup is similar to Apple's. Darwin is open source. OS X is not. Jobs describes this as such:

    Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript...


    The short version of this is: Apple is closed too, except when it comes to the web. Unless that part of the web uses plugins.

    So what of plugins?

    Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads. YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices...


    So there is an interesting slight of hand here. You can't access YouTube videos using Mobile Safari. You need to go to the YouTube app from Apple. So Job's "open" version of the web is whatever can be accessed via Mobile Safari, unless it is a plugin - and then you need to get an app from the App Store, written primarily in Cocoa (which is not open) and view it from there.

    Of course, developers could also use the video tag implemented in HTML5. While that would reach the entirety of iPhone users - it would only reach a small minority of Internet users in general. Apple could solve that dichotomy for developers by allowing Flash, but they won't.

    Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free.


    Interesting how Jobs has gone from saying "we're open, and they aren't" to "if you can't use their closed system, you should use our closed system."

    How was this not about business again?

    Besides, it misses the point entirely. The Flash developer community is huge, second only probably to the more generic "web developer" title - which pretty much describes anyone with anything more powerful 1998 Thinkpad and an HTML reference guide. The Flash game developer community is likewise huge. It's also important - Flash is an entry ground technology. Alien Hominid, a popular console game which began life as a Flash game. Tower Defense didn't really exist as a genre until Flash TD.

    Cocoa ... and don't me wrong, I rather like Cocoa as a language, but Cocoa is none of those things.

    Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash.


    From everything I can ascertain, this is true. Daring Fireball summed up the stability question quite well. However, as Gruber also points out, Flash is one of the most widely used and processor intensive functions for OS X. So, this statistic probably should be no big surprise. If everyone out there used Eclipse instead of surfing YouTube, it would probably be a different story.

    Will HTML5 based video be more stable than Flash? Who knows. Possibly. Possibly not. Again, the usage of the new media tags is so small and the implementations of them so new, the jury hasn't even convened yet. Personally, I can crash a browser pretty easy double buffering two audio tags (don't ask) with enough time. And I can do that in WebKit.

    In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it.


    Well, that isn't entirely true. There are Flash games which got compiled into iPhone apps with beta versions of CS5. Adobe has a list of them. And they perform just fine. But if Flash isn't performant - isn't that Adobe's problem? Along with the stability question - Apple leaves the ultimate responsibility of these things, whether built with Cocoa or WebKit, on the developer. If my web page or app crashes, that's not Apple's fault - that's mine. So why does Apple take the stern parent approach with Flash?

    Again - how is this not about business again? What Jobs is saying isn't false or wrong, not entirely or mostly at least ... it's just a massive distraction from the real topic at hand. Developers could create apps with Flex or Flash that don't crash, that look good and that perform well.

    So why should Apple stop them from doing so? Remember - even if Apple didn't allow plugins to operate within Mobile Safari because of performance, stability, security or whatever - Adobe's compromise was to have Flash be reviewed and deployed just like every other app on the App Store.

    Job's response:

    This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.

    Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.


    So, dear reader, you see - Apple is protecting you. It isn't that Apple is blocking a massive community of developers from offering their applications from the App Store ... it's that Apple is keeping those substandard apps which might not take full effect of Apple's innovation. You didn't buy that fancy iPhone to get the same Flash app that can be played on a Google smartphone, after all.

    No. Apparently, you bought it for the fart apps, which at one point were making $10,000 a day off the App Store. Or perhaps you want an app about smoking in a group.

    And if you want an app about shaking a baby to death or political satire ... you may or may not be out of luck - Apple approves and then later rejects those kinds of apps. Or the other way around. It's hard to keep track.

    So just remember:

    Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true.


    Remember that when you are using your iPhone in its sealed case, connected to your computer with a proprietary cable, which connects to the closed source iTunes which downloads DRM controlled content written in a closed source language to be run on your closed source operating system, provided that content passes review by a process so secret that most people at Apple can't even describe how it actually works.

    God damn you, Steve Jobs - now you have me sounding like Cory Doctorow. For that alone, I should buy a Nexus One. I was willing to put up with all of the above and even the obnoxiously chaotic App Store review process when I thought Apple could at least embrace a development community which wasn't controlled by Apple. I even like HTML5 quite a bit, but I don't believe Apple should be in the business of telling me I have to use it over Flex simply because Flex is built by a different company.

    That's not a technology strategy.

    That's a business one.

    Plain and simple.

    Friday, April 09, 2010

    Adobe Evangelist to Apple: Go screw yourself

    That's the message from Adobe Platform Evangelist Lee Brimelow on his latest blog post, speaking purely for himself he is keen to say - which is probably an understatement for what may be the most widely read post by Adobe lawyers...

    While the firebrand stuff is fun, let's get to the meat of it:

    Adobe and Apple has had a long relationship and each has helped the other get where they are today. The fact that Apple would make such a hostile and despicable move like this clearly shows the difference between our two companies. All we want is to provide creative professionals an avenue to deploy their work to as many devices as possible. We are not looking to kill anything or anyone. This would be like us putting something in our SDK to make it impossible for 3rd-party editors like FDT to work with our platform. I can tell you that we wouldn’t even think or consider something like that.


    Lee's previous posts show that he was clearly engaged on the Flash on the iPhone side of development, so this has to be a pretty serious slap in the face. It's an odd intersection of company politics. As someone noted elsewhere: Adobe's goal is to get Flash on as many devices as possible. Apple's goal seems to be to promote as Apple specific of an agenda as possible.

    Rumor Mill: Apple Blames Multitasking For Flash Ban

    The primary reason for the change, say sources familiar with Apple's plans, is to support sophisticated new multitasking APIs in iPhone 4.0. The system will now be evaluating apps as they run in order to implement smart multitasking. It can't do this if apps are running within a runtime or are cross compiled with a foreign structure that doesn't behave identically to a native C/C++/Obj-C app.

    "[The operating system] can't swap out resources, it can't pause some threads while allowing others to run, it can't selectively notify, etc. Apple needs full access to a properly-compiled app to do the pull off the tricks they are with this new OS," wrote one reader under the name Ktappe
    -- Mac Rumors (via Apple Insider)

    So you can't create a Flash app because of an OS that hasn't been released yet with a feature for essentially one of the iPhone models (and later, iPads). Wow - hope that face didn't need that nose after all. Even if this is accurate, it hardly sidesteps what is a big old FU to Adobe in terms of timing and a complete lack of conversation on the topic. Also, it seems a bit of an artificial crisis - I'm to believe that all Cocoa and all Carbon apps will play nice with the new multitasking API whereas Flash ones would start crashing phones? That doesn't sound sophisticated ... that sounds fragile.

    Apple Tightens The iPhone Hegemony: No Flash Apps

    This news is really just hitting, so there may be many slings and arrows of facts and opinions going around, but it seems like John Gruber's popular Mac blog Daring Fireball picked up on the fact that the new iPhone developer agreement insists that "Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs". (Daring Fireball / iPhone Developer Program License Agreement).

    And for those scoring at home, linking against undocumented APIs was already a huge no-no...

    So what does this mean? Well, since Adobe has released an "export to iPhone" feature for CS5, our office has been attempting to port our Flex and AIR concepts over to the iPhone and more recently the iPad. Gruber points out that these apps will be prohibited under the new agreement because they weren't originally written under one of the now blessed Apple languages. Essentially Apple is saying that if you didn't compile using either their chosen framework (Xcode) or a technology so transparent nobody cares (WebKit) ... you can take your ball and go home.

    This is moderately huge for Adobe, which has made a large push in having CS5 be iPhone ready. Many in the development community saw this as a kind of compromise - Apple wasn't going to give in when it came to embedded Flash in WebKit (which they would have no control over) but Flash developers could still submit apps in for review and have them posted on the App Store like other apps.

    Gruber puts it in more sanguine terms:

    There was no mention of this change during the announcement event today, but the language in the agreement doesn’t leave much wiggle room for Flash CS5. It could hardly be more clear if they singled out Flash CS5 by name. (Wonder what Adobe does now? CS5 is this close to release and the iPhone compiler is the flagship feature in this version of Flash. They’re pretty much royally fucked.)
    -- New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler

    On purely technical terms, I can think of one and only one reasonable explanation for this move. I'm a bit rusty on Apple's inner workings, but I believe when an Xcode compiled app is bundled up to Apple for review - Apple can examine the source code. Some developers who have attempted to bury features within their application to avoid review have discovered it isn't quite so simple. A CS5 compiled application may circumvent all of that as the code never existed in a known Apple framework like Cocoa (Obj-C) or Carbon (C/C++). Since WebKit tech isn't compiled, it gets a free pass as well.

    Of course - it would seem like allowing developers to submit source code might be a more rational route than simply giving Adobe the one finger salute.

    If we look at it from non-technical terms, things get even murkier. Gruber suggests this isn't singling out Adobe, but is creating a boundary specifically at Apple's own framework and hence also exiling MonoTouch and the like. A way to paraphase this angle is that Apple doesn't want to devalue the Cocoa application framework by having other frameworks sail in the same harbor.

    I think it is overly kind to suggest that Adobe isn't the main ship down the irons of Apple's cannons, though.

    From my perspective - I think Flex and AIR are very capable development frameworks which bridge the gap for many coders between the worlds of native and web applications. AIR, for the record, has many of the same restrictions that a normal web application would have - it just offers decent hooks into certain native level pieces of functionality like notifications, limited file support, and an integrated database. What I think really sucks is that both Adobe and Apple are looking specifically at Flash ... and as I've said many times: Flex is not Flash. AIR is not Flash. They compile to Flash, sure, but they're very different beasts. The iPhone and the iPad could benefit greatly by these technologies by lowering the barrier of entry to creating iPhone apps. The suggestion has been made many times that Apple's main concern with Flash is a potential competitor to iTunes for music and video consumption. OK, fine - but does that mean there is no review process which could allow someone to write a decent data driven app?

    Honestly, I think both Adobe and Apple are getting it wrong by focusing on Flash over AIR. AIR is far more akin to WebKit development than Flash development. Basically compiled web technology, AIR uses XML and ActionScript instead of HTML and JavaScript. The advantage is that AIR provides a robust component library and the previously mentioned hooks into the native OS (via the VM). Flex is AIR without those hooks, running in an embedded instance.

    If AIR were a viable development option for the iPad, it would give developers a logical three stepped option for coding: purely native in Cocoa/Carbon, compiled web technology with native hooks a la AIR and uncompiled web technology via WebKit.

    The kicker is that Apple's actions will only drive more developers to the latter. Which offers a great deal of functionality with HTML5 - but would still lack key integration with components like the iPhone's camera (AIR could provide that with the VM).

    Anyway, I think the short, short version is that this sucks. I rather like Objective-C and iPhone development in general, but this feels like a scorched earth policy to maintain a tight grip rather than a positive for anyone but Apple.

    Tuesday, October 06, 2009

    Flash Apps On iPhone

    From EverythingFlex:

    So today at Adobe MAX a huge announcement came out. We now have special tooling that allows you to use the Flash Platform to build applications for the iPhone. Flash developers will be empowered to use their existing skills to construct applications for iPhone that can be distributed through Apple’s App Store. No promises but the betas of this (CS5) should be available by the end of this year.


    Exciting stuff. It sounds like plan won't necessarily allow for Mobile Safari to have a plug in, but that developers will be able to develop with Flash/Flex and then go through the App Store routine to get distribution. So this might not be the golden ring everyone wanted (to use their favorite flash-enabled sites), it is quite interesting for experienced Flash developers.

    See some examples and a few FAQs over at Adobe.

    Monday, February 25, 2008

    Adobe's AIR Goes Gold

    The New York Times covers Adobe's release of AIR into the wild. Model Metrics gets a few blurbs in the process and a front row seat on the launch page.

    Going gold is excellent for us as we've (and by we, I mostly mean Jason) been fighting with rolling betas since AIR was Apollo. A solid runtime gives us more reliability to send stuff out into the wild.

    The big talking point here will be "browser versus the desktop" since AIR takes browser based development, adds a lot of functionality and throws it all into a cross-platform cooker. I'll be honest and say I don't really see the battle as a battle. Some things I'll want to have as integrated pieces within a website and that will be Flex. Some things will have requirements Flex can't support (like offline data work or system level access) and those things will be AIR. One of my angles, for instance, is to build apps that access one's Salesforce.com organization continually outside of the browser. So that will be an AIR app that someone can always access without having to login through Firefox, for instance. Some things, though, will just be rich content associated with established pages, hence they'll be Flex.

    I've rambled about Flex and AIR before. I've never been a huge fan of Flash, largely because the development environment rubs me the wrong way. Flex, though, only uses Flash as an endpoint. The development is more akin to HTML/Javascript except it's XML/ActionScript. So basically like AJAX development but with a real compiler and variable types.

    So huzzah to Adobe.

    Wednesday, October 24, 2007

    TV Schedules On The Wii

    If you head over here, you'll see a page which lists the shows The Girl and I are interested for the evening. It's formatted (albeit crudely, hey - I did it during commercial breaks for House and Damages last night) for the Wii. The buttons on the top and bottom will scroll when clicked on.

    To enjoy this for yourself, you'll need to do the following:

    1. Get a Wii (plus access to some kind of HTML editor and a web server)
    2. Go sign up for an account at MeeVee.com
    3. Search or browse the schedule and get some favorites (shown by the heart). Note that you can also fave by genre, which is handy when you just want to know what westerns play on Saturday.
    4. Head to their services and find your RSS link
    5. Add this feed to Google Reader under the tag/folder "tv"
    6. Go into the settings of Google Reader and under "tags" make "tv" public
    7. Right click, or head over and "view source" and save my current page onto your computer.
    8. On the tags page of Google Reader's settings, go to tv's public page
    9. In the URL of the public page will be a large number, copy that.
    10. In the source of my page, there will be script tag with a src that looks similar to the public page. Paste your large number over my large number.
    11. Upload your page to a web server and point your Wii to it.

    That's it. Just eleven moderately technical steps. Honestly the best use of the Wii's Internet Channel I could think of and MeeVee's normal page doesn't work in Opera Wii. Sadly, I didn't realize Opera Wii also only has Flash 7 support, so you can see my original Flex implementation is much prettier, took like ten minutes to write and uses the normal RSS feed - but won't run on the Wii. I know Adobe is anxious to get Flash 9 working on non-PC devices - and now so am I.

    Thursday, October 11, 2007

    ActionScript Text Adventure

    To think, someone actually googled for that.

    Yes, mysterious caller without a valid IP, I'm actually working on it right now over lunch. The concept is similar to Randolph Carter but the end result is a lot different. It will be an AIR app and at this rate it looks plausible that I'll at least have a demo by Halloween.

    Monday, October 08, 2007

    More On AIR Game Development

    A couple of links:

    Insult Dueler
    Not just a game but a tutorial on making the game, Insult Dueler, which is based on a Monkey Island mini-game, a sort of rock-paper-scissors meets fencing affair.

    FUZE Map Designer Screencast
    Showing how to use FUZE in AIR to create 2D tilemaps for Flash games.

    Building Games With Adobe AIR
    A blogpost from the onAIR blog about game dev with AIR.

    Enjoy. I would love to get something working by Halloween - but I think I say that every year.

    Saturday, October 06, 2007

    More On Adobe AIR and AIR Games

    I don't really get the opportunity to get wrapped up into a single technology. I don't get the luxury. Closest I got was the fact that Crate & Barrel (my previous employer) was a .Net shop. So I got to consistently dabble in C#. In general, though, a lot of web development is a using whatever pieces you have available. When I got to Model Metrics, though, their focus is to establish themselves as Flex and AIR enablers for Salesforce.com and hence I was very much encouraged to dive into that technology.

    That said, I'll probably also be coding with C#, Saleforce's Apex, AJAX and PHP by the end of this month.

    But Flex, and especially AIR, is really sticking with me. Many might try to dismiss AIR as simply "Flash on the desktop". There's a couple problems with this concept. First of all, AIR isn't Flash on the desktop, it's Flex on the desktop. And while Flex results in Flash - it isn't really Flash like at all. Flex closely resembles AJAX style development by dividing the interface into SGML documents (in this case, Adobe's MXML whereas AJAX relies on HTML), with the glue language being ActionScript 3.0 - which is essentially an extremely mature version of JavaScript (they are both based on the ECMAScript standard, but AS3 has stronger typing and object support).

    So kinda like how Silverlight doesn't compete with AIR ... well neither does Flash.

    AIR provides a cross-platform runtime for developers with largely a web-based background. However, I think that tricks people into thinking it is mostly good for grabbing databases and shoving forms around them. It is good for that, but it's essentially applicable for any desktop application.

    So why aren't there any games>? I think there are, actually, a handful, but not much. Now part of this is because the existing libraries and sample code aren't well suited for game development. There's not exactly a lot of demos on proper collision detection or determining client-side frames per second. But the potential is there - and having beaten my head against the DHTML/AJAX side of things for a while, AIR is mighty attractive.

    And I gotta say - Adobe is bringing on a might big game here. The next generation of design tools, like Thermo, and the new design for MXML components that should make Flex far more versatile - is exciting.

    Right now I'm working on an app called Freeway which uses a lightweight version of the iTunes/podcast model to share AIR applications. Essentially it's a handler to create RSS feeds for your apps, a PHP script to aggregate those feeds, and a reader to track them as well as the ones you've downloaded. I'm playing with Freeway first as a kind of AIR primer, but also because if it got used then it be easier to communicate publishing with other AIR users and developers.

    So, for the indie gaming set - you might check it out.

    Tuesday, October 02, 2007

    Adobe MAX Midway Point

    I haven't been to a proper conference, workwise, in something near a decade - so being at MAX is a bit of a trip. Adobe just acquired Buzzword, a most interesting online word processor. They also announced more online services like Share, which seems like it would be a cool way to distribute documents online, but the beta doesn't seem to be giving me any love right now.

    Most fascinating, however, is Thermo - announced today with no release date, sadly. Thermo allows you to take Photoshop files (properly layered) and convert them into Flex apps by redefining the layers as components. It's seriously one of those apps that once you see it, you wonder if it won't change your workflow in a positive way of the like you'd never want to leave again.

    We've had a chance to show our Accelerate4Pharma application, which runs on Adobe's AIR, during a couple of sessions. I got a chance to talk briefly with James Ward and confess that once I was something of a Flash hater, but now am pretty much entranced by Flex.

    I'm cobbling together an AIR app which, should I actually finish it, might help find other AIR applications and organize them via RSS feeds. I'm still at this point where any excuse to code something is a good excuse and it will force me to try something new (like using RSS feeds as a datasource or cleaning up SQL handling for offline data).

    Right now I'm huddled in a hallway stealing some electricity, though. The actual accomodations here at McCormick can be a mixed bag. Nice rooms, no outlets. In fact the general design theme seems to be to keep chairs away from outlets at all costs. We found a bench next to an outlet, but the outlet was dead.

    To boot, wifi and cell access are dodgy at best. Someone is still looking for the DHCP server, I think.

    Monday, October 01, 2007

    At Adobe MAX This Week



    Work has sent me to Adobe's conference, MAX. Sitting in the general session now. I'll poke my head out when I can. Pics to arrive shortly.