Adding in specs from GH and from MIke's repo

This commit is contained in:
Clint Rutkas 2019-11-11 13:57:46 -08:00
parent d876c267d6
commit 3fc06e6f4f
9 changed files with 278 additions and 2 deletions

View File

@ -64,8 +64,8 @@ Chris Davis contributed his [SmartRename tool](https://github.com/chrdavis/Smart
### Additional utilities in the pipeline are
* Maximize to new desktop widget - The MTND widget shows a pop-up button when a user hovers over the maximize / restore button on any window. Clicking it creates a new desktop, sends the app to that desktop and maximizes the app on the new desktop.
* [Process terminate tool](https://github.com/indierawk2k2/PowerToys-1/blob/master/specs/Terminate%20Spec.md)
* [Animated gif screen recorder](https://github.com/indierawk2k2/PowerToys-1/blob/master/specs/GIF%20Maker%20Spec.md)
* [Process terminate tool](doc/specs/Terminate%20Spec.md)
* [Animated gif screen recorder](doc/specs/Gif%20Maker.md)
### Backlog

108
doc/specs/Gif-Maker.md Normal file
View File

@ -0,0 +1,108 @@
# GIF Maker Spec
![Terminate](../images/Logo.jpg "Power Toys")
- **What is it:** Users can record their screen and turn the recording into a GIF.
- **Authors:** Benjamin Leverette and Prudence Phillips
- **Spec Status:** Draft
## 1. Overview
### 1.1. Elevator Pitch / Narrative
David loves using GIFs to add creativity ti his typical responses to messages. His friend Amanda emails him and asks what he would like to eat for lunch today. David recently watched a burrito video, so he uses the GIF maker to screen record a brief moment from the video in order to tell Amanda that its "Burrito Day."
### 1.2. Customers
Like all utilities from PowerToys, the GIF Maker feature is for power users and developers who are looking to tune and streamline their Windows experience for greater productivity.
### 1.3. Problem Statement and Supporting Customer Insights
Power users need a way to better record their screens and use the recordings to create GIFs. A teammate held a personal interactions with the community that validate the usefulness of a feature that provides such functionality.
### 1.4. Existing Solutions or Expectations
Users currently must use the game bar in order to record the screen, and there is no way to turn recordins into GIFs. There are third-party resources that allow users to create GIFs online after uploading images and videos.
### 1.5. Goals/Non-Goals
Design and develop a feature that can record screens and turn them into GIFs within an 8 week period.
## 2. Definition of Success
### 2.1. Expected Impact: Customer, and Technology Outcomes, Experiments + Measures
This feature will give users the ability to screen record and create GIFs effectively and add a new dimension to using GIFs on Windows. Measures of success include:
- A score of an average of 3.75 stars on a new Consumer Design Satisfaction Survey
- 5% increase in number of stars on the Github repo within first month of release
- Installed by 10% of users who have starred the PowerToys Github
- Uninstalled by less than 30% of users who installed
- Launched by over 60% of users who installed
## 3. Requirements
### 3.1. Functional Requirements
#### 3.1.1. Initial UX/UI
Users may or may not have any open windows on their screen. They can access this utility the same way you would access the Snip & Sketch tool on Windows or using an assigned keyboard shortcut. After the tool has been accessed by the user they can:
- Start a new screen recording
- The tool will record the user's entire screen
- Video can be saved in multiple formats (.GIF, .MP4, .HEIC, .M4A, etc...)
- Edit an already existing video into a GIF
- Keyboard Shortcut Suggestions:
- Ctrl + Alt + R
- Ctrl + Alt + G
![GIF Maker UI](images/GIF%20Maker%20Spec.png "GIF Maker UI")
#### 3.1.2. File Button Features
Upon opening the GIF Maker utility, users must click 'New' to begin. They will have two options: 'Record' and 'Open'.
- Record
- Choosing this option closes the GIF Maker window and displays a record button.
- When they click the record button, it starts a brief countdown. Once the countdown concludes, it records the user's entire screen.
- User clicks the stop button to end the recording
- Open
- If the user clicks 'Open', the mini File Explorer window opens for the user to select a video.
- Once a video is selected, it appears in the GIF Maker, below the tool bar, for the user to edit.
- Saving
- Recorded videos can be saved in multiple video formats
- Users can further edit their videos and save them as GIFs
#### 3.1.3. GIF Editing Tools
- Add Text
- Users can add text to their videos
- Default Windows fonts will be available
- Crop Video
- Users can crop their videos manually or use the default cropping options. The default options will include:
- 1:1
- 4:3
- 3:2
- 16:9
- Users can also leave their video in their original dimensions
- Trim Video
- Users can trim the length of their videos
- Users can make GIFs with a minimum time of 0.05 seconds and a maximum time of 6.00 seconds
#### 3.1.4. Settings
The PowerToys app will have a settings framework for the GIF Maker utility to plug into. The settings framework has a UI frame that creates a page for the utility. Its settings will be represented as a json blob with the following features:
### 3.2. Enable/Disable
- The user can select to enable or disable the GIF Maker utility's functionality, which initializes or suspends its resource use.
### 3.3. Custom Configuration
- Similar to the functionality of a switch or radio button, the user will be able to select options for the countdown: 0, 5, or 10 secs.
## 4. Dependencies
- Explore Internship Program limits us to an 8-week window to complete the task.
- Availability of public API's

60
doc/specs/PowerRename.md Normal file
View File

@ -0,0 +1,60 @@
# PowerRename File Classification Spec
![Power Rename](../images/Logo.jpg "Power Toys")
- **What is it:** Users can quickly rename and group files.
- **Authors:** Benjamin Leverette and Prudence Phillips
- **Spec Status:** Draft
## 1. Overview
### 1.1. Elevator Pitch / Narrative
David has recently uploaded thousands of pictures from his camera to his Surface Laptop. Unfortunately, the images all have generic names such as 'IMG_141' instead of labels that he can identify. David downloads the File Classification PowerToy that allows him to create new folders with files that share a label, rename a group of files with a label, or change the name or portion of a name in a group of files to another name.
### 1.2. Customers
Like all utilities from PowerToys, the File Classification feature is for power users and developers who are looking to tune and streamline their Windows experience for greater productivity.
### 1.3. Problem Statement and Supporting Customer Insights
Power users need a better way to organize files, from renaming files to creating new folders for similar files. Our PowerToys Consumer Survey received feedback validating the usefulness of a feature that provides such functionality.
### 1.4. Existing Solutions or Expectations
Users currently have to highlight a group of files and right click to rename them. Users must manually create a folder, move files to that folder, and rename them. There are third-party resources that allow users to rename files similarly.
We expect users to install and enable PowerToys for Windows in order to access the File Classification utility.
### 1.5. Goals/Non-Goals
Design and develop a feature that can rename and group files within an 8 week period.
## 2. Definition of Success
### 2.1. Expected Impact: Customer, and Technology Outcomes, Experiments + Measures
Our PowerToys Consumer Survey received an abundant amount of participation and feedback from a community of passionate power users. This feature will give them the ability to rename, group and organize files in a way that makes their virtual library of files more organized and efficient. As interns, we would have 8 weeks to complete the project.
## 3. Requirements
### 3.1. Functional Requirements
- Users must select a group of files by checking each file or using Shift + directional keys. They must then use a shortcut to open the File Classification utility, which provides three options:
- Automates folder creation and movement of user-selected files after receiving a label determined by the user.
- Renames all user-selected files after receiving a label determined by the user.
- Identifies a string of characters in the names of user-selected files and changes it to a string determined by the user.
- Labels are used to rename files by completely overwriting the files' current names with the custom 'Label' typed by the user and each file receives a counting number.
- Shortcut should take accessibility into account.
- Perhaps Windows key + C?
![Rename](images/File%20Classification%20Design%20Blurred.png "Rename")
### 3.2. Measure Requirements
- Survey what power users want out of the File Classification feature through forms and Github.
## 4. Dependencies
- Explore Internship Program limits us to an 8-week window to complete the task.
- Availability of public API's

View File

@ -0,0 +1,89 @@
# **Terminate Program Spec**
![Terminate](../images/Logo.jpg "Power Toys")
- **What is it:** Shortcut for users to quickly terminate a running program
- **Authors:** Benjamin Leverette and Prudence Phillips
- **Spec Status:** Draft
## 1. Overview
### 1.1. Elevator Pitch / Narrative
Mike is debugging his code in Visual Studio and the program freezes with the "App not responding" text displaying on the title bar, informing him that he cannot continue his work without closing the program and restarting it. Mike has tried to close the program using the close button and end task via the task manager, but none of these mechanisms work in helping him terminate the process so he can proceed with his work. With this PowerToy installed, Mike now has a visual and accessible last-resort method to help him kill the process.
### 1.2. Customers
PowerToys is mainly targeted towards Windows Power Users though it is available to users who want to experience using windows in a more efficient and productive way.
### 1.3. Problem Statement and Supporting Customer Insights
Windows users need an accessible mechanism to completely kill a process when it is being unresponsive and hindering work flow. The team is still required to find solutions for:
- A public name for this PowerToy.
- The degree to which the process will be terminated.
### 1.4. Existing Solutions or Expectations
The current methods a user can close a running program in Windows include:
- Clicking on the close button in the program
- Closing the program via task manager
- Using the keyboard shortcut Alt + F4 to close the program
### 1.5. Goals/Non-Goals
- Develop this PowerToy and have sufficient time for testing and integration within our assigned 8 weeks for the project.
- Meet customers expectation with end result of project.
## 2. Definition of Success
### 2.1. Expected Impact: Customer, and Technology Outcomes, Experiments + Measures
The PowerToys repo currently has 200+ people watching, over 4000 stars and 109 forks on github despite having an empty repo. Also, this particular PowerToy received a rating of 3.44/5 in the survey we sent out to the community asking them to rate how useful they think it will be. after the release of this PowerToy, the following will be used to measure our success rate:
- At least a 5% increase in Github stars within a month of release
- A 3.75/5 rating on a post-completion Consumer Satisfaction Survey on this PowerToy.
- 100 downloads & installs within the first month of release.
- Less than 40% of unistalls by users who install this PowerToy
## 3. Requirements
### 3.1. Functional Requirements
To use this PowerToy, a user will:
- Press the chosen keyboard shortcut. This will display the 'Terminate' window.
- Click the left mouse button anywhere in the Terminate Window and drag the cursor to whatever other window they wish to kill.
- Note: users can configure in their options to disable the yes/no prompt and just terminate apps instantly.
- Release the left mouse button over the new app to kill it.
- Once they are done with the utility, user closes the terminate window to exit.
![Terminate](images/Terminate%20Blurred.png "Terminate")
- Keyboard shortcut
- Alt + Shift + X
3.1.1 Settings
The PowerToys app will have a settings framework for the Terminate utility to plug into. The settings framework has a UI frame that creates a page for the utility. Its settings will be represented as a json blob with the following features:
- Enable/Disable
- The user can select to enable or disable the Terminate utility's functionality, which initializes or suspends its resource use.
- Custom Configuration
- Similar to the functionality of a switch or radio button, the user will be able to select options for the appearance of the mouse cursor.
### 3.2 Public Name
The initially proposed name for this app is Terminate App. However, there are multiple other alternative names that we are also considering:
- Destroy App
- Knockdown Program
- Dismantle App
## 4. Dependencies
- The 8 week time limit of the explore internship
- Availability of public APIs, since we intend to make this project open source.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 KiB

19
doc/specs/specs.md Normal file
View File

@ -0,0 +1,19 @@
# Specs
This folder is where specs for PowerToys will be stored.
## Planning
- [Terminate](Terminate%20Spec.md)
- [GIF Maker](Gif-Maker.md)
## System knowledge
- [PowerToys Settings](PowerToys-fancyzones.md)
- [PowerToys shared hooks](Shared-hooks.md)
## Done
- [FancyZones](PowerToys-fancyzones.md)
- [PowerRename](PowerRename.md)
- Windows key shortcut guide