One of my interests over the last few years has been to move more into hardware. My first real job was working with robotics systems and I fell in love with hardware. It was magical to be able to push a button and make something move and know that I am the one that programmed the directions to tell that thing to move.
I have been trying to get some traction in this area, but there is big signal to noise ratio.
One problem I personally have is what I like to call “If you give a mouse a cookie.”
Basically, I get consumed with figuring out how everything works. I get an Arduino and rather than just building something with it, I get consumed by trying to figure out how it was designed, why the chip they used was selected, how does the chip work, what other chips are out there, how do you design a circuit board…
I have been trying to figure out why this derails me so quickly. I realized that I get ahead of myself.
When I am trying to make myself turn an LED on with a button, I feel like it’s not hard enough. Anyone can drop fifty bucks on an Arduino and some LEDs and resistors and do what I am doing. I feel that it’s valueless and that I need to find some way to add value to differentiate myself from everyone else.
That’s getting way ahead of the game.
If you get a group of programmers and engineers together and have them look at something cool, they immediately start thinking about how they can monetize it. We just do. It’s part of our DNA. We can’t just do something cool because it’s fun. Everything has to have a purpose. If you’re doing something cool, there must be a product somewhere in it and you have to figure out how to make something cool before someone else has the idea so you can cash out on it.
Then there are people with the exact opposite approach. They will take something that is really simple, but looks complicated and they will try to monetize it immediately. Sometimes they get lucky and can cash out on a fart app or something simple, but a lot of times you wind up with garbage products on the market that are basically a sensor connected to a Bluetooth connector that talks to a bare bones app.
I want to spend this coming year more fully exploring this space. I think there is a lot of potential out here, but there are a few things to navigate.
- What would make a good product?
- What do I need to know?
- How do I order the things I need to know so I don’t focus on a thing I need in five years before the thing I need tomorrow?
- How much off the shelf stuff can I use?
The off the shelf question is the part that prompted this blog post. This is a wonderful time to get involved with hardware hacking. Arduino has really opened up things to everyone by providing a consistent and well documented rapid prototyping system. Companies like Adafruit have built successful businesses around the Arduino form factor and programmable LEDs. I think these things are really cool, but they seem to be toys and learning materials rather than serious tools with which to build embedded products. It’s going to take a leap from tooling around with pretty light rings to figuring out an actual real world application.
The other off the shelf question I have is with not just hardware, but services as well.
I recently bought a developer kit for the Particle Photon. So far I am really impressed with this device. It’s connectivity is through Wi-Fi rather than Bluetooth LE. It has an online IDE from which you can flash devices remotely. It is set up with IFTTT so that you can use it to build your own Amazon Dash Button among other things.
This is really cool. You can get a lot of stuff up and running in just an hour. However, I would not feel comfortable using this as a basis for a product I would develop because it has a single point of failure, which is that the hardware only interacts with servers that are controlled by the Particle people. This makes it really easy to get something up and running, but that means that if Particle was ever bought by someone like Facebook, like they did with Parse, you’re at the mercy of a vital service that could be discontinued at any point in time.
It’s really cool to be able to use an off the shelf component to get up and running, but it’s also important at some point to move beyond it. An Arduino is a generically designed device that is supposed to work with a lot of different things. The Trinket from Adafruit and many other development boards are “cheap” but they are not specifically designed for your purposes. I think that I need to be better about embracing these off the shelf solutions so that I can get a better idea about what I want to do and how to get something working, but I also need to keep in mind that if I develop something with these off the shelf solutions, I need to avoid single points of failure. But right now my single point of failure is putting the cart before the horse and worrying about these problems before I am at that point.
I am going to try and be more relaxed about embracing these tools for what they are and use them to learn before over complicating things. Life is a marathon and not a race.