oh,when?
%Europe/Berlin %617 %2006, 15:49
Hoi allen,
Ik heb net onderstaande mail gestuurd naar de Flashcomm mailinglist, maar misschien zijn er hier nog mensen die interesante feedback hebben. Hij is in het engels :) ( geen zin an om te vertalen nu :p ):
Hi All,
I'm currently working on a new concept called 'Shared Video Watching'
for Fabchannel. The idea is the following:
- Given the persons A, B, C are registered users on Fabchannel.com
- Person A goes to Fabchannel.com and logs in
- Person A has Person B on his buddy list
- He sees Person B and Person C are online too
- He chooses a concert from the concert list and start watching his
favourite band
- Person B sees his buddy ( Person A ) is watching a cool concert
- Person B asks permission to his buddy to 'join' the concert
- Person A sees his budy asking permission and grants it
- They now can watch the concert together, Person A being 'the leader'
and Person B the follower. It means that if Person A decides to watch
another concert or seeks through the playing concert, Person B gets to
see every 'move'
In this use-case I've let out Person C, but you can imagine that he
can ask authorisation to Person A or B to 'join' too, the more the
merrier :-)
We're having some internal discussions how to implement all this:
IMPLEMENTATION A
I'm leaning towards implementing a Chat-like application where users
are kept synchronized by subscribing to a single SharedObject onSync
event handler and sending the seek and play events of Person A to this
SharedObject. Groups of 'buddies' watching together are simply using a
room/instance in the Chat application. Each person is connecting and
requesting it's own 'stream' on the server and the server acts as a
'dumb' stream server.
IMPLEMENTATION B
The other solution is to have the server publish a live stream called
"PersonA" when Person A requests a concert and then let Person B and C
and D and E connect to the same live stream ( "PersonA" ). Person A
never connects to the livestream but 'updates' the live stream when he
seeks or chooses another concert ( which is another FLV file stored on
the server ).
Now i've been going through the documentation and i read the Flashcomm
book (especially the part on publishing live streams,
SynchronizedEvents and ChatRooms, btw the SynchronizedEvents code is
supposed to be online but can't find it?) and i have some questions:
- Synchronisation is key in this concept, there has to be low latency
/ delay for this to work. Are there any 'gotchas' or 'don't forget to
look at this'? Given that there are usually a few hundred users
simultaneously on our site and we're using fairly large FLV files (
prerecorded, not live, minimum 700-800MB ) i reckon there might be
issues to watch out for
- Are there example applications/code/technotes that could be used as
a reference for this application?
- We have features that we like to implement after this demo (
recording of the whole 'shared browsing session', adding webcam/audio
features, deeplinking ), are they essential in the architecture for
this demo or can we postpone and revisit after this simplified demo?
- We're using a Edge(2)/Origin solution, does that give an advantage
over IMPLEMENTATION A over B or vice-verse and are there any special
configuration settings that are useful?
Ik heb net onderstaande mail gestuurd naar de Flashcomm mailinglist, maar misschien zijn er hier nog mensen die interesante feedback hebben. Hij is in het engels :) ( geen zin an om te vertalen nu :p ):
Hi All,
I'm currently working on a new concept called 'Shared Video Watching'
for Fabchannel. The idea is the following:
- Given the persons A, B, C are registered users on Fabchannel.com
- Person A goes to Fabchannel.com and logs in
- Person A has Person B on his buddy list
- He sees Person B and Person C are online too
- He chooses a concert from the concert list and start watching his
favourite band
- Person B sees his buddy ( Person A ) is watching a cool concert
- Person B asks permission to his buddy to 'join' the concert
- Person A sees his budy asking permission and grants it
- They now can watch the concert together, Person A being 'the leader'
and Person B the follower. It means that if Person A decides to watch
another concert or seeks through the playing concert, Person B gets to
see every 'move'
In this use-case I've let out Person C, but you can imagine that he
can ask authorisation to Person A or B to 'join' too, the more the
merrier :-)
We're having some internal discussions how to implement all this:
IMPLEMENTATION A
I'm leaning towards implementing a Chat-like application where users
are kept synchronized by subscribing to a single SharedObject onSync
event handler and sending the seek and play events of Person A to this
SharedObject. Groups of 'buddies' watching together are simply using a
room/instance in the Chat application. Each person is connecting and
requesting it's own 'stream' on the server and the server acts as a
'dumb' stream server.
IMPLEMENTATION B
The other solution is to have the server publish a live stream called
"PersonA" when Person A requests a concert and then let Person B and C
and D and E connect to the same live stream ( "PersonA" ). Person A
never connects to the livestream but 'updates' the live stream when he
seeks or chooses another concert ( which is another FLV file stored on
the server ).
Now i've been going through the documentation and i read the Flashcomm
book (especially the part on publishing live streams,
SynchronizedEvents and ChatRooms, btw the SynchronizedEvents code is
supposed to be online but can't find it?) and i have some questions:
- Synchronisation is key in this concept, there has to be low latency
/ delay for this to work. Are there any 'gotchas' or 'don't forget to
look at this'? Given that there are usually a few hundred users
simultaneously on our site and we're using fairly large FLV files (
prerecorded, not live, minimum 700-800MB ) i reckon there might be
issues to watch out for
- Are there example applications/code/technotes that could be used as
a reference for this application?
- We have features that we like to implement after this demo (
recording of the whole 'shared browsing session', adding webcam/audio
features, deeplinking ), are they essential in the architecture for
this demo or can we postpone and revisit after this simplified demo?
- We're using a Edge(2)/Origin solution, does that give an advantage
over IMPLEMENTATION A over B or vice-verse and are there any special
configuration settings that are useful?