Many people say that designers, thus service designers too should learn to code. Sure, that could help you when you are creating a new service, and you need to work with a developer. You will have a common language that will help get things done faster. But to get that common language and understanding you aren’t forced to learn to code. What you need to learn is the “If This Then That” (IFTTT) logic. Here under a few fundamental principles to learn instead of learning to code:
Divide everything in simple statements
The problem most people have when they imagine apps is that they don’t divide their app in super simple “If This Then That” statements. To check if something could be easily coded just write down the IFTTT statements. If you have problems finding these statements, it’s that your idea isn’t clear enough. What is usually not clear for you won’t be any clearer for the developer too. If you want to be crazier, you can also include in your IFTTT statements the “if not” or “else” notion. For example: “If the weather is sunny then show a yellow background. If not then show a blue background”.
Simple math rules helps.
You can simplify most programming stuff in simple rules math-based rules. For example: “If the temperature is bigger than 20° then show this message to the user”. You can easily use notions like “bigger/smaller than”, “different/same as”, etc.
Another simple thing that helps imagine new apps or services is the loop system. For example: “Every night at midnight make a backup”.
Define the data source
Another problem that many creators have is what I would call “the third party data problem”. People describe if statements based on data that they get from third party providers. But they don’t have any clue who is this third party. So define from where does the data come. From the user? From your database? From Facebook? From some open data provider? If yes which one?
Based on my experience
I can code simple stuff, but the thing I use when I brief developers for a new website or service is not code but pure logic. I mainly use the IFTTT structure. I can quickly prototype with screens and show that when a user does that, this happens. When things should occur in the backend, and are not visible, I just sketch the logic.