[opendtv] Re: Fwd: Re: Apple loosens its chokehold on app development

  • From: Kilroy Hughes <Kilroy.Hughes@xxxxxxxxxxxxx>
  • To: "opendtv@xxxxxxxxxxxxx" <opendtv@xxxxxxxxxxxxx>
  • Date: Sat, 11 Sep 2010 04:04:51 +0000

I can appreciate two features Flash developers (not me) might rightly pine for:

1. Write once, run everywhere.  Currently a SWF file can play on a few hundred 
million PCs, most Macs, and a smattering of other devices like netTVs, game 
consoles, mobile devices, maybe a toaster or two.  Having to write and compile 
a separate app for iOS to approximate the interactive functions of each SWF 
file is the opposite end of that scale.

2. Allow "content" intelligence/"interactivity" in addition to 
intelligence/interactivity programmed in the app.  Currently, SWF files, 
DVD-Video discs, BD-J titles, etc. have various script language, presentation 
language, procedural language that allows creating different user experiences 
in each piece of "content", while the DVD player, Flash player, JVM, etc. "app" 
stays the same.  

That makes it easier to get a single app/player tested and distributed 
(compiled from C or whatever), but include some programmability in the 
interactive video format it plays to enable relatively easy authoring of 
"interactive content", often by non-programmers, but enabling different 
behavior, user experience, etc. without compiling and testing a new app. 

Presentation languages, like DVD's and HTML tend to be the least flexible, 
easiest to write and test, and least likely to drain CPU cycles and battery or 
cause blue screens.  Native interpreters can use device optimized execution, 
refuse to divide by zero, reject invalid statements, etc. because the language 
is declarative. 

Script languages are controlled by interpreters and bound by a set of APIs that 
sandbox the content/apps (like AJAX) leaving most of the execution under native 
platform control.  It is procedural, not declarative, so you don't know what 
the result will be unless you let it run with all possible initial conditions 
and events.  Programs can do dumb stuff, but shouldn't be able to do really 
dumb or dangerous stuff like taking over the underlying system.  
Interoperability tends to be pretty good because the underlying renderers, 
resource management, etc. are still under system control.

Procedural languages can be dangerous in content.  Part of it is the typically 
larger set of APIs exposed by compiled libraries (e.g. around ten thousand 
methods in BD-J libraries) and unlimited combinations of statements in low 
level procedural code that can hog all the system resources, take control of 
the system and other apps unless it's hosted in a preemptive multitasking OS 
with partitioned apps and a strong security system.  Low level procedural code 
tends to produce bugs and incompatibilities that are inevitable in different 
implementations, different hardware, etc. that has different execution times 
and sequences, resource limits, translation at hardware abstraction layers and 
physical registers, etc.  Putting that kind of programmability in content 
intended to run on a bunch of different devices, coexisting with other apps, 
with different hardware, Oss, etc. is like handing out flame throwers to web 
monkeys.  

I think it is appropriate to allow a judicious amount of markup and script in 
portable "content", but leave the procedural language and low level APIs to 
native system apps or well tested "installed" binary apps.

That's the theory behind HTML 5 (one of them anyway).

Kilroy Hughes

-----Original Message-----
From: opendtv-bounce@xxxxxxxxxxxxx [mailto:opendtv-bounce@xxxxxxxxxxxxx] On 
Behalf Of Kon Wilms
Sent: Friday, September 10, 2010 9:12 AM
To: opendtv@xxxxxxxxxxxxx
Subject: [opendtv] Re: Fwd: Re: Apple loosens its chokehold on app development

On Fri, Sep 10, 2010 at 5:05 AM, Craig Birkmaier <craig@xxxxxxxxx> wrote:
>>> Based on the blurb, they are no closer to allowing Flash content and 
>>> apps to run on iDevices.  If you can convert it to a single app in 
>>> native Apple code you can, but then it isn't Flash anymore.
>
> Don't hold your breath Kilroy. Nothing has changed about Flash to make 
> it desirable for mobile devices. The world is moving on. I rarely run 
> into sites that I cannot use on my iPhone, and when I do I find alternatives.

I really don't get the Flash on iPhone/iPad/iDevice for 'native app'
development thing. It makes no sense. You are crippling your performance out 
the door. Performance of Flash on mobile devices sucks uniformly across the 
board (try a fullscreen Flash game of any sort on any mobile platform, even a 
Galaxy S, overclocked Nokia N900, you name it - the experience is the same).

If you're doing Actionscript 3 then presumably you have some skills doing 
development. ObjC is not that difficult. There are many SDKs out there (Cocos, 
Chipmunk, etc.) and if you are a traditional game dev using e.g Lua, you can 
find complete dev environments like Corona or Shiva to fit the bill. For those 
people doing HTML/JS only and who have no skills doing traditional dev, you can 
use something like Titanium.

The only people I can think of who would cling to Flash for game dev are the 
old school timeline developers who don't want to make a change. Software 
development is as much about learning enjoyment as it is about cranking product 
out.

Cheers
Kon
 
 
----------------------------------------------------------------------
You can UNSUBSCRIBE from the OpenDTV list in two ways:

- Using the UNSUBSCRIBE command in your user configuration settings at 
FreeLists.org 

- By sending a message to: opendtv-request@xxxxxxxxxxxxx with the word 
unsubscribe in the subject line.


 
 
----------------------------------------------------------------------
You can UNSUBSCRIBE from the OpenDTV list in two ways:

- Using the UNSUBSCRIBE command in your user configuration settings at 
FreeLists.org 

- By sending a message to: opendtv-request@xxxxxxxxxxxxx with the word 
unsubscribe in the subject line.

Other related posts: