Category Archives: Fmp

At the beginning of April I was invited to the most brief and preliminary of development meetings concerning a forthcoming project, then only a concept for a web-based, live mass-participation game show. We were told it would be exclusively online, combining a high-quality live video feed of a presenter-led programme, facilitating up to 1,000 paying contestants to simultaneously compete for real money prizes with a number of interactive games.

I was invited because the primary candidate for deployment was using Flash Media Server, which I had a intensive experience with in my final year of university. Primarily I was asked whether the project was feasible, achievable and did I feel using the FMS the right approach technologically, because no one else on our team had previous dealt with it. Although less than a year since my work at uni, it was quite apparent that the scale of the project was going to be significantly more demanding than anything I’d worked on before, but I figured I say yes anyway.

The project itself is deceptively complex, but stubbornly never so in explanation. Essentially, it’s a enriched online port of the infamous interactive game shows despised on late-night television – you know the ones with premium rate numbers and supposedly con viewers? They’ve all pretty much been scrapped now, so this idea was (and because it had to be) a completely new format – the idea of a game of skill, with straightforward general knowledge and trivia as opposed to frustratingly ambiguous questions; without the premium rate number to join a queue of callers, instead, an approx. 25p entry fee that goes to an accumulative pot entitling you to answer all questions posed. The eccentric presenter remains, the live video stream remains as-near-as-we-can-to-broadcast quality – the exception being the intended hundreds of players compete simultaneously, meaning every question and answer must be timed, recorded, logged and audited with a robust and secure system.

I only truly realised the scope of the thing after so eagerly agreeing to build it when I began to comprehend the vast difference between this project and that I’d previously built at uni. We had a substantial amount of R&D time to really consider whether FMS was our best option, it’s capabilities, limits, the licensing – and being the only member of the team with any experience with the FMS, we were cautious to commit if it could be achieved some other way we might feel more familiar with – an open socket model with Java or PHP maybe – but FMS eventually won through.

The project required was a standalone engine to run, load and dispatch data, make remote procedure calls to server-side scripts, all independent of any administrator control unless commandeered. At this point, looking back at Talkboards which stored all dynamic data in persistent shared objects the user simply subscribed to, its entirety was equal to the live chat ‘feature’ alone.

Building this engine immediately began to highlight Adobe’s lack of development with the Media Server since obtaining it. It’s still pretty much Actionscript 1.0 – or near enough, their API confesses ‘Server-side Actionscript’ is just their name for JavaScript 1.5. So OK, back-date the code – and no type declarations unless you want the app to silently unload, but there’s also no use of the Delegate or EventBroadcaster – arguably the backbone for Actionscript development. I also wanted to avoid using prototype functions where I could and try to divide the code into some kind pseudo-class system – not only to be more logical and readable, but for any later hand-over or joining of other developers to the process. But this could only really go so far to contextually separate ASC files that all load from the app’s main.asc anyway.

Problems with the absence of the Delegate and EventBroadcaster are obviously not uncommon. Peldi ported the classes to ASC files in his handy Flash comm server book, some hosting services, such as Influxis, bundle their own frameworks with hosting packages. But the more complex the objects and lengthy the extensions from the top-level Client and Application classes, the more scoping errors I encountered.

Jesse Warden wrote an interesting article concerning the Observer pattern experiencing the same problem developing Flex applications:

“With a little work… you can implement FMS server-side components into Cairngorm 2. For ever server-side component you create, you merely create a client side equivalent as an Observer. It listens for NetConnection or Remote SharedObject sync events and dispatches events. These events run Commands which in turn set data… just like normal. If your Views are bound to said data, boom, you’ve got a nice, clean separation.”

Ultimately we devised a model that essentially handles quite a complex (application) data object, passing itself around via prototype functions, making amendments and modifications and passing itself on. Each client has their own (client) instance (that extends the Client class), enabling their unique connection to call server-side methods – and vise-versa – without needing to loop around the application.clients array.

And finally, last Saturday was the pilot launch. Initially a beta test group of 100 competition winners and by and large, it went extremely well. Surprisingly, the biggest infringement was on behalf of our PHP/MySQL host, who happened to have hardware difficulties that day. So although all still proceeds to go well, I won’t count my money at the table, episode number two is tonight – with an increase to 300 users.

Having severely neglected this blog for over seven months, I thought it now about time to involve some effort in reviving it.

Since then having seen a change of job, flat, quite literally the explosion of my previous computer (oh, dear poot :( ), an abound of blogging opportunities have gone amiss I won’t attempt to condense in a brief apologetic summary – instead only promise to try harder.

My new job – I say ‘new’, I’ve been there pretty much the length of this absence – alone has probably presented me with the most would-be blog posts not written – all things Actionscript 2, 3, Flex and AIR and recently reviving the challenges of FMS laid dormant since my final year of uni.. I’ll get round to these as and when.

Oh yeah – since Talkboards is now offline and my http://marchibbins.com domain redirects here, I guess it’s about time I developed some kind of real webspace.

So some actual blogging to follow. The only other regrettable omission was the chance to big up this year’s graduation show from the Interactive Media Production course at Bournemouth Uni – the course I graduated from last year. Pixel Pier was the name, showcasing this year’s IMPs at Richmix in Bethnal Green. Their site has a bit more content then our effort, seems the profile pages all link to their projects hosted online – have a look.

Just a quick note, firstly to say that the Live from London Diggnation is now online, but also to congratulate two of my Bournemouth coursemates who’ve been deservedly recognised for their final major project efforts.

Arni Lochner has received a Top Talent Quality Seal from the Europrix Multimedia Top Talent Awards for his online interactive graphic novel The Eighth Day. The final nominations can be found here.

Secondly, Leo Lanksford has made it to the shortlisted final four in the Student category of the 2007 BIMA Awards with project Medialib, a portal for students to upload and share media they’ve produced in order to collaborate and discuss each others work.

Good Luck and well in.

Congratulations to everyone who received results yesterday, I sincerely hope everyone got what they wanted.

So begins the job search/real work/actual grown-up non-student real stuff :)

With the iheartplay exhibition almost upon us things are beginning to get hectic again.

I’ve been asked to put together some viral games in Flash that we can host and bombard forums with to create a little extra buzz and get a bit more exposure.

Anyway, I’ve adapted some very simple classic arcade games, basically just substituting sprites with iheartplay logos and with a bit of restyling hopefully they’ll do the trick.

Some very buggy demos are online as follows:

Space Invaders:

iheartplay Arcade - Space Invaders

http://impserver.bournemouth.ac.uk/~mhibbins/iheartplay/invaders.html

Pac-Man:

iheartplay Arcade - Pac-Man

http://impserver.bournemouth.ac.uk/~mhibbins/iheartplay/pacman.html

Asteroids:

iheartplay Arcade - Asteroids

http://impserver.bournemouth.ac.uk/~mhibbins/iheartplay/asteroids.html

A few more tweaks and they’ll go live on the iheartplay site, but feel free to have a go now and get yourself on the scoreboard – the more the better!

It seems everyone is putting together new online portfolios in preparation for the show, considering mine still claims my current project is design for small screens I think it’s time I sort one out too.

Tunnelling is almost done – *so* close to having it fully ready to roll, kind of a necessity :) Meanwhile I’m trying to get hold of some machines to run it locally at the show, that’ll hopefully be smoother too, as well as guaranteeing I can actually show something.

Congrats to those who got into the Computer Arts Graduate Showcase, good to see some Bournemouth Uni representation – well, Bournemouth, at least.

Also: New Header Alert! It’s actually Talkboards related now. The previous showed Alan Reed’s ‘City Poem’, which was part of the Public Pages project.

Tell her to push over and move them big feet.