jquery.flash is on github! (and updated)

I’ve recently starting committing changes made to jquery-flash to github. You can view the project page for it here.

I’ve also made a few updates, the most notable being; I moved the checking code to seperate functions called isie(), hasflash() and flashversion(). All of which can be used anywhere, with or without using $().flash(). I also did some minor optimizations to make execution a little speedier.

Talker – Waves? Campfires? I just want to talk!

I, among many, jumped on the Google Wave Dev Preview bandwagon. The video demonstrations they had were so nice and polished looking, but after getting the chance to try it first hand it’s polished sheen quickly faded–it was buggy to the point of being unusable and collaboration was so awkward. As a Wave expanded it became more and more difficult to determine what was new and what you had read before. Conversations would branch all over the place and you would quickly lose track of what was actually being discussed. There was other alternatives for business communication, but they all had one thing in common; over complication. Integration is fine and all, but sometimes the users don’t need what it integrates with, so it shouldn’t be built around that.

In steps Talker, a deceptively flexible messaging system wrapped in a simple interface that anyone could understand. Who likes explaining to their coworkers how an app is supposed to work, show of hands. None? Yeah, I thought so.

I first stumbled across Talker through Marc-AndrĂ© Cournoyer’s LinkedIn profile and, to be honest, bookmarked it and forgot about it. It was in beta at the time and didn’t have much to see, so I overlooked it’s simple nature. Today though, I received word that Talker was ready for launch. I slipped into the demo room and made a few posts. Everything was quick and responsive and the functionality was so elegant; I posted a link to an image–it loaded the image itself in it’s place, I posted a youtube link–it embedded the video right there. The attention to detail down to things like the auto-completing / commands and @ usernames was a very nice touch.

What really blew me away though was the simplicity of the plugin interface. Many useful plugins like autocomplete are literally one-liners! You can’t get much simpler than that, unlike Wave’s monolithic Python plugins that need to load a million and one external libraries just to make a basic word filter. If you haven’t checked it out already I seriously recommend you give it a try, who knows, you might like it.

jquery.flash – Who needs swfobject when you have this?

I’ve used swfobject many times before in the past, but I just don’t like it. It works well enough, but in the modern web of high-traffic web apps and Javascript frameworks that give you elegant access to DOM elements it just feels clunky having to go back to the ‘old’ way of doing things…so I decided to make jquery.flash!

Why use it? Well for starters it minifies to just over 2 KB, rather than the 10 KB of swfobject! How about automatic plugin and version detection? How about complete cross-browser compatibility? If jquery.flash isn’t a perfect fit for your flash embedding needs then you are just asking for too much. ;)

How do you use it? Just like this;

<script type="text/javascript">
$(document).ready(function(){
    $('.flash').flash({
        "src":"your_flash.swf",
        "width":100,
        "height":100,
        "vars":{"name":"value"},
        "color":"#fff",
        "quality":"high",
        "wmode":"transparent",
        "access":"domain",
        "express":"express_install.swf",
        "classid":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
        "codebase":"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=",
        "plugin":"http://get.adobe.com/flashplayer",
        "mime":"application/x-shockwave-flash",
        "version":"9.0.24",
    });
});
</script>

All arguments are optional and will just be left out if you don’t use them unless they have a default. Everything from classid down has a default. Width and Height, when not declared, will use the current dimensions of the element that is being replaced. Flashvars are passed as a json object to ‘vars’ and are automatically serialized into a query string. If there is demand for it I may add a check to allow already made query strings to be used instead of a json object, but it wasn’t really of any importance to me.

If you have any questions feel free to ask. :)

jquery.flash.js
jquery.flash.min.js

Hello world!

stephenbelanger.com is online (it’s about time. >.>)

I’ve migrated most of the more ‘tech’ posts from my other blog. I’ll be using this one for sharing technical insights and releasing awesome open source stuff. I’ve got a jQuery-based SWFobject replacement that will be released here soon and I’ll have many Kohana helpers and modules to share in the near future. Look forward to much free and open goodness in the near future. :)