25: "What Should I Build?" - 5 Tips for Better Idea Generation
In this episode, I answer a question I've received from many listeners: How do I come up with an idea for something to build?
This question is somewhat complex, but we'll cover 5 basic tips for idea generation.
Transcript (Generated by OpenAI Whisper)
Hey everyone and welcome to Developer Tea my name is Jonathan Cutrell and today I'm going to be talking to you about how to come up with ideas. Whether you're just now learning to program and you want a first project to learn by building or maybe you're well into your career and you want a side project maybe a hobby project. Idea generation is going to be essential for you because without a good idea you're going to get bored and without a good idea. It's going to feel like you're just building something that you aren't going to use and nobody else is going to use either. So how do you come up with a good idea? It's kind of difficult because it seems like sometimes all the good ideas are taken. But let me tell you something all the good ideas are not taken and in fact even if your idea is similar to somebody else's idea if you can do it better than them then why not try to do it better than them right. So ideas are a very wide ranging thing when you are trying to come up with an idea don't rule something out if you feel like somebody else has already done it. But I want to give you some more practical tips just beyond encouraging you to do something I've got a list of things that kind of help have helped me to come up with ideas in the past and I want to share that with you. So the first thing is I build things that I have always wanted or that I think would be really fun to build that seems really simple and obvious but sometimes it's not as simple and obvious as that. Sometimes I have to write something down when I realize that I wanted for instance I have a raspberry pie at my house and over the last couple days I've set up a music server. That music server is always connected to the large stereo system where my TV is and it's a pretty big system that fills up the house with sound. Now instead of relying on my Apple TV and streaming from Spotify for my phone I wanted to have a music server that could pull from Spotify directly to the raspberry pie and play over those speakers. So I went to work and I found all of the things that were necessary for that to happen and then I wrote a few scripts and put them on my phone through an app called Python EASDA. I'll include that in the show notes. It's a really cool app that allows you to write Python on your iPhone. But I did all of that because I wanted that thing to exist and it just kind of didn't exist in my house yet. Now it wasn't a novel idea. Other people have certainly done this before but I learned through it and I had the opportunity to write a little bit of code around that particular idea. So those kinds of ideas are certainly good for learning experiences. Little things that you might want around the house like for instance, you could maybe set up a camera that watches your front door and then takes a picture for you and uploads it to the cloud. That's a simple idea of something that you could do that isn't particularly novel. There are certainly other people who are doing that and it's not something that maybe you're going to go into production with or that you're going to offer as like a SaaS or a software as a service kind of thing. But it definitely is an idea that you can learn from. So don't discount those ideas just because you know somebody else has done it or you know in that case because like drop cam exists. You can still do cool things on your own. You can still create things that already exist and make them your own make them customized to what you want. Let's say you're having difficulty determining something that you want to exist and that's pretty common. Sometimes we just kind of get in a rut and everything that we could imagine wanting to exist kind of already does we're pretty happy with the applications that we have in the software that we're using. So how do you build an app when you don't need anything? Well other people need things right and it's very possible for you to build solely for other people. Now most people build with the previous thing in mind it's something that they want or something that they think would be really fun to have. But there are a large number of developers who are building solely for others. And so here are a few ways that you can think about building for others. First learn to detect when there are moments of high emotion. So for instance if somebody gets really frustrated or really excited about something those are moments of high emotion. And if you can create a service to increase that good emotion or to fix the bad emotion then you've done something of value. My dad always told me when I was growing up that humans very often attempt to do one of two things either increase pleasure or decrease pain. And that's true in a lot of ways. We live and breathe and often act in ways that will increase our pleasure and decrease our pain. So if you can find these moments of high emotion watch out for them even if even if you're watching your friends or your family or your coworkers watch for those moments of high emotion you can even watch yourself for those moments of high emotion and respond to them in some way. If something is particularly good then find a way to capitalize on that is something is making you frustrated or making you sad then find a way to reverse those things and that is going to be a valuable idea. The next way to look at ideas for others is to try to find highly dense clusters of things that you might be able to simplify. So what does this mean? Well imagine that for instance every app on your iPhone was its own piece of technology. You have a phone plus a calculator plus a TV and all of those things are now a part of your iPhone or your smart device whatever. Previously though they were spread out and if you were to put them all in one place that would be a kind of a large cluster. So you can watch out for these throughout your house places where there is a large amount of information that could be consolidated into a smaller thing. The computer is actually a perfect example of this in general so a computer that was that filled up the size of a room now fits in your pocket you know this computers have become significantly smaller. So if you think about ways of simplifying and minimizing that is going to be a valuable idea as well. A third trick I like to use for idea generation is to substitute X for Y. Now what do I mean by that? Well there are a bunch of existing applications and software suites etc that are doing something really well in a particular domain. So for instance Airbnb is tackling staying overnight and doing it on like a peer to peer level right so peer to peer peer to peer kind of network for hotels. So what if you replaced the hotel part and put in I don't know maybe dogs right so Airbnb for your pet well that probably exists I actually haven't looked for it but I get I bet you that if you were to Google Airbnb for your pet in fact I'm going to do it right now dog vacay.com is the first thing that comes up this kind of concept is is applicable. X for Y so Uber for pizza that exists actually to where you can call a person that is just kind of delivering pizza out and they'll do it instead of the pizza place delivering it to you there's just another person that will deliver your pizza to you. This type of idea generation is basically just combination right it's multiplying one idea with a new idea and suddenly you have a fundamentally new idea in using the success of a previous idea to kind of apply that success into a new space and this is done all the time especially in the software world. Okay so my final tip for you today is to not come up with an idea at all obviously you need an idea so where do you get it from if you aren't going to come up with it go and search on a place like Twitter or maybe just forums and look for what other people need look for what they are trying to find go on Twitter and search the quote is there a way to or is there an app that these very simple search for you. So what I'm going to do is I'm going to go and search for a new idea that you can get your brain moving right it'll get some ideas flowing and maybe maybe even take a direct idea that somebody has had and just build it out now this particularly valuable if the idea that you are building is relatively simple and it's not going to take a huge investment from you. So that's all the tips that I have for you today but before you go out and start generating ideas and changing the world with your brand new application. Understand that idea generation just like anything else takes practice so don't be afraid of your bad ideas don't be afraid to sit down and write down all of the things that you're thinking sometimes it takes a very bad idea to come up with a good one and in fact sometimes what seems to be a ridiculous idea can be turned into a useful one. This is particularly useful if you think of something that's really funny or if you think of something that is particularly weird and then you just kind of shift it slightly so that it's not just funny but also useful or that it's not just weird but it's also niche right if it's a particular audience really well and therefore it has become very valuable. So don't be afraid of your bad ideas write them down and spend some time with your bad ideas don't throw them away and don't hide them down underneath because those bad ideas need to come out just as much as the good ideas do there have been quite a few studies about this by the way when I was at my when I was at Georgia Tech I was actually went through a product generation class and in that product generation class we actually went through a mathematical proof which I want to do. So I don't bore you with all the details but the mathematical proof said that your chances of success are significantly higher if you iterate over and over and over and over if you have a lot of ideas rather than a few even if those few ideas have a higher chance of being good like if you spend more time on them to try to make them better ideas it is better to have a high volume of ideas than it is to have a low volume of ideas invariably. So coming up with a ton of ideas is definitely the best way to have a good idea the other thing is make sure you're recording these record them in a notebook or record them in an app whatever it is that you use and then revisit them over time so look at maybe three weeks ago you had an idea or five ideas go back and look at it and that kind of self feeding process might inspire you when you're thinking about new ideas. So I want to go back over the tips real quick for you first things first if you have something that you want to build that is very valuable hold on to that that is a great way for idea generation for projects even if you think it's just going to be really fun even if it's silly and that is a great way to learn and it's a great way to build something of value because it's going to be valuable to you and you're not going to get bored doing something that's valuable to yourself. So the next thing that you can do if you don't have a particular idea is to look for places of high emotion if it's sadness or if it's extreme happiness build something around that emotion to either increase the good or decrease the bad then another idea is to look for clusters places around you in your daily life that are particularly dense or bigger than they should be and something that you could build that would possibly reduce that complexity or reduce the density or minimize those particular things. The next idea is X for Y so apply an existing idea to a new domain whether that's Uber for pizza or Airbnb for your pets you fill in the blanks finally don't come up with the idea yourself just look at what other people are wanting this goes back to that original number one you know you want something other people also know that they want something and they are probably vocalizing it whether that's on Twitter or on forums online or even around you your family or co-workers they might be actually vocalizing things that they wish existed that's another way that you can determine an idea for something that you want to build. Thanks so much for listening to Developer Teaif you're enjoying the show or if you have questions or comments you can always email me at firstname.lastname@example.org you can also connect with me on Twitter at at Developer Tea and make sure you check out the show notes at DeveloperTea.com if you're enjoying the show please leave a review and iTunes it's the best way to help other developers just like you find Developer Teauntil next time enjoy your tea.