Working with a multi-user environment in Flash

Edit Dec 6th, 2011: internet hosting does not support sockets on their shared hosting packages. Since I’m not a huge business, I can’t afford dedicated hosting. Therefore, this example will not work. If you wish to see what I set up, please install Robin locally on your computer or your own hosting, get it working, and then we can talk.

I never knew you could do this – set up a multi-user environment in Flash, where all the users in a room have access to the same elements on the stage and can manipulate them. I was quite interested when Dan showed us his library, Robin Flash, which easily allows you to set up a multi-user environment for Flash and even test it on your own local computer.

So I was trying to come up with some ideas for how to use this. The two applications I can think of for this type of thing are games, and chat. But there must be something more interesting you can do with it…

I had a search around and came across Here, there are a few rooms with different goals: you can manipulate letters together, draw on the same board together, solve a jigsaw puzzle together, or play pool, checkers or tetris, all with anonymous users who are also logged in. Their contact page has some information about what the site is and why.

It’s interesting, but I like to consider more useful, real-world uses for this kind of technology. I suppose Adobe LiveCycle Collaboration Service takes care of most of those: working together with other designers online using whiteboard, text and voice chat, etc. In any case, I think even with a custom multi-user environment using Robin Flash could be useful – you could brand it yourself, and have clients do specific tasks within it, such as writing feedback collaboratively on designs you’ve submitted, or manipulating wireframes for a desired system on the fly, showing you what they were thinking. This only works if you’re working with clients remotely, of course – there’s just no reason to do it if you’re in the same room. You could easily integrate voice and text chat for people in the room.

But, what else? There are novel multi-user environments you could set up as installations in a museum, to demonstrate the technology. Educational classrooms could be useful, but it might be a worry that students could anonymously move things around in the room that they’re not supposed to. You could restrict their access permissions to just chat…

Here’s an example of a multi-user whiteboard done in Flash. That’s probably the most useful real-world example I can think of. Not too much to do in this area that hasn’t already been done, I’m sure. Still, there’s always room for improvement or tying in other features that others haven’t thought of yet.

What kind of multi-user environment would you set up?

Here’s what I did, as a basic example. Click the image below multiple times to open multiple windows, and see the magic. When you click the circle, it randomly changes colour. Give it a few seconds to connect once you’ve loaded the window. Also, if a circle doesn’t appear right away, try refreshing the window.

Multi-User Flash Example