Hello.

I work for a very large organisation, a charity/research organisation. We have a very large number of Flash based kiosks running all types of software, from games to quizzes to video players etc. We feel for many reason it's time for us to start making the move away from Flash and onto something with a: a more encouraging amount of support from the company who makes it and b: more capability.

I've been tasked with researching this, and I'm at the stage where I want to ask as many people as possible for advice. My thoughts so far are, in no order:

C++ / Open Frameworks / Cinder.
Unity.
WPF.
HTML5/CSS3/Javascript and all the other associated web technologies that are currently in vogue.

Aside from fairly simple kiosks, we produce fairly complex kiosks that interact with SOAP Web Services, DMX lighting systems, barcode scanners etc. This work will no doubt expand as we push the level of what we want to do further, moving heavily into multi touch and gesture based systems, camera and object tracking etc. I'm thinking the C++ path would give us the most flexibility, although it would also be the most scary for the team (of Flash and JAVA programmers) and myself (Flash, Objective-C, C# programmer). Cinder could help with this, or Open Frameworks of course.

Unity offers a nice IDE and lots of community support, and we can compile for many platforms, but I do worry that we are going to end up repeating the Flash mess, with support for Unity probably heading south in 10-15 years, we end up with legacy issues. Our software has to run for a long time.

WPF - I like this for many reasons, lots of support, great tools, and the design team can get involved also through Expression Blend, with the devs producing a library of parts and behaviours. This makes sense to me, but with Silverlight 5 being the last, where is WPF going? And of course this means we can only use Windows operating systems.

And last we have HTML5, which personally I think isn't capable enough, and probably never will be. Fine for the web, but not for controlling complex hardware etc.

Do you have any thoughts, suggestions, ideas? Have I missed any technologies off the list that you think I should be researching? These apps are all very visual, very animated, and have to talk to many things.

Thank you.