Start with chat service.

Set up new folder for chat service, with a draft version of a database
setup script as well as a link to libauth.
Add some basic stuff.

Add basic handling stuff for database, JSON sending and others.
Implement AJAX sender of new messages.
Add message submit AJAX page.

Add page to submit chat messages (without login check for now) and fix
bugs in the other code.
Remove HTML service link.

Remove the HTML service link, it is probably not necessary.
Start with index page.

Create a page template and index page without functionality but with
some basic content already.
Draft layout for chat history.
Add message submit form.
Some JS code, able to process chat messages.

First code that includes Ajax querying capability plus the ability to
parse and show chat history messages.
Implement automatic updating calls.

Start automatic updating calls to the messages.php Ajax call provider to
update the chat views.
Submit chat messages.
Scroll last chat message into view.
Use mysql_set_charset instead of SET commands.
Add colon to names.
Set PHP class names in argument lists.
Don't use globals in session.inc.php.

Use parameters instead of the config variables directly.
Implement login and page layouts for chat.

Implement different pages with view parameter plus login action for the
chat.  The login is not yet checked or used for the backend, though.
Make log message more informative.
Check for logged-in user for submit form.

Only register event handlers on submit form if there's actually a user
logged in.
Use different observer in add-on.

Use a new observer event in the add-on, which provides more consistent
behaviour in tests for document loads.