Pichat road map
Last update 19/Jul/2010 by Mark Seuffert
Overview:
1. Planned features2. Planned builds and history of changes
3.1. Product backlog, user interface
3.2. Product backlog, chat functionality
4. Open issues
1. Planned features
The following features are planned for Pichat v0.4.2:
- automatic download of updates from configurable repositories, nacholoading
- rewrite chat output from scratch with text selection, text size
- internationalisation of Windows GUI resources and website
- user interface improvements and bugfixes
2. Planned builds and history of changes
Here is a break-down of Pichat v0.4.2 into individual builds:
Planned in the future
> added moveable tabs and drag-and-drop support for chat windows
> updated user interface with multiple chat windows for private messages
> updated user interface to be more flexible, integrated contacts into main window
> improved nickname and command completion, better handling for similar nicknames
> improved simley bar, new button to toggle user interface
> updated protocol, data stream with multiple views suitable for multiplexing
> experimental user interface with multiple chat windows for private messages
> experimental text animation in chat output
> added moveable tabs and drag-and-drop support for chat windows
> updated user interface with multiple chat windows for private messages
> updated user interface to be more flexible, integrated contacts into main window
> improved nickname and command completion, better handling for similar nicknames
> improved simley bar, new button to toggle user interface
> updated protocol, data stream with multiple views suitable for multiplexing
> experimental user interface with multiple chat windows for private messages
> experimental text animation in chat output
Planned in B72
> added new Windows MSI installer and portable installer to download section
> updated software updates to work with Windows Vista and Win7
> updated website, installation documentation and screenshots
> added ability to change INI file at first start (for Wolf)
> added chatroom service bot plugin, helps to manage chatrooms and chat communities
> added LDAP authentication plugin, user authentication via LDAP and active directory
> added new Windows MSI installer and portable installer to download section
> updated software updates to work with Windows Vista and Win7
> updated website, installation documentation and screenshots
> added ability to change INI file at first start (for Wolf)
> added chatroom service bot plugin, helps to manage chatrooms and chat communities
> added LDAP authentication plugin, user authentication via LDAP and active directory
Planned in B71
> application shows plugin menu via right click on main navigation
> updated webpage parser with optional HTML/XHTML output and own text strings (for Feyd)
> application shows plugin menu via right click on main navigation
> updated webpage parser with optional HTML/XHTML output and own text strings (for Feyd)
- updated SDK with new data generator interface, some internal server refactoring
- INI file: new setting WebPageLanguageFile=~/pichat/pichat_webserver_strings.txt, [Server] section
- bugfix: limited number of alternate stylesheets in webchat, documented technical constraints
New in B70
- updated user authentication handling, new file format with arbitrary meta data
- updated SDK with new user authentication interface, improved file parsing, lots of refactoring
- updated SDK tools, documentation tool with support for HTML output, improved XSLT and CSS
- updated pipasswd for new file format and splitted off into own download
- added simple authentication plugin, functionality was previously included in core
- INI file: renamed setting UserAuthentication to ServerAuthentication, [GUI] section
- INI file: renamed setting UserAuthenticationFile to ServerAuthenticationFile, [GUI] section
- INI file: removed setting UserPermissionsFile, [Server Permissions] section
- bugfix: setting ProxyBypassHosts supports wildcards in hostnames and IPs
New in B69
- updated protocol, bot interface and /CONNECT command changed argument order to nickname, chatroom, language
- updated session handling, automatic reconnect works better with conference rooms
- updated webchat user list, shows if user is away (code from Wolf and Mark)
- hyperlink parsing supports pichat scheme name in URLs, i.e. pichat://username:password@address:port
- robustness and fuzz testing of text flow and common chat commands, using custom chat bots
- INI file: new setting ChatroomStart, [Client] section
- bugfix: contact group files are generated when needed (thanks Wolf for reporting)
New in B68
- updated protocol for connection test, lots of refactoring and functional testing
- updated SDK with meta data access, plugin manager with context menu for plugin commands, new plugin interface
- improved support for simple chat clients, new echo option to enable ping replies and lag detection (for Feyd)
- new command /GUIDE to guide users into other chatrooms
- engine offers SharkEngine::CAsyncNetwork::SplitAddress() method, SharkEngine::CFilePreferences has changed
- INI file: new setting PingSupportLagDetectionAbove=3, [Server] section
- INI file: new setting PingSupportLagDetectionFallBelow=1, [Server] section
- INI file: renamed setting WebchatEnableLagDetection to PingSupportLagDetection, [Server] section
- INI file: renamed setting PingPongIntervall to ConnectionTestIntervall, [Server] section
- INI file: changed default setting ShowSmileyBar=0, [GUI] section
New in B67
- brand new application logo (lucky chat star)
- updated download section with plugins for Linux and Windows, new file name for Linux/BSD chat server
- updated options dialog with plugin manager, also available in dedicated server mode for Windows
- added language plugin, automatic update of European language pack
- command /PLUGIN can add and remove plugins, developers can now reload individual plugins
- bugfix: redirect URL is checked to avoid an infinite loop of redirects
New in B66
- text highlight handles "@nickname" format (Twitter friendly)
- updated webchat HTML templates, takes echo commands and receives away status changes
- bugfix: user generated chatroom works again with Linux glibc
New in B65
- updated color scheme format, different colors for own/other text lines, new text color
- updated color scheme examples, language text resources and webchat HTML templates
- another echo option to generate text streams, optionally display colored nicknames
- refactored HTTP 1.1 client class, improved internal state changes
- added SMTP client class to core (thanks Feyd and Wolf for help)
- server logfile shows if color schemes are incompatible
- INI file: updated settings HighlightChatroomLevel and HighlightMessageLevel, [GUI] section
New in B64
- updated language pack naming, experimental multi language plugin
- updated website, screenshots with navigation bar for better overview
- refactored server start, resources are loaded after plugins, new chat action
- INI file: updated default setting LanguagePack1, [Languages] section
New in B63
- chat window with smiley bar, supports text formatting and chat commands
- configurable smiley bar and side bar menu, restructured Pichat INI file
- configurable chat graphics for Windows GUI and webchat, PNG file format
- refactored webchat to support custom graphics, updated webchat HTML templates and chat graphics
- new hotkey Ctrl+S = show/hide smiley bar
- INI file: new setting ShowSmileyBar=1, [GUI] section
- INI file: new sections [GUI Side Bar], [GUI Smiley Bar] and [Graphics]
- INI file: updated sections [GUI Aliases], [GUI Connect List], [GUI Sounds], [Server Chatrooms], [Server MOTD] and [Server Actions]
- INI file: renamed section [GUI Connect List] to [GUI Address Bar]
New in B62
- updated text input, wiki-like text formatting with bold and color, new echo option to generate text streams
- updated language text resources and webchat HTML templates, smiley bar with wiki-like text formatting
- chat output shows tab character like normal whitespace, also added five new chat graphics
- command /TOPIC shows or changes topic of any chatroom
- server logfile shows if language text resources are incompatible
- translated website main pages, image captions and sitemap to French (thanks Gael)
- web server with support for SSL accelerator, evaluating X-Forwarded-For and X-Forwarded-Proto HTTP headers
- INI file: new setting AlwaysXForwardedSecure=0.0.0.0, [Server] section
New in B61
- improved Windows GUI to be flicker free, using memory DC also for navigation buttons and contacts
- improved side bar with tooltip for long text, shown when chatroom/nickname not fully visible
- improved combobox control, added possibility to remove entries from history
- refactored splitter control to remove unnecessary reference point when dragging separator
- translated chat server to Bulgarian (thanks Alpha), Hungarian (thanks Miko) and French (thanks Toma)
- bugfix: text filter is less strict in webchat and does not remove 0xFF (Telnet IAC control code)
New in B60
- chat window with status bar on the bottom, owner-draw control created from scratch
- simplified contacts and updated chat graphics, added telephone graphic (for Wolfguru)
- updated protocol and webchat HTML templates, more chat server information, ping/pong with different payload data
- new hotkey F3 = sticky window (always on top)
- INI file: new setting MainWindowNavigationView=1, [GUI] section
- INI file: new setting MainWindowContactsView=1, [GUI] section
- INI file: removed setting MainWindowZoomed, [GUI] section
- bugfix: text highlight works with whitespace in nicknames
New in B59
- improved Windows GUI layout to prevent redraw artifacts, siblings should never overlap
- refactored splitter control to resize controls better within small client area
- refactored password manager, tabs with context menu entry to enter password
- updated website, main pages also using wiki text format (pikiengine), meta information support
- INI file: renamed setting MainWindowSplitterPos to MainWindowSeparatorPos, [GUI] section
New in B58
- filtered IP-address display and logging per default
- new command /USERINFO to show extended user information
- new command /ROOMINFO to show extended chatroom information
- added logbot plugin, records public conversations on chat server (for Wolfguru)
- changed text color types to be in RGB order, updated webchat HTML templates and quizbot plugin
- improved support for simple chat clients, more echo options to generate text streams (for Feyd)
- updated hotkeys Ctrl+P = write colored, Ctrl+K = change color scheme, Ctrl+Shift+O = show chat options
- INI file: new setting FilterIpNetmaskChat=16, [Server] section
- INI file: new setting FilterIpNetmaskHttp=16, [Server] section
- INI file: new setting UserInformationExpireTime=3600, [Server Permissions] section
- INI file: new setting ChatroomInformationExpireTime=3600, [Server Permissions] section
- INI file: removed setting WebchatEnableSoundEffects, [Server] section
New in B57
- users can log chat conversations and private messages
- updated options dialog with logfile manager, shows and deletes logfiles
- refactored file logging, moved visualisation logging into application code, new chat action
- INI file: updated format in section [Server Chatrooms]
- INI file: new setting ClientChatLogging=0, [GUI] section
- INI file: new section [Logfiles], moved other logfile settings into this section
- INI file: removed settings VisualisationLogfile and VisualisationLogLevel, [3D Visualisation] section
- bugfix: shutdown is working properly on Windows (thanks Wolfguru for reporting)
New in B56
- bugfix: telnet access fixed after recent protocol update, tested with PuTTY and Linux telnet client
New in B55
- more flexibility for logfiles, directories can be created on the fly
- updated SDK with better bot interface for multiple languages, updated examples and plugins
- updated website, more plugin documentation
- aliases with support for multiple commands consecutively executed
- INI file: new setting MainWindowCloseButtonMinimise=1, [GUI] section
- INI file: added wildcard entries to sections [Color Schemes] and [Languages]
New in B54
- improved chat server connection at application start (for BohBoh)
- experimental chat graphics for application and systray (for Wolfguru)
- protocol updated, more information about user's reconnect status
- updated webchat HTML templates, changed some graphic names
- INI file: updated format in sections [GUI Sounds] and [Server Actions]
- bugfix: chat input with a custom border needed for Windows Vista
- bugfix: webchat redirect works with multiple arguments
New in B53
- improved terminal service support, files and settings are stored in user's home directory, chat/web server can be disabled, software updates can be disabled, more control for sysadmins
- automatic detection of free listening ports on first start
- updated Windows user interface, new default font in color schemes
- updated SDK with access to INI file, updated examples and plugins
- INI file: new section [Plugins]
- INI file: new setting EnableUpdates, [Updates] section
- INI file: new setting ColorSchemeGuiFont, [Color Schemes] section
- INI file: renamed setting ShowFirstStartMessage to ShowStartupMessage, [GUI] section
New in B52
- chat output with better text selection, double click selects whole word
- improved webchat parser for special cases (thanks Feyd for reporting)
New in B51
- chat output repaired for Windows Vista (thanks Rickard and Rouv for testing)
- crash report includes base address of loaded modules
New in B50
- updated chat output with better scrolling, text selection and zoomable text size
- new hotkeys to change text size in chat window, also refined Ctrl+A functionality
New in B49
- improved splitter control in case of resizing/dragging effect being disabled
- bugfix: systray animation without GDI leaks
New in B48
- intensively tested Windows user interface, faster main window resize, fixed visual glitches
- refactored splitter control to resize controls/widgets without visual artifacts
- new tab sets caret into chat server address field
- new hotkey F4 = show/hide status and contacts
New in B47
- experimental new chat output, owner-draw control created from scratch (thanks Feyd for help)
- improved hyperlink parsing for special cases (thanks Feyd for finding them)
- improved JavaScript for better webchat customisation, new webchat HTML templates
- website with improved screenshot handling, individual pages with meta information
- translated website main pages and sitemap to Swedish (thanks Håkan and Rickard for help)
- engine offers SharkEngine::CFileStream::MakeFile() method
- INI file: removed setting NachoTimeStampLevel, [GUI] sectioon
- INI file: removed setting NachoTimeStampMultiColor, [GUI] section
- INI file: removed setting HighlightFullLine, [GUI] section
- INI file: removed setting FlickerFreeDrawing, [GUI] section
- INI file: removed setting OpenNewBrowserWindow, [GUI] section
New in B46
- updated options dialog with setting to run chat application at startup
- improved chat graphics for dark color schemes, added cola graphics (for Rickard)
New in B45
- updated side bar with chatroom in which user enters the chat
- updated language text resources, shortened chat status text in user interface
- command /BAN with possibility to ban problematic users from all chatrooms
- INI file: new setting ChatBanTime=10800, [Server Permissions] section
New in B44
- updated Windows GUI resources, completed Swedish translation (thanks Magnus for help)
- updated SDK web page parser with language detection based on user agent language
- renamed simple chat mode to simple text mode in HTML templates
- documentation tool with support for wiki text format (pikiengine)
- improved documentation with more content and images, FAQ with more questions
- website with wider layout and new documentation engine, MediaWiki/ReStructuredText-like text formatting suitable for technical documentation, JPEG/PNG image support
New in B43
- internationalisation for Windows GUI resources, defaults are English/German/Swedish
- updated options dialog with language selection, application restart after change
- INI file: new setting LanguageGuiDefault, [Languages] section
New in B41
- updated status dialog with chat activity and user number in current color scheme
- refactored chat text drawing, custom calculation for word wrap and ellipsis
- refactored web page parser, added to SDK and updated webcam plugin
- homepage with two more screenshots, webchat and telnet example
New in B39
- webchat with support for Wii (Opera browser) and iPhone (Safari browser)
- webchat with support for custom style sheet extensions, CSS skinning
- updated webchat HTML templates, optional send button and better error handling
- INI file: new setting SideBarLevel=2, [GUI] section
New in B38
- side bar with chatrooms and users for user interface and webchat
- command /WHO shows users in any chatroom, added to side bar
- protocol updated, server sends more chatroom information, new chat actions
- changed some color names, new colorscheme examples in download section
- homepage with CSS layout and updated screenshots
- INI file: new setting ChatroomListUpdateIntervall=120, [Server] section
- INI file: renamed setting ShowUserList to ShowSideBar, [GUI] section
New in B37
- experimental dynamic user list in webchat, add/change/remove with JavaScript and DOM
- experimental new webchat HTML templates, simplified for easier integration into existing layouts, moved JavaScript into namespace, shorter loading time, tested with FF and IE
- most pages in standards compliant mode and HTML/CSS validated
- chat status page shows users in permanent chatrooms
- quizbot plugin with support for multiple languages
- webcam plugin with context menu in preview window
New in B36
- added blinking title bar to webchat and user interface
- user interface with interactive login if authentication is required
- startup connections via contacts
- homepage with sitemap in English/German (for search engines)
- INI file: added setting StartupCommands, [Pichat] section
- INI file: added setting AnimateWindowTitle=1, [GUI] section
- INI file: removed setting Connect, [Pichat] section
New in B35
- user interface optionally with precise time stamp
- updated SDK with access to logfile, updated plugin interface (for Feyd)
- added quiz plugin for running a chatroom quizbot, example trivia in download section
- better webcam plugin with logo for online, offline and on the air status (for Rickard)
- INI file: new setting NachoTimeStampPrecise=0, [GUI] section
- INI file: renamed setting ShowPingPrecise to PingPrecise, [GUI] section
New in B34
- user interface with button to show chat options
- updated preferences dialog with advanced server settings
- homepage with more pages in English/German
- INI file: new setting MainWindowOptions=1, [GUI] section
- INI file: changed settings for permanent chatrooms, [Server Chatrooms]
- bugfix: bots can be added and removed on runtime (bug 1054)
New in B33
- updated preferences dialog with user interface settings
- new hotkey Windows+P = show/hide main window (for Feyd)
- protocol updated, more chatroom information for bots, new chat actions
- homepage with developer documentation in English/German
- Winamp plugin with option to ignore song titles with specific text
- INI file: renamed setting ChatServerJoins to ChatServerUsers, [GUI] section
- INI file: removed setting MainWindow3dCheckbox, [GUI] section
- INI file: removed setting MainWindowStatusButtons, [GUI] section
New in B32
- updated preferences dialog with network settings and a password manager
- manual software updates with detailed error feedback
- crash report includes information about plugins (for Feyd)
- improved file parser class to read and write configuration data
- INI file: new setting ClearInputAndOutput=1, [GUI] section
- INI file: new setting UserAuthentication=1, [GUI] section
- INI file: new setting UserAuthenticationFile=pichat_user_authentication.ini, [GUI] section
- bugfix: HTTP/1.0 server closes non-persistent connections immediately (bug 1053)
New in B31
- updated MOTD (message of the day) with better support for multiple languages
- added ability to check manually for software updates (for Domk)
- added status plugin with list of all users in TEXT/XML format
- updated SDK with access to more server and user information, updated bot interface
- refactored connection manager, download updates optionally via HTTP proxy
- bugfix: compressing binary packages with correct length (bug 1052)
New in B30
- homepage with user handbook in English/German (for Mattze)
- custom title in main window and systray (for Mattze)
- HTTP 1.1 client allows dynamic change of traffic limitations during upload/download
- bugfix: XML translation without access violation, improved stability (bug 1051)
New in B29
- profiling and stress testing of network classes and incoming traffic
- bugfix: better handling for telnet and tinygrams (bug 1050)
New in B28
- webchat with own help page in English/German/Swedish
- command /WHOIS shows if user is registered and optional description
- command /LOGOUT and /QUIT to leave chat
- updated chat status query with more server information (for Feyd)
- updated password tool with IP ranges for all users types
- updated SDK to make it VC8 friendly, some incompatibilities as usual
- bugfix: web server handles requests with bare CR (bug 1050)
New in B27
- web server with support for reverse HTTP proxy (for Feyd)
- command /COLORSCHEME is the default command to change color scheme
- renamed colorsheme to colorscheme, updated webchat HTML templates
- INI file: new setting FollowXForwardedFor=127.0.0.1, [Server] section
- INI file: removed setting AssistantButtonsLevel, [GUI] section
- INI file: renamed section [Color Shemes] to [Color Schemes]
- bugfix: user login works reliable (bug 1049)
New in B26
- protocol updated for comunities that require registration, updated password tool
- new command /CHATMODE to change chat server mode
- new command /USER to log in or out as registered user
- updated SDK with text container and access to server information
- INI file, new setting ChatModeDefault=CHAT_OPEN, [Server Permissions] section
- INI file, new setting VisitorRestrictionChatroom=1, [Server Permissions] section
- INI file, new setting VisitorRestrictionNickname=1, [Server Permissions] section
- INI file, new setting SafeguardLoginFailedMax=10, [Server Permissions] section
- INI file, new setting SafeguardExpireTime=600, [Server Permissions] section
- INI file, new setting ClosedQuitTime=300, [Server Permissions] section
New in B25
- new application icons
- homepage with screenshot section, merged download and plugin section into one section
- added webcam plugin, shows picture in JPEG format (code from Feyd and Mark)
- added Winamp plugin, shows current song title
- INI file: changed setting SmileysAndGraphicsLevel=6, [GUI] section
New in B24
- updated visualisation and graphical user interface according to coding standard
- added PNG decoder to visualisation (code from Feyd), refactored TGA decoder in same style
- refactored visualisation input handling and data formats for stricter encapsulation
- refactored visualisation data manager classes to use polymorphism instead of templates
- profiling of file stream and string classes, improved implementation
- bugfix: automatic update unpacks files from download container
- bugfix: simple chat mode opens links in new browser window (bug 1048)
New in B23
- added automatic download of updates, also known as "nacholoading" (for Nacho)
- new tool to create file repository with version information and SHA256 checksum
- INI file, new section [Updates]
New in B22
- refactored HTTP server to offer data exchange with plugins, added to SDK
- refactored file/memory stream class to be shareable across library boundaries
- INI file: moved setting DedicatedServer to ServerDedicated, [Profile] section
- bugfix: STL is not used across DLL boundaries (bug 1047)
New in B21
- improved HTTP 1.1 client with partial file transfer and traffic limitations
- improved documentation tool with XML output (shown as HTML in standard web browser)
- refactored string parser for easier use, updated SDK examples
- bugfix: nickname change is reported to bots
New in B20
- added HTTP 1.1 client class to core, updated unit tests
- added SDK tools to download page, contains mkdoc + mkres + pipasswd + pngcomment
- improved memory stream class with read/write access
- refactored network error handling and data exchange
- bots with better text output and multi-threading support
- bugfix: trimming text lines before sending to chat server (bug 1046)
- bugfix: methods TrimTextEllipsis() and TrimTextLine() work without crashing
New in B18
- rewrote tabs with theme support, images and close buttons (thanks Feyd for help)
- tabs show connection problems and blink if highlighted text is waiting
- refactored chat graphics and theme handling to work without singelton
- refactored system tray and icon animation
- INI file, new setting TabsCloseButton=1, [GUI] section
New in B17
- rewrote buttons with theme support, reorganised buttons in main dialog
- protocol updated, server sends more status information, new chat action
- bugfix: input focus and default button (owner-draw) is handled better
- bugfix: auto away message is not shown when text filter is enabled
New in B16
- web server supports authentication, updated password tool with IP ranges
- server puts automatic safeguard on user names with too many failed login attempts
- user interface with status button to zoom main window in/out
- user interface supports filtered text output (for Domk and Nacho)
- new hotkey Ctrl+R = enable/disable text filter
- new hotkey Ctrl+L = clear chat window
- documentation tool with more options and error feedback
- INI file: new setting DomkoTextFilter=0, [GUI] section
- INI file: new setting MainWindowZoomed=1, [GUI] section
- INI file: new setting ServerHttpLocationProtected="/private", [Server] section
- INI file: renamed setting MainWindowStatusAndContacts to MainWindowStatusView, [GUI] section
New in B15
- improved string and buffer classes with memory allocator
- added smart pointer templates (owned/shared), new engine unit test
- updated SDK coding standard with a new section about C++ memory handling
- reduced webchat to three browser types: dynamic, simple, unsupported
- INI file: new setting WebchatScreenSizeBrowserSimple=12, [Server] section
- INI file: renamed setting ServerDefaultEntryPage to ServerDefaultHomepage, [Server] section
- INI file: changed setting DataTransferBufferSize=32768, [Server] section
- INI file: removed setting WebchatBrowserNormal, [Server] section
New in B14
- added STL independent string and buffer classes for better binary compatibility
- refactored connection manager and plugin manager to use same pattern
- refactored command parser with proper encapsulation
New in B13
- improved chat server plugin support, new bot interface
- updated SDK with library documentation and more engine unit tests
- homepage with plugin section for tester
- new hotkey F12 = show 3D window
- bugfix: chat server announces correct name in LAN
- bugfix: user interface minimises without resizing views (bug 1011, bug 1017)
New in B11
- improved chat server plugin support, new interfaces
- new command /PLUGIN to show and configure chat plugins (for Domk)
- resource tool with configurable namespace label
- INI file: new setting AnnounceNetworks=255.255.255.255, [Server] section
New in B10
- UDP scan for running chat servers in LAN, added to contacts, new chat actions
- new hotkey F5 = update contacts
- different icons for application and download container
- INI file: new setting ServerAnnounceLocalNetwork=1, [Server] section
- INI file: new setting AnnounceIntervall=60, [Server] section
- INI file: renamed setting EngineLogfile to VisualisationLogfile, [3D Visualisation] section
- INI file: renamed setting EngineLogLevel to VisualisationLogLevel, [3D Visualisation] section
- bugfix: webchat with stubborn web browsers requires initial stream update
- bugfix: webchat refresh initialises the stream compression
New in B9
- added simple chat server plugin support
- added simple software development kit (SDK) to download page
- updated engine unit tests, dynamically linked, all runs automatic, added to SDK
- refactored and splitted engine classes to reduce header dependencies
New in B8
- experimental chat plugin support (for Feyd)
- server logfile lists shared libraries and chat plugins in server debug mode
New in B7
- improved server reconnect, detects when local network connection has been restored
- command /COLORSHEME is the default command to change color sheme
- INI file: new setting ConnectRetryLocalNetwork=3, [Client] section
- bugfix: user interface clears chat output correct (means without crashing)
New in B6
- contacts with multiple groups
- INI file: new setting ContactGroupAddresses=Default, [GUI Connect List]
- INI file: removed section [GUI Connect List Favourites]
- bugfix: download container sets original file date after extraction
- bugfix: chatroom list is not wrong after update to a new build
New in B5
- added context menu in user bar with clickable chat commands
- added context menu for status and contacts
- refactored core data containers for stricter encapsulation
- refactored 3D visualisation error handling and logging, similar to chat server
- INI file: new section [Contacts]
- INI file: new setting EngineLogfile=pichat_3d.log, [3D Visualisation] section
- INI file: new setting EngineLogLevel=2, [3D Visualisation] section
New in B4
- added tabs for multiple chat windows
- preference dialog with checkbox for sticky window mode (always on top)
- INI file: new setting TabsWhenChatWindowNumber=2, [GUI] section
- INI file: renamed setting MainWindowHomepageButton to MainWindowStatusButtons, [GUI] section
New in B3
- added preferences dialog for basic chat settings like nickname
- updated hotkeys Ctrl+P = show chat preferences, Ctrl+G = pong back last user
- user can hide right part of chat dialog (for Phantomix)
- INI file: new setting MainWindowStatusAndContacts=1, [GUI] section
- INI file: changed setting ShowUserList=1, [GUI] section
New in B2
- splitted off core and engine into shared libraries (dll/so)
- redesigned engine resource handling to be more flexible
- reduced build time by making better use of precompiled headers
- bugfix: download container can run only once at a time
New in B1
- added download container for Windows, unpacks and starts exe
- added set of engine unit tests for Linux/BSD to download page
- redesigned source code structure into application + core + engine
- resource tool supports compression and file modification dates
- bugfix: user list is not empty on startup
New in B0
- protocol updated, client sends preferred languages with first line, new chat actions
- refactored client classes to have the same simple design
- command /MESSAGE is the default command to send private messages
- homepage relaunch with download section
3.1. Product backlog, user interface
The product backlog contains a list of new features, wishes and improvements for the Pichat
software. Pichat is created with the idea of agile software development in mind: First make
it work, then make it better. The backlog is expected to change over time as more is learned
about the chat, features may be added or removed. Items in the product backlog are always
prioritised and give an indication of what features can be expected in the future.
The following is a list of desired user interface features (more important items on top):
- multiple chat windows for private messages, dockable or something cool (Mark)
- user interaction redesign and usability study to make GUI better (Mark)
- automatic check if friends on contact list are online/offline (Mark)
- in message window show if opponent is typing or not (Domk, JNS)
- in message window show if user is in DND mode (Domk)
- chat window with search bar, Firefox-like (Mark)
- chat input with girlie mode where you can see smileys etc while typing (Feyd)
- status dialog with information from chat servers, maybe with XML-RPC (Mark)
3.2. Product backlog, chat functionality
The following is a list of desired chat functionlity (more important items on top):
- traffic encryption as default (Mark, Jamie)
- improved LAN messenger functionality, zeroconf service discovery and serverless messaging (Mark)
- instant messaging "short messaging" also when other person is offline (Mark, Rickard, Domk)
- ability to send/receive files, also when other person is offline (Mark, Phantomix, Domk)
- ability to find users with common interests and get in touch (Mark)
- automatic data injection to harden against traffic activity analysis (Mark)
- automatic flood and spam protection (Joel)
4. Open issues
- update toolchain to build 32-bit and 64-bit binaries
- software package for standard Linux distributions
- forced idle away from chat server and application logic should work better together

