-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Writing Good Feature Requests
Do you have an idea for making Shiny better? We'd love to hear about it! Here are some tips from the Shiny team on writing good feature requests.
Your first job when filing a feature request is to make sure that it isn't already filed. We get feature requests frequently, so there's a reasonable chance that someone else has had the same idea; just search our issue list! Feature requests are marked with the Type: Enhancement
tag. Here are our most popular requests:
If you find that someone else has already filed the feature request, don't just move on! Instead, help us know that you're interested, too:
- Add a thumbs-up to the feature request to vote for it. This helps the request become more visible to the team.
- Optionally add a comment with any insight and background you have that isn't already part of the conversation.
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 an option to click action buttons programmatically.
While I'm developing apps, I've noticed that I'm much more productive when I'm able to programmatically trigger behaviors instead of manually clicking on action buttons after every page reload. Unfortunately, doing this currently means I need to write special code that I have to remember to remove once the app is ready to deploy. If I could trigger buttons programmatically, I wouldn't have to write as much special code.
Most feature requests only describe solutions -- that is, a specific product improvement.
Make your feature request better by describing the problem you are facing, and only then proposing the feature request as one solution to that problem. You might find that the Shiny team (or another user) proposes a different solution you hadn't thought of.
Make it so I can drop
.csv
files on the page.
Users of my application frequently need to upload
.csv
files and waste significant time finding the individualfileInput
in the app each time. If they could the drop files anywhere on the page they would save a lot of time.
- 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?
You get the idea!
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] Icons are missing, need to upgrade FontAwesome to add more icons
Upgrade FontAwesome
There's no better way to get your feature request implemented than to do so yourself. Shiny is primarily written by a core team, but we frequently take pull requests from the community; see our CONTRIBUTING guide for details.
If you find all this daunting, or only have a fuzzy idea of what you're after, you might try posting on the Shiny community forum to collect ideas and feedback from other Shiny users.
Many of the best parts of Shiny started out as ideas from the user community, and we're very grateful for each one. Thanks so much for taking the time to write up a thoughtful feature request.