PhpStorm and YouTrack: We Want Your Feedback
It’s been 10 years since PhpStorm first came out. Back in 2009, it had the working name ‘WebIDE’, which incidentally is why our tickets in YouTrack have the prefix WI-.
PhpStorm has grown tremendously and added many features and subsystems. Still, our team is small and close-knit. Our developers, QAs, and support engineers work together to deliver the PHP IDE to help you craft the best software. But the biggest part of our team is you – our community. Without your feedback, the product would have never become what it is today!
In this post, I’d like to tell you a little about how we manage feature requests and bug reports, and how to submit your feedback so that it will make an impact faster.
How to send us feedback
First of all, let’s see what channels are available for sending us feedback, be it bug reports, feature ideas, requests for help, and so forth.
Right in PhpStorm, just like in any other JetBrains IDE, you have the Help menu:
Under this menu, there are three options:
Contact Support… – this one will open a page with a form to submit a support request. If you don’t know how to do something, and an Internet search has not been helpful, use this option. Another use case is if you notice your system behaving strangely and you’re not sure if it’s a bug. Basically, for anything strange that you struggle with and need a hand, Contact Support.
Submit a Bug Report… – this lets you file a ticket in our issue tracker called YouTrack. Use it for both bug reports and feature requests. We’ll discuss it in detail below.
Submit Feedback… – want to praise us or blame us? Use this one, and be sure to add some details.
Now let’s go deeper into getting around YouTrack and look at some dos and don’ts. I will also clarify some confusing things and dispel stereotypes and common misconceptions.
Submitting a ticket
When creating a new issue in YouTrack, the more information you provide, the better.
- Follow the template you’ll see in the description area.
- Add helpful screenshots or videos to describe the bug you’ve encountered.
- Provide the version of PhpStorm and your OS, as well as any additional information like the version of PHP, framework, library, or anything that may be relevant to the issue.
- Please always add a text version of the code in a comment. Our support engineers will be grateful!
Tip: Instead of gathering information manually, you can just use Help | Collect Troubleshooting Information and Help | Compress Logs and Show in ….
Anyway, it’s always better to report an issue than not to. Don’t worry if it’s not perfectly described, we’ll help you!
What do the different issue states mean?
- Submitted – This is the first issue state you’ll see after creating a new issue. Soon enough, one of our QA or support engineers will go through and validate the ticket. They will check if it has all the needed information, whether other similar issues have already been reported, and if it might be part of an existing issue (see duplicates).
- Open – This means we’ve acknowledged the issue, in other words, it’s reproducible, clear, has enough information, and in line with our product vision.
- To be discussed – We’re not so sure about the request and would like to hear other opinions from the community. In this case, you can try to gather and provide some examples from well-known open-source projects or describe real-life workflows.
- Declined – This one may sound mean and might make you feel disappointed. But a declined issue doesn’t mean that you’ve wasted your time. This is not necessarily the end of the issue: even if it’s been Declined at one point, it may still become Open and even Fixed later. Declined only means that right now we’re considering the request to be out of scope of our development activities.
- Wait for reply – Our team members will set this status when more details are required from you. It could be additional logs, version information, steps, screenshots, and so on. This status is set manually, so there can be a delay between your answer and the status change.
- In Progress – A developer is already working on the issue. Keep calm and code on :)
- Backlog – This status means that the request is useful but it’s either impossible to process right now or we don’t see enough value in it. We will most likely reconsider it later. Still, if you have some new information to add, don’t hesitate to comment.
Sometimes you’ll see that a ticket you’ve reported was closed as a duplicate. In fact, approximately 60%-70% of submitted tickets are duplicates. Does this mean that submitting duplicate is a bad thing? Absolutely NOT! Every submitted ticket is important and valuable. Your specific example may describe an additional edge case, or it may narrow down the scope and help us fix the bug. In addition, when the original issue is fixed, a QA engineer will go through all duplicates to make sure that they are fixed as well. If not, your duplicate will be converted to a separate request. In short, any additional information can be helpful!
When you create a new issue, keep an eye on Similar Issues – one of them may have your very issue, already reported.
If you find an existing ticket that describes your problem exactly, it’s a good idea to comment on it. This will let us know that it’s still relevant for you. Try to leave meaningful comments (preferably a code sample or steps to reproduce the issue) and if possible provide the details of your use case.
Tip: Instead of commenting with “+1”, it is better to vote for the issue.
There’s one situation that deserves a special mention. If you’re facing a performance problem, please always create a separate issue. The reason is simple: without knowing the PhpStorm internals and access to profiler snapshots, you can never really know if your performance issue is a duplicate of someone else’s.
“Liking” an issue does two things: first, you help us prioritize it, and second, you subscribe to updates about the issue. Whenever there is any activity around the issue or its status changes, you’ll get an email notification.
When deciding what features to implement next, we consider multiple factors such as user votes, our internal research results, and the complexity-to-value ratio, among others. Please be aware that this decision may also be affected by potential API limitations or libraries that prevent a certain feature from being implemented. But at any rate, highly voted issues are never forgotten and are always on our short list!
Every ticket in YouTrack has a number of fields. Some of them are pretty self-explanatory, but a few others often cause confusion. In general, you don’t have to set any fields – we’ll do this for you based on our ticket-handling process.
- Affected versions – this field represents the first version in which the issue was introduced, or at least was noticed. We don’t list all the affected versions here, as it could bloat the field and make it unreadable.
- PS Public build – this field is for internal purposes and shows the exact build number with the fix. This build may not be public. Also, build numbers increase steadily. What that means for you: if the build you are looking into has a greater number than the PS Public build, then you’ll know it also contains the fix.
- Fix versions – this is a set of versions that received the fix. It can contain multiple values, as we add important bug-fixes to previous versions along with the latest one. For example, the current PhpStorm version is 2019.1.2, and the previous one is 2018.3.6. We may release 2018.3.7 and 2019.1.3 with some fix, and the ticket for the bug will have both 2018.3.7 and 2019.1.3 in the ‘Fix versions’ field.
- Tags – you should not be adding tags yourself, as these tags are to indicate different internal subsystems. Tags do not affect the priority.
- Project – there are bigger subsystems bundled into PhpStorm that are developed by other JetBrains teams. If an issue you’ve reported belongs to one such subsystem, we may move your ticket to other projects, and the ticket ID prefix will change accordingly to IDEA-, WEB-, etc. No worries, it still complies with all the information above!
That’s all for today. Do contact us in whatever way works for you. We’ll do our best to help you! If there’s anything else you would like to know – just ask!
Your JetBrains PhpStorm Team
The Drive to Develop