

Adobe: Same code on five screens - Garbage
http://www.androidcentral.com/adobe-same-code-five-screens

======
thingie
Well, honestly, if it's the same "works" as AIR for Linux in its current
state, then it might be nice demo, nice screen to watch, but that's all. You
can try, for example, StatusNet Desktop application (from identi.ca), and it
feels like a crap. It's painful to install, not only you need AIR runtime
(that's quite understandable), but there's an installator (like with Windows
apps) that puts something (actually a lot of something) somewhere to /opt, and
then, the application feels very alien, doesn't work well, lock itself all the
time, and it isn't even "pretty". After seeing few of them, I can say that at
least on Linux, AIR applications are nowhere close to the native applications
(or possibly even web ones inside the browser!) in almost any aspect. I
wouldn't recommend any of them, neither the environment itself (though better
written apps could make some difference).

~~~
VMG
groovesharks desktop version runs nicely though

------
jalada
Too much of this and we will see apps that are based on the lowest common
denominator of all platforms. Developers will get lazy and you will get iOS
apps that don't do anything when you rotate the screen, have tiny
icons/graphics. Desktop apps with no keyboard shortcuts (wait...isn't that
Adobe Air already?), menus, hover events, the list goes on.

A neat tech demo, but in reality hardly anything developed in this manner is
going to be able to compete with anything native on the platform, and the
resulting time saved will be revenue wasted.

~~~
gaius
Those who forget history are doomed to repeat it. AWT, anyone?

------
elblanco
Lots of people unimpressed here for some reason. I bet if this was an HTML 5
demo we'd all be falling all over ourselves to talk about how awesome it is,
and we'd see some copies by the end of next week.

But because it's using flash...

I find this attitude kind of sad, this guy is demonstrating something that is
the holy grail of cross platform development.

~~~
philjackson
But why do you think the anti-flash sentiment exists in the first place?

When I bought my HTC Sense based phone, Flash was forced on me. I'd be
generous to say I can play half the flash based videos I meet on the web. When
I do manage to play something my phone heats up to a few degrees cooler than
the sun and my battery drains at a rate of knots.

My desktop is a 64-bit, quad-core monster running Linux. Can I play full
screen Flash videos? No. Throw a HD video at mplayer and it's runs as smoothly
as silk and creates hardly a bump on my processor graph.

Holy grail of cross platform development? You must be kidding.

~~~
elblanco
I wasn't aware that he was demonstrating a video in an flv wrapper. He was
demonstrating an interactive app running on 6 different platforms running on a
very wide variety of form factors.

I also can't play blue ray rips on my phone. Does that mean video isn't cross
platform?

Thank you for exactly demonstrating my point above.

I _really_ don't understand why everytime somebody brings up flash the
response is "well video in flash sucks!"

So what?

~~~
philjackson
Well, I suppose my point is that Flash doesn't perform and so this video isn't
in the slightest bit exciting.

Asking why people always bring up Flash video in these debates is like a
robber asking why the breaking and entering has to be mentioned in his court
case.

~~~
elblanco
> Well, I suppose my point is that Flash doesn't perform...

I think my counter question is then "doesn't perform compared to what?"

Compared to a natively compiled piece of software written in C or ASM? Yeah,
it doesn't perform well at all.

Compared to Java? I'd say modern Java runtimes are faster in general.

Compared to Javascript? I'd like to see some benchmarks with modern runtimes
like v8, but I'd wager that Flash (Actionscript) performs better.

Here's a rather old comparison benchmark.
<http://oddhammer.com/actionscriptperformance/set4/>

According to this, ActionScript 3 and Flash Player 9 were approaching Java
Applet speed in many of the tests.

Here's a newer one <http://jacksondunstan.com/articles/232>

In this test, Safari, FF 3.5.2 and AS3 all have about the same runtime. Every
other browser tested run 2-9x slower.

And another followup <http://jacksondunstan.com/articles/534> The results are
about the same.

Here's a very recent one (March 2010) with similar results.
<http://www.themaninblue.com/writing/perspective/2010/03/22/>

Flash performs about as well as the very best Javascript implementations out
there, and far _far_ better than most implementations of Javascript that live
in the browsers that are actually being used in the world.

I understand your point, Adobe has provided some rather abysmal ports of Flash
to platforms other than Windows. But on the platforms it has been ported to
(no matter how flawed) it runs about as well as the best available
implementation of Javascript on that platform.

As for video, Adobe, for some reason isn't offloading video decoding to your
GPU. That could be problem of your platform, or a problem of Adobe. But just
the same Javascript isn't rendering the video on your Linux box when you watch
a video...you certainly wouldn't want that. Talk about bad performance!

But we aren't talking about video when we talk about HTML5 and Flash. Video is
a separate and distinct problem. Flash didn't even support video until quite
late in it's life cycle, it's an "oh yeah let's toss this in too" feature.
We're talking about making interactive applications in those respective
environments. And we're talking about those applications being cross
platforms, running on multiple systems, on multiple platforms, in multiple
form factors.

And for that, _right now_ flash is the better platform, it performs about as
well in raw computation as the very best Javascript engines, has a better
development environment, _is currently_ more cross platform than a similarly
complex Javascript HTML 5 app, and is generally a more mature technology.

I can't even get a complex HTML 5 app to run the same on 3 different browsers
on the same machine! Imagine targeting every major browser that run under
Windows, OSX, Linux, iPhones, the iPad and Android devices with HTML5
technologies! It's simply not there _yet_.

------
nanairo
Gosh, I can feel my perfectionist side in big pain right now.

Adobe could have tried to pull a more subtle way than: "Welcome to lazy
town!". So much for all those thinking the UI is important, and that
maintaining the look-and-feel of the OS should be very important. :(

I find Adobe's strategy a bit naive (or more accurately only looking at the
short-term). If you become the paladin of the lazy developers, you will get
plenty of money at first, but you'll get plenty of bad reputation, and that
can be really hard to get rid off (just as Microsoft).

~~~
elblanco
> and that maintaining the look-and-feel of the OS should be very important.

I don't think maintaining the look-and-feel of the OS is very important. In
fact I would go so far as to say that attempting to shoe horn novel interface
requirements into local OS look-and-feel requirements is a detriment to
interfaces.

A bad interface is a bad interface no matter what. Same goes for a good
interface.

But I think that if you look around at most of the most successful pieces of
software across all platforms (by pure volume), very few of them look anything
like the prevailing look-and-feel guidelines for their host platform -- I'm
talking about Office, Photoshop, Firefox, Chrome, iTunes, GarageBand, iLife...

iWork at least looks like a piece of software that conforms to the look-and-
feel rules.

But then we get something like Aperture 3 which could be something running on
just about any platform.

Most of the top iPhone apps could be running on anything with a big touch
screen (and some of them are almost pixel identical across platforms):
Pandora, Remote, Yelp, New York Times, Jott, Netflix, Shazam, etc.

People care about app consistency across platforms not local consistency with
the OS.

Web apps blow the idea of local OS consistency out of the water. I won't even
list million user web apps because we all know what those look like, and they
pretty much look the same no matter the platform. Sites that try to "look
like" some OS, end up looking rather silly to be perfectly honest.

No, maintaining the look-and-feel of the OS is not anywhere near the top of
pretty much anybody's priority list these days.

~~~
nanairo
I understand your point, but I think it's an exaggerate view. I am happy to
admit that if there's a good reason a rule should be broken, then it's ok too:
but you need to know what to do. Like all rules, once you understand them and
know what you are doing, then it may make sense to break them.

But imagine a user that faces an interface that looks familiar but it's all
different. Maybe the most external button in the title bar expand it. Or
something that looks like a button has to be double clicked instead of clicked
once. The point of having a consistent UI for the whole OS is that the user
doesn't need to relearn a new interface for each product.

That said there are cases where the current UI is not good enough, maybe
because the developer has a new, never done before idea. Then it's ok. Apple
does it, for example, as do other mac developers.

The other exception is when it's a very specialised piece of software that is
not for the masses but for a very specialised niche. I consider CAD
applications, Photoshop and Aperture are like that. It's not _as_ useful to
use the same look because they are software that has to be learnt anyway.

However... Firefox and Chrome do try as hard as possible to conform to the UI
interface so I don't follow your examples there. And iTunes is loath by
everyone as a awful piece of UI, so I wouldn't use it as an example either.

Similarly many people (at least on the Mac) hate the completely alien look
Photoshop has, or Office. Microsoft did put a lot of effort with OS X to
follow OS X conventions, and despite Photoshop not being a mass market
product, Adobe has preferred to have a uniform cross-platform interface, and
there's a lot of complaints for that.

So yes, if you have a novel interface requirement then you are more than
welcome to break the OS standards. But otherwise if there's no need (from a
user perspective) I don't think it's a good idea.

~~~
elblanco
> Like all rules, once you understand them and know what you are doing, then
> it may make sense to break them.

I actually agree with this whole heartedly. I think we're on the same
wavelength here. Just like all good literature violates supposed rules of good
form for the language.

But I think that following OS conventions is the wrong set of rules to learn
and target. There are already good interface guidelines. It just so happens
that some OSs (OSX) do a particularly good job at following _those_
guidelines.

It reminds me of this <http://catb.org/esr/writings/cups-horror.html>

_The meta-problem here is that the configuration wizard does all the approved
rituals (GUI with standardized clicky buttons, help popping up in a browser,
etc. etc.) but doesn't have the central attribute these are supposed to
achieve: discoverability. That is, the quality that every point in the
interface has prompts and actions attached to it from which you can learn what
to do next. Does your project have this quality?_

A good interface can look like anything so long as it follows good GUI
conventions. And fortunately most OSs follow pretty good GUI conventions so
targeting the conventions of that platform _are_ in a way following good GUI
conventions transitively. I just wouldn't limit myself as to say that the
measure of important should be following OS conventions when it should really
be following interface conventions. The CUPS story I linked to brings that
problem directly to the forefront. They're already doing the appropriate
interface rituals with respect to their OS. The problem is that they are not
doing the appropriate rituals with respect to good interface design.

(I also agree that some tools, like Photoshop, have absymal user interfaces.
But I think it's because they don't follow good interface conventions in
general, not because it doesn't look like an OSX app or a Windows app
[http://mrgan.tumblr.com/post/235455865/the-many-sliders-
of-p...](http://mrgan.tumblr.com/post/235455865/the-many-sliders-of-photoshop-
cs4)).

------
stevenwei
Sort of a neat tech demo, but two main issues with it:

1) In the real world, you're essentially never going to have a desktop app
with the same artwork/assets as a mobile app. You're going to have a high res
version for the desktop (designed with mouse and keyboard controls in mind)
and a lower res version for mobile (designed with touch screen controls in
mind).

2) Reversi is an incredibly oversimplified example.

Still, a neat tech demo.

~~~
gb
Re: assets, you might not actually if all the assets are vector. It's not that
uncommon in Flash, since originally it was just a vector animation tool.

~~~
mikeryan
I know a few people doing Flash on embedded devices. They tend to steer away
from vector graphics and lean toward bitmaps because there's a performance
hit.

~~~
kreek
Vectors can be drawn on start-up then cached as bitmaps.

[http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV...](http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#cacheAsBitmap)

------
burriko
That is actually pretty cool, and impressive that it's the exact same code.

Near the end of the video he says "There's no other technology available that
lets you do this.". I'm not sure how accurate that is. I see no reason why
this game couldn't have been made in html/javascript to run on all of those
platforms from one codebase.

Could you do it with Mono too?

~~~
jackolas
Or QT...

~~~
sukuriant
Or Java (I know Java's getting a bad rap these days, but for non JNI code,
Java hasn't been half bad at developing code for multiple operating systems
--- admittedly, Java doesn't go as far as the iPhone :/ and the jdk isn't
exactly the same for Android)

edit: s/interfaces/operating systems. I don't know why I said the former...

------
mikeryan
Countdown to HTML/JS reversi on 5 screens in 3... 2...

Update: its already done (works for me on Chrome, ipad and iphone at least).
<http://davidbau.com/reversi/>

------
aufreak3
Wonder whether there is any code of the kind "if (platform1) doA() else if
(platform2) doB() ..." in there.

------
dkarl
It would be better if rotating the screen adjusted everything except the
orientation of the board, so you could turn the screen around to look at the
board from another angle.

------
teyc
Hold on, didn't Jobs make all write native apps? How did this ever run on an
iPhone or iPad?

------
glhaynes
"and the look and feel is the same across all platforms"

This is why you fail.

