-
Notifications
You must be signed in to change notification settings - Fork 83
MSUI: UI Redesign GSOC 2021
Student: Aravind Murali
Organization: Python Software Foundation
Sub-Organization: Mission Support System
Mentors: Jörn Ungermann, Reimar Bauer, May Bär, Tanish Grover
Useful Links:
My GSoC Project can be divided into two projects:
Designed and developed a new User Interface (UI) which integrates two separate UIs, namely, MSUI and MSColab. Previously, the Main window (MSUI) was used to work locally, whereas, the MSColab window was used to work collaboratively. Since both the windows offer the same set of core functionalities to the user, having to switch between windows while working on a project becomes cumbersome. In the new UI, related functionalites have been grouped together and moved accordingly, making it convenient for the user.
Developed a new profile window for the MSColab users. This window displays the users information like username and more, and also includes an option to delete the account. The users can also set their profile picture through gravatar.
Designed and developed a new configuration editor based on Qt-json-view, a python library. Previously, the config editor used to be a plain-text editor which requires the user to have prior knowledge of the JSON syntax. The new config editor removes this pre-requisite by providing basic editing options in a more intuitive way. It can also interactively notify the user if there are any invalid values in the configuration. The new editor also supports importing external configuration files, which it smartly merges with existing configuration.
The following are the list of Pull Requests have been successfully merged with GSOC2021-AravindMurali branch in the base repository.
Pull Request Contents | Links |
---|---|
|
https://github.com/Open-MSS/MSS/pull/1030 |
|
https://github.com/Open-MSS/MSS/pull/1059 |
|
https://github.com/Open-MSS/MSS/pull/1079 |
|
https://github.com/Open-MSS/MSS/pull/1086 |
|
https://github.com/Open-MSS/MSS/pull/1103 |
|
https://github.com/Open-MSS/MSS/pull/1154 |
|
https://github.com/Open-MSS/MSS/pull/1159 |
|
https://github.com/Open-MSS/MSS/pull/1161 |
- Note: All the tests related to my project have been added/refactored for the new UI.
Considering the scope of my project, all the goals have been met.
- MSUI UI Redesign
- MSColab interface is integrated with the main window to provide easy access between local flighttracks and shared projects.
- MSColab project options like User management, Chat, Version history is moved to the menubar in order to decongest the user interface.
- Separate window for Connecting/LoggingIn/Registering to MSColab. This window also takes care of HTTP Server authentication.
- Profile window to display user details and providing user-related options.
- Configuration Editor
- More user-friendly way to edit the configuration options.
- Invalid configuration options will not be accepted/stored.
- Only the non-default values will be stored in mss_settings.json.
- Supports importing external configuration files, which will be smartly merged with the existing configuration.
- Supports exporting valid configuration as a JSON file. (Note: Exported configuration file will only contain non-default values)
Some suggestions to further improve the tool would be:
- Implement stricter validity checks on configuration options, in the new editor.
- Extend UI functionality in the new editor, for better user-experience. For example, provision for moving an option up/down a row.
I would like to thank my mentors - Jörn, Reimar, May and Tanish for their continuous support throughout my project. The communication was clear and the suggestions/feedback that I got from my mentors were incredibly helpful.
Working with an international team helped me gain a lot of exposure. And, also learnt about a new work culture.
I would also like to thank the PSF organization and the GSoC team for providing such a great opportunity to contribute to open source.