
Apply HN: Favor – PhoneGap / Wordpress for IoT Development - pedalpete
For those not familiar with IoT or device development, currently software is written to work with a specific type of hardware. If your device is using a specific accelerometer, your software will be written to work with that sensor. If you want to change the sensor your product is using, you need to update the software as well. This means software can&#x27;t
* be written easily as re-usable components
* isn&#x27;t easily testable
* no separation of concerns
* difficult to debug (is the issue in hardware or software)<p>This is the first issue Favor is addressing. With Favor, the hardware has a simple config file which describes the hardware and how to interact with it. You then write your business logic using Favor to accomplish whatever task needs to be done.<p>Favor is an open-source javascript library, hopefully simple to use and accessible to a wider base of developers who may have never developed hardware before.<p>You can check out the library at https:&#x2F;&#x2F;github.com&#x2F;favor&#x2F;it or a demo hello-world video on youtube https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=bHKyFJ41amA<p>Keen to hear feedback, still in the very early stages of this.
======
pedalpete
Growth - with Favor being published just over a month ago, the 1000th install
(according to NPM) will take place this week, and it appears Favor is starting
to hit a comfortable 50 installs per day.

------
bestattack
Cute.

I know little about IoT -- explain how the language is abstracted? (last I
worked on Arduino it was Processing/C++ I think). Does Favor compile down to
the languages that are used, or how does this work?

To get users, instinct is to get your stuff in the hands of hardware bloggers
/ stores like sparkfun and hope that they start using it. Is that your plan?

~~~
pedalpete
Thanks! The language isn't abstracted. This uses Node.js running on linux
based devices like Raspberry Pi. I'll be getting down to smaller and cheaper
devices, but it would take some compiling to get down to the arduino level,
which I'm not prepared to do at the moment (there are more interesting things
to do above the arduino limitations).

I remember my Arduino days working with Processing, and not fondly. This is
why I've gone with javascript. It offers a large body of developers the
opportunity to get familiar with IoT without learning a whole new language.
Though some will need to learn how to read a data-sheet, I've tried to make it
as simple as possible to just plug the data-sheet details into the
`init`,`get` and `set` methods so time isn't spent on that low-level getting
data stuff.

I've actually seen a decent amount of installs on NPM (though I'm not sure how
reliable that is) in the first month with no marketing. It is still currently
a beta or even alpha level. I'm working on getting a few real projects working
with it first, and I've been going to meetups to talk about it (but not
presenting yet, just trying to gather interest).

Hardware bloggers and stores are definitely a great opportunity. I have some
more interesting stuff coming down the pipeline which I think would capture
their interest.

This is just the first step in a much larger model of how to develop and work
with IoT (and devices).

------
louisswiss
I don't know enough about hacking IoT projects (unfortunately), but this seems
like it could be promising. Good luck!

------
glougheed
This is a very interesting idea. What is after RaspberryPi and Beaglebone?

