Has Flash lost its sparkle?


May 3, 2009

I’ve always had a something of a love hate relationship with Flash, so sitting here at Flash Camp ’09 listening to Adobe laying it on thick about the virtues of the latest release I’m compelled to weigh up the arguments for myself, consider the bigger picture, and try to figure out the real story.

I first came to use Flash in the mid 90′s after a couple of years of building experimental projects in Macromedia Director. Flash was very much the poor cousin of Director at the time, which was then able to render 3D objects, handle VRML, plus a massive range of audio & visual formats, making it an incredibly powerful application. Flash, on the other hand, with only a small set of commands, had very limited functionality, in time this would in fact prove to be its most important attribute.

As more functionality was added to Director, the files it produced became heavier, making it progressively less suitable as an internet format – at the time most people were using dial-up connections. So when Flash 4 was released it was very well positioned to hit the spots that Director just wasn’t able to reach, leaving it stuck on the ill fated CD-ROM.

The advertising industry played a big part in driving the development of Flash, making the it jump through hoops technologically and devising intricate optimization techniques – sites hosting advertising were very strict about file size and what a banner should and shouldn’t do at the time. As a result of this activity a group of people emerged able to produce very lean and very creative technical pieces of Flash. It didn’t take long for creative departments to take notice spawning hybrid designer-programmers and leading to a mushrooming of internet advertising agencies.

Enter the search engine

Fast forward a few years and couple of ‘dot.com’ disasters. The World has finally seen the light and everyone agrees that going digital is indeed the future, but all is not well for Flash. The ugly search engine called Google had seen fit to systematically rearranged the Internet’s periodic table and has filled Flash away with the obscure and exotic elements.

As search position became the yard stick for successful design sites encapsulating content into a single impenetrable shell became less important therefore leaving the typical internet advertising agency approach more and more reliant on print and TV campaigns, the very things that the early Flash pioneers promised to destroy.

To compound the woes of Flash, its close cousin Javascript seems intent on supplanting it from its interactive throne. And as Javascript is able to dynamically change the make up of a web page (the DOM), deliver rich interaction, and interface with a database all without the aid of an embedded file, the future is not looking rosy.

Back to Flash Camp, and we’re treated to a fantastic demonstration by Seb Lee-Delisle from the Brighton based gurus Plug-in Media of the cutting edge technology Augmented Reality, where Flash positions and renders a 3D object onto an live video feed, exciting stuff no doubt, but I do have a nagging feeling of déjà vu, Director 8.5 and the scenario that happened in paragraph three. Namely, an incredibly powerful application deeply compromised by the technological climate that surrounds it.

So what could the future hold for Flash?

One thing that was not discussed at Flash Camp was the incredible success, and blanket proliferation of Flash video, or YouTube as it’s more commonly known. Real Player, Shockwave, Quick Time, and VRML are now essentially de funked video formats. But hold on, it’s not quite as simple as that.

Currently YouTube doesn’t allow the direct upload of .flv files. This prevents the inclusion of meta data embedded into the movie time-line and disables both the alpha channel (a green screen) and the interaction layer (the scripting component) of a Flash movie.

As Flash video is completely ubiquitous if a third party (YouTube) was able to track and retain the meta data contained in a movie after they were sliced and diced we could see an explosion of interactive films. And if the third party was also able to separate the interaction layer of a Flash movie from the data stream passive viewing could be replaced by active engagement.

To Flash or not to Flash?

Flash has come a long way in the last ten years from an obscure animation package to a heavyweight multimedia platform. This transition has however moved the application away from the designer and towards the programmer – the latest Colin Moock epic ‘Essential Actionscript 3.0′ details the language in 900 pages compared to the original edition that covered everything in an anorexic 400.

Another major step change to impact Flash is the Open Source movement, which has driven the success of Javascript and many other technologies. If we compare free for Javascript to a £750 bill for a copy of Flash there’s a real danger that it will simply price itself out of the market.

There are a number of bright spots out there, particularly when applying Flash to a specific problem and there are many talented developers to fight the cause too. But given the inability to be read by Google, if I was starting a career as a web developer today or if I was an advertiser looking to get the content that I paid for out to the the largest possible audience, I know which platform I would choose.

The SEO experiment – Part 2 Google Rank graphic


August 17, 2008

A sites position on Google work like this:

Position = Relevance of content * Google Rank

So, knowing my current Google rank is going to be handy. There are a bunch of different ways to discover a sites rank from the Google Toolbar, to a million and one websites. As I want to chart the progress of this site I also need a way to periodically record my results.

I need the following components: a script to periodically measure Page Rank, a database to store the results, and a script to chart the results.

Page Rank Script

After a quick search I came across a great Open Source Google Rank script. This script returns code for a graphic so I rewrote the function pr_image($pagerank) to return a number instead.

The Cron job

I set up a Cron Job to periodically call the following script. (This script is placed outside the html directory for security).

<?php
//Connect to the database
include 'connect.php';

//Include the Page Rank script
include("pagerank.php");

$today = date("Y-m-d");

//Discover the current Page Rank
$gpr= new pageRank();
$gpr->printrank("http://www.matthewbyrne.co.uk");
$pageRank = $gpr->get_pr();

// Insert a row of information into the table
mysql_query("INSERT INTO googlePR (theDate, rank) VALUES('$today','$pageRank' ) ") or die(mysql_error()); 

//We've finished with the database, so close the connection
mysql_close($conn);

?>

Charting the results

The results are displayed live in chart (to the right). This script still needs a bit of work, as it will run off the edge of the graphic after a couple of months, but for now does the job just fine. Also, it looks a lot nicer when the bars are not all zero, so I’m keeping my finger crossed that Google moves me up a rank or too.

<?php
//Connect to the database
include 'connect.php';

//set up image
$height = 120;
$img = ImageCreate(230,$height);
$white = ImageColorAllocate($img,0xFF,0xFF,0xFF);
$black = ImageColorAllocate($img,0x00,0x00,0x00);
$blue = ImageColorAllocate($img,0x14,0x8A,0xD6);
$grey = ImageColorAllocate($img,0xCC,0xCC,0xCC);

//Query databasebase
$query= "SELECT * FROM googlePR_MB";
$data = mysql_query("SELECT * FROM googlePR_MB")
or die(mysql_error()); 

//Build array
$results = array();
while($info = mysql_fetch_array( $data )){
	$reformatDate=date('d M',strtotime($info['theDate']));
	array_push($results, array($reformatDate,$info['rank']));
}
//We've finished with the database, so close the connection
//mysql_close($conn);

$resultCount = count($results);

//Generate bars
for ($i=0;$i<=$resultCount;$i++){
	imageFilledRectangle($img,20+(5*$i),($height-1)-($results[$i][1]*10),20+(5*$i)+3,$height,$blue);
}

//Generate y-scale
for ($j=0;$j<10;$j++){
	ImageString($img,1,8,$height-(10*$j), $j,$grey);
}
//Add titles
ImageString($img,1,20,0,"Google Rank for www.matthewbyrne.co.uk", $black);
ImageString($img,1,20,10, $results[0][0]." - ".$results[$resultCount-1][0],$black);

//Output graphic
header('Content-Type: image/png');
ImagePNG($img);
?>

The SEO experiment – Part 1 groundwork


August 10, 2008

I’ll admit it, I’m very drawn towards Search Engine Optimization (SEO). The idea that you can drastically improve the visibility of your site with a few code and content tweaks certainly does appeal to my lazy bone.

For my experiment this site is currently the perfect candidate; low traffic, and scoring exactly zero in Googles Page Ranking.

However, that’s all about to change.

There are a number of techniques involved in SEO which I’ll cover as I go along.

Okay, first things first; get a Google account. Done that already? Great!

Now what’s needed here is the Webmaster Tools and Analytics. These will show how Google sees this site, help uncover any errors, and measure progress.

Before going any further decide on the url, in my case either:
‘http://matthewbyrne.co.uk’
or
‘http://www.matthewbyrne.co.uk’ – my choice

Whatever you choose, stick with it.

Setting up Google Webmaster tools

  1. Enter the URL of your site
  2. Click ‘Verify your site’
  3. Select a verification method – Here I always choose to upload an html file
  4. Make a blank text file on your desktop, and rename it to your unique file name google5b27wb292f65b6.html
  5. Upload this to your sites root directory using your favourite ftp program – I use FileZilla
  6. Hit verify

Add a sitemap to Google Webmaster tools

If you’re site is built with WordPress, download and install the excellent ‘Google XML Sitemaps Generator for WordPress‘ plug-in. This automatically generates a fresh sitemap each time you add new content taking all the donkey work out of the job. Whilst you’re on their site why not donate a couple of dollars to encourage great software?

  1. For everybody else visit XML-Sitemaps.com to build a sitemap.
  2. Enter your URL
  3. Hit ‘Generate’
  4. Download the file to your desktop
  5. Upload it to your site root with your ftp client
  6. Back in the Webmaster tools hit Sitemap > ‘Add a sitemap’
  7. Fill in the sitemap name ‘sitemap.xml’
  8. Hit ‘Add general web sitemap’ and you’re done

Now I hop over to the Google account page and select Analytics.

Set up Google Analytics

  1. Hit ‘Add new website profile’
  2. Enter your URL
  3. Hit ‘Finish’
  4. Copy the chunk of code into all your pages before the closing body tag and you’re done

I’ll take a few hours/days for Google to process this information, and longer to give you anything meaningful, so don’t hold your breath. Next, determine the Google Page Rank.