How do other people change as a result of what you are doing?

Imagine you get the question: “What do you do?”. What would be your first response? It could be “I’m a student”. Now, what if you are asked what your project/organization/company does? One possible answer could be “we organize workshops for children”, etc. For sure, these responses are informative, but they are not that inspiring.

Instead, imagine that we answer something like this: “we enable more children to bring their ideas into the ICT market”. A natural follow up question is “but, how do you do that?”. Here, we can continue describing how we achieve that, for example “we do that by arranging inspirational workshops”.

So, what’s different? Well, in the first answer, we simply state “what we do”, without telling “why we do it”, i.e. the purpose. In the second answer, we also tell how someone changes as a result of what we do. By telling people why we do things, we are conveying a belief – a vision – and so appeal to people’s emotions. And as we know, we make decisions based on emotions, and later rationalize them.

Why bother?

In almost all human endeavors, there is a purpose. For example, a student studies various subjects in order to be able to apply the knowledge in real world problems, and thus make our world a little bit better. To be precise, a future physician could say that the ultimate purpose of their studies is to save human lives (note, we answer the “why”). And, sure enough, it does affect other people in a positive way.

A start up can also be thought of as one body that is constituted of people that share a belief of the future world with their product, i.e. it’s their vision. For example, imagine you’re building an app that will educate people how to act in emergencies. Instead of describing it as I’ve done in the previous sentence, try something like

we want to reduce mortality rate in remote regions (why).

we do that by making the knowledge more available through our mobile app (how, what).

By doing so, you don’t just let people know what you are doing, but you also give them the reason. You have a goal to make the world a better place, and that should go first, since this is your vision – your strategy. Later, you can describe the details of how you are doing this (tactics).

In addition, as pointed out by Simon Sinek, it will also help in the recruiting stage. As research in organisational theory suggests, intrinsic rewards (motivation, relations, etc) are better at motivating people than extrinsic rewards (money, etc) (Herzberg’s Two factor theory). If you want people to unite, you need to set a purpose and a vision, preferably a shared vision (everyone in the team “feels” that they’ve contributed to it).

How?

Before we start building our vision, let’s answer the following questions, as described by Adam Leipzig (see the TED talk).

  1. Who are you?
  2. What you do?
  3. Who do you do it for?
  4. What do those people want and need?
  5. How do they change as a result?

Although this is thought to be applied to a life purpose, it is still very effective when conveying the vision of a start up or an organization.

Now, once we’ve answered these questions, we can combine that with the model presented by Simon Sinek, which basically says that “everything starts with the limbic (the emotional brain) and is processed outwards to the neocortex (the thinking brain)” (What great sales people do, p. 70). That is, we should first answer the Why, then How, and finally What.

If we combine these, we would get the following structure:

Why?

We want to enable [Who you do it for] to [how they change as a result].

How?

We achieve that by [what you do].

What?

This feels like an optional section, but you could describe who you are, giving additional details about the way you achieve the vision.

What next?

Once you have the vision, you should believe it, since this will make you more authentic (eg. using your body language). I would strongly recommend the following links/books if you want to find out more. I was myself inspired by them.

Entrepreneurial Days 2016 + tips talking to business people

Today, I was standing the whole day (ok, not really, from 10:00-14:30) representing SKM (Serial Key Manager)

I think the event was quite fun, and I got to meet many other start ups. There was a broad range of fields, from hardware related projects to advanced algorithms in machine learning and artificial intelligence.

Reflections thusfar

One of the things I’ve learned throughout this year is that whenever you talk to business people, you need to make things really simple (… really really simple). As a computer scientist/engineer, this is hard, since words that are close to my heart might not be well understood by my counterpart. And, when this happens, they will get confused and not select your product. Here are some of my advice to computer scientist (mainly students, since I’m a student too 🙂 ) (note, those marked with SKM are real examples that I tend to use):

  • use metaphors and similes: eg. it’s a toolbox for developers (SKM). or our product is like Facebook but for business people.
  • use examples, but not too technical. if possible, avoid all the technological terms: eg. using this program, advertisement agencies can express their strategy and get a working prototype in minutes. or you can access the information anytime, anywhere on the globe or all programs, such as MS Word and Photoshop, require you to enter a license key. so, a part of the application takes care of that. we develop that part of the application, so that it can be outsourced (SKM).
  • use story telling for use-case examples and breaking the ice: I’m still in the phase of learning its effectiveness, but it does seem to be really powerful if you want to connect with other people and make the point of your story remembered.
  • ask for feedback: most of the ideas above were suggested by business people that I’ve talked to. This is active feedback, and you should listen to it and iterate. When talking to potential customers in real life, I don’t tend to receive this feedback, especially in Sweden where everyone wants to be nice and tell good things only. However, my advice here is to keep in mind that body language reveals most of it. Sometimes, I can see people telling positive things but their body language uses defensive, negative gestures. This is what we call gut feeling. However, substantial research has been done in this area.

Who I Am Story – Version 1

Story telling is fun and effective at making a point. Here’s my first story that was engineered on a Sunday (afternoon), approx 3 hours of work.

At the time I was in secondary school (8th grade), I stumbled upon a problem – software protection. I had a dream of being like the big corporations, and having a professional software licensing system was one of the ingredients. But they were all very expensive, far too expensive for a teenager like me. So, I decided to create a system on my own – I had plenty of time. This felt exciting, and I was very engaged.

So, after several attempts, I managed to construct an open source system, which turned out to be very fortunate. This is where my journey began. However, although a very popular system, it felt really sad that I would no longer be able to make a living out of it. Users pushed me to, they requested new features – and I felt forced to work even harder. SKM was another attempt, although this time it could potentially generate income. But, it all got worse. It was still unprofitable, people around me did not get what I was doing, and even my closest friends thought it was a ridiculous idea, and that it would fail. Moreover, my parents constantly reminded me to focus on my studies. I felt lonely – depressed that what I was doing was not innovative enough. I almost lost the motivation.

But that changed. One day, I realized that I was, in fact, innovative. Customer base was growing – it finally became profitable. New ground was to be discovered, and I felt very confident that what I was doing was right.

Looking back, I’ve spent 6 years developing licensing systems. During this time, I gained experience in many interesting technologies and entrepreneurship. SKM has a customer base spread all around the globe. Moreover, my work has been acknowledged in the developer community – which I’m very proud of. It feels great that I never gave up.

Can you see the point, setting, complication, turning point, or resolution? If you have any feedback, please let me know! 🙂

Arduino with WiFi shield = NodeMCU

As this year has elapsed, one of the interesting things that I’ve observed is the increased number of IoT products that are focused on consumers. It’s exciting that now it’s not that expensive anymore to get real-time data about your home anywhere, anytime. And, there is more to come, especially for those of you who would like to optimize energy consumption in your home. Examples of companies that work on this are Greenely and Watty.

All of these products are very well made and have a user-friendly interface. However, the aim of this post is to look at how you can create a simple system on your own.

Idea

Throughout this year, I, together with my classmates, were able to test one possible design of such a system, which requires two main components: one that acts as a server and another that acts as a client. Of course, it’s possible to have one unit (both a server and a client) too, but once you add more units, the first design choice seemed easier.

The server’s primary function is to collect information from the clients, process it and return it in the form of a graphical user interface (on the Web), or alternatively send the data to a mobile app once requested.

The clients are responsible for collecting various kinds of information, such as movement, temperature, and humidity, and send that off to the server.

Implementation

Once we’ve sorted out the modules we need, the tricky question is the implementation. Some of the questions that I worked on was the type of hardware and the communication. Here’re some ideas:

  • Server: BeagleBone Black/Raspberry PI. Client: Arduino with WiFi shield.
  • Server: BeagleBone Black/Raspberry PI. Client: Arduino with Radio receiver and transmitter.
  • Server: BeagleBone Black/Raspberry PI. Client: NodeMCU.
  • Server: NodeMCU. Client: NodeMCU.

All of these should work, so the next question is of economical nature. Throughout the year, all of us realized that the first solution was too expensive. Getting an Arduino with a WiFi shield is like getting an Arduino with an Ethernet shield combined with a cheap router. However, I tried to order a Chinese version of the Arduino WiFi shield (from eBay), at the tenth of the cost of the genuine version. It was delivered but did not work. The Radio receiver and transmitter solution was a bit more fortunate, but within two days it broke too (it was also a Chinese version). Alternatives 1-2 failed, so, the NodeMCU was chosen instead.

Why NodeMCU

The great thing about NodeMCU in my mind is the that it is adjusted to IoT projects: it’s both cheap, powerful and simple to use. The development version costs ca. 250 SEK (approx USD 30) in Sweden, but you can probably get it for a cheaper price somewhere else. Note, once you are ready, you can decrease the costs if you get just the esp8266 12e version, which should be even cheaper.

Getting Started

You can think of NodeMCU as an Arduino with a built in WiFi module. In fact, you can use the same Arduino IDE with the NodeMCU package. These are the steps:

  1. Open Arduino IDE, then File > Preferences.
  2. Where it says additional boards manager, insert the following link: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Open the board manager inside Tools menu and install the esp8266 package.

The step by step discussion of how to start writing code is not described here, so I assume that you’ve already done some Arduino programming. If not, I would recommend reading a booklet (in Swedish) here.

For those who’ve already done some Arduino programming, I would recommend to keep in mind that when you refer to various pins, for instance in digitalWrite, it’s import to keep in mind that the first pin is not referred to as “1”, but as “5”, or, if you have the package installed, as “D1”. Here’s a short overview:

Results

Assuming that we got our first Hello World program working, we could easily add a motion detector to the Arduino. The code for the motion detector is based on Kristian Gohlke’s code. The final setup could look as shown below:

Note, the Arduino is there to provide a 5V source, however, you could always replace it by a cell and a voltage step down component, if necessary. Almost all of the code can be found here.

Conclusion

When considering to build a smart home system, it’s important to have cheap, simple, and powerful components. Based on this project, we came to the conclusion that NodeMCU met all of these requirements.