Tuesday 19 June 2012

Swift Chat History Support

Chat logging is one of the most basic features in an IM client as users often find themselves in need of viewing past conversations. This summer, I'll be working on adding history support to Swift.
After a rather slow start, I've finished the UI details as well as the target functionality details.

How it looks:

How it works:
By default, the history viewer will display recent conversations, the user being able to select specific contacts from the roster on the left. Logs will displayed with unlimited scrolling - logs are appended as the user scrolls for older/recent conversations. The calendar on the bottom left allows jumping to specific dates and it will permanently reflect the date of the currently viewed logs.

Users may also choose to search for keywords in order to find certain conversations. The contacts roster will only display users matching the query, while the 'next', 'previous' buttons allow iterating through search results.

Next step:
I'm currently working on the local history support feature for situations when server logging is unavailable. The database will be managed using sqlite as it seems the most straightforward solution.