Behind the Scenes of Part-time Manager, a JavaFX Application
--
Part-time Manager (PTMan) is a desktop JavaFX application for both part-time employers and employees. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface). It was created by my team and I for a CS2103T Software Engineering project.
Introduction
Part-Time Manager (PTMan) is an application made for companies to manage their part-timers and their respective working schedules. PTMan allows managers to easily schedule work shifts and keep track of their employees’ information. It also allows the part-timers to have the flexibility of choosing their own working schedules by applying for the available shifts. The primary mode of interaction with PTMan is via keyboard commands, so if you are a proficient typist, then you will feel right at home using PTMan!
Role
I played the role of a developer and the UI/UX designer. My main responsibility of the development code was the UI Component.
Design Principles
- Ease of Use: We are trying to solve a pain point of managers, and hence we should improve their experience as much as we can. Also, the part-time employees who use the application would not typically spend much time on it other than choosing their desired work shifts, it should be made as simple as possible for them.
- Low Entry Barrier: Since the app uses a CLI (by project requirements), which typically have a steeper learning curve, we would want to reduce this entry barrier as much as we can with its GUI.
- Aesthetic and Minimal Design: The app will be a one page desktop application and information should be organised such that important information are easily seen and not concealed. A cluttered layout should be avoided.
- Help and Documentation: Users should be able to easily access the User Guide. This is especially important since this is a CLI application and users may not remember all commands that they require.
Design Iterations
Brainstorming and Lo-fi Prototype
My team and I had various meetings to decide on the functionality of layout of the application. Below are some of the initial sketches during our brainstorming sessions.
After more discussions and asking for feedback from our peers and our tutor, we decided to go with this overall layout.
Mid/Hi-fi Prototype
For the Mid/Hi-fi prototype, the first iteration was mainly the coloured version of the final Lo-fi Prototype with more muted tones of turquoise being used. After getting feedback from the teammates and from peers, we agreed to use a more vibrant tone of turquoise, and to give more space to the Employee List, resulting in the design for Iteration 2. From Iteration 2 to 3, we mainly made the names and selection in Employee List clearer.
We were all agreeable with the final design, and went ahead to development stage and reproduced the design, with the timetable implemented.
Reflection
In retrospect, I am pretty satisfied with the design of the application. However it would have been great if we actually had the chance to do user testing to validate the design and layout of the application. I also wished I had known how to use more efficient prototyping tools back then, as it would have helped us visualise the app and its interactions better.
Tools Utilised: Pencil & Paper, Keynote, Photoshop, JavaFX, Java
Do let me know your thoughts and thank you for reading!