Langsung ke konten utama

How To Get an Idea For an App



There are two common problems in software development, lack of knowledge and lack of ideas.

For today's post let's consider the second one.

Lack Of Ideas

Suppose you have, decent skill in software development, so what other you need to start developing software? Right, the Idea (and IDE of course). 

So where do you find them? This question is often the main struggle for many software developers.

Common Pattern

Look at apps on your smartphone. What is common between all of them?

Yes, they are all some way useful, not productive, though, but useful.

An app should be useful

It's surprising how many devs don't understand that.

Every app is useful in its own way. Some app lets you manage your personal finances, some helps you with time management, there are a bunch of apps that let you stay connected with friend and family (e-mail/messenger apps), and some of them help you avoid boredom (I still have Flappy Bird installed for the emergency case).

So most of the apps (not only mobile) out there solve some problem. So if you are a programmer you already familiar with problem-solving, but what about problem-finding?

Problem-Finding

Basically, you need to find someone's pain to relieve it. You should be like psychotherapist when you're in search of an idea.

Many developers try to solve their own problems and make similar apps one after another. Think of it, how many software developers out there that have same problems as you? Let me help you, MILLIONS. We all have common problems in living and likely some of us already came up with a solution. So please, don't make another to-do list.


But what the other thing you can do, you can ask. The answer to this question can freak you out, especially if you're introvert (like me).

Just go out and make friends!

Yes, it's that easy, but not for a software developer. Actually, it's kinda struggling for computer worms like us. But you know what? When you get use to it you'll even like it! Yes, you definitely will, because homo sapience is a social species, so it's in your nature.

Every person you meet will be some way unique and will have interests that differ from yours and problems that differ from yours. So that's your source of ideas  - people.

Actually, it's even better to find some group of people with same interests because to solve a problem you need an accurate description of it. You can't really come up with a solution if someone just telling you that one's feeling discomfort. You need to know what is the root of evil. So the more people you know with the same problem, the more information you can gather about it.

This is kind of groups I'm talking about:
  • Photographers
  • Artists
  • Poets
  • Musicians
  • Language groups
  • Any kind of professionals (even software devs, but only if you'll seek for a problem that isn't solved yet)
This list can be really long, but I think you've got the idea.

So when you have some group of people you should find out what causing pain to them and how do they fighting with this pain to provide yourself with some ready solutions that you can just automate.

And start to solve their problems, because this is what programmers do. But before starting development process find out if someone else already solved it and how maybe you have the better approach.

PulsePoint is a great example of this kind of apps. It solves the problem of people who are suffering cardiac arrests and can actually save a life, isn't it useful?

How To Win Friends

There is a plenty of content on this topic: books, podcasts, YouTube videos, blog posts. So I think it's better to give you a reference to best of them than trying to fit everything in one blog post section.

  • How to Win Friends and Influence People by Dale Carnegie - one of the best books on the topic, I encourage you to read it several times.
  • The 7 Habits of Highly Effective People: Restoring the Character Ethic by Stephen R. Covey -  this one will give you another point of view on your live and people you meet.
  • Simple Programmer Blog - blog providing soft skills especially for software developers, founded by John Sonmez, this guy is the reason why I started to blog.
  • Also, check out his book Soft Skills: The software developer's life manual you'll find a huge amount of useful information in this book (even if you are not a software developer).

Finally

This is not the only way to find an idea and not the easy one, though, because people will not tell you ready-to-develop idea, in most cases they even don't know what they want and your job is to find it out. But eventually, it's a fun process and you'll meet many great and interesting people.

See you next week, peace!

P.S. I personally think that if you're just starting out idea does not matter, just try to implement something that can be barely useful. With that approach, you find your feet rapidly.



Komentar

Postingan populer dari blog ini

FlatBuffers Android Tutorial

FlatBuffers is an efficient cross platform serialization library for C++, Java, C#, Go, Python and JavaScript. It was originally created at Google for game development and other performance-critical applications. FlatBuffers is Open Source (Apache license V2) and available on GitHub . It's currently used by:   Cocos2d-x , the open source mobile game engine and used to serialize the game data. Facebook uses it for client-server communication in the Android app (see the article) . Fun Propulsion Labs at Google in most of libraries and games. Solution overview  The schema will be defind in JSON format, then it will be converted to FlatBuffer format outside the application The Java classes of the Data model will be generated manually using flatc (FlatBuffer compiler) Step 1: Build FlatBuffers Download the source code in Google’s flatbuffers repository .  The build process is described on Google's documentation FlatBuffers Building .  On MacOS for example: Open the xcode proje

QR-Code Generator - Library

In this Post, I introduce my new Gradle Library. This Library is used to Generate QR Code Automatically for our specified input. How to Import the Library: Gradle: compile 'androidmads.library.qrgenearator:QRGenearator:1.0.0' Permission: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> How to use this Library: After importing this library, use the following lines to use this library. The following lines are used to generated the QR Code // Initializing the QR Encoder with your value to be encoded, type you required and Dimension QRGEncoder qrgEncoder = new QRGEncoder(inputValue, null, QRGContents.Type.TEXT, smallerDimension); try { // Getting QR-Code as Bitmap bitmap = qrgEncoder.encodeAsBitmap(); // Setting Bitmap to ImageView qrImage.setImageBitmap(bitmap); } catch (WriterException e) { Log.v(TAG, e.toString()); } Save QR Code as Image // Save with location, value, bitmap returned and type of Image(JPG/PNG). QRGSaver.save(s

Download file using Okio in Android

Okio is a library that complements java.io and java.nio to make it much easier to access, store, and process your data. Simply Okio is a modern I/O API for Java.  In this post, we will see how to download image or any file using Okio. Okio is component for OkHttp Coding Part Create a new project in Android Studio. Add following dependencies to your  app-level  build.gradle  file. compile 'com.squareup.okhttp3:okhttp:3.6.0' Don't forget to add the following permission in your AndroidManifest.xml <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> Implementation Paste the following code in your Activity and Here, I have kept as MainActivity.java public void downloadImg(View view) { try { Request request = new Request.Builder() .url(imageLink) .build(); new OkHttpClient().newCall(request).enqueue(new Callback() { @Override public void onFail