Hey "Chris L.",
I am Milos, a software professional from Serbia with over 10 years of experience in Software Architecture, Software Development, Programming, and Software Engineering. I have carefully read and understood the requirements for the screen recorder software project.
To fulfill the project requirements, I propose the following solution:
1. Develop the software to run on Windows 2019 server.
2. Utilize the "sharpavi" framework to start screen recording when a user is logged in and has an active session.
3. Implement functionality to automatically stop recording when no user is logged in or has an active session.
4. Design the recording software to run in the background, minimized in the notification area of the taskbar, rather than the taskbar itself.
5. Provide options for users to select a preferred folder for saving recordings and enable automatic uploading to popular cloud storage platforms like OneDrive, Google Drive, or Dropbox.
6. Allow users to customize the duration of screen recordings, ranging from 1 minute to 2 hours. If recordings are shorter, combine them into one video per session. For longer recordings, split them into multiple files for easy review.
7. Include a date and time stamp in the title of combined videos to indicate the start of each user session.
8. Implement measures to prevent admin users from deleting videos. This can be achieved by password protecting the script and the folder where videos are saved, with a strong password that meets specific requirements.
9. Create a secondary user account that can access the same profile in case the primary admin account gets locked out.
10. Ensure that admins have the ability to install other apps and use command line tools like CMD and PowerShell.
11. Display a pop-up message on the screen stating, "This workspace is being monitored and screen recorded for safety and quality assurance purposes."
12. Develop an easily deployable .exe file that automates the setup process on new virtual machines. If necessary, provide a user-friendly interface to input cloud login