Department of Computer Science
The University of Western Ontario
Last Update: July 9, 2013

InkChat is

InkChat is a Java-based, portable, collaborative, whiteboard system which allows efficient communication including voice, handwriting, text, video sharing between geographically distributed users.

InkChat makes use of Skype as its backbone sending and receiving data and thus provides the most reliable data exchange over miscellaneous networks. To achieve portability, InkChat uses InkML, an open and platform-independant standard issued by W3C MultiModal Working Group, for digital ink streaming and archiving.

Current features

InkChat currently supports following features:
More novel features will be added shortly, including:

InkChat is portable. It works on Windows, Linux, and Mac OS.

The latest version: 0.9.5

To download the latest runnable InkChat, click here.

Recent Changes

Date Change Comment
August 1, 2011 Update Added a straight line tool and ink selection. Ink copy, cut, and paste is now supported. Fixed bugs.
June 24, 2011 Update Added additional backgrounds, including the addition of background generation. Added support for multi-stroke recognition. Increased overall stability and fixed multitudes of bugs.
June 14, 2011 Update Improved the graphic user interface, including the amelioration of custom cursors and icons, and various panel optimizations. Additionally, added page up, page down, and clear canvas icons. Renamed the tools and added a brush (a calligraphic brush). Added and made it easier to select menu preferences. Removed non-functional menu options. Improved the look and feel of the recognition panel. The users' displayed under the currently connected users panel, now have their names rendered in the color that they have most recently sent ink in. Miscellaneous bug fixes.
June 3, 2011 Update Improved the graphic user interface, including the addition of custom cursors and icons. Added the ability to playback (animate) saved ink. Added a pointer and a highlighter. Updated the Skype4Java API. Recording of Skype audio is now saved correctly. Restored the previous functionality of the recognition panel. Numerous bug fixes and algorithmic improvements.
May 16, 2011 Update Improved the user interface. Added the ability to stream ink pieces.
May 9, 2011 Update Fixed bugs in the Skype4Java package.
Oct. 8, 2009 Update Changing canvas background will also change other clients background
Oct. 7, 2009 Update Add methods to remove tablet noise when doing rendering
Oct. 7, 2009 Update Fixed bugs in InkMLTk
Oct. 5, 2009 Update Fixed bugs in Page up and page down functions
Oct. 4, 2009 Upgrade Page up and page down synchronizing over clients implemented
Oct. 3, 2009 Upgrade Page up and page down implemented
Oct. 2, 2009 Upgrade Loading ink function implemented
Oct. 1, 2009 Modify Send color streaming with trace data instead of separately
Sep. 30, 2009 Update Update InkML schema (./schema/inkml.xsd) file for parsing InkML file

System requirements:
  • Refer to the included install and readme files.

To install InkChat:
  1. Download InkChat zip archive and extract it to your filesystem
  2. On linux, set the execute bit for run.sh by issuing command: chmod a+x run.sh

To run InkChat:
  1. Start Skype and login
  2. On windows, execute run.bat, or on Linux and Mac OS, execute run.sh by issuing command: ./run.sh

  • Michael Friesen - Implementation (0.0.0 to 0.4.0 and 0.9.0 - Date) The University of Western Ontario mfriese5 AT uwo.ca
  • Rui Hu - Implementation (0.0.0 - Date) The University of Western Ontario rhu8 AT uwo.ca
  • Coby Viner - Testing (0.5.0) and Implementation (0.6.0 - Date) The University of Western Ontario cviner2 AT uwo.ca
  • Stephen Watt - Designer The University of Western Ontario watt AT uwo.ca

If you find any bugs, please report them to Rui Hu (rhu8 AT uwo.ca).

" At " = @.

Some snapshots


User interface




Selection with Pie Menu

Skype extension

Skype extension

Recognition extension

Recognition extension


JPen -- An open source library for accessing the features of tablets and pointing devices.

Skype4Java -- An open source library for using Skype utilites

InkML Toolkit -- An open source library for working with InkML document.