All opinions expressed are those of the authors and not necessarily those of OSNews.com, our sponsors, or our affiliates.
  Add to My Yahoo!  Subscribe with Bloglines  Subscribe in NewsGator Online

published on 2009-11-26 13:56:00
Kroc Camen

I couldn?t decide between this and the other view of this shot.

The tightness of the shot focuses the view and the tree branch is not in the way of the house wall on the right. The rainbow is not as intense in this view, it disappeared within 15 seconds whilst I was taking the shots.


Comments

published on 2009-11-26 13:55:00
Kroc Camen

I couldn?t decide between this and the other view of this shot.

The intensity of the rainbow is better in this shot, and I like how it neatly falls between the roofs (the other shot is not so good). Also I like the aerials being visible clearly here which are not in the other shot. The roof on the left is overpowering in my opinion and that?s why the other shot is portrait instead of landscape.


Comments

published on 2009-11-26 13:54:00
Kroc Camen

Another view of the previous.


Comments

published on 2009-11-26 13:52:00
Kroc Camen

I took a wrong turning somewhere and boom?there was this. It?s two sides of an old house that have been made into a courtyard for a block of flats.


Comments

published by Eugenia on 2009-11-26 00:57:58 in the "General" category
Eugenia Loli-Queru

I have decided to re-license portions of my blog under a “Free” license.

Definitions

“Me”, “My”, “I”, “Myself” means Eugenia Loli.
“You” means an individual or entity exercising rights under the Licenses mentioned below.

Details

1. The actual blog posts’ text that I have written (not including quotes by other publications) is licensed under the Creative Commons “Attribution” 3.0 license.

2. The blog comments’ text that I have written (not including quotes by others) is licensed under the Creative Commons “Attribution” 3.0 license.

3. The blog comments written by people other than myself are owned by whoever posted them; I take no responsibility for them, and I claim no ownership over them. I do retain the right to remove them in whole or in part though if I find them offensive, or edit them for clarification (e.g. fixing a bad link).

4. Embedded videos, audio, or Flash applets are owned by whoever created them, and are governed by their respective licenses.

5. a. Pictures/images that are obviously not shot or created by me (e.g. PR shots of a product, celebrities etc), or that are already mentioned to be under a different license, are owned by whoever created them and are governed by their respective licenses.
b. Pictures or images that I did shoot/create but feature recognizable people, or recognizable trademarked products/logos, are “all rights reserved” by me.
c. The rest of the pictures/images in the “Recipes” category, and all other eligible pictures/screenshots/images that I have obviously shot or created myself are under the Creative Commons “Attribution” 3.0 license.
d. If in doubt, send me an email. If I’m dead, or I don’t respond to your email within a week, use your best judgment.

6. Especially for blog articles that are obvious product reviews, you must also clearly mention the date of the original publication as shown below, if you are going to copy them away.

Important Notes

1. The Creative Commons “Attribution” 3.0 license’s legal code states that: “You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author’s honor or reputation“. I plan to exercise this right in all the common sense ways, but also please note the following: for the articles that are obviously “tutorials” or “recipes”, feel free to do whatever you like with them (to the extent that the license allows). I encourage enrichment/corrections/etc on my tutorial/recipe articles. But for all the rest of my blog posts/comments, which most of the time represent personal opinions, you have all the rights that the license allows you, including translations, creating derivative works, and even grammar-fixing, BUT, you can’t change the meaning of my writings. Changing the meaning of my writings would be considered “distortion” by me.

2. Regarding this blog’s privacy: this blog never ran any ads, weird javascript, or other questionable software. However, the two third party statistics services I’ve used might (or might not) collect some information. Take it up with them (StatCounter in the past, and WordPress.com Stats currently).

3. The Creative Commons “Attribution” 3.0 license allows the licensor (me) to define the way he/she wants to be attributed. Here are my wishes:

Originally by Eugenia Loli
eugenia17@NOSPAM.gmail.com
<a href=”original article LINK”>original article TITLE</a> [IF applicable]
Original publication date: [Publication date of the original article goes here]
http://vimeo.com/eugenia [IF you are using a video-related article]


Comments

published on 2009-11-25 19:30:00 in the "quote" category
Kroc Camen

We?ll end up having everything up in the air?,
just waiting for the sky to fall.

Clint V Franklin

? The Cloud?what used to be called the Internet or World Wide Web up until recently.


Comments

published by noreply@blogger.com (Ron Phipps) on 2009-11-25 07:53:00 in the "community" category
I ran into an issue today while setting up a login form on the front page of a site that would post to the login action of the User controller. The issue was that when the the form was posted the App controller beforeFilter was called, the User controller beforeFilter was called, but the login action of the User controller was never reached and a blank template with the normal debugging output was shown. No errors were being output and there wasn't much to go on. Ultimately what ended up being the problem was that in the Home controller where the form was being served from we did not have the following to include the User model:

var $uses = array('User');

Surprisingly within our view we were able to setup forms to work with the User model. When the auth component was checking for the user data in the post it did not find any data, and stopped processing the request. This was not a graceful way for the auth component or CakePHP to handle the request, an error message would have helped track down the issue.


Comments

published by noreply@blogger.com (Jon Jensen) on 2009-11-23 21:58:00 in the "open-source" category

XZ is a new free compression file format that is starting to be more widely used. The LZMA2 compression method it uses first became popular in the 7-Zip archive program, with an analogous Unix command-line version called 7z.

We used XZ for the first time in the Interchange project in the Interchange 5.7.3 packages. Compared to gzip and bzip2, the file sizes were as follows:

interchange-5.7.3.tar.gz   2.4M
interchange-5.7.3.tar.bz2  2.1M
interchange-5.7.3.tar.xz   1.7M

Getting that tighter compression comes at the cost of its runtime being about 4 times slower than bzip2, but a bonus is that it decompresses about 3 times faster than bzip2. The combination of significantly smaller file sizes and faster decompression made it a clear win for distributing software packages, leading to it being the format used for packages in Fedora 12.

It's also easy to use on Ubuntu 9.10, via the standard xz-utils package. When you install that with apt-get, aptitude, etc., you'll get a scary warning about it replacing lzma, a core package, but this is safe to do because xz-utils provides compatible replacement binaries /usr/bin/lzma and friends (lzcat, lzless, etc.). There is also built-in support in GNU tar with the new --xz aka -J options.


Comments

published by Eugenia on 2009-11-23 10:54:51 in the "Entertainment" category
Eugenia Loli-Queru

The second album by Lady Gaga, “The Fame Monster“, was released today. It includes 8 new songs, and one remix. The new album is very electronic, but it also feels more mature too than her previous album. In detail:

* Bad Romance – 8.5/10
* Alejandro – 9/10
* Monster – 9/10
* Speechless – 7/10
* Dance In the Dark – 7.5/10
* Telephone (with Beyoncé) – 10/10
* So Happy I Could Die – 7.5/10
* Teeth – 8/10

Best moment: The opening of “Alejandro” between 00:25 to 00:42 seconds.

Overall rating: 8.3/10

This places this album on my top-10 favorites for the decade, next to Madonna’s “Confessions on a Dance Floor” album. I know that many of my readers don’t understand my fascination with Madonna and GaGa when 95% of my music is actually alternative rock, but I recognize good pop when I see it, and I try to give it credit when it’s due.

I also bought Adam Lambert’s “For your Entertainment” album, but it’s not as good as GaGa’s (still, some very good pop in there too — “Sleepwalker” is the best song on his album). Rihanna’s & Shakira’s albums (also released today) felt very blunt and un-catchy to me.


Comments

published by Eugenia on 2009-11-23 10:16:12 in the "Entertainment" category
Eugenia Loli-Queru

The internet is abuzz right now debating if Adam Lambert’s AMA performance was softcore porn or simply somewhat raunchy. During his performance he and a dancer touched his crotch (Madonna did this before), he had male dancers on leash (Madonna did this before), he put his face to another male’s crotch (Madonna did this before), and finally he kissed a same-sex band member (Madonna did this before).

So, everything of what Lambert did on stage last night was already done before (17 years ago, no less). The difference is that what he did was all part of the same number, and that it was broadcasted live in national television (most of what Madonna did was for her live performances only available on VHS/DVD). And when Madonna kissed Britney and Christina on stage it was for the cable MTV channel rather than on a network channel (in the US, there are different rules for networked and cable TV channels).

So basically, what shocked most people is not exactly what Lambert did (since it was all done before), but the fact that it was all that shown on network television within 4 minutes — and rumor has it that ABC did not know of the kiss. But the question really is: was it really that shocking?

In my opinion, no. I found his performance theatrical and entertaining. I was not offended at all. And I don’t really understand why people get offended over real or simulated sex. It’s just sex. It’s something everyone and every living thing does. Why the taboo? Why the shock? My guess is because half of the people who found the performance “offending” are boring puritans, and the other half are homophobes. That’s how I see it.

BTW, Lambert told CNN that his kiss with the male keyboardist was not rehearsed, but I don’t buy that. The keyboardist did not look shocked at all. It was probably not rehearsed at AMAs (and that’s why ABC didn’t know about it), but it was surely agreed with the band. I mean, come on. Lambert will have to play that card and say it was just an impulsive move to avoid future award/TV/show banning. Of course, if TV viewers didn’t get offended that easily he wouldn’t have to lie to do what he wanted to do.

The bottom line is that Lambert is doing his thing one way or another (I never expected anything less from him btw), and just like Madonna, he will use that controversy to build a career. It was a calculated risk he took last night. I would have done the same thing.


Comments

published by Eugenia on 2009-11-23 01:28:55 in the "Hardware" category
Eugenia Loli-Queru

Geeks.com, home to 10 MP digital cameras and other cheap digital cameras, sent over the consumer Kodak M420 digicam for a quick look.

This is a 10 megapixels camera, shooting at a 3648×2736 resolution. It features a sensor of 1/2.3-inch CCD, a 3.0-inch wide angle color LCD display, a 4x optical zoom, digital image stabilization, 64 MB internal memory, SDHC slot, face detection, high ISO support up to 6400, text and sound tags, records continuous VGA video (640×480) at 30 fps and QVGA video (320 x 240) at 30 fps (MJPEG), and it comes with many scene modes.

According to the specifications it has a Schneider-Kreuznach Variogon lens, 28 – 112 mm (35 mm equiv.), f/2.6 – 5.8, shutter speed of 8-1/1000 sec., auto focus modes at normal, macro, infinity selectable, white balance with auto, daylight, tungsten, fluorescent, open shade options, a flash range of 0.2 – 4.0m at wide, ISO 400; 0.5 – 1.8 m at tele, ISO 400. Flash modes: auto, fill, red eye reduction, off, burst modes: self-timer (2 sec/10sec, 2 shots), burst 3 shots, scene modes: portrait, sport, landscape, close-up, night portrait, night landscape, snow, beach, text/document, fireworks, flower, museum/manner, self-portrait, high-ISO, children, backlight, panning, candlelight, sunset, panorama (right-left), panorama (left-right), blur reduction, program. There’s also AV output with NTSC/PAL selectable support.

The package came with a wall charger, which is pretty rare for Kodak cameras. Charging the battery for the first time took a whopping 7 hours. Battery life was so-so with this camera, mostly because of the large screen it had to power up.

On paper this camera’s abilities look good, but the quality we got out of it was sub-par. As you can see from the sample pictures, there’s fringing, and a very grainy look — reminiscent of interpolated cams. We also found it impossible to focus close enough in our macro shooting experiments. More over, the camera over-exposes like crazy in auto mode. The only good thing about its actual shooting abilities is the wide-angle aspect of the lens.

The ergonomics for the camera are not good either. I usually don’t complain about ergonomics on digicams, but this one is worse than usual. The flash/on-off/shutter buttons are glued next to each other, and more often than not I kept clicking the wrong button. The trash/menu/info buttons are very small and round, and so I needed to use my fingernail to press them — using just the thumb would press the wrong button. The D-pad’s round and stiff nature is as problematic too. Only good thing about the ergonomics was the zoom rocker buttom, which in fact I found it better than in most other digicams.

On the plus side the flash was pretty powerful and had an effect even from pretty far as you can see below in the without and with flash example:

The video mode is very basic (30 fps VGA MJPEG .mov) and there are no manual controls for it. In fact, the only manual control that the camera has is in its “P” mode, where there’s exposure compensation. When manually reducing exposure we were able to shoot a few acceptable pictures that weren’t hopelessly over-exposed.

Overall, I don’t think most people would be happy with this cam. Even every day people who just snap random pictures and don’t care about controls won’t be very happy with it. The pictures produced are too grainy, and the cam over-exposes way too much. If you need a cheap digicam I would suggest the Kodak Z1285 instead, which shoots better pics, has good manual controls when needed, has 720p HD video recording support, and it’s much cheaper too!

Rating: 5/10


Comments

published by Eugenia on 2009-11-21 07:07:21 in the "Filmmaking" category
Eugenia Loli-Queru

From any Canon video dSLR or digicam h.264 format to AVID’s Media Composer 4 (MC4), using the Avid DNxHD intermediate format: step by step tutorial (PC & Mac). For 1080/30p timeline support on MC4 you will additional need the Symphony Nitris DX hardware though.


Comments

published on 2009-11-20 15:28:00 in the "code" category
Kroc Camen
  1. What?
  2. Why?
  3. The Code
    1. Encoding the Videos
  4. Drawbacks
  5. Frequently Asked Questions
  6. Please Contribute
    1. Related Projects

Update: Version 0.3.
What?s new?

  1. Simpler Syntax

  2. Download links outside of fallback
    (makes no sense otherwise)

  3. Working reliably on iPhone OS 3.0+ now

Hosting for the video generously provided by Chris Double of TinyVid.tv

Download Video: High Quality ?MP4? ? Low Quality ?OGG?

What?

Video for Everybody is very simply a chunk of HTML code that embeds a video into a website using the HTML5 <video> element which offers native playback in Firefox 3.5, Safari 3 & 4, Google Chrome and an increasing number of other browsers:

Screenshot of Firefox 3.5 playing video using HTML5

This is native OGG video playback in Firefox 3.5 (you get H.264 playback in Safari). No plugins to install. The video is played by the browser itself. It loads quickly and doesn?t threaten to crash your browser.

In other browsers that do not support <video>, it falls back to QuickTime.

Screenshot of Internet Explorer 8 playing video using Apple QuickTime

(which allows playback on the iPhone)

Two screenshots of an iPhone (OS v2) playing video

If QuickTime is not installed, Adobe Flash is used:
You can host locally or embed any Flash file, such as a YouTube video.

Screenshot of Internet Explorer 8 playing video using Adobe Flash

Finally, if all else fails, the placeholder image is shown and the user can download the video using the links provided.

Screenshot of Firefox 3 without QuickTime or Flash installed, displaying a fall back message about the video

This is all done without JavaScript and requires only two video encodes, one OGG file for Firefox 3.5, and one MP4 file for everything else (Flash / Safari / iPhone). Instructions on how to convert your videos to these formats with the correct settings are provided further down this article.

It?s compatible with HTML 4, HTML5 (valid markup), XHTML 1 and additionally also works when served as application/xhtml+xml.

For a full browser compatibility list, see the Video for Everybody Test Page.

Why?

Assumptions:

The market is made up of more OSes, browsers and processor architectures than it was five years ago. More people (especially geeks) are browsing with AdBlock / NoScript / FlashBlock than ever before. We can no longer just assume people are going to have Flash and are allowing you to use it.

The same rules apply to video. If my platform / device / browser of choice cannot see your video, or you do not offer me the means to download the video to view offline, then I don?t see whatever it is you?ve got to show me.

I therefore want to help all web-developers get to grips with <video>, to make it easy for them to show video content without having to sacrifice legacy browsers, nor ask you to install anything just to do so.

Starting Off on the Wrong Foot:

I see a problem with how people are beginning to offer HTML5 video. Whilst it is fantastic that DailyMotion and YouTube are experimenting with HTML5 there are a number of primary things content providers must satisfy for HTML5 video to adhere to the openness it is purposed for.

Not treated like a special case
No special page you have to visit. No extra effort should be required on your part to get video your browser already supports perfectly.
No browser sniffing
Implementations could turn up anywhere, in any form. OGG is open-source open-specification. Serving to only mainstream browsers like Firefox 3.5 goes against the whole point of open-video removing the requirement to be tied to one particular vendor.
Don?t require JavaScript
Developers generally don?t know how to include the video tag whilst falling back to alternatives. Trying to detect browsers using JavaScript and writing the <video> element into the page is just going about it the wrong way.

Video for Everybody specifically solves these problems.
It:

Allows content producers to provide HTML5 video as an equal citizen
The same code is used for browsers that support <video>, as well as QuickTime and Flash. No special copy of your website has to be setup, no options have to be ticked. Video for Everybody plays the right file for the right level of support the user?s browser provides.
Degrades extremely gracefully, providing multiple levels of fallback
Using Flash only provides you support for platforms where Flash is installed. No Flash: No Video. Video for Everybody will most of the time still play the video even if Flash is not installed. Flash is not supported on the iPhone, the ?1 platform for users accessing the ?Web on a mobile.
Is just plain copy & paste HTML
Of course, you can write a server side script to insert it over and over again according to however many videos you have, but the HTML itself does not use JavaScript to insert the video or detect browsers or even provide the fallbacks. You can enhance Video for Everybody with JavaScript (it?s just the template to get you started), but the core selection of which video format plays is completely down to the browser, no JavaScript involved.

The Code

There?s nothing particularly new about this, people have been doing object-fallback for ages now, however this is an attempt at including HTML5 video into the mix, as well as trying to degrade as gracefully as possible with many levels and have very broad browser / device support (including the iPhone). See the test page for a full list.

Here follows the full source code. It?s very large because it?s fully commented.
You can easily compact this down (one such example follows afterwards).

<!-- ?Video For Everybody? v0.3
     =================================================================================================================== -->
<!-- first try HTML5 playback. if serving as XML, expand `controls` to `controls="controls"` and autoplay likewise -->
<video width="640" height="360" poster="__POSTER__.JPG" controls>
	<source src="__VIDEO__.OGV" type="video/ogg" /><!-- Firefox 3.5 native OGG video -->
	<source src="__VIDEO__.MP4" type="video/mp4" /><!-- Safari / iPhone video -->
	<!-- IE only QuickTime embed: IE6 is ignored as it does not support `<object>` in `<object>` so we skip QuickTime
	     and go straight to Flash further down. the line break after the `classid` is required due to a bug in IE -->
	<!--[if gt IE 6]>
	<object width="640" height="375" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"><!
	[endif]-->
	<!-- non-IE QuickTime embed (hidden from IE): the self-closing comment tag allows non-IE browsers to
	     see the HTML whilst being compatible with serving as XML -->
	<!--[if !IE]><!-->
	<object width="640" height="375" type="video/quicktime" data="__VIDEO__.MP4">
	<!--<![endif]-->
	<param name="src" value="__VIDEO__.MP4" />
	<param name="showlogo" value="false" />
	<!-- fallback to Flash -->
	<object width="640" height="380" type="application/x-shockwave-flash"
		data="__FLASH__.SWF?image=__POSTER__.JPG&amp;file=__VIDEO__.MP4">
		<!-- Firefox uses the `data` attribute above, IE/Safari uses the param below -->
		<param name="movie" value="__FLASH__.SWF?image=__POSTER__.JPG&amp;file=__VIDEO__.MP4" />
		<!-- fallback image. download links are below the video. warning: putting anything more than
		     the fallback image in the fallback may trigger an iPhone OS3.0+ bug -->
		<img src="__POSTER__.JPG" width="640" height="360" alt="Title of video"
		     title="No video playback capabilities, please download the video below"
		/>
	</object><!--[if gt IE 6]><!-->
	</object><!--<![endif]-->
</video>
<!-- you *must* offer a download link as they may be able to play the file locally -->
<p>Download Video: <a href="__VIDEO__.MP4">High Quality ?MP4?</a> | <a href="__VIDEO__.OGV">Low Quality ?OGG?</a></p>

(If you would like your video to automatically start playing, check out the sample code on the Test Page.)

Here?s a compacted version as an example:
(Technically, only one line break is required, to deal with an IE bug, on line 4)

<video width="640" height="360" poster="__POSTER__.JPG" controls>
	<source src="__VIDEO__.OGV" type="video/ogg" />
	<source src="__VIDEO__.MP4" type="video/mp4" /><!--[if gt IE 6]>
	<object width="640" height="375" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"><!
	[endif]--><!--[if !IE]><!-->
	<object width="640" height="375" type="video/quicktime" data="__VIDEO__.MP4">
	<!--<![endif]-->
	<param name="src" value="__VIDEO__.MP4" />
	<param name="showlogo" value="false" />
	<object width="640" height="380" type="application/x-shockwave-flash"
		data="__FLASH__.SWF?image=__POSTER__.JPG&amp;file=__VIDEO__.MP4">
		<param name="movie" value="__FLASH__.SWF?image=__POSTER__.JPG&amp;file=__VIDEO__.MP4" />
		<img src="__POSTER__.JPG" width="640" height="360" alt="Title of video"
		     title="No video playback capabilities, please download the video below" />
	</object><!--[if gt IE 6]><!--></object><!--<![endif]-->
</video>
<p>Download Video: <a href="__VIDEO__.MP4">High Quality ?MP4?</a> | <a href="__VIDEO__.OGV">Low Quality ?OGG?</a></p>

You need to do a number of things to use the code:

  • Ensure your server is using the correct mime-types. Firefox 3.5 will not play the OGG video if the mime-type is wrong. Place these lines in your .htaccess file to send the correct mime-types to browsers

    AddType video/ogg .ogv
    AddType video/mp4 .mp4
  • Replace __VIDEO__.MP4 with the path to your video encoded to MP4-H.264

  • Replace __VIDEO__.OGV with the path to your video encoded to OGG

  • Replace __POSTER__.JPG with the path to an image you want to act as a title screen to the video, it will be shown before the video plays in Flash, and as a representative image when the video is unable to play

  • Replace __FLASH__.SWF with the path to the Flash video player you are using. I use JW Player as it can play the same MP4 that is used for everything else, but this could be any Flash resource including YouTube. Sample code for using YouTube can be seen on the Video for Everybody YouTube Test Page

It is absolutely essential that you provide download links outside of the video for two reasons:

  1. You want people to view your video, right? So why would you wrap the video up in Flash, and then don?t bother providing a means to download the video? There seems to be this phobia of allowing people to actually view the video file you want to show them, like they?re going to immediately pirate it on their street corner. Unless you?ve been living in a hole, it is impossible for you to prevent people from downloading your video files, even if you lock them up in Flash and don?t provide the key. There are hundreds of apps and websites to circumvent that. Give people your video files?you want them to see the video anyway and you are fooling yourself if you think that they shouldn?t be allowed to download the video.

  2. There are some instances where people will simply not be able to view the video inside the web-page. Providing users the means to download the video will ensure your message gets through. This is the only way to support the Palm Pr?, for example.

Encoding the Videos

Video for Everybody uses an MP4 video file to play in Safari, in Flash and on the iPhone. Therefore the MP4 file must conform to the requirements for these three platforms. Technically Safari can play anything QuickTime can play. Flash can play H.264 and the iPhone is a little more restrictive in that it tops out at 640x480, does not support streaming, and does not support the Main H.264 profile. See Apple?s own instructions for the specifics.

The OGG file is solely for Firefox 3.5 at the moment for Firefox 3.5 and Chrome, but more browsers may use it in the future as OGG is an open standard and can be implemented by any vendor if they choose so. It is not patent-encumbered and therefore a cheaper choice than MP4 which requires licensing.

For best results, I recommend including the poster image as the first frame when you encode the video. In QuickTime and HTML5 <video>, the first frame of the video is shown until the user clicks play, giving the users an idea of the content beforehand. You can see I?ve done this with my video examples.

I am no expert in video encoding and explaining the entire process is beyond the scope of this article, however this article explains the background technical information and extensive instructions on how to encode compatible OGG files.

Drawbacks

Limited <video> Controls

You can roll your own controls using any HTML and a bit of JavaScript. HTML5 also has the benefit that it is far more efficient than Flash, HD video in the browser is possible?without requiring a supercomputer.

A native video implementation improves as the browser improves. Upgrades are free. If a browser vendor adds fullscreen playback to their <video> implementation, then you get it for free. Firefox 3.6 has built in fullscreen support, but until then there?s a Firefox extension for it already. It?s early days yet and if people don?t start using <video> then the improvements won?t come as fast. Video for Everybody hopes to spur on the improvement of <video> implementations.

Lastly, a current bug in Firefox 3.5 means that when JavaScript is disabled (NoScript for example) the video controls do not display. The developer of NoScript is aware of this issue and will try to come up with a solution. For now, right-click on the video for the controls, or use autoplay on your videos, or rely on users allowing your site in NoScript (the same as they have to do with Flash).

If It Doesn?t Work, It Doesn?t Work

As a raw bit of HTML, you have the issue that some browsers just don?t do things right no matter what. I?ve worked around as many bugs as possible in the most common browsers, however there are some issues that cannot be solved with HTML alone. For example, on Linux systems without Firefox 3.5, Flash or MPEG-4 codecs, the browser may attempt to play the video using the M-Player plugin which will display a blank, broken video interface (due to not having an MPEG4 decoder) instead of the fallback. Personally, I suspect the adoption of Firefox 3.5 on Linux will be rapid, and many users will already have installed either Flash or the extra codecs. Regardless, this is why it is important to always provide download links below the video.

Without JavaScript Video for Everybody can?t deal with those kinds of situations. This affects only a small number of users, however if you need to target these users you can always add JavaScript to Video for Everybody to detect the problematic browser scenarios and make adjustments accordingly. That?s perfectly fine to do as long the Video for Everybody HTML is included in the source and JavaScript enhancements are done on page-load; that way your JavaScript won?t prevent Video for Everybody working for the other 99% of scenarios.

Frequently Asked Questions

Because new ideas are confusing.

Isn?t this 4× as much effort than just using Flash?

Video for Everybody doesn?t require 4 different video encodes! It uses only two, which supports 4× as many platforms and browsers than Flash alone does as well as reaching almost anybody who doesn?t have Flash installed or can?t install it (iPhone / Some 64-Bit operating systems).

In fact, it ends up being more effort in the long-run using a Flash only method because when a device like the iPhone comes along and it doesn?t have Flash and it becomes very popular, you now have to re-encode FLV files and add browser detection and new code to deal with it. New hand-held devices that are coming out generally don?t support Flash, or only support a tiny sub-set, however they are using ports of Webkit and Gecko that may support HTML5 <video>, and as the mobile smart-phone market increases, HTML5 video will keep up far quicker than Adobe and who they choose to support.

The code is too large / ugly

In an ideal world, all the browser vendors would agree upon one standard and one way of doing things and update their old browsers to match too. Then you could just use just <video src="my_video.ogg" /> and it?d play in any browser.

That?s not the case though. Video for Everybody is a hack, a kludge, a workaround. It is to deal with the fact we still have millstones like IE tied around our necks that just won?t get with the times. Video for Everybody deals with all of these broken browsers so that you don?t have to.

I doubt you hand-type every object tag you use. You just copy and paste a template, or use a server-side function to spit out the code each time. The size of the code is moot therefore and can be compacted to a decent size.

Going forward, in the future as HTML5 becomes standard and common, then the layers in Video for Everybody can be dropped and we can all (hopefully) move to just the video element and be done. That won?t happen unless we start making use of HTML5 now to help drive adoption. Maybe one day even Microsoft will add <video> to IE and it should (unless they manage to do even that wrong) ?just work? with Video for Everybody, shedding the Flash layer and automatically moving up to native video.

Are you saying that JavaScript is bad?

No. Video for Everybody is not aimed at bringing down JavaScript or demanding you go back to the stone age. It is a base template that can easily be enhanced using JavaScript, but does not use it itself to provide the fallback mechanisms.

Other HTML5 video embedding methods use JavaScript to detect the browser?s capabilities and insert the appropriate <video> / Flash content, however this has the drawback that JavaScript must be enabled or even supported?Most RSS readers do not execute JavaScript as a security measure. With Video for Everybody, even in environments without JavaScript the user will still either see the video or be able to download it. The more people who see your video, the better for you.

Can I modify it?

Yes! However, just bear this in mind: Video for Everybody is designed to provide video for all browsers within reason; there are a lot of hacks in the code to make the same HTML work across many, many browsers, each tested with and without Flash and QuickTime. That?s a big matrix of testing. If you modify Video for Everybody you might?quite unknowingly?break support for some particular combinations. Please either do what testing you can, or ask me to get involved in helping to test your modifications.

Why don?t you include Cortado, a Java applet that can play OGG video?

The user-experience is more important than the underlying technology. The problem with Java is the user-experience compared to Flash and HTML5 video. The loading of a Java applet causes a noticeable pause whilst the Java Runtime Environment loads. Even on my powerful Mac, the page loading freezes and the hard disk thrashes for a few seconds, on low powered machines I?ve seen the entire computer lock up for 10 seconds. On Windows you get a tray-icon appear an a bubble pop-up from said tray icon distracting you. This is simply unacceptable for playing a video.

Amazon did an experiment whereby they added 100 milliseconds to the load time of their page. Sales dropped 1% immediately. Google did a similar test, adding just half a second to the load time. Traffic dropped 20% immediately.

By including Cortado in Video for Everybody I would be effectively putting some customers off from visiting your website, even damaging people?s opinion of your site because it ?slows their computer down?. Video is used to communicate a message and that needs to be done with the minimal amount of fuss and as much speed as possible. Until Sun Oracle improve Java to the point where it is no longer a visual nuisance and a speed-bump then I would consider it.

You are of course free to modify Video for Everybody to include Cortado! If it serves your demographic or needs better, by all means do so.

Please Contribute

Video for Everybody is not a complete solution. It is the template for you to get started. Please help test Video for Everybody on a wide range of browsers, plugins and devices.

HTML5 video is here now, available on a very wide range of platforms and devices that stretch well beyond what Flash can support. We need to start building the tools and the patterns to support everybody seamlessly. Video for Everybody is my contribution to this larger movement across the ?Web as a helping hand to bridge the gap for developers so that they do not have to be in the position of choosing one (Flash) or the other (<video>), but being able to choose both.

Please send anything Video for Everybody related to me at kroccamen@gmail.com and consider subscribing to the RSS for updates.

If you?ve modified Video for Everybody to do something else, or have created an HTML5 video related project, please let me know and if it upholds the same principles as VfE, I?ll list it here.

(I will not list projects that cannot play the video in an RSS reader. Using JavaScript to insert <video> defeats the entire purpose.)

Univers Video Plugin
A WordPress plugin that provides you a simple interface for inserting video. It uses Video for Everybody for the base template but steps up to a custom interface if JavaScript is available. The plugin even does server-side encoding. The Flash interface is designed to closely mimic the look of Firefox 3.5?s native <video> controls to provide consistency, regardless of technology used. Absolutely stunning work.

Comments

published on 2009-11-20 10:50:00
Kroc Camen

Dasein is an interactive art installation which uses a constructed space, cctv recordings, custom glass and live projections to create a unique and one time viewer experience.

Very interesting use of Video for Everybody, but what really tops the cake is this: Video for Everybody button
Isn?t that just cute!

Update: The web-developer of the site has kindly made available the original source file used to make this button. The zip file is enclosed in this article.


Comments

published on 2009-11-19 21:13:00 in the "quote" category
Kroc Camen

If the status quo is good enough for you, you are not working hard enough. Do better. The world needs it.

Kroc Camen

Comments