During the intial design stages of a project it would be useful to know what aspects of the AFCS are the most network intensive, and perhaps the most likely areas to cause delayed collaboration responses. I am asking this because there seems so many tempting 'rich' interactions made readily available through AFCS.
For example does video streaming take a lot of resource or is it tracking all the interactions on a whiteboard? Or is it the voice transmission?
I realise it depends on how many users are interacting, for example 100 people chatting might take more resource than streaming one videocam. A rough idea would be useful for somebody like me who has not got any idea what data is being transferred in the background. Otherwise I could assume that I can chuck every pod going into an app and expect it to run smoothly - maybe it would? I have already mentioned on the forum that I personally cannot get the 'You tube Living Room' example to fully initialise without crashing my browser.
Is such a list possible to determine? Is it a stupid consideration?
I appreciate what you and Raff are saying. The considerations regarding real-time data transfer is a new area for me. I am quite a cautious and conservative developer who never really goes for ‘effect’ – I will carefully assess the communicative value of an interaction before sticking it in an application.
I am beginning to build a picture of what is involved (I know this is obvious):
Collaborative interactions send messages which get multiplied from the server for each connected user.
Flex has to re-render the screen if it receives a message suggesting something visual has changed.
So based on this, like you suggest, I need to manage these depending on the user profile/ or give them the option to manage it themselves, some ways to do this might include (I am just brain storming this):
Modular interactions that can be loaded or not
Temporarily disabling the messaging activity of a particular interaction
Controlling the interaction re-redraw rate
Prioritising users… sounds odd but you might have a collaboration leader – like a teacher.
Such management issues like these would lead to pods/components that let the user control these aspects - for example they may use a drop down list to switch off/ block the chat messaging, or a graphics screen. I know that sounds like it’s defeating the object of ‘collaboration’ – but I am thinking ‘collaboration’ could be optional in some applications. Plus like you say, I need to consider users have preferences or limitations.
In a nutshell I guess I am saying not everybody in the same ‘room’ is necessarily doing the same thing, but at some point there efforts may come together. A hypothetical example being that I may split a group of students into small groups to work on particular aspects of a project and then bring the efforts together for the big picture. (I am presuming you cannot merge the activities in individual rooms)
So, some kind of ready made (by adobe of course – too complicated for me) flexible, message filtering pod could be useful…. That allows the user to granulise whats happening in a particular room.
Sorry for the long post, you can probably tell I’m only ‘scoping’ out the AFCS at the moment.