|
Replies:
10
-
Last Post:
Oct 27, 2008 7:35 AM
by: rkd
|
|
|
|
|
|
|
New Proposal for Voice Calling in 0.5
Posted:
Sep 9, 2008 9:23 AM
|
|
|
I have just added to the wiki the first draft of a proposal for Voice Calls in Wonderland version 0.5:
http://wiki.java.net/bin/view/Javadesktop/WonderlandInWorldPhone
The general concept of this design is to unify "voice chat" and telephone integration. The proposal suggests a single user interface for making VoIP calls and PBX calls. It also includes the design of an in-world personal virtual phone. This phone can be used by each Wonderland user to both place and receive voice calls. These calls can be one-on-one, or can be multi-way conference calls. They can be to other in-world users or to people on regular telephones. Calls can be secret, private, or public, and this designation can be changed at any time during the call.
Please provide feedback on this proposal. What use cases have we overlooked? "Public" conversations become very complicated very fast. Are there issues beyond those described? What do you think about the concept of "by-stander orbs"?
Thanks, Nicole.
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Sep 10, 2008 3:56 AM
in response to: nicoley
|
|
|
Wow! Sounds like you have dealt with the telephony issues a lot. I will have to read your document more to see if I can think of anything else. I do however have a couple of things I would like to see that are peripherally involved. Things I would like to see: 1) A way to register a callback to receive the text chat out to an external program. Also, a mechanism to insert chat from an external program. 2) The user's name as a prefix to each chat line. 3) A way to connect so that an external program can receive and send audio streams on behalf of the user.
This is all involved with things such as on the fly translation and usability by special needs individuals.
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Sep 10, 2008 10:37 AM
in response to: morrisford
|
|
|
Hi Morris,
These are all good points, when we start on the IM system for 0.5 I'll be sure to post the architecture docs for review.
We are hoping to use an external chat system for 0.5 so that we can integrate with existing IM systems. XMPP/Jabber is the top of the list at the moment....
Rgds
Paul
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Sep 10, 2008 11:56 AM
in response to: paulby
|
|
|
This list of suggested functionality does raise a good point about an even more common use case - starting a text chat with someone and then wishing to easily transition to a voice call. But I think we should consider that an IM capability (ie, add a "call" button as part of the IM feature), rather than a voice chat feature.
Thanks for the suggestions Morris!
Nicole.
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Sep 10, 2008 12:41 PM
in response to: nicoley
|
|
|
Ok, I just did a couple of more read-thrus of the document and I have a few ideas. Advance apology for things that are already covered.
Create the concept of a call type transition, either manual or auto. There was a lot of information about different types of calls but I didn't see anything about transitions or auto switchovers. Have some way to keep track of multiple possible contact methods for contacting a user. Idea is 'contact Susan wherever she may be'. Show connection quality on call hud. Allow for downgrading/upgrading call quality on the fly. Auto face speaker in local conversations.
Morris
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Sep 10, 2008 1:11 PM
in response to: morrisford
|
|
|
Morris,
Thanks for the more detailed comments.
> Create the concept of a call type transition, either > manual or auto. There was a lot of information about > different types of calls but I didn't see anything > about transitions or auto switchovers.
Can you say more about this? What are the scenarios or use cases you have in mind?
> Have some way to keep track of multiple possible > contact methods for contacting a user. Idea is > 'contact Susan wherever she may be'.
Good idea. Sometimes Susan may be in world, which would be the default place to contact her, but there may still be reasons why you would want to call her cell phone instead (maybe because you know she's about to leave her desk). Other times, she may not be on-line and you'll need to choose between home, office and cell phone numbers. One of these numbers could also be marked as "preferred."
As you were saying before, a more unified messaging scheme would also be nice so that sending her an IM or text message would also be possible. In terms of contacting her wherever she may be, I think you would need an outside service to handle that, although you could certainly change the default place to call Susan based on whether or not she's in-world.
What would be ideal here is to integrate with some existing address book functionality, but that's a bit beyond the scope of this voice project, unless there's someone out there who would like to tackle this. As a first pass, we'll probably have to do something extremely simple.
I'll update the document to reflect the concept of a default location/number to call someone and also to add the idea that a single person can have multiple contact points.
> Show connection quality on call hud. Allow for > downgrading/upgrading call quality on the fly.
Good idea. I'll add that as well.
> Auto face speaker in local conversations.
This one I've thought a lot about, and like the concept in general, but haven't yet concluded that it will work in practice. For example, If I'm listening to a talk, I want my avatar to be facing the speaker or the slides. If someone decides to chat with me, I may be really irritated if my avatar automatically turns to face that person when I want it to look like my attention is focused on the presenter. Additionally, it's not clear if my view should change if my avatar auto-faces a speaker. This could either be a really good thing, allowing me to always keep the current speaker in view, or a really annoying thing, as the object I want to be looking at keeps moving out of my view.
Scoping is another issue here. What if there are multiple simultaneous conversations going on in the space. I would only want my avatar to auto-face the people I'm talking to, not the people who may be equally close, but engaged in a different conversation. I'm not sure there's a low-overhead way to specify who is in my current conversation.
This one will need a bit more thought.
Thanks! Nicole.
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Sep 10, 2008 1:24 PM
in response to: nicoley
|
|
|
>> Create the concept of a call type transition, either >> manual or auto. There was a lot of information about >> different types of calls but I didn't see anything >> about transitions or auto switchovers.
>Can you say more about this? What are the scenarios or use cases you have in mind?
For instance if you are involved in a group call and want to transition you and one other person into a private call without disconnecting/reconnecting. Or you are in a private call with someone in world and want to transition your end to your cell phone without disconnect. Or you are in a face to face call in world and walk away, transition to some other type of call automatically. Part of this idea came from T-Mobile who has phones/service that auto-switch between wireless voip and cell.
The amount of configureability for auto-face speaker will definitely make it troublesome. I was just thinking about the future when photo-realistic avatars with full facial animation is available and how nice it would be to 'see' who is speaking all the time.
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Sep 10, 2008 8:03 PM
in response to: morrisford
|
|
|
Morris,
Ah, I see what you mean. I think we already have some of these cases covered.
> For instance if you are involved in a group call and > want to transition you and one other person into a > private call without disconnecting/reconnecting.
I think you get this case for free. I believe all you would have to do is select the person you want to have a private chat with and create a new call. Both of you could still be in the public chat and you would also have a separate private chat. Since each chat has it's own HUD widget, you can switch back and forth between the two chat groups by using the Hold button.
> Or you are in a private call with someone in world and > want to transition your end to your cell phone > without disconnect.
This functionality exists today. There's a Transfer Call feature in the Tools menu. You can transfer from the softphone to a PBX phone or vice versa. The one enhancement of this functionality that we're planning for 0.5 is that when you transfer to a PBX phone and then quit out of the Wonderland UI, your avatar will automatically turn into an orb so that people know that you are now on the phone and can't move yourself around.
> Or you are in a face to face call > in world and walk away, transition to some other type > of call automatically.
This one seems a little harder, but it's quite an interesting idea. I'm not sure how the system would know that you want to stay in voice contact? I guess it could be as easy as specifying that you always want to remain in voice contact with certain "favorite" people. As soon as one of these people leaves audio range, the system could automatically start a private chat. If the person comes back into audio range, the chat group would temporarily end. Perhaps something to consider for 0.6 
Nicole.
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Oct 22, 2008 6:43 AM
in response to: nicoley
|
|
|
Nicole
I like this, but I don't understand how it relates to the current approach. Does this mean that all inter-person in-world world audio will be via this mechanism?
cheers
Bernard
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Oct 25, 2008 6:06 AM
in response to: nicoley
|
|
|
Firstly the new proposals look very good and technically there's not much I'd like to add that hasn’t already been mentioned except maybe support for an external that supports encryption like fzone ( http://zfoneproject.com/getstarted.html ).
My main concern is the representation of voip with the orb. I know that cosmetics are probably your last concern at the moment and the orb may have been chosen because it is a simple object, but I thought I'd bring it up before it becomes an established convention.
My problem is that the orb has no associated real world representation.
Effectively you would be forcing users to interact with an object that gives no immediate indication to its uses or behaviour.
In the real world we see a phone and are familiar with its function and uses. Transferring this existing knowledge into our virtual worlds is IMHO the key to making comms as user friendly as possible.
A phone is also a social object and we tend to obey social convention by not interrupting someone talking on a phone.
My suggestion would be:
For private calls to use a simple model of a mobile phone with an animation of it being held to the avatars ear. Transferring a caller to another individual could be as simple as passing them the phone (or if not in visual range, selecting them from a contacts menu).
For shared conversations use a generic avatar placeholder but differentiate it, by for example making it semi transparent, indicating that someone has a presence in the world and a conversation is taking place but that the incoming caller cannot perform the same range of actions as regular in world avatars.
Modelling the GUI for the various comms functions around a pictorial representation of a ‘generic’ mobile phone would also help people instantly transfer real world experience.
I hope you find these thoughts useful.
Don
|
|
|
|
|
|
|
|
Re: New Proposal for Voice Calling in 0.5
Posted:
Oct 27, 2008 7:35 AM
in response to: nicoley
|
|
|
Some (too many? ) stochastic thoughts that occurred while reading the proposal...
Generally great! In general, I like the way it's all heading. Love the by-stander idea and, as ever, any way to continually tie communication to identity to promote relationship building.
Voice-only in-world participants? What distinction should there be between chats that ones avatar must be near and those that one needn't be near? (are there likely reasons for not allowing remote participants? Should the benefit of group visibility be the only motivation for virtuo-physically attending?)
How to notice and join voice group chats? I login and wish to join a public chat that I'm not near. How should this look (a searchable & browseable directory?) How do I determine which I wish to join from the 100s going on? ($SUBJECT?) What if I then wish to teleport to join them virtuo-physically? Is there a statistically 'mode' location? (a way to protect against the 'mean' location being where no-one else is?)
Voice group subscriptions? Can one permanently 'subscribe' to voice channels? (team channels that one always connects to) Could/should these be persistent across servers? (TeamA members want to retain voice chat when they login on any server)
Security concerns? Could a WL/VoIP client be cracked/modified to intercept voice/IM/other comms? What might be done to prevent? Identity protection, etc? What about authentication of identity? (this might be well known & solved area in VoIP but needs consideration for business uses of WL)
VoIP phone integration? Can non-WL VoIP phones be integrated (e.g. the Nokia N95 has VoIP capability as do many companies.) Can one route to that as the voice channel (non-PBX, non-in-world VoIP). What about Skype integration? (sorry but some people do use it)
Modal GUIs? Must one have a world-blocking GUI for secret and private conversations? Can one still interact with the world (e.g. collaborating while talking secretly?) (sorry if I got the wrong idea from the proposal)
Multi-listening? What about listening to several channels but speaking to one / N? Radio buttons vs. tick boxes? Does this become a drag-and-drop / elastic-band GUI? Can one slide volume levels up and down on multiple channels? (perhaps pre-set configurations like "all but mic-enabled set -40% when mic enabled") (Yes, I find myself visualizing both elastic-band / old-style-operator and mixer-desk mechanisms for controlling the voice functions beyond a certain level. How best to provide power & ease?)
Sensible defaults (Probably obvious but acting as a "yes please" vote) To keep things powerful yet easy, lots of good defaults + easy ways to change are probably needed (e.g. private conversations default to cellphone-to-head mode unless a box is clicked).
Follow-me voice For the "contact wherever she may be", could the default number be auto configured by time (e.g. M-F 9-5, call office phone; all other times, call cell. Exceptions should be made easy to insert.) Alternatively, could changes to the "wherever she may be" be made out-world (perhaps a web-service / SMS / e-mail gateway (with configurable security levels))
Voicemail / Videomail / Emotomail ? When live voice is not possible, is there in-world voicemail? Can one include 'video / emoto' then? (record my Avatar leaving the message so gestures / whatever-Avatars-have-by-then can be watched in 3D if the recipient is in-world.) Can these be forwarded to other services (perhaps with indication of video presence?) Perhaps the emoto (recorded actions that were probably captured so the person could watch in full 3D if in world) could be turned into 2D video for e-mail delivery / accessed on the web?
Extensions What about phone extensions? (do these ever need special handling?)
Voice plugins What about voice system extensions (plugins!). (Could extra functionality be plugged-in later by open-source contributors?)
E-mail? If considering alternative comms (saw mention of SMS), what about e-mail?
Recordings? What thoughts regarding recording voice only? Should/how to inform participants? (legal requirement in some countries!)
Turn-to-face Regarding turn-to-face speaker, I did an experimental implementation a while back. I found averaging the last N people within a specified range worked reasonably well and a press-to-activate system seemed to be most useful (rather than a menu item). If possible, some visual indication of who is provoking and a means to include / exclude might be handy. (a general-purpose metaphor for visualizing range is needed (such as a translucent sphere that one scales up/down with a slider). Here it would represent area of influence. Agreed, lots of general-purpose GUI paradigms are needed to be researched.
Dispersed concerns? Should ping time be represented visually to hint that responses may take time? What if one group of VoIP callers is on the other side of the world? Are there distribution challenges?
Enterprise class? What about availability, failover, etc? How can the firewall problem be eased? (integration between private and public VoIP services?) What other Big Business aspects might benefit from consideration (even if not implementation) now?
R.
|
|
|
|
|