In terms of enhancing the opportunities of our SkyHistory product, a chat history manager for Skype that lets storing messages, filtering chats, and searching through the conversations by date, we have created a cross-platform library of custom UI controls and elements.
The UI library is in charge of performing Skype conversations, user and group chats, and date filters.
For its realization, our team turned to:
- Electron cross-platform framework
- Node.js for the back-end
- AppX format for the output package
Taking it into consideration, the SCAND development team decided on Electron to implement the cross-platform library of custom User Interface controls and elements. This framework ensured its prompt development and assisted in the realization of all library’s features required.
As our cross-platform GUI library appears to be a part of the SkyHistory product, all data are extracted from the SQLite database. For that reason, we used the SQLite ODBC driver written in C++ and wrapped into the .NET Core Data.Sqlite to attain compatibility and a cross-platform format.
As for submitting application packages to the Windows Store, the output package in the AppX format was created with the help of the Electron-Windows-Store CLI.
The SkyHistory cross-platform GUI library involves:
- Users and groups trees
- Calendar with seasons and months trees
- Menu and toolbars panels
- Complex custom message conversation list control
- Elements of searching and filtering Skype messages
The message conversation list as one of the major UI elements offers all the opportunities below:
- Adding text messages of different length.
- Using timestamped titles and subtitles.
- Customizing fonts and font settings, namely choosing their size, type, and color for your own and other users’ messages, etc.
- Creating a dynamic scrolling.
Putting together a series of elements, we have eventually got the library that could be briefly described as follows:
- It is a cross-platform GUI library.
- The Electron framework has been used for the development.
- The NuGet package manager is utilized.
- The .NET Core Data. Sqlite component has turned out an integral part of the development.
Our GUI library is compatible with the Windows Anniversary Update (Redstone) to submit the application as the AppX package to the Windows Store.
The SkyHistory cross-platform GUI library works equally well for the platforms which support Microsoft Skype, i.e., Windows, Linux, and macOS.
After the release of the Windows Anniversary Update, codenamed Redstone, applications can be submitted to the Windows Store as AppX packages. It means users should simply double-click the .appx to automatically install it.