Wow, you are all over this thread. I take issue with the way you are jumping in here with a lot of assumptions. Please give me a moment to respond to your assertions point by point.

There is nothing glamorous about airing our faults and where we went wrong along the way, the points you enumerate were our beliefs to a 'T' when we launched our second product a year and a half ago. A handful of these are right while others are mostly wrong or misguided.

1) This is a tough one to address. I see elsewhere in this thread you made the same mistake we did - namely thinking we could get 2mA with PS-POLL. While possible in the lab, that is simply not the case when working under conditions we've seen in the wild. Hypothetically if that were true you could see near instantaneous WiFi all the time. We were optimistic this may be possible but didn't want to bet on it. We made the call that WiFi is advertised with instant response when someone is at the door and delayed response when in power save mode. If there is confusion we are quick to correct on Facebook, Twitter, and even our own blog[1]. Firmware updates to our WiFi chipset look promising but we are not committing to this.

2) Determining intent is a hard problem but hardly a fool's errand. We don't do this through just one BLE radio using RSSI alone as your comment implies[2]. The examples you give are both solvable with what we've built today. The harder problems come from platform inconsistency between iPhone and Android API's. Android for instance only recently announced BLE support and when they did, the phone could only operate in one out of the two roles. Clearly other companies think similar home vs away intent is worth developing too[3][4].

3) Building a proper prototype without functional mechanicals is insane. Don't do this. The other huge rabbit hole here is the word 'reliably.' It's like a client of a web design firm asking for 100% uptime.[5] The best you should do at the 'hardware startup making a prototype' phase is to get it working on your target platform and solve known bugs so it works for 90 to 99.9% with loose specs or 100% of the time under tight optimal conditions. That said, things change. The way we were doing BLE security when we launched was thought to be secure. A ShmooCon talk instilled some doubts that while not broken it may not be the best foundation [6]. We rebuilt a lot of that with Diffie-Hellman and HMAC instead. We saw some connectivity issues with the new approach that were subsequently addressed. Other things change too. Our BLE chip switched from not using signed licenses to using signed licenses between updates. This caused us a bunch of frustration.

4) 40 hours of work to review a design is probably too little. We spent closer to 300 hours on the EE side with the most senior hacker we knew [7]. We worked with another firm on mechanics for 11 months prior to launch. In retrospect that feels about right for how much weight mechanical problems are vs electrical.

That $25-$30 number you site IS misleading. As an analogy, it is almost certainly possible to build a robot which can walk a straight line across a plastic table for this but getting it to walk across arbitrary terrain will cost you if your operating specs are unbounded (think Mars rover.) We know how to build a device that fits over locks for $25 without PCB - we are not happy with what level of performance that gets us.

5) This product however is not designed to be a replacement lock. We have made one of those in the past[8]. Saying something is wrong/inefficient is true for anything asked to do something other than what it is made for. This model of Lockitron is designed to fit over a wide variety of existing locks precisely so that it can work for renters who can not change their locks. It is designed to do it in a way that it does not requires you to take your lock apart so it can be installed quickly and with next to zero mechanical aptitude. It does these things insanely well.

The numbers you site for gear vendors are again misleading. Yes, one can get gears for this cost in this time but you are shifting the burden of development and tooling elsewhere. Making this tradeoff in this case gets us towards a local maxima that is not the product's desired function.

6) This is a bit naive. You don't build to the spec if you're seeing different results in the field. We saw this to be the case with sticky locks and jammy door frames. Other new locks can be put on a clean installation, we have to work with what's there. Similarly, the Bluetooth 4.0 and 4.1 specs promise a lot of things which neither Apple nor Android support. In this case we build for what effects our customers experience not a certification checkbox - especially when that means exceeding the certifications standards.

And if anything that is the takeaway here. Building something to spec is a finite task with an estimable amount of work and calculable delivery date. Having real world conditions conflict with what was spec'ed introduces delays. Having conflicts across your product from metals and plastics up to software interfaces means these delays propagate.

You make the tough calls. You ship.

[1] http://blog.lockitron.com/post/84539548097/debugging-jams-wi...
[2] http://community.lockitron.com/t/sense-will-it-sense-if-my-p...
[3] https://developer.nest.com/
[4] http://blog.dropcam.com/tag/dropcam-alerts/
[5] http://serverfault.com/questions/316637/100-uptime-for-a-web...
[6] https://lacklustre.net/bluetooth/
[7] http://en.wikipedia.org/wiki/Lee_Felsenstein
[8] http://www.wired.com/2011/05/lockitron-unlock-your-home-with...