Not for problems (a) or (b), but if you want to invent the next generation of IDEs, you have to imagine what functionality would make them a step change better than what exists now.
In the IDE example, a next generation IDE might not allow humans to enter code at all. Instead, it might be a set of tools for a human to manage a fleet of cloud-based LLMs which write the code for you.
A IDE’s purpose was never to let you to write code; it was to let you develop software. It doesn’t matter if it accomplishes that by being a programming language editor or a code LLM manager.
2. Another way to imagine what’s next is to think about where things will be in 25 years. Or, what does the ideal service look like?
In the IDE example, the ideal service might be that I can enter in a description of my problem, the service will ask me a few relevant questions, then it can generate a design I can tweak. Once I approve, it will develop and deploy the software component for me. I can ask it to modify the artifacts at any time using plain English language.
3. A third approach is to see how you can improve a existing technology along some meaningful axis (to the end user) by an order of magnitude.