Archive for the 'Open Source' Category

Pistach.io supports PaperKing3D

Paperking3D Papervision3D contest

The Pistach.io Flash Pack is proud to support the PaperKing3D Papervision3D Contest with pro bono ads.

The PaperKing3D ad will be run on all of the following member sites of the Pistach.io Flash Pack: Alessandro Crugnola, Andre Michelle, Aral Balkan, Chad Udell, Flash Magazine, Grant Skinner, Keith Peters, Marco Casario, Mario Klingemann, OSFlash, Peter Elst, and Seb Lee-Delisle.

Best of luck with the contest guys! I can't wait to see the awesome stuff this contest will no doubt result in.

Supporting Firefox 3 Download Day 2008

Firefox 3 Download Day

Our friends at Mozilla are trying to set a world record today for the most software downloaded in 24 hours to mark the launch of Firefox 3.

To support the effort, we're running a pro bono ad for Firefox Download Day on Pistach.io.

Pistach.io supports open source projects and charity organizations with pro-bono ads. If you would like your organization or project considered, please contact me at aral {at} pistach(.)io.

Go pledge your support for Firefox Download Day 2008 and download Firefox 3.

The GAE SWF Project Featured Application on Google App Engine Application Gallery

Screenshot of The GAE SWF Project as Featured Application on the Google App Engine Application Showcase

How cool, I just heard from Brajeshwar on Twitter that The GAE SWF Project is currently the featured application on the Google App Engine Application Gallery.

I released the proof of concept Flex 3 client late last night after the initial Flash 9 client release last week and I'm look forward to writing more about it in a future blog post.

And, far from being a theoretical exercise, the very pragmatic GAE SWF Framework is going evolve and get put through its paces as we use it to build the web application for the Singularity Web Conference. I can't wait!

Exciting times!

The GAE SWF Project 1.21 1.23

I just updated The GAE SWF Project to version 1.21 1.23. New source code for the update is now available for download.

All changes in this version are server-side:

  • All requests apart from those to the PyAMF gateway go through the IndexHandler class. The app.yaml file no longer maps /examples/.* URLs to the various example SWF applications. In other words, the SWF apps are simply handler classes now, not separate WSGI applications. The PyAMF gateway remains a separate WSGI application.
  • Pulled out the server-side deep linking code from the initial example to a new BaseSWFHandler class in the new gaeswf package. The handlers for all SWF examples will extend this class and call the handleDeepLink() method to have regular deep links automatically converted to SWFAddress deep links.
  • Removed the unnecessary examples and initial packages and placed all examples in the root of the examples package.
  • Added 404 handling. Unknown URLs no longer fail silently.
  • main.html template is now known as base.html.
  • Added simple.html template for handlers that want to use base.html without the need for a separate template that extends it.

Enjoy!

Update: I've updated the online version to 1.23 to change the 404 photo. I realized this morning that the original Creative Commons-licensed photo I had found on Flickr did not belong to the user who had published it on their account.)

Bare-naked Flash: Dispelling myths and building bridges

Bare Naked Flash Splash

As I mentioned previously, I gave a new talk titled Bare-naked Flash: Dispelling myths and building bridges at Highland Fling this week. What follows is a comprehensive live-blog style commentary of the session with slide highlights.
Continue reading 'Bare-naked Flash: Dispelling myths and building bridges'

OSFlash Job Board relaunch: Flash, Flex, and ActionScript job listings at half price

Do you have a Flash, Flex, or ActionScript job to post? Post it on the OSFlash Job Board.

I've just relaunched the OSFlash Job Board and all jobs listings are 50% off this week if you use the coupon code RELAUNCH. This expires on April 1st, 2008 (no joke!) :)

If you want to get notified of new jobs, you can get job alerts by email or subscribe to the RSS feed.

The OSFlash Job Board initially launched last year using the Joard system that my friend and business partner Dave Stone was developing. Dave decided to discontinue Joard at the start of this year so we were left without a job board.

It has taken a little while to get everything set up again but the job board is now back up and running using the excellent JobThread system.

OSFlash gets over 120,000 unique visitors every month. We also have a new job board widget that is featured on the OSFlash.org home page and here on my blog (I get around 70,000 unique visitors a month on this blog). By putting your job listing on the OSFlash Job Board, you'll thus be reaching a very tightly-focussed group of close to 200,000 Flash, Flex, and ActionScript developers, designers, and creatives.

Check out the OSFlash Job Board for Flash jobs, Flex jobs, and ActionScript jobs and don't forget to use the RELAUNCH coupon code to get 50% off your job listing until April 1st, 2008.

If you want to help support OSFlash, tell your friends about the OSFlash Job Board by adding the OSFlash Job Board widget to your site.

OSFlash Job Board Widget (JavaScript)

<script type="text/javascript">
<!-- 
var jobthread_jobroll_title = "Jobs";
var jobthread_jobroll_outer_style = "background-color:#dddddd;border:1px solid #999999;width:160px;";
var jobthread_jobroll_inner_style = "background-color:#ffffff;color:#666666;border:1px solid #999999;margin-left:10px;margin-right:10px;padding:10px 10px 2px 8px;font:11px Arial, Helvetica, Sans-serif;line-height:16px;";
var jobthread_jobroll_title_style = "color:#313131;font-weight:bold;";
var jobthread_jobroll_link_style = "color:#0464bb;font-size:11px;font-weight:bold;text-decoration:none;border:none;";
var jobthread_jobroll_featured_style = "";
var jobthread_jobroll_featured_link_style = "";
var jobthread_jobroll_top_style = "padding-top:8px;";
var jobthread_jobroll_bottom_style = "padding-bottom:4px;";
//-->
</script>
<script type="text/javascript" src="http://jobs.osflash.org/feeds/jobroll/?num_jobs=5&num_featured_jobs=1&display_method=default&version=2.0"></script>

OSFlash Job Board Wordpress widget

I also made a simple Wordpress Widget that you can use to add the Job Board to your Wordpress blog's sidebar. Download the OSFlash Job Board Wordpress widget.

Once you've downloaded it, simply extract it into your wp-content/plugins folder, activate it, and add it to your sidebar from the Widgets section of the Wordpress administration tool. (Note: The CSS positioning is set for my site, you may need to modify it to make it display correctly for yours.)

Here's the source for the OSFlash Job Board Wordpress plugin. It's released under the open source MIT license, so please feel free to use and adapt it to make your own Wordpress plugins too.

<?php
/*
Plugin Name: OSFlash Job Board Badge
Plugin URI: http://aralbalkan.com
Description: Displays the OSFlash Job Board Badge on your Wordpress blog. Released under the MIT License. Copyright (c) 2008 Aral Balkan. http://aralbalkan.com.
Author: Aral Balkan
Version: 1.0
Author URI: http://aralbalkan.com
*/
 
function osflash_job_board_widget_init()
{
	if ( !function_exists('register_sidebar_widget') || !function_exists('register_widget_control') )
		return; 
 
	function osflash_job_board_widget($args)
	{
		extract($args); 
 
		echo $before_widget; 
 
		?>
<div class="osflashJobBoard">
				<script type="text/javascript">
				<!-- 
				var jobthread_jobroll_title = "Jobs";
				var jobthread_jobroll_outer_style = "background-color:#dddddd;border:1px solid #999999;width:160px;";
				var jobthread_jobroll_inner_style = "background-color:#ffffff;color:#666666;border:1px solid #999999;margin-left:10px;margin-right:10px;padding:10px 10px 2px 8px;font:11px Arial, Helvetica, Sans-serif;line-height:16px;";
				var jobthread_jobroll_title_style = "color:#313131;font-weight:bold;";
				var jobthread_jobroll_link_style = "color:#0464bb;font-size:11px;font-weight:bold;text-decoration:none;border:none;";
				var jobthread_jobroll_featured_style = "";
				var jobthread_jobroll_featured_link_style = "";
				var jobthread_jobroll_top_style = "padding-top:8px;";
				var jobthread_jobroll_bottom_style = "padding-bottom:4px;";
				//-->
				</script>
				<script type="text/javascript" src="http://jobs.osflash.org/feeds/jobroll/?num_jobs=5&num_featured_jobs=1&display_method=default&version=2.0"></script>
			</div>
 
		<?php
 
		echo $after_widget;
	}
 
	// Register widget
	register_sidebar_widget('OSFlash Job Board', 'osflash_job_board_widget');
}
 
function osflash_job_board_style()
{
	?>	
<style type="text/css">
		.osflashJobBoard
		{
			position: absolute;
			left: 20px;
		}
		</style>
 
	<?
}
 
// Add widget once plugins are loaded.
add_action('plugins_loaded', 'osflash_job_board_widget_init');
 
// Add the badge's CSS to the head.
add_action('wp_head', 'osflash_job_board_style');
 
?>

Update: There was a small hiccup right after the blog announcement. If you couldn't reach OSFlash.org or jobs.osflash.org, please try again. It's back up and running! Thanks!

eBay, please allow open source in your Flash/Flex contest

Ebay Flex Contest

Doug McCune is reporting that there is a clause in the Widget Design Challenge 2008 contest being run by eBay that bars entrants from using open source libraries in their entries.

The actual clause follows:

Widget may not incorporate any open source code except for Adobe Flex under the MPL license

This is not good.

I cannot think of any project I've worked on in my career, going as far back as I can remember, that did not use open source code in some capacity. Heck, we owe "Web 2.0" and the web as we know it to open source (can you imagine Google being what it is today while running its huge server farms on Windows Server?) Open source is everywhere, both behind the scenes (powering operating systems, application servers, and databases) and in front (Wordpress, Papervision3D, MediaWiki, etc.) When I was still doing client work, I wouldn't take on any project with a "no open source" clause. Life's too short. And I have much better things to do than reinvent the wheel.

The Flash Platform is blessed when it comes to open source. You can find quite a comprehensive list of open source Flash projects on OSFlash. It makes no sense whatsoever to guarantee a reduction in the quality of entries by disallowing developers access to these amazing tools.

Doug sums up what developers will be missing out nicely in his post:

That means no 3D engines, no physics engines, no custom component libraries. If you wanted 3D you’d have to build your own custom 3D engine. Umm, no thanks. It’s funny because they make the explicit exception for the Flex framework, since if they didn’t do that you wouldn’t be able to make any Flex app at all.

I know this must just be a legal clause that slipped by the Flash team at eBay who are organizing the contest. Now that it has been unearthed, I have no doubt that eBay will swiftly rectify the situation and allow open source libraries and tools to be used in the contest.

As Spock would say, "it's only logical, captain." (Yeah, I gotta lay off the Star Trek books, I know!)

No, Adobe has not just killed SWX :)

The reports of SWX's death have been greatly exaggerated. Well, OK, the one report, that is.

I'm referring to the blog post by David Arno that asks Has Adobe just killed SWX?

David's post refers to the recent opening of the AMF format (good one, Adobe, and about time, I'd say) and the open source release of BlazeDS.

David states:

Flash-based RIA developers wanting to pass data between the client and a back-end server have had to choose between three unappealing technologies: XML/JSON, Adobe’s official remoting technologies and unofficial third party tools based on “hacking” Adobe file formats. The first suffers from serialization/ deserialization and verbose data format overheads. The second is just plain expensive (and only works with Java back-ends). The third is of dubious legality.

It's a good summary. Unfortunately, it's not accurate. Specifically, the bit about SWX being of "dubious legality".

Just to be clear, let me state this for the record: There is no doubt whatsoever about the legality of SWX, SWX RPC, SWX PHP or of any of the other implementations of SWX RPC (SWX Ruby, SWX Java, etc.)

It is actually quite unfortunate that Adobe's previously closed approach to all things Flash, including the "you can't make server products if you read the spec" clause in the Flash 8 spec, casts a shadow of doubt over products like SWX that benefit the Flash Platform instead of celebrating their contribution to the ecosystem. Well, I didn't read the SWF spec to create the AVM1 version of SWX PHP so it is not of "debious legality". Stating that SWX PHP is of "dubious legality" is nothing but FUD.

The same goes for the upcoming AVM2 version of SWX PHP that is based on the Flash 9 spec. The Flash 9 spec does not have the same server product restriction of the previous SWF specs so we are using it to create the AVM2 implementation.

David continues:

Has Adobe just killed SWX? Until today, SWX lacked (as far as I could tell) the ability to pass complex objects back and forth between server and client, but it more than made up for this by the server providing the data as native SWF files.

Unfortunately, again, the information here is just plain wrong.

The whole idea behind SWX is that you can pass complex objects back and forth between the tiers easily -- as they are passed as native data structures. When passing a complex data structure from client to server, SWX RPC encodes it in JSON format. When getting complex (and simple) data types from the server, you receive them as native ActionScript objects within a SWF. In fact, that's what SWX RPC is all about: native data -- both simple and complex.

Finally, David states:

However now that AMFPHP is fully legal and SWX remains in the legal grey zone, to me the choice between AMFPHP and SWX becomes a no-brainer. I can see no reason now to use SWX.

Again, SWX is not in a "legal grey zone" and the reasons for using SWX are the same as they have always been: simplicity.

And, as SWX contains AMFPHP as a library, you are not locked into using SWX RPC in your application. You can start out using the SWX gateway and then switch to using the AMF gateway (or JSON or one of the other gateways provided by AMFPHP) without re-writing your server-side classes. Or use both gateways if you want to: AMF for a web view, for example, and SWX for a mobile view.

And finally, remember that SWX RPC is still the only performant RPC solution for Flash Lite 2+ as remoting is not supported there. As evidenced by the entries in the latest SWX contest (one of the sponsors of which is Adobe), though, I would say that SWX use is far greater on the web than on mobile. This, as I understand from feedback on the Flash Mobile group, is due to the relative lack of Flash Lite 2/3 development in general in the real world currently.

I am personally delighted that Adobe have opened up the AMF protocol and released an open source version of FDS/LiveCycle Data Services. This is something I've been pushing them to do both privately and publicly for the longest time so I couldn't be happier. It's a big win for the Flash Platform.

Also, I'm very happy to see the progress made by Wade on AMFPHP. As I mentioned earlier, SWX PHP actually uses AMFPHP as a library and I have always supported (and continue to support) the AMFPHP project (just take a cursory glance at the web site if you need proof of that!) Heck, we'd all be calling it INFRNO if it wasn't for me! :)

I see AMFPHP and SWX as complimentary products. I made it a primary design decision of SWX PHP to have it be compatible with AMFPHP. I also urge other implementations of SWX RPC to maintain compatibility with the dominant open source AMF implementation on their respective platforms.

Adobe's latest move, far from killing SWX, will only strengthen the Flash Platform and all products on it, including SWX by winning us more developers.

SWX PHP and SWX ActionScript Library Version 1.0 Released

SWX PHP 1.0 and SWX ActionScript Library 1.0 Release Announcement

It's my great pleasure to announce that after six months of alphas and betas, SWX PHP 1.0 and SWX ActionScript Library 1.0 are now available for download.

SWX is officially out of beta!

The major changes from SWX PHP Release Candidate 1 include a revamped Start Page with new, royalty-free icons, and a friendly new list view for the Services and Flash examples folders.

I've also updated the SWX Nabaztag API so that you can now specify the voice that you want your Nabaztag bunny to talk in and you can move its ears and send it ear and LED choreographies. You can test out and use the SWX Nabaztag API and the other SWX APIs (Flickr, Twitter, etc.) directly from the Public SWX Gateway using the SWX Service Explorer.

Finally, there's a new LOG_ALL configuration option in swx_config.php that determines whether non-error (status, info, profiling) messages are written to the PHP error log. Set this to false on deployments for better performance. The setting defaults to true as it is useful for troubleshooting during development.

Update: Based on Jon MacDonald's suggestion (thanks, Jon!), I've also created a SWX PHP Deployment Bundle to make it easier for you to deploy SWX PHP to your server. Use the regular SWX PHP and SWX PHP MAMP Bundles to develop with and then deploy the lean-and-mean deployment bundle to your server. The deployment bundle is much smaller than the regular build as it doesn't contain the source code for the Flex-based tools or the sample Flash FLA files.

The release of SWX PHP 1.0 and SWX ActionScript Library 1.0 is something I've been looking forward to for quite a while now and I hope that SWX simplifies your development life and makes it as fun for you to create Flash and Flash Lite applications and mashups as it has for me.

In the next two months, I'm going to be traveling around the world to talk about SWX at FlashForward Boston, FlashForum Conference in Germany, MAX Chicago, MAX Barcelona, FITC Hollwood, MAX Japan, and Flash on the Beach in my home town of Brighton, in the UK. In addition to this, development work continues (I just made my first post-1.0 commit to the SVN repository) and will include efforts to create a Flash 9 version of SWX PHP, as well as SWX RPC implementations for Ruby, Python, J2EE, and .Net.

In the next few days, I will be releasing Internet Drafts for SWX and SWX RPC which I hope will become Informational RFCs.

Here's to Version 1.0! This is just the beginning.

Read the full release notes for SWX PHP 1.0 and download the 1.0 release.

SWX PHP and SWX ActionScript Library Release Candidate 1 Released

I just released Release Candidate 1 of SWX PHP and the SWX ActionScript Library over at swxformat.org. You can download them on the SWX download page.

The newly-released components include:

  • SWX ActionScript Library
  • SWX PHP
  • SWX PHP MAMP Bundle

Along with this release, there are three new SWX APIs for Flickr, Jaiku, and Numpa (Twitter in Netherlands). The new SWX Flickr API is the easiest way to create Flickr-based mashups in Flash and provides a very simple way to upload photos to Flickr too. The Jaiku and Numpa APIs come courtesy of Folkert Hielema.

You can explore and test all of the SWX APIs by using the SWX Service Explorer.

For a detailed description of the release, please see the SWX PHP RC1 announcement on swxformat.org.






Bad Behavior has blocked 0 access attempts in the last 7 days.