I typed in https://www.nest.com this evening and instead of the nice looking Nest.com web site, I got this:
What?! I hadn’t actually noticed that I’d typed https at first, so I was a bit baffled for a moment. After closer investigation, Nest doesn’t have HTTPS apparently for their marketing/support web site setup on their Amazon CloudFront account (which is what cloudfront.net is).
They really should fix that.
I was having some serious performance issues with their remote access web site earlier. It was barely usable.
That inspired me to dig a little to see what JavaScript libraries they might be using, the chatter on the network, etc. Here’s what I dug up.
JavaScript libraries:
- Jquery 1.7
- Raphael (for doing vector graphics using SVG or VML)
- Jquery UI
- eve.js (a “javascript events library”)
- jquery.ui.spinner
- iphone style checkboxes (or maybe a variation on this…it’s very similar)
- backbone.js
- underscore.js
- modernizer (1.6)
- jquery-animate-css-rotate
- jquery double tap plugin
- jquery form plugin
- jquery right click plugin
- jquery mouse wheel support
An interesting DIV and solution to a problem with web fonts (found on their main page):
<div id="digits"> <!-- Some browsers suffer unfortunate lag the first time they draw text in fonts loaded over the network. We pre-render these digits to avoid this lag, and this gets removed at the same time the loading message is removed. --> 1234567890 </div>
And a method for activating DEBUG mode:
N.DEBUG = ('False' == 'True') || (document.location.search.indexOf('debug') > -1) || (C.USERNAME.indexOf('@nestlabs.') > -1);
Thus, to activate DEBUG mode on your nest, simply navigate to here:
https://home.nest.com/home?debug
Brings up a slightly scary option for debugging. Be careful with this – I didn’t try ANY of the options, so it’s at your own risk.
Also, interestingly it adds a WEATHER tab:
[…] using (it may just be something they’ve constructed in-house – although given the number of open source JavaScript libraries they’re using, I thought someone might recognize […]
Regarding the “debug” mode on the web site, I tried a few of the menu items.
In the “Device Connect” option, if you first select a thermostat, you get a text display of all the settings for that thermostat. Also, what isn’t obvious, but I stumbled upon is if you click on a text value, a dialog box pops up letting you change the value (if it is changeable). I didn’t try to change any values, so can’t say for sure it actually works.
The “Go Nuts” option appears to randomly alter the position of the web elements on the page, so stuff starts tilting and drifting around on the screen. It doesn’t appear to do any actual harm – if you just refresh the page it all goes back to normal.
The “show auto-pairing dialog” option does just that – it pops up the dialog box showing a new Nest has been discovered on your local network (even though best I can tell it didn’t really re-discover one, it’s just a test of the dialog box display).
I wasn’t brave enough to try the “Trigger compressor lockout” so can’t say what that does.
You are a braver man than I sir! ;) thanks for detailing your findings.