Software

SJ Klein's OLPC Keynote at GDC Serious Games Summit

Here is a description of the OLPC talk that SJ Klein is giving at the Serious Games summit on Tuesday the 6th:

https://www.cmpevents.com/GD07/a.asp?option=G&V=3&id=520162

Alan Kay on Programming Languages

Alan Kay wrote:

It's hard to point to any programming language for beginners that has a really great form. One thing that has consistently worked is "close to natural language but clearly not natural language". That is, it really helps if the gist-view of a program is a kind of metaphor for what it does, even if one has to think harder about the detailed meaning. For children, Hypercard was OK in many respects for the gist-view, but was too like English for both deep understanding and for programming (many children had a hard time getting past the idea that Hypercard couldn't understand and do any reasonable English sentence). This was debated endlessly in Logo circles, and Logo wound up going from a much more English-like syntax to one much more like Lisp (this was a big mistake in my view). Finding the balance between these is critical, because it governs how much brain is left to the learner to think about content rather than form. And for most learners, it is the initial experiences that make the difference for whether they want to dive in or try to avoid future encounters.

Pie Menus for OLPC Sugar User Interface, in Python with GTK, Cairo and Pango modules.

Pie Menus on Python/GTK/Cairo for OLPC Sugar, by Don Hopkins.

Python Source Code

Tar File with Source, Demos and Icons.

Demos of Pie Menus for OLPC (One Laptop Per Child) Sugar User Interface on XO Laptop

I've been doing some fun OLPC user interface programming in Python. The OLPC's open source software environment includes Linux (for operating), Python (for scripting), GTK (for widgets), Cairo (for structured/stencil/paint/outline graphics) and Pango (for formatted text with markup), and it totally rocks!

Four item pie menu with submenus:

Pop up the "Compass" pie submenu, which has eight pie items and three linear overflow items and select "NE". These menus support pure pie menus, pure linear menus, and hybrid pie/linear menus. They can limit the number of pie items to a convenient number like 8, and make the rest linear items.


Pop up a ridiculously complex "Ringed" pie submenu, which has four rings of items, the inner ring with only four, which are very easy to select, the next ring with eight, which are easy to select because they're further out, the next ring with 24, and the next ring with a bunch more, which are harder but possible to select. This is the ultimate stress test of ringed pie menus. (Well actually there is no limit to the number of rings, but too many rings and menu items may result in heavy, unstable, radioactive pie menus!)


Example SimCity Pie Menus

To demonstrate how icons can work together with help text in the footer, I've made a set of example pie menus for selecting SimCity editing tools (based on the graphics and layout of the old X11/TCL/Tk SimCity interface), in simcity_piemenus.py. Note: They do not actually do anything -- it's just a simulated simulation!

SimCity tool selection menu, with two submenus ("Zone..." and "Build..."), and six important quickly selectable editing tool items. Shows icons without labels, and descriptive help text in the footers.

SimCity Zone pie submenu. Six items for zoning residential, commercial and industrial, fire stations, police stations, and querying zones.

SimCity Build pie submenu. Six items for building parks, stadiums, seaports, coal power plants, nuclear power plants, and airports.

OpenLaszlo YouTube Player Demo and Source Code

I've been working on developing streaming video support for OpenLaszlo: LZX classes to support improved audio and video, including RTMP streaming via Flash Media Server (aka Flash Communication Server) and also the Red5 Open Source Flash Server, as well as streaming video via http. It supports playback of recorded FLVs, recording from camera and microphone, live two-way (or multi-party) audio/video conferencing, and FLV streaming over http.

It's easy to use the OpenLaszlo video components, because they're nicely integrated with the OpenLaszlo programming model. They expose logical attributes and events which make it easy to integrate video into OpenLaszlo applications.

To test it out the code and demonstrate its functionality, I've developed a simple YouTube Player in OpenLaszlo [click here to open it in a window]. It uses the YouTube ReST Web API, and some simple html screen scraping to get the URL parameters to stream the FLV file directly.

Here is the source for the test application wrapper that puts the YouTube video player in a resizable window, and the more interesting source for the youtubeplayer component, that uses the new OpenLaszlo video classes I'm developing (whose source is in this directory).

The new video classes and the YouTube player demo will be checked into the OpenLaszlo svn repository soon.

Here's a live demo:

Spice up PHP applications with OpenLaszlo

Nicholas Chase an I have just written a three part tutorial for the IBM DeveloperWorks web site, about using OpenLaszlo and PHP to develop a distributed Knock Knock Joke (Ha! or Not!) application.

This "Spice up PHP applications with OpenLaszlo" tutorial series shows you how to use OpenLaszlo to create a more interactive interface for your PHP applications and how to use PHP to create more dynamic OpenLaszlo applications. It requires a basic understanding of -- or willingness to learn -- XML, JavaScript, and PHP. Each is well worth knowing for its own merits, plus they plug and play together nicely, since they're all based on synergistic open standards.

What is OpenLaszlo, and what's it good for?

OpenLaszlo is an open source platform for developing user friendly web based applications, which work identically across all popular browsers and platforms (Windows, Mac, Linux, IE, Firefox, Safari, etc). It's ideal for presenting and editing raw XML data generated by PHP and other web services.

OpenLaszlo supports a rich graphics model with scalable vectors, bitmaps, movies, animation, transparency, fonts, audio, streaming media, reusable components, user interface widgets, control panels, property sheets, keyboard navigation, browser "back button" navigation, as well as advanced WYSIWYG text and graphical editing tools. In other words, OpenLaszlo is the velvet glove for the iron fist of PHP. What can OpenLaszlo do?

Laszlo Mail

Laszlo Mail

Open Source SimFaux OpenLaszlo Code Now Available via Subversion

I've published the source code and content of SimFaux as Open Source Software. It's available via read-only anonymous subversion. Here's the command to get all the source code and content:

svn co svn://SimFaux.com/SimFaux/trunk/SimFaux

I've started writing a README.txt file, but that's about all the documentation there is so far.

SimFaux 1.0 README

SimFaux is an interactive TV station simulator written in OpenLaszlo,
by Don Hopkins, for the HuffingtonPost Contagious Festival.

It's an open-ended framework for plugging together keyword tagged
multimedia character simulations, video, text, quotes, surveys,
interactive games and application.

It's configured with XML files, so non-programmers can easily add
characters, video and other types of content.

It includes tools for validating, processing and compressing the
content into appropriate file formats.

========================================================================
Installation:

Posted a new version of SimFaux

I've just posted a new version of SimFaux, which has a bunch more features, and many more quotes (tagged with keywords), to go with the new characters. Now there are 136 Frank Zappa quotes!

In Washington, they just look out for #1, and #1 ain't you. You ain't even #2.
-Frank Zappa

-Don

FauxCast on Freedom: SimFaux as Open Source Software

Somebody asked me about SimFaux:

This is pretty funny as it stands, but can it parody things Libs don't like to talk about like Dem politicos that flipflop every other speech, or Lib talking heads that forge news on the fly?

Of course SimFaux can parody liberals as well as conservatives, but the fact of the matter is that it's the conservatives who are fucking up the country right now and sending kids to die. The liberals are powerless and aren't the ones to blame for the horrible calamity that Bush has caused. So it's important to call the people who are causing the death and suffering on their lies.

The conservatives had their chance with Clinton's blow job, and they totally blew it with their self rightious indignation over harmless consentual sex. Talk about flip-flops: Where is the furious anger and relentless calls for impeachment now?

It's high time to impeach Bush for going to war based on lies and deception, sending thousands of Americans to their death, killing hundreds of thousands of Iraqis, leaking classified information about a CIA employee out of revenge for her husband telling the truth, breaking the law and subverting the constitution by spying on American citizens, his miserable failure with Hurricaine Katrina, his deep shameless corruption with Haliburton and Abramoff, etc. If you think none of that is any worse than a blow job, then you're a part of the problem.

I just started programming SimFaux at the beginning of this month, and the HuffingtonPost Contagious Festival has a 15 meg limit on size. But after the festival concludes, I'll host it on my own web site without any size limitations, put up a whole lot more content like characters, sound bites and videos, and release the source code as Open Source Software so you can modify it and put your own stuff in. But right now I have to cut it to the bone to stay within the 15 meg limit.

"FauxCasting" is a cinematic leap beyond podcasting and blogging, because it integrates keyword tagged text, video, sound bites, simulated characters and interactive widgets together in a way that the viewer has control over what they see and hear. You can experienced the joy of telling Bill O'Reilly to Shut Up and Go Away! The keyword tagging enables the characters and videos to interact with each other, and results in surprizing juxtapositionings, like Frank Zappa and Dick Cheney finding common ground by using the same cuss word that begins with F.

I'm inspired by ideas like Will Wright's "Designing for Emergent Behavior" and Chris Trottier's "Tuned Emergence" and "Design by Accretion", where the more content you put in, and the better you tune it, the closer you get to a nuclear reaction.

Sims Designer Chris Trottier on Tuned Emergence and Design by Accretion

"If a game isn't tuned, it's a drag, and you can't stand to play it for an hour. The Sims and SimCity were "designed by accretion": incrementally assembled together out of "a mass of separate components", like a planet forming out of a cloud of dust orbiting around star. They had to reach critical mass first, before they could even start down the road towards "Tuned Emergence", like life finally taking hold on the planet surface. Even then, they weren't fun until they were carefully tuned just before they shipped, like the renaissance of civilization suddenly developing science and technology. Before it was properly tuned, The Sims was called "the toilet game", for the obvious reason that there wasn't much else to do!"

I will soon release the source code and content of SimFaux as Open Source Software, so you can see how it works, create your own characters, sound bites, video clips, talking points, surveys, games, etc. If you want to do that yourself, you should become familiar with XML, and you should start learning OpenLaszlo, which is the free Open Source XML/JavaScript based language it's written in.

http://www.OpenLaszlo.org

Here's another more down-to-earth example of what you can do with OpenLaszlo:

http://www.LaszloMail.com

Have fun!

SimFaux now has WebCam Support and Simulated Internet Chat Room

I've just uploaded a new version of the SimFaux Interactive Network News Simulation to the Huffington Post's Contagious Festival!

This version has WebCam support: you can display your webcam in one or more frames, FauxCast yourself on any Faux News TV channel, and interview the simulated characters in person! Don't let Bill O'Reilly tell you to shut up and kick you off!

It also has a new simulated internet "Faux Chat" room, which you'll have to try out because explaining how it works would spoil the surprize!

Syndicate content