
Show HN: Siri, open the garage - MIT_Hacker
http://delian.io/siri-open-the-garage
======
dang
This post got nailed by the voting ring detector, but I'm restoring it because
we want to see original work on HN.

A "voting ring" is when people get friends to upvote their stuff. This is
against the rules. We want stories to be on HN because they're good, not
because they were promoted.

It's sadly common for a great Show HN post to get demoted because its
creators, eager to get it on the front page, tried to game it. I've noticed a
pattern, too: usually their gaming technique is pretty weak. Perhaps that's
because they're creators, not promoters. Unfortunately, it has the side-effect
of making it certain that the ring detector will nail their otherwise good
post, while we carry on the usual cat-and-mouse game with people pushing crap.

I've got what I believe will be a sweet solution to this problem, but it
awaits time for implementation.

Please everybody, don't ring-vote your posts; just take your chances with HN's
randomness. If a post is solid and hasn't gotten any attention yet, a couple
of reposts is ok. Be careful not to abuse that, though, since we penalize
accounts for reposting too much.

I'm going to demote this comment as off-topic so it won't get in the way of
the real discussion. Send any moderation questions to hn@ycombinator.com.

~~~
jsmthrowaway
Which do you think is more likely:

\- I know! We'll set up a voting ring to game my blog post about a garage door
opener onto the front page of Hacker News, even though I don't get any kind of
benefit aside from exposure to my cool project!

\- Hey $socialnetwork friends, check it out, I submitted last weekend's
project that you helped me on to Hacker News!, followed by folks finding the
link there upvoting it because it's cool.

You, and pg before you, apparently default to option 1. Even in the way you've
worded this comment you are implying malicious intent, as if the author of the
blog post _tried_ to game the article onto the front page. Honestly, unless
there's a tangible benefit to the traffic such as advertising or leads,
there's no reason to game HN and most of the "voting ring" stuff you are
likely observing is organic-ish, not intentionally gamed upvotes from social
sharing.

Option 2 is something I have personally observed dozens of times and you
should account for it in your thinking and code.

~~~
wikwocket
Um, actually I believe that dang's post is him _literally_ saying that cases
of Option 2 are mistakenly classified as Option 1, and that this is
unfortunate. And that people should know about the voting ring detector so
they don't accidentally trigger it. Oh and that in his spare time he is
working on a better detector.

Having a voting ring detector is a good thing. It is no doubt hard to tell
organic friendly votes apart from sophisticated voting ring bots, and lots of
good posts probably get flagged for this. But without such a detector, there
would be a programmatic way to ensure posts get to the top of HN, which
defeats the whole voting system.

------
hcarvalhoalves
> I then jokingly opened siri and said “Open the garage”. Siri responded with
> “I can’t find an app named ‘The Garage’”. Lightbulbs went off. We realized
> we could get around the fact that Siri has no API by making apps named the
> phrases we’d like to recognize.

Priceless!

I wish Siri had an API though.

~~~
tomschlick
I feel like this has to come with iOS 8 for Apple to stay competitive against
Google Now.

~~~
mattchamb
Also to compete with Cortana on windows phone, which lets you register voice
commands to run specific apps and provide it input [1].

[1]
[http://channel9.msdn.com/Events/Build/2014/2-530](http://channel9.msdn.com/Events/Build/2014/2-530)
\- Integrating Your App into the Windows Phone Speech Experience

~~~
sibbl
In fact apps can register for voice commands since the release of WP8.
Microsoft just improved it so you don't have to register e.g. 1000 movie names
to enable the WP voice recognition to understand them, but telling WP to
listen for a movie name.

------
Ogre
I did this a few years ago using text messages and Twilio. Not quite as slick
as "Siri, open the garage", but it worked!
[http://rumsey.org/blog/2011/11/voice-controlled-garage-
door/](http://rumsey.org/blog/2011/11/voice-controlled-garage-door/)

"Siri, text house open the garage" was as close as I got.

~~~
coldpie
You know, I don't hate that as a user experience. It kinda turns the house
into an "intelligent" entity. "Siri, text house, I'll be home in 5 minutes"
and it would turn on the lights five minutes from now or whatever you like.

------
foobarian
That duct tape... and electrical stuff hanging off the ceiling... makes me
cringe! EEs in my dad's company used to call that kind of project an
"ikebana." :-)

[http://en.wikipedia.org/wiki/Ikebana](http://en.wikipedia.org/wiki/Ikebana)

~~~
nicklovescode
Our housemates seem to have decided that it's just over the border of the
tradeoff between convenience and fear :)

------
habosa
A team at PennApps had a project [1] which used a DNS-override to take
advantage of the fact that Siri defaults to Googling things when it doesn't
have a native approach. They could then parse these requests and see if they
could do something cool without before going ahead and just Googling it. The
example they used in the demo was controlling a Phillips Hue light with Siri
commands. I thought this was awesome, one of the better hackathon demos I've
ever seen. There really should be an easier way to do this an spoofing Google
DNS, which I'm not comfortable with even though I trust these guys.

1 - [http://betterthansiri.com/](http://betterthansiri.com/)

------
ar7hur
Very cool hack! I would never have thought about implementing each command
("open the garage") with a specifically named app ("the garage"). I guess
it'll work until you already have a (real) app called like the thing you want
to open :)

An easiest way would have been to use Wit.AI API [1](disclaimer: Wit team
member here). You can create any command in minutes and use any device capable
to stream audio to the API (including your iPhone) as client. I'd be
interested to have your feedback if you have time to check it out!

[1] [https://wit.ai/blog/2014/02/12/speech-
api](https://wit.ai/blog/2014/02/12/speech-api)

------
michaelmior
There is SiriProxy[1] which lets you respond to arbitrary commands by proxying
requests to the Siri backend. Apparently doesn't work with iOS 7 yet
unfortunately.

[1]
[https://github.com/plamoni/SiriProxy](https://github.com/plamoni/SiriProxy)

------
arcticfox
This is great, although it's too bad it requires such a clever twist to
integrate with Siri. Cortana should shine in situations like these:
[http://9to5mac.com/2014/04/02/microsofts-cortana-siri-
clone-...](http://9to5mac.com/2014/04/02/microsofts-cortana-siri-clone-shows-
the-potential-of-third-party-app-integration-for-the-personal-assistant/)

------
quackerhacker
BAD ASS!

I see in the near future a folder named "commands," on your iPhone filled with
long name apps just for automation. Are you using https or some type of SSH
keys to authenticate?

I know you said your running wired instead of wireless, but it sounds like you
have to run some type of lightweight server to listen to the http requests. I
guess you could just port forward/trigger internally through the router.

~~~
MIT_Hacker
Thanks man!

Currently it's security through obscurity... so not great. I'll make the
arduino only accept requests with a token next weekend.

Yeah if you take a look at the arduino code on github it's a super light http
server. Currently I just do port forwarding to access it.

~~~
michaelmior
Of course even if you require a token, it doesn't stop replay attacks.

------
schappim
Notice that saying "Siri, open the pod bay doors" doesn't work.

------
hox
An example using a Raspberry Pi and SiriProxy, which actually handles more
than just the "open" command from a year or so back:
[http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=25118](http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=25118).

~~~
nacs
I've looked into playing around with Siri for home automation stuff also but
unfortunately, SiriProxy (
[https://github.com/plamoni/SiriProxy](https://github.com/plamoni/SiriProxy) )
doesn't work with iOS 7 yet (
[https://github.com/plamoni/SiriProxy/issues/542](https://github.com/plamoni/SiriProxy/issues/542)
).

------
nshm
Things like that are perfectly possible without any internet-connected
services with open source software like CMUSphinx. And as an addition you can
get better features like continuous listening (no need to push any button),
flexible vocabulary and even speaker identification (only you will be able to
open the garage). I really wonder what is cool in Siri doing that.

------
amjd
Nice hack! Could you elaborate on why arduino + ethernet shield will be a
better choice than raspberry pi + wifi? I'm genuinely curious because I've
been looking at both for a hardware project and would love to know the
advantages (and gotchas) of both approaches. :-)

~~~
foxylad
Consider Electric Imp too - very small, very cheap, wifi built in, and the web
connectivity is handled for you so you don't need to set up/secure/manage an
http server.

I've got one that will control my electric desk from my phone, one day soon.

~~~
Revex
The Imp seems cool, but it's price point (when combined with the breakout
board) is higher than a Raspberry Pi and Usb Wifi dongle. Not only is the
price higher, the hardware isn't nearly as capable.

------
chaser7016
Very cool!

I use a hack to have Siri retrieve my bank balance via a SMS. This comes in
handy while in the car and you want to balance your checkbook in your head.

------
lcusack
Very cool.

But when you say "app" what exactly does that mean? Can it just be a web app
that you save a shortcut to? Or is this actually a native app?

~~~
MIT_Hacker
In order to take advantage of the Siri "api", it has to be a native app. All
the native app does is open a webview with a specific link.

Siri doesn't recognize the names of bookmarks you save to your home page.

------
hagope
This is very cool, but I'm surprised a garage opener with this type of
interaction doesn't already exists.

~~~
sliverstorm
I mean, garage door remotes cost $5, the battery lasts for years, and all you
do is press one button. I just can't see why you would want to make a voice-
activated garage door remote.

(Integrating it into a phone is slightly more compelling)

~~~
nicklovescode
In the case of this house specifically, most people walk/bike rather than
drive, and walking around with a garage opener in your pocket isn't as nice as
talking into your headphones.

~~~
underwater
Why would someone walking need to open the garage?

~~~
nicklovescode
the door is locked and we don't carry keys :)

