Kimili, WordPress, Relative Paths And The Base Attribute

Embedding complex SWF content in WordPress which loads or references other content can be bit tricky. Often the embedded SWF is hosted in different directory than the WordPress page that contains the embed code which means simple relative paths often fail. The reason for this is that SWF files, by default, assume the page in which they are hosted is the “base” location and use that uri to construct all relative paths. This means that relative paths are often out of scope and unresolvable (I ran into this recently with a Flex example that included the “view source” option). The solution is to manually tell the embedded SWF what the desired base path is by setting the “base” attribute in the object / embed tags.

2008-05-26_0208.png

The Flash Player object / embed tags support manually setting the “base” attribute to a different location as described here. However, as I’ve mentioned before I use the killer Kimili plugin for embedding Flash content in WordPress (necessary because WordPress likes to strip out tags it doesn’t understand). Kimili, developed and maintained by Michael Bester, supports all of the object / embed attributes and uses SWFObject under the hood making it a breeze to embed Flash via its special syntax.

Here’s what a working example of setting the base definition in Kimili looks like.

example_base_url.png

Simple. Hope it saves someone some heartache.

HTML 5 Video Element Is A Bad Joke

I’ll say it if no one else will–the video tag in HTML 5 looks to be a bad joke. Leave it to a standards body to turn back the clock and give us the same garbage that nearly killed Web video in the first place.

From Mike Chambers’ blog post on the topic:

html5_video_joke.png

Can anybody honestly come up come up with a cogent argument for the currently proposed solution?

Adding Styles To Custom Flex Components

I’ve been slowly learning custom AS3 Flex component development and finally had the desire to add CSS styling into the mix. Here’s a terse, but graphical tutorial on the simplest implementation I could come up with.

Review Flex CSS basics.

Styles cascade just as they do in the browser. There are 3 different ways you can set styles via MXML.

css_basics.png

Styles show up in Flex code hinting, but in ActionScript you can’t set the style directly as if it were a property.

2008-05-24_0048.png

Instead you have to use the setStyle( [property name], [property value] ) method.

setting_styles_in_as.png

Creating Custom Styles.

Add a style metadata tag outside the class definition. This tells the compiler the name and attributes of your particular style and lets it do its magic.

2008-05-24_0058.png

Initialize a CSSStyleDeclaration if one doesn’t exist already and set default values on its properties if they haven’t been set.

constructStyle_final.png

Override the styleChanged method and determine if the style has been modified. If so, set a dirty flag and tell the display list to redraw itself. (Note: creating “dirty flags” on a per style basis is pretty unwieldy if you have more than a couple of styles. It’s really a tradeoff between readability, tediousness and rendering performance.)

2008-05-24_0051.png

In the updateDisplayList method check the styles dirty flag and draw / update if needed. Make sure to set the dirty flag back to false after updating.

2008-05-24_0055.png

Here’s what the finished masterpiece looks like (sarcasm intended). Context click to view the source of the MXML and ActionScript class file.

The $300 Million Makeover

Apparently for a cool $300 million you can get a bunch of avid Mac users to attempt to convince themselves that Microsoft is cool enough for them to give up their Apple. Article just emphasizes the perception problem MS has. It’s 6 pages, but the first page and a half and the last couple of pages contain the MS specific bits.

My favorite line from the piece has to be, “If somebody tried to do that to Oracle, you wouldn’t be able to find the body.”

ms_makeover.png

I want a follow up piece that goes back to Crispin offices in 6 months and checks to see if they’re still littered with Macbook AIRs — that’s the real test.

RIAs Blur Lines – Add Something New

There’s a great interview with Mitch Grasso, CEO of SlideRocket, over at InsideRIA.

2008-05-20_1245.png

Mitch mentions one of the things that differentiates SlideRocket is presentation analytics . This is actually one example of the tectonic shift content creation software is undergoing. Content creation tools, desktop or otherwise, must leverage the cloud (push and pull). What makes software owners successful is how their audience receives / interacts with their content. The rules of the game are changing. Content creation apps must not only create and deploy content to engaging presentation tiers, they must connect to or provide a great set of web services that bind creators to their audience. The audience is everything — risk losing sight of it at your own peril.

Mitch also notes how he fully expects SlideRocket’s AIR client to dominate the web tier Flex client.

2008-05-20_1247.png

This is the argument Dare Obasanjo was making the other day.
2008-05-20_1428.png

So what is SlideRocket doing? Maybe the web service just expands your audience reach and makes the product more accessible. Maybe the web service will be tiered with a free web client and a premium desktop client. However, the real differentiator between SlideRocket and PowerPoint or Keynote is the presentation, sharing and community building that a killer web service can bring. RIA is software and services packaged together and SlideRocket is schooling us on how it should be done. Wake up Neo.

Page 1 of 512345