The Dangers of Search Engines and Flash … and dummy data

December 23rd, 2008

I was surfing around one day after my office work party, in a perfectly normal bit of narcissism I decided to Google my name, other than Google rather annoying trying to change my Scottish name back to the Irish spelling, I found a rather interesting new entry…

Why dummy data is bad

Why dummy data is bad

Yes it seems Google has indexed the main swf from the project I last worked on during “electric proms”, basically I had some dynamic text fields with my email and name as the default email sender, obviously this is data overwritten at run time when not in debug mode,

Indexing swfs is not a bad thing other than the swfs are useless by themselves:

  1. swf general do all their relatively links to files from the html location rather than the swf (mine do the later incidentally…);
  2. without query strings swf’s often break; swf are normally not a page in themselves (at least they definitely shouldn’t be!) without the context of the html alot of meaning is lost;
  3. the random way the dynamic text fields are being indexed means they have virtually no semantic meaning by themselves in any case; perhaps of course this is just another reason why careful tab indexing is so important in flash
  4. and so back and forth…

In short if Google had condensed the content of the swfs and then added this metadata to the combined pool of metadata for a given html page that of course would be great, but of course indexing swf by themselves is silly, plain plain silly… pointlessly silly

But apart from indexes swfs without the context of their surrounding html being a bit daff, they are some guidelines I’ve thought about to make sure I don’t do this again in future, in this rather nasty brave new world I’ve found myself in.

  1. If you have sensitive information inside swfs as dynamic text fields remove them now!!!, this information can be indexed the same as can info on an unprotected html page
  2. All those debug text fields off-screen and such, make sure they are populated with a blank strings, obviously this is a lesson I also have to learn…
  3. (This one is from here) Google says they index any links found inside a swf, obviously watch out for code executing pages, prize winning pages or naughty debug hidden pages as these could be indexed and executed from the Google search bot, eg http://www.blah.com/delete_all_info.php, http://www.blah.com/hidden_page_youve_won_an_iphone.php, don’t add any links into a swf which do this

And lastly having read a few blogs on the issue I’ve found some stuff to watch out for:

  1. This is one less reason people have not to build all flash website, if a producer asks to do the much unadvised all-flash website approach, the much relied on Google does index flash argument doesn’t work any more. However, No point labouring the point like some, best to approach the point slightly more so
  2. Google have stated that they are trying to index any xml/data files accessed by any indexed swfs, so be careful in what you put into any xml files your swfs use!

Essential this whole experience has added to my growing suspicion that flash is an immature platform in so many ways, this is just another flaw to add to the list along with accessibility issues, dependable platform backward compatibility…
In short I’d recommend everyone adding this line to their robots.txt as I don’t think flash indexing is finished cooking yet

Disallow: *.swf

The New Adobe Order

November 19th, 2008

Update 20th Nov: Made a wee mistake in article below, Steven Sack not Aral Balkan created the gaia flash framework, apologies to Steven and Aral for the mistake, now corrected below.

This highlights the dangers of shiney objects to geeks

This highlights the dangers of shiney objects to geeks

I’ve been a web coder for about 4-ish years now, during most of my time I’ve exclusively programmed in action-script; you know that scripting language flash uses.

During this time I’ve seen the transition in the flash player from the old order of macromedia into the new order of adobe, and to be honest the whole thing has been a bit of a disappointment, I’ll explain why i think this in helpful paragraph sized chunks below…

Some starting assumptions I’ll make before going into more detail:

First off why do folks use flash rather than javascript, html and other similar things, basically it comes down to two different reasons; complex applications such as games/video players or picture editors, to provide a website better than what html/css/javascript can natively/easily provide.

Secondly what do folks expect from a website, well they expect it just to work, not shout or do anything usual and basically do it’s job what ever that is; to inform, entertain or educate, or lastly alternatively to shop… whatever. Generally the best websites only do one of these tasks, Gmail doesn’t try to entertain you, it just informs you of your daily email, it doesn’t try to entertain you with cheap and nasty games and stuff etc.

Now onto why adobe and flash in general is a bit of a disappointment:

On flash website build quality versus html website build quality

The website is a freeform platform based on open standards and is generally cross-platform and has a low level of entry for new developers. The base of the web is html a simple mark-up language which is both easy to learn and easy to create interfaces which work, in-fact unless one starts to add javascript into equation, it’s very hard to actually create buggy html*1.

On the other hand: Flash is a software tool, flash swfs are pieces of software, pieces of software tend to be buggy when not properly software engineered, unlike mark-up languages which could be written by almost anyone and as long as they validate against the w3c standards should work.

When ever someone makes a Flash website I just wish they would tell the true and say they are “building a brand new piece of software which will reproduce the functionality of a website”, that is the task they are embarking on.

My point, a lot of web developers use html/css/javascript and flash, not many inexperienced html/css developers would start custom hijacking links using javascript or try to build an entire website on the one page using javascript, it would be understood that this required a lot of skill and was probably a poor idea if entered unprepared.

On the other hand nearly every all flash website I’ve seen does all of the above *2 regardless of the skill of the practitioner. There is nothing wrong with simple websites. The good old fashioned moral of keep-it-simple-stupid seems lost in the world of flash, and this unfortunately affects the website build quality, reliability.

Put simply the Flash website built to an equivalent html standard costs more effort and requires a higher level of ability in the practitioner, and that this fact isn’t always understood as regularly by the Flash side, note the same argument applies to Ajax websites verses standard css/html websites.

On flash versus javascript/html/css maintenance … and unexpected bug fixing

Javascript as a standard hasn’t changed much since it was created, and the only thing I can think html has really gained is the canvas element in recent memory (eg say 3 years), CSS is running amok which new features but none of these really affect functionality just display *3. Generally websites left to there own devices for a few years may look a bit dated but generally since work well just look a bit naff.

Flash on the other hand this year has had a major version upgrade which’ output is incompatible with previous players; at least 3 security policy updates which has retrospectively changed features in older output sometimes breaking them *4.

In general things haven’t been very stable and having spoken to a adobe representative directly on the issue at this years “Flash at the Beeb” it seems that’s just the way things will happen, no warnings, changes will be made will little regard to existing content, watch out, test regularly.

Now don’t think my Flash upgrade policy is hitting flash, I feel the same happens with all VMS systems, software build for Java 1.4 may not work with newer versions, also when upgrading a class package to a new version things do break from time to time, and when a new version of a os*5 comes out you test your software to check it still works… and this is my point.

Flash with the new Adobe take over; Flash now requires a maintenance cycle, excellent news for freelancers, a “pain in the ass” for companies relying on Flash for business critical systems.

HTML and it’s kind however really don’t change too often and as they are browser specific, only require re-checking on new browsers; regression style re-checking of previous tests are required.

My point comes back to inexperienced practisers on Flash creating websites and applications and simply expecting them to work ad-infinite, that’s simply not the case anymore, flash 1-8 yes, flash 9+ no. Regression testing is required across your browser support range on new flash updates, on-top of the regular functionality checking on the release of a new browser.

On flash versus javascript/html/css accessibility

In html accessibility is kinda built in, and if you follow simple rules such as always using alt images, not using tables, and using CSS for all styling, your website should pretty much work in most screen-readers, be indexed by goggle easily, and work in any browser in the world, any web phone in the world, and all in the world is good.

In Flash accessibility is kinda also built in as standard, just not as well, in fact flex (the software engineers flash IDE) doesn’t actually have any built in, in general the level of support is a bit naff.

  • As of flash 9 keyboard and mouse events must be added separately *6, which means some flash content can’t even tab and fire buttons from a keyboard.
  • Flash built-in tabbing is based order of placement rather than position on the screen, so really these should be set manually by the coder to make them sensible.
  • Flash’s images have no alt tag equivalent and there isn’t any built in tool-tip support so these normally have to be written from scratch.

I could go on for a while (eg Flash on a mac and Adobe air have no accessibility support as of writing)… but basically if your disabled or a screen reader flash ain’t your friend, it’s your personal hell.

Getting back to my point I’ve hammered in above, most flash developers don’t know what a screen-reader is never-mind actually bothering to implement the required steps to enable the functionality. With this in mind advanced concepts such as progressive enhancement fall to the way side rather quickly.

Conclusions

So basically my point is Flash is hard, it’s software engineering, you are creating a software product or a website,

  • If your creating a website build a website, in html/css/javascript like a sane person.
  • If your building a component for a website or a software product such as a video player, then it is sensible to build that product in Flash. But treat that product with respect and build it to the same standards that you would for a software product, think usability, think what is my functionality, what is my design, think testing, think maintenance cycles.

Simply put Flash has grown up, it’s time those building Flash apps did too.

the Zap

To producers that means no more application design specifications on napkins please…

*1 I’m not counting CSS browser design artefacts as bugs, only actual “this website doesn’t work anymore”, in sent me to “wrong page”, “why doesn’t my back button work” problems as bugs

*2 With a notable except being those using Steven Sacks Flash Gaia Class framework which reduces the complexity of creating a all flash website enormously, while adding support for back browser buttons and such.

*3 I’m talking about core functionality rather than design functionality which is the opposite, the ability of CSS practitioner needs to be high to achieve what flash does effortlessly for static websites.

*4 - 3 minor recent security fixes within the last year or two-ish

  1. Now websites require policy files to allow other domains to access their content.
  2. Getting Bitmapdata from streaming video has been disabled in certain circumstances.
  3. Uploading files can now can only be initiated within a mouse click event.

Also minor things like context menu items created with certain strings such as “settings” in them fail silently now

*5 think vista

*6 ok there is ButtonMode but still… if you don’t accept this point replace it with the lack of keyboard support when in full screen (which may be getting fixed soon but it’s a rather gaping accessibility hole to have for so long)

Fable 2 Review

October 26th, 2008

Update 3rd November: I’ve been way way too hard on the poor game, i guess i just loved the orginal game too much.

Pluses: Looks great, good combat system, always dependable evil elements of plot

Minuses: Buggy, poor spell casting, broken money system: eg too easy to get, poor maps hinder exploration, glowing trail makes game feel like it’s on rails

Reduce the annoyances a wee bit and you’ve got my opinion, it’s the ok sequel of a great game .

So onto the Review

I’ve played Fable 2 for rough an hour and a half and I’ve already made my decision on the game and I know the straw that broke the camels back, it wasn’t the poor controls, the frequent and uninspired loading screens, it wasn’t the crippling of the spell and upgrade system: It was bloody Fable trying to shunt me to their sub-standard offical website to unlock in game content.

To me this is a major betrayal by the game and frankly an unforgivable break in my suspension of belief.

On some of the minus points

I don’t want to be lead to some crappy website for some shity in-game bonus, I want that bonus in the game to start with, If someone wants me to go to their website they should damn well make me want to want to go to their website, not blackmail me with some ingame disadvantage for not visiting their website and playing their franky buggy and rubbish litle flash game (note to self being a hippocrite).

I don’t want is a jarringly poor experience that feels on on rails, I want to feel free in an rpg I don’t care if thats a illusion as long as that illusion works well for me, in fable 2 i feel i’m only going through the motions of playing the game to play the game, no fun or excitement included, I don’t feel any attachment for the characters or players, they all have a feeling of beige about them.

What makes a good single player RPG

I want from a single player RPG game is the following: To have a blissful time away from life, away from the internet, to begenerally be content for a few waking hours without a care in the world.

I remember playing such greats as Fable ONE, oblivion, gothic playing till 4 in the morning, barely sleeeping so i could wake up and have from game tiem before work, using projectors at said work so i could play the game during my lunch time, these were great addictive games.

Summing up

This game has that dull as dish water feel I recognise from that occational white elefant that hapens every so often at work, the one with all those sub-committes and sheering groups that starting to home the product, they’ve jumped the innovation, they’ve strangled the story, they’ve homogenised the quirkiness; whatever brillance there was in fable has dulled, whatever creatively has been smouthered, this is not the game it should of been.

Maybe I’m getting old but I don’t want to play bad games anymore, I don’t want to go through the motions of playing a game I only want top notch stuff, stuff with character, if I game can’t inspire me to play it for 2 hours without hating it well frankly that not a world i want to play in.

Conclusion

Let me state my conclusion… If you want to play the game Fable 2 should of been: play Fable 1 + Lost Chapters, it’s far better polished game with better game play, plot and game mechanics.

On words…

October 22nd, 2008

Saw this really interesting snippet from a old Victorian writer on words, i found it fascinating thought some one else may too


Ant’s yearly update - Doing not bad

October 21st, 2008

Thought I should show off my 2008 picture in my now annual how I feel montage

Flash on the Beach

September 26th, 2008

after much last minute wrangling I’m actually coming his year after all, anyone else going this year ?

Email me if anyone wants to meet up for drinks and stuff

There will be much talk of all sorts of stuff i’ve not allowed to put on the labs blogg, 3d wii gensure detection, a irc clone called arc, a xml based language called zap, and a i-cant-believe-it-not-emp clone

All good fun all around, anyway a special thanks to the event organisers for the comp tickets without them i wouldn’t of been able to make it,

Cheers

Zap

Mashed why it was goooooooooood, and more people should come

August 15th, 2008

This was a wee talk i did on thursday for those who missed it

mashed presentation

mashed presentation

Anthony’s Dyslexic Experiences

July 29th, 2008

Dyelxics are people too

Added this as a comment on this beeb website article

For those who think dyslexic people are lazy, I have a few stories of my own experiences to help change their mind.

The stories vary from the harmless examples such as the time I got 99% for my computing standard grade, the one mark deduced being for spelling my name wrong.

To worse examples, such as how fared badly on my 3rd year genetic algorithms exam. Having read a question, it seemed hard, build a full genetic algorithm from scratch, I endeavoured to build a fully working genetic algorithm spanning two additional pages in java complete with advanced features such as hierarchical weighing.

Unfortunately I got zero marks as the question only asked me to describe not build a genetic algorithm, with a red comment in the margin adding that next time I should read the questions more thoroughly.

I can reassure readers that building a actual genetic algorithm is far harder than just describing vaguely how one works, this story was repeated through my university time and any time I have a job interview with a written exam.

Apart from exams I often ended up doing the practicals twice, once for myself and once for someone else, with them transcribing my spoken version of the practical write up into something which would receive marks, in real life we are judged on our results not our write up of our results, this makes this a moot point.

I had additional problems with my poor memory also related to dyslexic, I ended up cheating by bringing in a calculator with formulas on it, it was because I objected to having helped many in my class study and through their practicals only to fail the final exams myself, in real life we have these great things called books full of formulas which tend to help us dyslexics make this issue a moot point.

Of the 6 dyslexic people I knew who went to university in my year, I was the only to finish not being good at my course, but by passing my practical coursework by such large margins that they would mask my poor exam results,

Dyslexic people suffer badly at university, as the only survivor of my friend’s group my advice to other dyslexics is not to bother, learn a trade or work your way up an organisation. You will shine anywhere were you talent can show, I can tell you university is not currently one of those places

The Zap

In short, being dyslexic is hard, harder than most people think, especially at the start when you haven’t proved you can do anything, and the only way to prove your ability is through doing something your inherently bad at, for those that manage to pass this stage it can leave a slightly bitter taste in one’s mouth/and a chip on the shoulder so big, it takes years of work to get rid of.

Though I stand by my comment at the end, should of been a plumber :)

Ant

Channel T in Launched!

July 18th, 2008

Hurray ! channel t is away… for 5 of the hardest weeks of my life I think it’s a good result, shame my wee ai bots didn’t quite make the 3d environment but the site had to be launched

http://www.bbc.co.uk/tinthepark/2008/channelt/#/channelt/

Thanks to swfAddress, akamai, away3d, bits of sandy, and alot of as3

Zap goes home - Mashed 2008

June 23rd, 2008

2602347960_673a22ae57.jpg

http://www.flickr.com/photos/27869619@N02/2602347960/

Just back from bbc mash 2008, wow what a 24 hours, it was a seriously geeky event, truely
more geeky than anything i’ve done in the 4 years at the beeb,

I spent the weekend at a boot camp for 700 geeks ran by the bbc backstage guys called Mash2008,
all the geeks had 24 hr’s to write something fun, there was some amazing stuff on show,

typical example one guy wrote a automated language dubbing service for any video stream,
tested on eastenders, dubbing it into german for much geeky fun,

fantastic experience,being the only Scottish beeb representative I tried to put in a good show, i think i held my own
against the other geeks in the competition, for my bbc super search project, I made a web scraper which successfully
crawled and extracted the metadata on all the 4000 or so root folders and index.shtmls on the bbc web site, created a
real-time client side search app for them and the iplayer metadata, made a tag cloud version, then put the tag cloud
into 3d, then made a end screen in 3d :)

Unfortunately during the actual presentation i only got onto the tag cloud when i ran out of time and Sylvester McCoy
(yes the ex-doctor who) dragged me off the podium with his umbrella handle…
Still great laugh good fun,

Alas here’s links and source of what was achieved, I didn’t even get a chance to thank Cris who parsed and did the proportional weighing of the tag cloud for me…

Sorry Cris, anyway here’s our 24 hour project it’s it’s full glory

My Examples and Source

not a bad bunch if i don’t say so myself, considering we only had 24 hours

BBC Screen Scraper

http://extdev.bbc.co.uk/scotland/test/bbc_super_search/screen_scraper.html

BBC Super Search

http://extdev.bbc.co.uk/scotland/test/bbc_super_search/controller_bbc_co_uk_app.html    iPlayer Super Search

http://extdev.bbc.co.uk/scotland/test/bbc_super_search/controller_iplayer_bbc_co_uk_app.html
Non-3d Tag Cloud (Takes a while to load)

http://extdev.bbc.co.uk/scotland/test/bbc_super_search/controller_tag_clouds_app.html    3d Tag Cloud (Takes a while to load, try searching ‘teenager’!)

http://extdev.bbc.co.uk/scotland/test/bbc_super_search/controller_3dtag_clouds_app.html

End Screen
http://extdev.bbc.co.uk/scotland/test/bbc_super_search/end_3d_app.html

Source

http://zapper.hodgers.com/labs/?p=73
More Photos
http://www.flickr.com/search/?w=all&q=mashed08&m=text
http://www.flickr.com/search/?w=all&q=mashed2008&m=text