Background
Client is TP Vision from India/China were looking for developing Whiteboard desktop application for touch screen large TV sets which they manufacture and sell it with Windows operating system. They had already built a similar Whiteboard application for Android platform for TV sets. Client wanted to sell this to educational customers out of India.
Challenges
- There is no in-house team who can work on this challenging project with expertise with such development.
- Solution should align with their existing APIs which is being used for Android based Whiteboard and their web-based whiteboard application.
- Solution should be able to handle large drawings, lots of shape drawing and able to perform well with lots of objects on same screen with good performance.
- Appealing GUI for selling as part of TV units with Touch screen-based implementation.
- Performance needs to be better compared to other competitor whiteboards like out of box whiteboard provided by Microsoft.
- It needs to be interoperable with their parallelly being developed web based version of the Whiteboard where drawings can be saved and shared between applications. It needs to be able to open drawings from web based whiteboards saved drawings and able to modify and save it.
Solution
Based on the requirements and specification, we decided to architect the application using following technology stack:
- Microsoft .Net framework
- WPF, XAML C#, MVVM design pattern
- Module based development and loosely coupled architecture
- External integrations for API
- Various shapes drawing square, rectangle, cylindrical, star, circle, lines
- Eraser feature for various shapes and lines
- Color palate, File saving to cloud and local, paging for multiple drawings, Redo/Undo
- Multi-touch implementation upto 10 fingers, infinite canvas
- Insert images, shapes and Text
- OCR implementation to convert hand written word to actual text
Achievements
The initial version of the solution is developed and used by the client in parallel to additional development being done.
Application Screenshots: