« Previous - Version 332/354 (diff) - Next » - Current version
Adrian Georgescu, 08/02/2009 03:41 pm


<acronym title="gui_progress, depth=3">TOC</acronym>

= Audio =

1. '''Mute''' microphone when pressing the mute button
1. Make the alert panel grey/white
1. Rename menu item Session with Sessions
1. Add main menu item Audio after Sessions
1. Add to Audio menu:
1. Alert device selection
1. Input device selection
1. Output device selection
1. Mute microphone
1. Silent mode
1. Add Menu item Sessions-> Start audio session and pop up window to enter an address
1. Always play the disconnect tone when a session ends(e.g. failure, cancel)
1. New incoming sessions, alert window shrinks in size after a few remote cancels (still not solved)
1. Do not open automatically the drawer when the interface is collapsed.
1. View show drawer must expand also the main interface if collapsed
1. Display '''Ringing...''' in audio session status when getting ring indication from the remote party
1. Calls that do not resolve in DNS remain in the drawer, use bonjour and dial xyz to reproduce
1. Closing many active sessions cause many tones to be played back. Throttle tones playback
1. Add functionality to display the previous sessions in the session drawer, most recent on top
1. Add menu View -> Audio History drawer
1. When dial a second call while in another call, if the user clicks on the previous call before the new session is established the session info is broken
1. Add a '''record button''' left to Hold button. When pressed toggle recording the audio session using the '''general.audio.history''' folder
1. [wiki:DesignConference] Conference audio sessions
1. Add a '''triangle button''' to expand vertically the audio session frame with extra room for audio session information

= Chat =

1. Use the '''same look and feel''' for the toolbar buttons as the main interface (greyish buttons)
1. Replace Connect/Close buttons with a single button that accurately displays the connection status
1. Cannot connect again after the chat session is disconnected
1. Print each message into its own time-stamped frame, do not append message to previous frames
1. Not all printed timestamp are using the local timezone
1. Mark undelivered messages with a reddish color background
1. When connected print system message: '''MSRP chat session established''' (without username@domain)
1. When disconnected by remote user print system message: '''MSRP chat session terminated by remote party'''
1. When cancelling an outgoing session print system message: '''MSRP chat session cancelled'''
1. When disconnected by local user print system message: '''MSRP chat session terminated'''
1. When MSRP stream fails print system message: '''MSRP chat session failed (reason)'''
1. '''Auto-accept''' chat only sessions when the From header of the INVITE is in the contacts list
1. When dragging a recipient tab on the contact list bring up the '''Add contact dialog'''
1. Remove Add contact button
1. Sent/received alert sounds are now played with a delay, immediately play sounds if queue is empty
1. Display the number of '''un-read messages''' in non-active tabs within a red circle over the tab name
1. To close a chat tab add a '''small x button''' to it
1. When click on the Audio button, use add_stream to append an audio stream to existing chat session
1. If an audio stream exists part of the session, add the audio control buttons '''Record|Hold|Terminate'''
1. Display '''is-composing''' payload (not yet available in middleware)
1. When dragging a recipient tab outside '''spawn a new chat window''' and move the session into it
1. Add functionality to '''search history'''
1. Add Menu item Sessions-> Start chat session and pop up window to enter an address. The chat session dialog is different than the audio dialog, extra options will be added a latee time
1. Add file transfer function (pop up a file selection dialong and establish a separate SIP session per file). On incoming be prepared to receive offer with multiple files per SIP session.

= Main interface =

1. The pressed icon of the mute microfone is too red, the microphone is not visible 
1. Add right click actions to the dock icon to start audio and chat sessions
1. If dragging window size when collapsed, it does not fall back into place correctly
1. Show only error messages in the log drawer with a reddish font
1. Auto withdraw the log drawer after 5 seconds
1. Link the Menu item Help->Blick help to http://wiki.iCanBlink.com

= Contacts =

1. Rename menu item Contact with Contacts
1. Add Edit Contact in the Contacts menu
1. Add Edit Group in the Contacts menu
1. Add Delete Group in the Contacts menu
1. Add right click menu to contacts:
1. Start Audio session
1. Start Chat session
1. Edit contact
1. Add the following per contact settings and fields in the '''Add/edit contact window''': * Double click starts: Radio buttons: Audio session, Chat session * Subscribe to Presence (boolean, default true)
1. '''Delete the Contact''' when pressing delete
1. When pressing delete on a Group, prompt the user to either delete all associated contacts or move them to another existing group
1. When double click on a contact use the action saved with the contact (e.g. chat session instead of audio session)
1. Append domain part if missing. E.g. when adding abcd@chatserver we must still append the domain name after chatserver
1. Allow drag of contact from one group to another
1. If search when GUI is collapsed and then expand then the Add contact button overlaps with other text in the window

= Preferences =

1. Call '''set_audio_devices()''' when changing the audio device or tail_length in global Preferences
1. Add optional Display name field to account creation dialog (same caption as in pref window)
1. '''Bonjour account''' does not show/hide when activate/deactivate in preferences
1. Properly '''align''' horizontally the Advanced settings
1. Audio device must also list 'Default system input ' and 'Default system output' (or is it a middleware setting?)
1. Do not allow window resize
1. '''bonjour account''' must have only Display name as main property
1. Check if the selected wav file is in the right format supported by PJSIP before saving the settings related to ringtones
1. No control available to set the volume level of the wav files
1. Hide the minus button for Bonjour, it cannot be deleted
1. When the password field is changed, re-Register the account
1. When Register flag is toggled for account, (de)Register the account accordingly
1. Display SIP registration state in '''account.advanced.registration''' section
1. Codec lists must be an ordered list with at least one active codec
1. '''Stun server''' addresses cannot be set, they seem to inherit the results found in DNS
1. '''general.rtp.local_ip''': Can't set option local_ip illegal local IP address value: auto
1. '''general.rtp.port_range''': (AttributeError: 'PortRangeOption' object has no attribute 'save')
1. '''general.sip.transports''' cannot be saved
1. '''general.audio.codec_list''' cannot be saved and displays duplicate codecs
1. '''account.audio.codec_list''' cannot be saved and displays duplicate codecs
1. '''account.msrp.relay''' cannot be set: global name 'MSRPRelayAddres' is not defined
1. For '''account.ringtone''' advanced setting, the default setting must be inherited from '''general.ringtone.inbound'''
1. Check if the TLS options set by the user are valid before saving them (by loading them outside the engine using gnutls library)
1. Make general section buttons on toolbar instead of drop down box

= Presence bar =

1. Show '''Display name''' next to the photo on top row. When edit the name save account.display_name setting
1. Put own photo in a white rounded frame like Adium
1. Show '''Presence activity''' next to name on top row. Activities:
1. Available
1. Away (automatically set it if keyboard/mouse idle)
1. Appointment (automatically set it if keyboard/mouse is idle and the system calendar has an entry)
1. On the phone (automatically set it when and audio session starts)
1. Working
1. Busy
1. Meeting
1. Presentation
1. Meal
1. Dinner
1. Travel
1. Permanent absence (brings up a pop-up dialog with text note and an end date selection)
1. Show '''Presence activity note''' on the second row, editable text with white background and a blueish text color
1. Acquire photo from webcam and save it

= Debug =

1. Add colors to the SIP trace content
1. Filter SIP trace by first line (add a checkbox called SIP Methods and Answers only)
1. Rename Enable MSRP Trace (Header Only) to '''MSRP headers'''
1. Rename Enable MSRP Trace Body to '''MSRP content'''
1. Rename Enable XCAP Trace (Header Only) to '''XCAP headers'''
1. Rename Enable XCAP Trace (Body) to '''XCAP content'''
1. Print DNS lookups and results in the SIP trace window formated like in sip_audio_session script
1. Delete the PJSIP and Notifications tabs

= Other =

1. When started, Blink uses only 0.2% CPU, after an audio call the CPU remains > 10% (check auto audio idle)
1. Show in General debug window other registered contacts from the response for Register
1. Save position of '''contact groups''' - colapsed/expanded and their order
1. Save position of Debug window and its checkbos settings
1. Set SIP User Agent name to '''blink-&lt;version&gt;'''
1. After keeping windows open for awhile the messages arrive very late on the other side
1. Make a queue with maximum 32 tones to prevent PJSIP from crashing (or better increase PJSIP itself to a more decent value?)