Hi, 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 [email protected], which I quote below. Stanley Sokolow wrote to developers at [email protected]: > 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-10.0.15.3-release.i386.rpm > > , 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. Stan _______________________________________________ IAEP -- It's An Education Project (not a laptop project!) [email protected] http://lists.sugarlabs.org/listinfo/iaep
