gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-dev] Re: OLPC 767 Gnash 0.8.3 + Flash developer perspective


From: Carlos Nazareno
Subject: [Gnash-dev] Re: OLPC 767 Gnash 0.8.3 + Flash developer perspective
Date: Tue, 7 Oct 2008 20:00:07 +0800

Hey strk!

I'm really glad you replied and I got this.

Hi Gnash dev. I'm Naz, a Flash developer and a volunteer for OLPC
Philippines. Recently, our proposal on targeting the OLPC XO-1 as a
Flash Gaming/Edu-gaming platform was approved we got some XO-1 laptop
units from OLPC main to help with this project
(http://wiki.laptop.org/go/Projects/Flash_Gamedev). Aside from this,
we're also evaluating Flash or Gnash for our own custom software
rollout for the XO here in the Philippines.

Anyway, more than anything, as a flash developer, the biggest reason
I'm more inclined to forgo Gnash dev for now is because it's so hard
to get sound working on the version of Gnash that ships with the XO on
8.20.

Moreover, it's very hard to test flash content on the XO-1 for
Gnash-Flash compatibility when you can only have either Gnash or Adobe
Flash running on the XO's browser at any given time. Constantly
uninstalling and reinstalling to switch between Flash and Gnash
browser plugins just to test apps on the XO when you only have one
machine (the other XO dev units are going to the other Flash
developers in our group) is not good for one's sanity. (as such, I
just installed Adobe Flash 10 release candidate on the XO with me, and
have decided to do Flash-Gnash dev compatibility testing on Fedora 9
in a virtual machine on my desktop)

Anyway, with regards to sound: it is a very important component of the
Flash user experience, especially for children in terms of games.

The thing is, it's so much easier to just give up and install the
Adobe Flash plugin than to jump through so many arcane steps trying to
get sound working in Gnash on OLPC XO-1 laptops out of the box in the
latest OS build, 8.20.

As of now, I still haven't gotten sound working in Gnash 0.8.3 on the
latest version of Sugar-XO-1 OS out of the box, and the suggestions on
the Olpc-devel list haven't been very successful because the OLPC dev
team decided to use an older version of Gstreamer due to hardware mic
compatibility problems. Because of this, I couldn't get
gstreamer-plugin-ugly to install on build 767 via yum. (you guys will
have to pardon me, I'm relatively new to Linux and am thus am
unfamiliar with digging through specific repositories).

> It is only content authors having the power to leave players behind.
> If you care about partecipation, you should develop your applications
> to be as much portable as possible, which in this case means NOT using
> latest-and-greatest-features-only-available-in-a-few-players.

You've touched upon one of Flash's greatest strengths here as a
platform: it is highly portable - you now have Flash running on
Windows desktops, Mac OS, Linux, and mobile devices. This is why Flash
is such an attractive platform for us content creators to deploy our
content in.

With regards to latest and greatest features, I agree. Try running
Flash 9 & 10 Papervision3D (http://www.papervision3d.org) Flash 3D
engine content on the XO-1 and your machine will hang.  That's why it
was very important for us to get our hands on actual OLPC XO-1 units
in order to do testing, because as any device developer knows, desktop
emulation is no substitute for actual device testing.

With regards to "a few players", Flash is installed on 98+% of
internet-enabled desktops, and as of September, roughly 93% have Flash
9 installed. That's not "just a few", that's *most* and *a lot*. Also,
the thing to note with the Flash player is that beginning with Flash
player 8, Macradobia built-in autoupdating -- when new versions of the
Flash player plugin come out, Flash will prompt users to update.
Because of this, when Flash 9 rolled out the door, I believe it was
the software update with the fastest & largest number of user
installations in history. You can check the numbers on this. Expect
something similar to happen when Flash 10 final rolls out the door
soon. (the Adobe CS4 product line -- and thus Flash CS4 -- has already
been announced and launched. Expect them in stores soon).

With regards to Flash on the XO, true, Gnash 0.8.3 will come installed
out of the box with the next generation of Sugar-OLPC factory rollouts
(but without sound because of MP3 patent issues). Thing is, people
will want to enable sound with it and kids will want their sound for
their games. If it is easier to install the Adobe Flash plugin than to
enable sound with Gnash, it will be much less of a support nightmare
to just install the Adobe Flash plugin.

> This is dangerous reccomandation to make.
> Especially for developers.
> Developers of applications for OLPC should try to target free
> platforms, or did I miss something about the mission ?
> Adobe Flash Player 10 is NOT a free platform.

Yes, you may have missed something. OLPC has agreed to work with
Microsoft on releasing a dual-boot version of the XO that runs Windows
XP. Windows XP is *definitely* not free, and is not even "free as in
beer" like the Adobe Flash plugin, and when OLCP XO with WinXP rolls
out. With WinXP on the XO, we now have an even bigger target platform
on the XO on which is a "non-free as in speech" environment.

Because of the agreement to push WinXP on the XO, it's like the
commitment to using only free open source software on the OLPC XO-1
has been thrown out the window. Personally, I find this rather sad as
I read Steve Jobs offered to let OLPC use OSX on the XO free of charge
and OLPC refused due to its being non-open sourced. With WinXP on the
other hand, copies of the OS still need to be licensed and paid for.
This is a sad double-standard for me.

Anyway, as such, I see absolutely no conflict in targeting Adobe Flash
9 & 10 on the XO. The only real problem I see is that since the Adobe
Flash player uses restricted formats, there are issues with rolling it
out in certain regions where there are patent restrictions and the
like, and that there needs to be negotiated with Adobe an agreement to
be able to pre-install Flash on the XO because according to Adobe's
EULA, unless an agreement is made, the Flash player installer may not
be redistributed and may only be downloaded from Adobe's website.

> There are a lot of ways to optimize an SWF application to use
> less resources. I've seen movies out there doing really silly things
> with SWF8 tags, making the result worst than a fairly written SWF1 ...

Precisely. That is why we're treating the XO as a device in the same
class as a mobile phone with limited CPU and memory and not as a
modern laptop, and we're trying to outline best practices for
developing Flash content targeting the XO (avoid using gradients,
avoid scaling bitmaps, reduce vertex/anchor points for vector images,
avoid using alpha values < 100% when doing animations, optimizing
code, etc etc)

Thus, among Flash content creators we hope to pull in to contribute
with OLPC are Flash Lite developers because we *know* how to optimize
Flash apps to run on cpu/memory limited environments.

> Free software also gives you the option to *profile* application
> execution so you can tweak the code to perform better.

The average Flash content developer (designers, animators & flash
coders) does not have the capability or knowledge to modify Gnash code
and Gnash binaries. We're Flash content creators
(designer-animator-developers), not Linux developers who know how to
crawl through and modify Gnash sourcecode and recompile it.

> If developers stick with SWF7 at most, they'd make the proprietary/free
> choice easier to take. If they don't they'll make things worst.
> I'd expect a conscius choice from OLPC developers ...

Look, some of the greatest things to happen with Flash,
development-wise, this past couple of years are the following:
- the development of Actionscript 3 and the Actionscript Virtual
Machine 2 (AVM2) which turned actionscript into more of a "real
programming language", and the leaps and bounds in performance that
the new AVM2 provided. These performance leaps are very important when
targeting low cpu/memory devices like the XO-1. Because of the AVM2,
you can now provide richer content than in AVM1 because you get more
bang out of your CPU/memory.
- Adobe Flex which gave developers who are not designers a "real
developer environment" which was different from the Adobe Flash IDE
which is primarily targeted at designers & animators.
- AS3 is now attracting a lot of developers from Java & C/C++
backgrounds. There are now a lot of Flex developers and there is a
growing demand for Flex developers. A lot of these guys I know just
went into "Flash" straight in AS3 and are either unfamiliar with or
prefer not to use AS1/2 anymore. With the aging of the AVM1 machine
and the fact that AVM1 swfs are incompatible with AVM2 swfs (AVM1 swfs
cannot communicate and pass variables with AVM2 swfs), the number of
AVM1 developers will no longer grow as much as AVM2 (AS3) developers.
- The open sourcing of the Flex SDK. Because of this, the average
developer can now create truly compelling SWFs without having to use
more esoteric methods such as MTASC or HaXe or SWFMill using
completely open source and free tools.
- Flex outputs standard SWFs. This means if any platform runs AVM2, we
can get the growing number of Flex developers who are not used to the
Flash IDE on board for the project too.

Thus, asking Flash content creators to stick with Flash 7 content is
going to exclude all of the current and emerging Flash 9+ developer
base who cannot author Flash 8 & below content  because they don't
know how to code in or now have difficulty working with with
Actionscript 1 & 2.

With regards to AVM1 (Actionscript 1 & 2) developers, one of the
platforms with which Actionscript 2 still has active development and
will not change in the near future is with Flash Lite. The latest
released version of Flash Lite (3.0) is still based on Flash 8 and can
play youtube videos. Flash Lite 2.0 is based on Flash 7. Thus, flash
Lite is the closest modern and up to date standard Flash platform that
Gnash is most similar with that still enjoys a growing number of
developers.

As such, I hope Gnash makes compatibility with Flash Lite SWFs
(basically slightly modified Flash 7 & 8 content) a priority so we can
attract content creators from the Flash Lite community.

> Efficiency is important.
> "The extent to which time is well used for the intended task."
> What's the intended task here ? Having a free educational system
> or a proprietary one ?

Again, although not open source, the Adobe Flash plugin is *free of charge*.

One of the main attractions of Flash is that it is extremely cross
platform. Again and again it's been said that "OLPC is not a laptop
project - it is an educational project". Thus, if a particular sector,
government, educational institution or what have you decides to
install a different OS on the XO or even use entirely different
machines such as Intel Classmate PCs running windows XP, Flash will
run on them.

If it's going to be a real headache to get sound on Gnash running
properly and if users have problems with accessing Flash content
online due to compatibility with Gnash, users with internet access
will probably simply abandon Gnash and install Flash.

> Flash developers are the most useful resources for fixing gnash bugs.
> Many times we get bug reports from users that know *nothing* about the
> internals of an SWF applicatoin. When it's the author of the SWF reporting
> the bug, it is usually fixed *very* quickly.
> By suggesting OLPC flash developers to not use Gnash at all, Gnash will
> have less help in fixing the bugs.

Wonderful! Glad to have gotten in touch with you guys. Hope to
coordinate with you guys more. And please, if any of you are
interested in OLPC dev, please do participate and maybe help with
http://wiki.laptop.org/go/Gnash and
http://wiki.laptop.org/go/Projects/Flash_Gamedev.

Now again with the device & build testing, I know it's extremely
difficult to get one's hands on XO machines for actual testing, but
for Gnash developers, maybe you guys can be able to request developer
units that will be loaned to you by OLPC via the developer/contributor
program? http://wiki.laptop.org/go/Developers_Program

There's a major dearth of information and development going on with
OLPC as I've discovered when I recently started participating in the
wiki and the olpc developer mailing list, and more hands certainly
won't hurt.

Regards,

-Naz

-- 
Carlos Nazareno
http://www.object404.com

interactive media specialist
zen graffiti studios
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]