Dec
20
SpringPlayer_leftside_interface.jpgI'm beginning to work on a rather large video project and have evaluated close to a hundred different players including both the commercial and open source varieties. Long story short, I didn't find one that met my needs, entirely. With that, I started creating my own. The result is SpringPlayer v1.0.

SpringPlayer is an Adobe Flash-based video player written in Actionscript 3 that targets Flash Player 9.0.115 and higher. There were three design goals of the player:

  • Focus on usability to deliver a player that's functional, elegant and easy to use.
  • Create a player that's small and compact and requires minimal time to download.
  • Make it free for the world to use.
With this simple criteria, I've created a player with the following features:

  • Written in Actionscript 3 targeting Flash Player 9 and higher.
  • Compact filesize of only 13Kb.
  • Supports HTTP progressive download.
  • Fullscreen support with controls.
  • Plays back FLV, F4V, MP4 and some MOV's.
  • Videos can be resized to fill available screen or can maintain aspect ratio.
  • Supports any aspect ratio (4:3, 16:9, 1.85:1, etc).
  • Simple and easy to integrate into virtually any website.
As of this entry, SpringPlayer does not yet support RTMP, but will in early 2009. Support for Flash Media Server 2.x/3.x, Red5 and Wowza are in process as well as a lot of code optimizations. The goal is to add some additional functionality while decreasing the filesize of the SWF. Currently it weighs in at 13Kb which is significanly smaller than players written using Adobe's own FLVPlayer component.

Visit the SpringPlayer project page for more details or to watch a demo of the player in action. You can also download the player and use it free of charge on your own personal or commercial site.
Aug
24
MT-CumulusMT-Cumulus is a Flash-based tag cloud for Movable Type. It is written as a plugin for MT 4.x and is a direct port of Roy Tanck's popular Wordpress plugin.

For an overview, usage, screenshots or to download the plugin, head on over to the MT-Cumulus project page.

MT-Cumulus displays tags on a rotating sphere. A users mouse controls the direction and speed of the sphere allowing them to interactively navigate the tag cloud.

MT-Cumulus features:
  • Enable/disable on a per-blog basis
  • Set width and height
  • Set foreground and background colors
  • Set rotation speed
  • Set number of tags to display in cloud
  • Set minimum and maximum font sizes
  • Can use tags and blog categories in cloud
  • Includes SWFObject
  • SEO techniques used
  • MT-Cumulus v1.0.0 is based on WP-Cumulus v1.13
Aug
17
The Projects page on my site has been under 'development' for quite some time now. Actually, it was more neglected than 'under development'. Well, I'm pleased to announce that it IS actually under development and nearing completion. Several projects are listed with overviews and screenshots of each, and as always, if you have a project that you feel I might be interested in, please contact me.
Aug
15
toe_tag.jpg
Wired published a very interesting article entitled 'Fitting Network TV for a Toe Tag'. The article describes the slow-but-sure death of Network TV in its current form. In summary, the article gives many reasons why Network TV will die, but the number one reason is that '...niche is the new normal'.

I couldn't agree more. The days of networks dumbing down content for the masses are numbered. They've been over for quite some time for myself personally. As a consumer of niche television and Internet programming, most of the content I consume is short format video podcasts or medium to long format audio podcasts.

There's a growing number of content producers in various genres of niche programming. Anything from photography, video editing, ruby programming, automobiles, to crochet is available online, and for free.

The issue that will arise however, is how and where do niche content producers publish their content? This is a fitting question because creating the next Revision 3 is not a small task, and publishing content to social/video sites like Youtube doesn't do much for the image of the producer nor does it monetize their content all that well.

All of this leads me to the reason for this posting. In the coming weeks and months, I'll be posting details about a project I have been working on for some time now. Stay tuned...

Aug
06
On July 2nd, 2008, I was interviewed by Karen Greenwood Henke from Nimble Press about the future of Video on Demand in public education. The interview took place at the National Educational Computing Conference in San Antonio, Texas. Here's a link to the article which is posted on the Long Tail Learners Blog.

Get the Flash Player to see this player.
Aug
04
One of my many frustrations with Windows has been that over time, the entire operating system slows down considerably. This is possibly due to user profiles, or registry and file-system fragmentation. Whatever the case, it's quite sad that on an older system, the old adage about going to grab a cup of coffee while the system loads still holds true. This complaint has been going on for over a decade, yet it still exists. (sidenote: btw, this is one of the many reasons why I no longer run Windows, leaving the dark side completely.)

But I'm not here to bash Microsoft, or any other OS manufacture for that matter. Maybe there's a completely legitimate reason why systems slow down, although I've never experienced this with OS X or Linux. What I do know is that in the early 80's my Commodore 64 would turn on and it would be ready, just waiting for me to type in code into its Basic interpreter. Why did this happen? Let's see, no moving parts (i.e.: hard drives), smaller operating system, OS loaded in ROM, the list goes on.

So what if we could have a similar user experience (minus the Basic interpreter thing) today? I think it's possible but it would require the participation of both hardware and software vendors to agree on a spec. What spec? I'll tell you... A three stage flash memory spec.

Three Stage Memory

First off, let me express that i'm not an engineer, nor am I up-to-date on any of the latest memory advances. But what i do know is that the current way of doing things whether it's booting from a hard disk or a SSD, isn't working. Essentially what currently happens is that the operating system, applications and preferences are stored on medium and read into RAM where the processor fetches the instructions and executes them. Every time you turn on your computer the same thing happens, even if nothing has changed. This seems rather silly to me.

The Three Stage or TSM contains three separate flash memory banks, Base, Preferred, and Running.

Base-Stage Memory

The contents of this memory is written by the computer manufacture and contains the operating system in a running state and drivers for the hardware that shipped with the system. The content of this memory does not change and is similar to ROM.

Preferred-Stage Memory

This memory is reserved for the preferred state of the machine upon boot. This will be the delta of the Base-Stage Memory. That is, whatever has changed since the Base-Stage will be stored on the Preferred-Stage. This stage can be changed by the end user by a hardware selection located near the power and reset buttons on the front of the computer. By pressing the button, a user creates a new Preferred-Stage Memory configuration. The next time the user boots their machine, it will load to this new state. If the state ever becomes corrupted, the Base-Stage will take precedence. In this regard, the computer will always have an OS and drivers available to it.

Running-Stage Memory

This is the equivalent of today's RAM. This memory is ever changing but is not involved in the bootup sequence at all. If the computer gets infected by malware or viruses, it only affects the Running-Stage Memory. The next time the computer boots, the Running-Stage Memory is erased and the contents of Base and Preferred are loaded.

Bootup Sequence

After POST the BIOS would load the contents of Base-Stage Memory. This is a running operating system and drivers for the hardware that shipped with the system. This is a nearly instantaneous process, after which the Preferred-Stage Memory is loaded. Again, this is nearly instantaneous. At this point, a running operating system, drivers, and preferences have been loaded. Whatever changes have occurred since the load of the Preferred-Stage is loaded by the Running-Stage. Launching applications, etc, take place in this memory space.

Changes Required

This type of architecture has so many advantages in both security, reliability and in enhancing the user experience. But it's not something that could be pulled off overnight. Hardware specs would need to be created with the help and support of the OS manufactures. Changes to the OS would be required including storing preferences, removing the need for journals, etc.

What Do You Think?

Are there any systems out there that implement this type of approach? Has this design been thought of before? I don't know. But it seems to me that this approach is far better than what we have now.

Apr
07
Handbrake is a fantastic application for converting standard definition DVD's to another format. In my case, I use it to encode to AppleTV (H.264/AAC/AC3). I've followed the development of Handbrake for some time now, but until recently, it's been too buggy or incomplete for me to use. That all changed when version 0.9.2 was released.

roswell_intro.jpgUsing Handbrake, I can decrypt, rip and convert to MPEG-4 in one simple step. One of my test videos for encoding applications has been the TV series Roswell, which aired on both the WB and Fox network about eight years ago. One of the reasons I use this as a test is that the content was originally shot on film (23.976 fps) and was telecined resulting in 29.97 frames per second. The shows typically loose cadence quite frequently resulting in a good test for IVTC filters. There are always a lot of both horizontal and vertical movement as well as dark (or black) scenes which can be quite difficult for the encoder to process.

After many tests, I'm posting what I feel like are my ultimate settings. Some people use handbrake to make smaller, transportable files. Others use it for conversion to mobile devices. I use it with the intention of playing back an exact (or very close representative) copy of my DVD's on my Apple TV device. The only things I cared about when creating these presets were:

  • The content was standards-based MP4 (H.264, AAC)
  • Able to play back on Apple TV
  • Introduced little or no visual artifacts
  • Provided a Dolby Digital/5.1 surround track
Currently Handbrake does not have a method to import or export presents. So for the time being, you'll have to locate the UserPresets file (~/Library/Application Support/HandBrake/UserPresets.plist on a Mac) and add the contents of the download after the last </dict> in the file. You can download my custom preset here.
Apr
04
August 24th, 2008 - This blog entry is outdated. Please visit the MT-Cumulus project page for a proper Movable Type 4.x plugin of this very popular Flash-based tag cloud. View the MT-Cumulus 1.0 announcement.

No doubt, the availability of plugins for Movable Type is few and far between. After searching for a Flash-based tag cloud for Movable Type 4 and finding no results, I finally gave up. Instead, I focused my energy on finding a similar plugin for WordPress and adapting the implementation for use with Movable Type. The result is WP-Cumulus developed by Roy Tanck which is now successfully running in MT.

Being new to MT, I did not know how to create a plugin, so I opted for the implementation instead. For those of you interested in using this excellent plugin on your MT blog, create a dedicated widget and call it say 'Tag Cloud - Flash'. Then in your layout, include this widget. The only file you'll need from the plugin, is the actual swf file. The rest of the files are WordPress specific and you can discard them.

Here's my code for 'Tag Cloud - Flash'
<div class="widget-tag-cloud widget">
<h3 class="widget-header">Tag Cloud</h3>
<div id="tagcloudflash"></div>

<script type="text/javascript">
var tags = "<tags>";
<mt:Tags limit="30" sort_by="rank">
<mt:If tag="TagRank" eq="1"><mt:SetVar name="font" value="18pt" /></mt:If>
<mt:If tag="TagRank" eq="2"><mt:SetVar name="font" value="16pt" /></mt:If>
<mt:If tag="TagRank" eq="3"><mt:SetVar name="font" value="14pt" /></mt:If>
<mt:If tag="TagRank" eq="4"><mt:SetVar name="font" value="12pt" /></mt:If>
<mt:If tag="TagRank" eq="5"><mt:SetVar name="font" value="10pt" /></mt:If>
<mt:If tag="TagRank" eq="6"><mt:SetVar name="font" value="8pt" /></mt:If>
tags += "%3Ca+href%3D%27<$mt:TagSearchLink$>%27+class%3D%27tag-link-66%27+title%3D%27<$mt:TagName$>%27+rel%3D%27tag%27+style=%27font-size:+<mt:Var name="font"/>%3B%27%3E<$mt:TagName$>%3C%2Fa%3E%0A";
</mt:Tags>
tags = tags.replace(/\?/g, "%3F");
tags = tags.replace(/&amp;/g, "%26");
tags += "</tags>";

var so = new SWFObject("/scripts/tagcloud.swf", "tagcloudflash", "365", "365", "7", "#292929");
so.addVariable("tcolor", "0xEBAF00");
so.addVariable("tagcloud", tags);
so.write("tagcloudflash");
</script>
</div>

Alternatively, you can download my Tag Cloud Widget here.
A special thank you goes out to Roy Tanck for his work on this project.
Apr
04
goodbye_wordpress_hello_movable_type.jpgWordPress filled a huge gap in the marketplace when Six Apart, the makers of Movable Type, decided to screw with their licensing. At the time, Movable Type was numero uno in the blogesphere. Researching articles with the keywords 'migrate', 'wordpress', 'movable type' returns thousands of results of people switching from WordPress to Movable Type, but very few results the other way around.

As of late, WordPress has been annoying the hell out of me. Ever since the 'upgrade' to version 2.3, I've had nothing but issues with WordPress. My number one complaint was my theme was magically possessed. On blog entries, it would sometimes show the correct number of comments, sometimes not. Navigating to the entry page would show the comments, and still the number of comments would be wrong. Perhaps this was a 'feature' of version 2.3. In any case, it was quite annoying and caused me to reevaluate my blogging software.

Another issue I had was with WP-Cache. WordPress in a shared hosting environment such as mine, is quite slow. WP-Cache sped things up a bit, but only marginally. Perhaps it would of done a better job if my site was getting hit all the time - but it wasn't.

I evaluated Expression Engine and Movable Type 4. I decided to go with Movable Type because Six Apart has since changed their licensing and have made available a free version for personal use as well as an open source version. All of which are compatible with their larger commercial offering.

Being somewhat shallow, one of the major selling points for me was the interface. Movable Type is pretty, it's sexy and it's completely functional. Think of it as a Lamborghini that's as easy to drive as a Honda.

The decision of ditching WordPress in favor of Movable Type was taken very seriously. I knew in advance that the plugin support, availability of themes, etc was far superior in the land of WordPress and almost desert-like for Movable Type. Even with these obstacles, I chose my migration path.

The actual migration was quite painless. Movable Type was able to import all of my uploads, entries and comments. The only thing I had to do was figure out the templating system. At first, it made absolutely no sense at all. After a few hours of experimentation, I found it to be quite logical. It was just very different from WordPress, so my learning curve was a bit steeper.

So for all of you celebrating the release of WordPress 2.5, I'm happy for you. May it work better for you than it did for me.
Feb
17
Yesterday, Japan's NHK reported that Toshiba will stop manufacturing HD-DVD equiptment. This comes in light of the recent announcemets during CES by Warner Studios and by the more recent accountments of Netflix, Blockbuster and Wal-Mart to stock only Blu-ray players and titles going forward.

Alas, consumers finally have an easy choice for a physical media format; standard definition or high definition.

But does it really matter? Did Sony win the battle and lose the war?

The proliferation of online movie rental services like XBox Live, iTunes and Netflix allow consumers near instant gratification with the ability to rent both standard-def and high-def content on-demand. Not only does the Blu-ray camp have to compete with these new delivery models, they also have to compete with file sharing networks where users are able to download high-def content for free.

At a time when consumer buy-in is a priority for Sony, the electronics giant faces an uphill battle trying to convince consumers that physical media formats are still relevant.
Photo of Steve SpringettThis is the personal weblog of Steve Springett, a professional web designer and software developer who specializes in internet delivery of audio and video.
About
Recent Entries
Subscribe to RSS Feed