A Flash-based scrum tool

Open Source AS3 Scrum Tool?

I am not sure how active the non-gaming Flash development community is. I am not sure if anyone will see this blog post as I’ve become a whimper on the thorax of an ant in terms of blogging activity. So… I am thinking of starting up work on an open source scrum tool. Why?

I’ve seen plenty of web-based and other scrum tools that require a monthly fee, free couple team member one project deals, etc. While they might be pretty good, they aren’t free and also powerful. I am looking to bridge that gap with something powerful, free, and open source so if there is something you’d like to add or modify, you can. Make it your own tool – check in a branch.

Is there any appetite for such a thing? I’ve already started coding up the UI and have about half of the Backlog coded. It’s not a small project… and realizing this I wondered about the open source angle. Get a bunch of talented people chewing on this thing and create something powerful, beautiful and available to any and all who would like to use it.

My personal cadence outside of work hours is slow… so in my own interests and those who’d like to download and use something for their own development – this makes sense to me.

Let me know and I can post up to github.

Tagged :

15 Sorting Algorithms with Sounds

A thank you to Scott Janousek for posting to G+, this is a very cool find on his part.

“Visualization and “audibilization” of 15 Sorting Algorithms in 6 Minutes. Sorts random shuffles of integers, with both speed and the number of items adapted to each algorithm’s complexity. The algorithms are: selection sort, insertion sort, quick sort, merge sort, heap sort, radix sort (LSD), radix sort (MSD), std::sort (intro sort), std::stable_sort (adaptive merge sort), shell sort, bubble sort, cocktail shaker sort, gnome sort, bitonic sort and bogo sort (30 seconds of it).”

Continue reading “15 Sorting Algorithms with Sounds”

Tagged : / /

2009 AS3: Partition Slider Source

Back in 2009 I started to code up an AS3 partition (range) slider, that is, a slider with multiple thumbs. Three in fact. It’s not dynamic by any means.

There is a Document Class but it’s tied directly to assets on the Stage. So I am releasing this just in case someone might need one and has the patience or desire to re-code it to actually be dynamic and allow for a different number of thumbs, etc.

There is some commenting in the Document Class about the thing – what it does and does not do.  You could create a dynamic thing in an hour or two to suit your needs by writing a few more Classes – one for the control itself, one for thumb controls, another for a thumb dragging manager, and maybe some custom events, etc. Please don’t judge me by the source 🙂

Download Link (zipped files): 44kb.

Tagged : / /

jQuery.post() for AS3

I don’t partake of the Adobe Flash AS3 code bubbler very much any more, having saddled up with Objective-C and iOS/OS X development a lot more these days.

However, I do dabble in AS3 from time to time, generating some prototypes and simulations with it still. AS3 has been around for quite a number of years now and it does have it’s good points. It’s usually quite quick to roll something up quickly in regards to some kind of data visualization, audio/video manipulation, etc.

I just found (it’s already over three years old) a neat Class that simplifies AS3’s URLRequest class… making the loading of images, SWFs, sounds, downloading files, uploading files, and making web service calls a snap.

Head on over to http://code.google.com/p/quiero/ and check it out. Look what it can do below just for an idea.

Go from this

var request:URLRequest = new URLRequest('http://google.com/ig/api');
var loader:URLLoader = new URLLoader();
var variables:URLVariables = new URLVariables();
variables.weather = 'Salem, OR';
request.method = URLRequestMethod.GET;
loader.addEventListener(Event.COMPLETE,onRequestComplete);
loader.load(request);

function onRequestComplete(e:Event):void
{
  trace(e.target.data)
}

To this

import quiero.*
Quiero.request({url:'http://google.com/ig/api',method:'get',data:{weather:'Salem, OR'},onComplete:onRequestComplete})

function onRequestComplete(e:RequesterEvent):void
{
  trace(e.data)
}

Update: Google shut the door on this query, I tried out Yahoo! and it works fine, you just need to deal with a namespace.

Tagged : /

Adobe Topcoat

Adobe Topcoat. It’s out and available. Well. Most of it.

An Open Source UI Library for creating beautiful and responsive applications using web standards

Before going to GitHub to check out some code you can check out a lot of the currently included controls. I have no idea how long it’s going to take to flush out the “Soon” items, but since this is open source you probably have a good shot of authoring stuff and checking it back into source.

What’s there looks decent enough, although very Android-ish. But since it’s so easily customized that’s not a big deal. I plan on kicking the tires tomorrow and she how it fares. One thing I am personally interested in is switching functionality and styles based upon which consuming platform is requesting the rendering of elements.

Put a fork in it and twist it up.

Update. So I’ve kicked the tires a bit and using these controls is pretty straight-forward. My switch didn’t render properly and I’m not sure why yet, but in general these skins for controls are decent. Does this really need open-sourced? I’m not so sure something like this coming from a big company like Adobe is anything more than some chest beating about standardized experiences for web applications that appear more native looking. Or Android looking.

I’ve modified a few controls already and I can see myself adding different features in my own set. I don’t want to go too far down this path before I search around for other options as well. Topcoat is nice, but it doesn’t shout end solution for me yet.

Tagged : / /

Cocoaheads Boston Meeting

Tonight I took a drive down I-90W and into Boston down to MIT building E51 for a Cocoaheads Boston meeting. I was sweating the intricacies of getting around down there since I’m not exactly familiar with the area, but once I got near it was easy enough to find and park in the Heyward lot. Finding the room was easy enough as well.

The room started off with perhaps 25-30 people but it quickly swelled to more than that – the room was at capacity. Which was great! I’ve been to Flash get-togethers in the past during Flash’s heyday (outside of events at Adobe itself) that had far fewer participants. Anyway, the age range was generally college level and up to around perhaps late 50’s – everyone well-seasoned.

Continue reading “Cocoaheads Boston Meeting”

Tagged : /

The first 3D WordPress theme

From 3D Safari Sites (A list of sites known to employ the brand new 3D effects of Snow Leopard’s Safari. Mmm, hardware-accelerated CSS) comes a new entry… the first 3D WordPress theme. Launch using Safari. It’s not really usable at this point, but it’s interesting to see a carousel of posts on the home page.

It’s a little buggy in regards to the UI (clicking on an animated post and having it appear below the other spinning elements, but that’s the UI, not the technology at play.

It’s all basically lorum ipsum, a proof of concept, but it’s pretty interesting. Perhaps we’ll see some of these pop up in the near future. In regards to blogs, I can do without all the spinning elements. I like to get in, get clicking, read, comment, and get out.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js">
</script><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>

Cheers on the effort, it’s new and that’s always a good thing.

Smokescreen – Flash without the plugin

So your SWFs won’t play on an iPhone/Touch or iPad? If Chris Smoak has anything to do about it, they will albeit in another form. Chris has written a Flash Player in JavaScript (called Smokescreen) that takes Flash objects and converts them to JavaScript in real time. It reads the SWF binary, unzips it in native JavaScript, extracts images and embedded audio, and turns it into base64 encoded data:uris, then stitches the vectors back together as animated SVG.

Now this looks to be targeted more at online advertising (tweened texts, slides, etc.) than any robust Flash game or anything like that. It’s been said that it includes over 8,000 lines of code and weighs in at 175kb (no biggie in my mind). It’s going to be open-sourced so perhaps it’s performance could be improved.

So this looks like it’s here to bring Flash advertising to Apple devices, not a full-fledged Flash experience. Not sure I’m very keen on that fact myself. No word on what version of ActionScript will be supported, but having read what I’ve seen so far, it looks like it’s more about lightweight experiences than heavy-duty ones.

What is your take?

Another Adobe Flash 10.1 with Froyo video “review”

Another video “review” of Flash running on Android 2.2. This one comes from IntoMobile. Scrolling to me still looks kind of choppy… you’ll notice that the content doesn’t seem securely anchored to the page that is being scrolled. That’s a minor nit for a beta plugin I suppose.

[youtube]http://www.youtube.com/watch?v=d7a2o3CNnXY[/youtube]

For all the Flash content I have seen on the Android in various videos online, they doesn’t yet make me miss it on the iPhone or iPad. I am a Flash Developer first and foremost, so there is no question about my love of the platform. I have yet to acquire a Nexus One to play with, but I am playing with the Android SDK. If I can get my hands on some hardware, I might take to the platform even more. Let’s see what happens at the WWDC.

So what’s the deal with Flash 10.1 and Android 2.2 sluggishness?

I’m not sure if you’ve been reading about a test video you can watch where Android 2.2 is supposedly significantly faster without FP 10.1 beta running on it. It is beta and will be updated and tweaked, but it has caused some consternation already. Is the worry warranted? Is the main problem in regards to garbage collection or some other underlying technology that is eating up resources over time?

[youtube]http://www.youtube.com/watch?v=PtGCaKyd_co[/youtube]

It’s a little scary, but there might be a multitude of technological balls in the air here that are causing problems.

Android SDK, here I come

After watching Google I/O and seeing the traction that Android is getting, I will be finally downloading the Android SDK tomorrow morning. I won’t be giving up Objective-C and iPhone/iPad development by any means, but getting Android under my belt (Java) will be a little bit of a challenge but knowing many languages is a huge plus for any developer.

“Cannonball!!!”

Garrett-Glaser’s technical analysis of VP8

Scouring the web last night I came upon more information (that if true) that doesn’t exactly bode well for the format.

Garrett-Glaser:

  • VP8, as a spec, should be a bit better than H.264 Baseline Profile and VC-1. It’s not even close to competitive with H.264 Main or High Profile. (This may be okay because Baseline is meant for web or mobile applications, Main targeted at standard definition television, and High applies to high definition such as Blu-Ray.)
  • VP8, as an encoder, is somewhere between Xvid and Microsoft’s VC-1 in terms of visual quality. This can definitely be improved a lot, but not via conventional means.
  • VP8, as a decoder, decodes even slower than ffmpeg’s H.264. This probably can’t be improved that much.
  • VP8 copies way too much from H.264 for anyone sane to be comfortable with it, no matter whose word is behind the claim of being patent-free.
  • VP8 is not ready for prime-time; the spec is a pile of copy-pasted C code and the encoder’s interface is lacking in features and buggy. They aren’t even ready to finalize the bitstream format, let alone switch the world over to VP8.

So it seems that if Google is able to improve upon the VP8 codebase and specs and can push chip manufacturers to support the new codec, Apple may eventually support it in their offerings. If partners can be indemnified from patent attacks, that would go a long way in getting companies on board as well.

Interesting times these are. H.264 may be kinda closed at the moment but it is a standard and a very capable one at that. Looking at the standard for H.264 I’ve seen a ton of profiles (for non-scalable 2D video, scalable in bold, multi-view in green):

  • Constrained Baseline Profile
  • Baseline Profile
  • Main Profile
  • Extended Profile
  • High Profile
  • High 10 Profile
  • High 4:2:2 Profile
  • High 4:4:4 Predictive Profile
  • High 10 Intra Profile
  • High 4:2:2 Intra Profile
  • High 4:4:4 Intra Profile
  • CAVLC 4:4:4 Profile
  • Scalable Baseline Profile
  • Scalable High Profile
  • Scalable High Intra Profile
  • Stereo High Profile
  • Multiview High Profile

Adobe to support VP8 format in the Flash Player

WebM has been introduced by Google as a new media format, an open web media project. VP8 video is now open source & royalty free. WebM is a wrapper (container being Matroska or .mkv) for VP8 video and Ogg Vorbis audio. Supposedly it’s efficient enough for playback on lower-powered devices such as netbooks, handhelds, etc.

Mozilla is supporting the format today, as the nightly builds now contain support. Chrome early access builds will also have support on May 24th. Opera is said to be working to support the format sometime in the future.

Google will (of course) be supporting the format as an option for YouTube playback.

Will Apple support the format since they are very much stand behind H.264? Will browser support of the format eventually phase out Flash Video if a plugin isn’t needed any longer for media (video) playback? Of course keeping the sources the same and either consuming with the browser or a plugin in a browser, I think I would opt for the plugin right now (Flash) as it’s so freaking capable of so many things.  If HTML5 ends up to catch up with it, then I’d start to worry.

Will Adobe support Ogg Vorbis in addition to VP8 in it’s player? I suppose we’ll see. That might quell the throngs of geeks demanding Ogg Vorbis support. By throngs I mean the few hundred or so that mysteriously attracted to the format.

It looks like Microsoft will be support WebM in InternetExploder 9 (which is still a long wait until 2011.)

Update:
x264 developer Jason Garrett-Glaser has been quoted as saying that WebM seems be directly patterned after H.264 and thus may be violating patents. It resembles a only slightly improved version of the H.264 Baseline Profile and so could invite lawsuits from the MPEG-LA standards group for anyone that uses it.

“Though I am not a lawyer, I simply cannot believe that they will be able to get away with this, especially in today’s overly litigious day and age,” Garret-Glaser said. “Even VC-1 (used in HD DVD) differed more from H.264 that VP8 does, and even VC-1 didn’t manage to escape the clutches of software patents. Until we get some hard evidence that VP8 is safe, I would be extremely cautious. Since Google is not indemnifying users of VP8 from patent lawsuits, this is even more of a potential problem.”

Well, we will have to sit back and keep our eyes on our RSS reader applications for the next several weeks to see if any new information comes out of the announcement made today at I/O.

Lightspark (Open Source Flash Player) reaches Beta Status

Technology Temple has posted today that their open source Flash implementation has reached beta status. Here is the link to the post. If you’re interested in a quick read first, here are some of the details supplied. 😀

Features:

  • OpenGL based rendering allows for fast rendering of geometries and video frames. More over, although those are not yet sup­ported, blur and other effects can be imple­mented using shaders for maximum eff i­cency. Using OpenGL textures to display video frames is a bit less efficient than using XVideo, but make it possible to support any overlaying/transformation effect that flash provides.
  • Mostly complete support for the newer version of the flash scripting language: ActionScript 3.0, introduced with Flash 9. Both an interpreter and a JIT engine based on LLVM are provided. The previous ver­sions of the language (supported by Gnash, which does not support 3.0) run on a com­pletely different, and quite weird, virtual machine. Currently Lightspark does not support the older engine, but most sites (e.g, YouTube) are migrating to the newer engine, so we will be fine just with 3.0.
  • Beside the Virtual Machine Flash provides a huge runtime libraries that ranges from Video Rendering services to XML parsing. Implementation of the run time is of course far from complete, but the architecture of the VM makes it possible to easily implement the various objects in plain C++. More over, an arbitrary degree of mixing between VM generated and C++ code is possible. This means that functions can be called from what­ever context with out worrying about their origin.
  • mozilla compatible plugin is provided, I’ve spent a lot of time trying to make the code robust to unex­pected conditions and it should fail gracefully and display a gentle message. But, as plugins runs inside the browser process, there a not-so-slight possibility of crashes. Please report any crashes using the bug reporting system of launchpad

You can read more about the project in the original post.