We love feature requests, but please understand that feature requests are by nature something that may or may not get done. You can help get your feature request implemented by following some of these basic tips.
Help us in understanding the problem you need to solve…rather than the specific solution you’re looking for.
This is THE most important thing to consider when submitting a feature request. We provide the best possible solutions only when we deeply understand the problem our customers face. We are more likely to act on a feature request when we understand WHY it’s needed.
In your next feature request, first, describe WHY you would like the change. Going into detail about the exact solution you want can happen later.
For example, a common feature request we see is to update a piece of software we ship within the product. A feature request reading “Update to the most recent release of this thing” might convey what you’re looking for, but it leaves out why you need it. If the most recent public release of that thing solves a problem, let us know. Many other users and customers may be facing the same problem.
Submit only one idea per feature request
By keeping your submission focused on just one idea, you help others stay focused and collaborate.
A good way to know if you are including more than one idea in a submission is to ask the question “Am I solving more than one problem?”. If the answer is yes, consider separating your ideas into more than one submission.
Describe your use case
A good feature request describes the context in which the feature will be used. It's easy to forget to write about context because you already know it so well that it seems obvious! Just like any tool, though, the best improvements are made with a deep understanding of how it's used.
Add support for tags for Alibaba.
When provisioning virtual machines in Alibaba I want to be able to influence tags on the virtual machine during provisioning using Alibaba in a similar fashion to how AWS currently works in the product as of 9.5.4.
Describe the problem and potentially propose a solution
Most feature requests only describe solutions -- that is, a specific product improvement.
A feature request needs to instead describe the problem you are facing, and only then propose a potential solution to that problem. You might find that the product team (or another Cloudbolt user) proposes a different solution you hadn't thought of.
Solution Only ( not good )
Make it so scrolling with the mouse wheel is twice as fast when I hold down Ctrl.
Problem Only ( better )
I often add code to the bottom of the file, then scroll to the top to update a revision date. That takes a long time because my files are sometimes thousands of lines long. I'd like to be able to scroll faster.
Problem and Solution ( better )
I often add code to the bottom of the file, then scroll to the top to update a revision date. That takes a long time because my files are sometimes thousands of lines long. I'd like to be able to scroll faster, and in my second favorite program I can do that by holding down Ctrl while I scroll.
Link to examples and research
Is there already software that has the behavior you're interested in? What is it, and how does it work?
Can you give a concrete example of how you'd use the feature? A relevant code sample?
What other ways did you try to solve your problem?
Are there any relevant existing standards or conventions?
Can you draw a picture of what you're imagining?
Can you take a screenshot and annotate or make a mock of how it would look?
Are you able to draw a flow chart of the process you are thinking about?
You get the idea!
A feature request without examples and research is as useful as an underwater flame thrower….
State the title simply and succinctly
There's no need to decorate the title of your issue with words like Enhancement or Request. Use your feature request's title to state it as simply and clearly as possible, with ordinary casing. This will help other people find it when they're looking to contribute.
[ENHANCEMENT] Change the XYZ button color to be black.
Color blind users can not easily read the XYZ button.
Feature request example
Title: Add support for custom color schemes.
I'm a color-blind user of Cloudbolt. I have a hard time seeing the difference between some colors, one example is the XYZ button. There are other areas in the product that changing the default colors could make it easier to use the product, such as the code editors where the color for variables and the color for functions in almost all the color schemes that Cloudbolt uses. This makes it more difficult to write code in the code editor windows.
I would like to be able to set an overall theme for my user profile that would override the defaults so I and other users ( over 8% of men and 0.5% of women are colorblind according to https://www.clintoneye.com/color-blindness.html) would be able to make the experience better. Also please understand that I am red/green color blind, but there are other types of colorblindness and just changing the color to solve my issue, may affect other users that are more blue-yellow color blind, which is the primary reason I am advocating making it user specific and definable. Ideally the product would ship with a few colorblind friendly theme that could easily be selected.
I've already developed a number of color-blind friendly editor themes in the TextMade .tmtheme format (link to spec). You can see my color schemes here:
Theme 1 (link)
Theme 2 (link)
Theme 3 (link)
However, I can't use these in Cloudbolt since it doesn't offer a way to use custom colorschemes. It'd be great to be able to use these .tmtheme color themes or something similar. I am willing to help assist in development of colorblind themes for the product if it was available.
As an example, I really like the way my favorite online editor Mark's Editor, handles these: I can upload a .tmtheme file into the setting and then it shows up as a option that a user can select in their settings, and it changes the entire color scheme for the product including all of the editors.
Thanks for a great product!
Notice how this feature request:
Is simple and to the point
Describes the problem being solved
Proposes a specific solution
Gives context around how and why the solution will be used
Links to relevant examples of context and existing work