[IAEP] Flash development for the XO

Stanley Sokolow overbyte at earthlink.net
Fri Jan 2 13:46:18 EST 2009


Chris Ball wrote:
> Hi Bryan,
>    > Developing learning activities requires the developer already know
>    > something about programming. In Nepal, China, India that means they
>    > have at least a pirated copy of Windows and possibly Adobe Flash.
>    > If they have linux, that means that some time ago they had pirated
>    > Windows which they used to learn about linux.
> That sounds plausible, at least for pirated Windows.  (I'm sure it's
> much harder to get a copy of Flash.)
> I'm not willing to incorporate "First, get a pirated copy of Windows
> and Flash" into my instructions for activity development, though.
I'm writing regarding the latest thread about using Flash as a 
development platform for XO activities.  Very recently, my attention 
turned to Flash, or more specifically to Flex which is Adobe's platform 
for development of Rich Internet Applications (RIA) that run on the 
Flash Player virtual machine.  (Flash is the system for development of 
applications, mainly video animations on a timeline, in a highly visual 
manner, whereas Flex is oriented toward programming GUI (graphical user 
interface) applications, but both of them use the same underlying 
technology of ActionScript language and the virtual machine embedded in 
the Flash Player to execute the object code.)  I considered Javascript 
and the multitude of libraries built for it, but Flash seems to be a 
better way for me to build robust, attractive, run-everywhere 
applications.   I won't go into the details of that decision, but here 
are some things not mentioned yet in this discussion about Flash for the 
future of OLPC software.

Adobe has opened the source of most of the Flash development kit and 
provides it free-of-charge as a download of the kit called the Flex SDK, 
which is a complete development kit for building ActionScript 3 
applications except for the IDE (integrated development environment).  
Adobe sells their Flash Builder IDE for about $300, but there's a free 
open source IDE that's pretty good:  FlashDevelop.  FlashDevelop doesn't 
have the what-you-see-is-what-you-get playback view of your code that is 
included in Adobe's more featured Flex Builder, but you can accomplish 
the same thing by compiling and viewing the results in your browser, 
then returning to the FlashDevelop IDE, all of which is quick and easy.  
Read about it at: 
http://www.flashdevelop.org/wikidocs/index.php?title=Features .   You 
don't absolutely need an IDE to develop Flash programs, since you can 
just write them in your favorite programming editor, but an IDE makes 
life a little easier.

FlashDevelop only runs on Windows and .NET, but the resulting output 
runs anywhere on the FlashPlayer.   Flex (and FlashDevelop) lets you 
develop the UI (user interface) using an XML language called MXML to 
place the pre-built widgets on the screen and hook them to programmed 
logic written as scripts in ActionScript, all embedded in an HTML page 
to run in a browser that has had the Flash Player installed.  
(ActionScript is Adobe's language, but it was based on the proposed next 
version of Javascript which is still in development by the standards 
organization.)  As you know, FlashPlayer is almost ubiquitous, being 
installed by most computer manufacturers and freely downloaded from 
www.adobe.com .  It's available for Windows, Mac, Linux, and Solaris.  
There are free open-source libraries that work with ActionScript to 
enhance what you can do, even some amazing 3d libraries such as Away3d.  
(Check it out at www.away3d.org .)  Although the source of the 
FlashPlayer is not open, that should not be a deterrent to developing 
for it.   Anyone working with open source software is sorely aware that 
open source software development is somewhat chaotic and doesn't in fact 
produce software that runs everywhere without major problems.   Having 
one company provide the infrastructure in the form of FlashPlayer has 
some advantages.  FlashPlayer sounds like just a video player, but it's 
far more than that.   It is a virtual machine for running programs 
compiled by the ActionScript compilers, such as the one included for 
free in the Flex SDK.  Adobe's web site has a great deal of tutorial and 
reference information, including videos, about developing for the 
infrastructure, so it's not necessary to buy a lot of books or take 
expensive classes.  The same development system can also be used to run 
Flex applications outside of the browser like any other desktop 
application, using the Adobe AIR player, also free to download with a 
free AIR SDK at www.adobe.com/air .

However, Flash on the XO is not yet a rosy picture in my book.  
Yesterday I posted my comments on devel at lists.laptop.org, which I quote 

Stanley Sokolow wrote to developers at devel at lists.laptop.org:
> Hi,
> I'm having problems:  Adobe FlashPlayer doesn't detect the XO's built-in 
> webcam so it can't transmit video out to the Internet on Flash-enabled 
> web sites, and the Adobe Flash player on the XO freezes the popup 
> right-click control panel.   Gnash didn't work at all with a Flash-based 
> web site we're interested in, so I went to the real FlashPlayer, latest 
> version.
> I've been lurking here watching the comments on Gnash versus Flash while 
> I tried to get my wife's XO playing nicely with a Flash-based RIA (rich 
> internet application) site called www.vyew.com .    (That's pronounced 
> like "view".)     Vyew is a collaborative whiteboard application with 
> video, voice, and text chatting features in addition to the 
> whiteboard.   By whiteboard, I mean that several users can connect to 
> the same page and collaborate on drawing sketches and typing text on the 
> same screen, which is visible to all of the connected people.    They 
> can also activate their camera and microphone (if they exist) to carry 
> on two-way conversations like Skype.   She wants to use this for a 
> remote tutoring activity where she interacts with students about math 
> problems.    We tried to get Paint and Colors activities to play nicely 
> with various Sugar emulators (LiveCD, Sugar on Ubuntu, Sugar on Windows 
> Vista) but they all had various problems seeing (presence detection) or 
> collaborating.  So we found this web site, Vyew.   The Vyew site didn't 
> load the Flash content on the web page with Browse and Gnash, so I 
> installed the real Adobe Flash player on the XO.  We have been largely 
> successful with Vyew and Adobe FlashPlayer on the XO.  Both computers 
> can see each other's drawings collaboratively on the same page, but we 
> ran into one problem that relates to Flash on the XO.  
> The XO browser can see the webcam video stream from our Dell laptop 
> running Vyew on the Dell's Vista browsers (MS IE & Firefox) and can hear 
> the audio stream from the Dell, but I can't get Flash to activate the 
> XO's camera.    When I right-click on the Flash box in the web page, the 
> Flash popup menu appears.   I click the "settings" item.  Adobe Flash 
> Player control panel pops up as it should, but it is just frozen.   I 
> can't get it to flip to the other tabs to set the camera & microphone 
> permissions.   In fact, the panel won't even quit when I click the Close 
> button.   Nothing gets rid of it except reloading or leaving the web 
> page.   This was while running on the XO's Browse activity.   I thought 
> that maybe Opera for the XO would do better.  No luck.   Opera as 
> installed from the wiki.laptop.org/opera instructions does not even play 
> the Flash on the Adobe web site: www.adobe.com/products/flash/about , 
> nor any other Flash embedded in a web page.   All that Opera shows is a 
> gray rectangle where the Flash should be, no text saying to click to 
> play the Flash.   This is apparently a problem of Opera not interacting 
> well with FlashPlayer, because the Opera plugin directories point to the 
> very same plugin program file by symbolic linkage, so it's not a bad 
> plugin file -- the Adobe plugin plays the Flash .swf embedded element 
> with Browse, just not perfectly, but Opera doesn't play it at all.
> I submitted a comment to the Opera programmer who maintains the Opera 
> blog about the OLPC version, but that blog has had very little activity 
> in the past year so I'm not hopeful of any results from the Opera 
> people.    Has anyone here tried to run a recent release of Opera on the 
> XO, not the very old version that was customized for the XO according to 
> our wiki?
> For the record, here are the various versions I'm running:  XO has build 
> 767 of Sugar, the XO is one recently received from the G1G1 program 
> through Amazon, the FlashPlayer is the one recommended on the 
> wiki.laptop.org page: 
> http://fpdownload.macromedia.com/get/flashplayer/current/flash-plugin- 
> , the "about" Flash page reports the correct release 10,0,15,3 and so 
> does the README in the flash-plugin folder on the XO, and uname reports 
> that my XO's Linux version is 2.6.25-20080925.1.olpc.f10b654367d7065.
> Even without the 2-way video streaming, www.vyew.com is a nice 
> application for collaboration over the Internet.  Try it.
> Stan Sokolow

I should add that Opera works well with the same (latest) version of 
FlashPlayer on my Ubuntu computer, so the bug must be in the old version 
of Opera for the XO.

By the way, I have no connection whatsoever with Adobe or any other 
software company for that matter.    I'm just a self-taught computer 
geek on a low budget, trying to maximize what I can do, minimize the 
time it takes, and minimize the cost.


More information about the IAEP mailing list