A software recommendation question has two essential components: a goal to accomplish, and a set of requirements. The goal establishes the setting and explains in broad terms what you want to do with that software. The requirements put specific constraints that the software must satisfy. Think of your task as a picture puzzle. The goal is an overall description of what the picture represents, in brush strokes. The requirements define the exact shape of the missing piece that you're asking about. ### Define your goal Describe the task that you want to accomplish. Explain your goal, putting it in context. Part of a good recommendation is to work out the best tool for the job — so tell us what the job is. This part can include a [user story](http://en.wikipedia.org/wiki/User_story): “As a <role>, I want <goal>” or “I am a… I want to…” or “As <who> <when> <where>, I <what> because <why>”. Then explain the role of the software you're asking about in this task. Don't use words like “best” or “good”. We aren't going to recommend bad software. Explain what the software has to be good at. It's not about what's best in the absolute, but what's best for a specific task or purpose. If you're looking for alternatives to software that you're already using, don't describe your goal as “alternative to X”. There is often no exact equivalent to X, so tell us what you use X for. See https://softwarerecs.meta.stackexchange.com/questions/48/how-to-ask-for-an-alternative-to-some-software for more tips. ### Define your requirements There are a number of must-haves — a number of features that are required for the task. Tell us what must absolutely be there, so as to avoid answers that will be useless for you. These requirements need to be absolute and objective: either it's there or it isn't there. Almost all questions need a platform requirement: are you going to run this software on a PC or a smartphone? Under which operating system? Is a webapp ok or does it have to work offline? After the must-haves come the nice-to-haves. What features would you ideally like to see? These can be rated: requirement #4 is strongly preferred, requirement #5 would be a nice plus. These can be gradual in a the-more-the-better way (or the-less-the-better) but beware of adjectives which lack a frame of reference such as “lightweight” or “low-cost”. ### Show what you know Did you search for suitable software? What did you find? If you find a single program that seems to match, that's probably the obvious solution. Also, look at software that's bundled with your operating system. Try it out! Sometimes the obvious solution is the best one. If you're unsatisfied with what you found, say why: “I tried X and it didn't meet <requirement #5>”. If you found a lot of seemingly-matching programs, it's a sign that your requirements may be too broad — try to refine them. If you found nothing, we're here to help (but then consider relaxing your requirements if they indeed cannot all be met). ### Write a to-the-point title The title should summarize your goal in a few words and mention the most important requirements. See [How do I write a good title?](https://meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title) for tips on writing good titles. ### Tag your question At least one tag should correspond to the category of software you're looking for or the category of task that you want to perform, something like [tag:video-editing] or [tag:document-indexing]. Look at other existing tags. Be sure to check their description (tag wiki) to make sure you understand what the tag is for. If you're looking for software to run on a specific platform, use the corresponding tag, e.g. [tag:android] or [tag:windows]. ### Yes, I've read these guidelines If you have a question that meets these guidelines, welcome! [Follow this link to ask your question](https://softwarerecs.stackexchange.com/questions/ask).