├── _repo_tools
└── img
│ └── repo_labels.png
├── investigations
├── SmartHomeCommunicationResearchReport.pdf
├── beacon-ibksUSB-01.html
├── beacon-ibks105-00262146.html
└── Beacons.md
├── README.md
├── reviews
├── SmartThings-Endless-notifications.md
├── Smart-Devices.md
├── SmartThings-Gen1.md
├── Home-Assistant.md
├── Belkin-WeMo-Switch.md
├── SmartThings-Makes-me-feel-stupid.md
├── Hello-Sense.md
├── Amazon-Echo-2.md
├── Amazon-Echo.md
└── SmartThings-Purchasing.md
└── experiments
└── Sparkfun-Sensors.md
/_repo_tools/img/repo_labels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozilla/connected-devices-experiments/HEAD/_repo_tools/img/repo_labels.png
--------------------------------------------------------------------------------
/investigations/SmartHomeCommunicationResearchReport.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mozilla/connected-devices-experiments/HEAD/investigations/SmartHomeCommunicationResearchReport.pdf
--------------------------------------------------------------------------------
/investigations/beacon-ibksUSB-01.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beacon-ibksUSB-01
6 |
7 |
8 | This is the end-point for the beacon-ibksUSB-01 beacon
9 |
10 |
11 |
--------------------------------------------------------------------------------
/investigations/beacon-ibks105-00262146.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beacon-ibks105-00262146
6 |
7 |
8 | This is the end-point for the beacon-ibks105-00262146 beacon
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Connected Devices Experiments and Investigations
2 | This is a place to publish experiments and investigations from the Connected Devices team.
3 |
4 | ### Content types
5 | * *Reviews* of smart home products and/or your experiences with those products
6 | * *Experiments* you've tried. For example, if you built an Arduino to do X, you can use this space to publish your instructions so others can replicate your experiment.
7 | * *Investigations*. Things you're actively looking into that you want to share with the CD team and the world.
8 | * Other stuff you want to add!
9 |
10 | ### How to contribute
11 | [Create an issue][1] for your experiment, investigation, review, etc.
12 |
13 | Label it. Add more labels if you think we need them - see below!
14 |
15 | Continue the conversation - see other people's issues and comment.
16 |
17 |
18 | [1]: https://github.com/mozilla/connected-devices-experiments/issues
19 |
--------------------------------------------------------------------------------
/reviews/SmartThings-Endless-notifications.md:
--------------------------------------------------------------------------------
1 | installed SmartThing Motion sensor yesterday, and it sends me tons of notification in one night:
2 | 
3 | The notification will happen when:
4 | - Temperature lower/up 1 degree
5 | - Motion detected (time interval: minute)
6 |
7 | I cannot see any details from the notification until I enter the app to see it's either temperature raise or motion movement detected...
8 | I feel like I lost trust to the device since I received a lot of notifications yet still don't know what is really happen in my house.
9 |
10 |
11 | Question: Does SmartThings let you create more sophisticated rules, so you only see notification for motion sensing if you're not in the house? I recently got mine and haven't been able to figure out how to make rules that work better for me...seems all or nothing...
12 |
13 | Answer:
14 | Yes I think it's because I'm not around the sensor I set up... but it's also weird that sometimes I'll get notification but sometimes not even when I am around the sensor...
15 | I setup the multipurpose sensor to detect whether harly is in office by detecting his drawer is open or closed (since he always put his briefcase in the drawer when in office). I found sometime it send me the notification sometimes not.
16 | I believe the device probably has its own rules behind which I still cannot figure out yet...
17 |
--------------------------------------------------------------------------------
/reviews/Smart-Devices.md:
--------------------------------------------------------------------------------
1 | studied:
2 | Samsung SmartThings: connect to Phillip hue
3 | Amazon echo: connect to Philip hue
4 | Wink: N/A (fail to connect to wink hub itself)
5 | IFTTT app: connect to SmartThings, Phillip hue, Amazon echo
6 | Stringify app: connect to SmartThings, Phillip hue, Amazon echo
7 |
8 | Review:
9 | **1. Connect different smart devices together: 3rd party Apps do better (so far)**
10 | In general, 3rd party apps do better job than smart products.
11 | When I try to connect Phillip hue to SmartThing & Amazon, it always encounter issues such as can’t find the hub, can’t find the device, etc. However, there’s less problem in 3rd party apps.
12 |
13 | **2. Setting process is long, long, long**
14 | When I use 3rd party app to connect smart devices, I need to log in every single devices I setup before, which can be very annoying.
15 | If I use smart device to connect another smart device, the process even longer: I have to wait for the pairing process. It can seriously take a long time.
16 | For example, SmartThings would take more than 5 mins to connect to Phillip hue. And actually I haven’t connected them successfully yet ...
17 | 
18 | And even for the simple "setting up the hub" flow, sometimes it takes longer...(10 hours...!?)
19 | i.e. Wink hub:
20 | 
21 |
22 | **3. Aware of "lagging"**
23 | Although it’s easier to use 3rd party apps to connect different smart devices, I found that sometimes the action will “lag” for a few seconds.
24 | For example, I use IFTTT to setup “When I say trigger red to Amazon Alexa, Phillip hue changes colour to red”. However, it takes 5 seconds delay when I trigger the action.
25 | o
26 |
--------------------------------------------------------------------------------
/reviews/SmartThings-Gen1.md:
--------------------------------------------------------------------------------
1 | red and I have SmartThings and have been using them for maybe a year now. It's the first generation set (?), so I'm guessing many of my complaints have already been addressed in the next generation update. To that point, I do find it incredibly annoying/wasteful that our SmartThings are already dated and "old". If they are update-able (firmware?) - they should auto-update if they're so smart. I don't have time or interest in finding out if there's anything I can do...
2 |
3 | **My quick thoughts:**
4 |
5 | 1. With our home kit, we received two "dongles" for keys or pets, which SmartThings has now discontinued. I assume this is because for us, we kept getting messages that our dog, Grimm, had left the house, even though he was sleeping ON me at the time. You can imagine getting these false notifications while we were out were not reassuring. The dongles were too big (and too ugly, IMO). I didn't trust they'd be okay outside (Grimm goes to adventure camp) - how would they handle running in the woods, mud and water, other dogs? Most annoying were the false notifications.
6 |
7 | 2. The amount of Notifications I see on Jared phone is bonkers - screen filled, constant buzzing. If I open the back door to let Grimm out, Jared gets a notification "Back door open". So if I let Grimm out, (2 notifications : open/closed), then I open the door to call him back (2 more notifications), then Grimm finally comes, i let him back in (2 more notifications). If it's windy, sometimes we get notifications that the front door is open. It is not. That especially sucked when we were in Turkey. As of today, the sensor is working better (new lock on our door, makes the door tighter) but we now get reverse messages - so when we close the front door, Jared gets a notification that the door is open. I honestly would never recommend SmartThings to anyone.
8 |
9 | 3. Jared has the app on his phone - after seeing the all the notifications he gets, I decided against adding the app on my phone. I don't know how it handles multiple accounts.
10 |
11 | 4. At the moment, we have the motion detector sensor face down, I can't remember why we did this, probably because the notifications were painfully annoying. I think we've only used it recently to check the temp in the room where it is. Honestly, we don't care about the temperature, unless something feels off (like is the house too cold?). [ Jared added that he does trust the motion sensor and we use it when we're out of town. ]
12 |
13 | 5. The best use of the SmartThings plug (we have a light plugged into it), is to fake people out. It's in the guest room, so we can turn it off and on from the app. We convinced my nephew that Jared is a real magician. That was fun. However, while I understand that the lamp is plugged into the ST plug (and I understand the technical function), the fact that I can't use the physical switch on the lamp makes me INSANE. Jared actually uses the app to turn the lamp on/off, and claims it's easier. But now he's the ONLY person in the world who can turn the light on/off.
14 |
15 | I do think SmartThings is leans more towards "security" and monitoring... but, I wouldn't rely on it. I'd say it's given us more reasons to worry and second guess the state to the house. The notifications are out of control and to me, it's not designed for people who want peace of mind.
16 |
17 | Looking forward to hearing about your newer SmartThings, but even if you love them, I'm doubtful I'd change my mind... unless they are truly delightful, remove burden, and can self-update.
18 | my 2 cents,
19 | kc
20 |
--------------------------------------------------------------------------------
/reviews/Home-Assistant.md:
--------------------------------------------------------------------------------
1 | **Home Assistant**
2 |
3 | As part of our IOT research I tried out [Home Assistant](https://home-assistant.io/). Home Assistant is an open-source home automation platform that allows you to control and monitor all of your home IOT devices in one central location. Home Assistant supports a wide range of IOT devices from different manufactures. The open-source community adds support for the various IOT devices.
4 |
5 | The actual setup and configuration of the IOT devices themselves is kept independent of Home Assistant, in that once the devices are setup then they can be plugged into the platform. The platform supports a bunch of different protocols so that it can talk to the various devices. Some devices can be auto-detected 'out of the box'. Automation rules can also be created to control the IOT devices, for example turn on a light at sunset.
6 |
7 | The platform is built on Python 3. The source code can be found [here on Github](https://github.com/balloob/home-assistant). Check out the [Home Assistant Demo page](https://home-assistant.io/demo/) for a cool example of what the dashboard can look like.
8 |
9 | **Setup**
10 |
11 | It only took me about 45 minutes total, to: Have a local instance of Home Assistant up and running, with my Arduino uno board attached; with raw light and temperature sensor data appearing on the dashboard; and a light control switch for my Arduino LED working on the Home Assistant dashboard.
12 |
13 | After that I tried hooking up a WeMo wifi power outlet, that was supposed to be auto-detected; it failed to be found when I started up Home Assistant. However it turns out this was because my Ubuntu VM was using ""NAT"" for the network adaptor setup; once I switched my VM network to use ""bridged"", then it found the WeMo right away. Then I was able to turn a lamp at my desk on/off remotely via a switch on the Home Assistant dashboard. If I wasn't using a VM or had the correct VM network setup, it would have literally taken just minutes to add the WeMo power switch to the dashboard and use it.
14 |
15 | Steps to setup on my Ubuntu 14.04 VM:
16 |
17 | - If you don't have it, install Python 3 (I used a virtual env)
18 |
19 | - Install the platform (simple ubuntu shell commands)
20 |
21 | - Edit the config file to add your IOT devices and a password
22 |
23 | - Ensure your IOT devices are online
24 |
25 | - Start the server (in an ubuntu shell: hass --open-ui)
26 |
27 | - Browse to http://localhost:8123, login, and it's ready to use
28 |
29 | **Usage**
30 |
31 | Once it was all setup it was easy to use. Just browse to the dashboard on your browser (localhost) and on the dashboard you can see the status of your IOT devices and control them. I could see my Arduino board sensor data displayed, and I could also use the mouse to turn the WeMo power switch (and attached desk lamp) on and off.
32 |
33 | I just setup Home Assistant to run on my local WiFi network. However it can be figured to be accessible from anywhere on the internet (i.e. open a port on your router) but I didn't try that out.
34 |
35 | **Issues**
36 |
37 | Generally the dashboard worked great with my WeMo power switch. Only once I did notice that it got confused with the power switch state; it thought the switch/light was on when in reality it was off; and then when I clicked the switch it turned on the light but indicated that it was off. I had to restart the server to fix the issue.
38 |
39 | **Summary**
40 |
41 | Very easy to setup and a really cool dashboard. I really liked it and if I was setting up a bunch of IOT devices in my home I would seriously consider using this platform.
42 |
--------------------------------------------------------------------------------
/reviews/Belkin-WeMo-Switch.md:
--------------------------------------------------------------------------------
1 | **Belkin WeMo Switch**
2 |
3 | As part of our IOT research I decided to try out the WeMo Switch from Belkin. The WeMo switch plugs into any power outlet, and provides one single power outlet that can be controlled via WiFi. This is the switch that I purchased: http://www.belkin.com/us/F7C027-Belkin/p/P-F7C027/
4 |
5 | **Cost**
6 |
7 | For a small piece of technology it is relatively expensive. A single WeMo power switch here in Canada costs $49.99. There is a smaller more attractive model, the WeMo insight, but that costs even more ($59.99 in Canada).
8 |
9 | **Setup**
10 |
11 | Initial setup was really easy and only took a few minutes, using the following steps:
12 |
13 | - Downloaded the WeMo iOS app
14 |
15 | - Unboxed the WeMo switch, plugged it into a power outlet
16 |
17 | - On my iPhone, went into WiFi settings and searched for the WiFi hotpsot that my WeMo switch had created itself; connected to the WeMo switch's WiFi
18 |
19 | - Started the WeMo app, selected my WeMo switch and configured it by naming the switch, and telling the switch which WiFi network I wanted it to be a part of. Note: If you are on a secure WiFi network you need to also provide the password
20 |
21 | - Exited the WeMo app. On my iPhone WiFi settings I connected to the same WiFi network that I told the WeMo switch to be a part of
22 |
23 | - Started up the WeMo app again, this time the WeMo switch is shown with a power button beside it, and it is ready for use
24 |
25 | - Attach whatever you want to run on the switch power outlet; in my case I plugged in a desk lamp and turned the lamp switch on
26 |
27 | I thought it was really cool that the WeMo switch was ready to use right out of the box, and the best part was it didn't have to be registered online; I didn't need to create an account on the manufacturers cloud or anything; and I didn't have to provide any personal information besides the WiFi network info.
28 |
29 | **Usage**
30 |
31 | Just start the WeMo app and the switch appears in the list of you WeMo devices. Beside the switch (showing the name that you configured it with) there's a power button; tap the power button on the app and the switch power is turned on. Once turned on the switch icon turns green to indicate the power is on. Tap it again to turn it off and the button turns red. In my case, I could easily turn the lamp on my desk on and off with a tap of the button on the mobile app.
32 |
33 | With the setup I used, my phone had to always be on the same WiFi network as the WeMo switch. Apparently there is a way to configure the switch so you can control it from anywhere on the internet and not just while you're on the same WiFi network, however I didn't try that out. Also the switch is compatible with [IFTTT](https://ifttt.com/) which means you can setup automation rules, like turning on the power switch at a certain time of day, or sending a text to control the switch, etc. I didn't try those features.
34 |
35 | **Issues**
36 |
37 | Generally the switch worked great however I did see the following issues now and then:
38 |
39 | - The switch lost connectivity with the network; a couple of times I had to press the physical reset button on the switch in order for it to connect to the network again
40 |
41 | - Sometimes there was a delay from when the switch button on the app was tapped and the switch power was actually turned on/off. Most times it was just a small delay hardly noticeable, but a couple of times it was a noticeable delay of a second or two
42 |
43 | **Summary**
44 |
45 | Cool product and easy to setup. I could see it being useful if you want to control one or two power outlets in your home; however due to cost I personally probably wouldn't invest in buying a large number of these devices.
46 |
--------------------------------------------------------------------------------
/reviews/SmartThings-Makes-me-feel-stupid.md:
--------------------------------------------------------------------------------
1 | This is the second installment of setting up my SmartThings to [do the scenarios described here](https://github.com/mozilla/connected-devices-experiments/issues/1).
2 |
3 | Feel free to comment - especially if you've also purchased anything in the SmartThings family!
4 |
5 | ++++++++++++++++++++
6 |
7 | ### Hub setup
8 |
9 |
10 | Start by setting up the hub. It needs to plug into my router. Fine, but the cord is super short -- it's maybe 3 feet. Spend 15 minutes reorganizing my desk area where the router lives so that I can position the hub in a place that works and isn't in the way of other desk things that are already there.
11 |
12 | The instructions ask you to download the SmartThings app, which then walks you through setting up an account and setting up the hub. **The hub setup screens are the best part of the SmartThings app; they did a nice job here.**
13 |
14 | ++++++++++++++++++++
15 |
16 | ### Motion Sensor setup
17 | Next I open and pair one motion sensor - 5 minutes. I can see in the SmartThings app that motion is being detected - cool! Discovered that the motion sensor registers temperature -- didn't know that.
18 |
19 | ++++++++++++++++++++
20 |
21 | ### Smart Outlet setup
22 | Then start setting up the outlet for the kitchen lights. I want to be able to wave my hand over the motion sensor in my bedroom to trigger the kitchen lights to go on.
23 |
24 | Pairing the outlet for the kitchen was easy and took just a few minutes. I did take me a while to figure out the logic of how this worked with my kitchen lights. The manual light switch needs to be in the "on" position in order for the outlet to control it, so that when I set the outlet to "on" with the SmartThings app, the kitchen lights go on.
25 |
26 | I'm in my kitchen all the time using this light, and I don't want to have to use the SmartThings app all the time to do that. So it's good that I can still use the manual light switch to turn on/off.
27 |
28 | But...I can see that it would be easy for me to forget to set this correctly before going to bed. That is, before going to bed, I need to make sure the manual light switch is in the "on" position and that the SmartThings outlet is set to "off." I can probably automate the SmartThings outlet to turn off a certain time in the evening, but I'll need to remember to leave the manual switch in the "on" position.
29 |
30 | > Sidebar: This kind of setup is prone to "user error," e.g., a family member accidentally turns the manual switch "off" in the evening, and everybody's pissed in the morning when the lights don't come on as expected.
31 |
32 | ++++++++++++++++++++
33 |
34 | ### Mashing it up
35 | Now to connect the motion sensor to the outlet. SmartThings has some built-in "routines" like _Good Morning_ and _Good Night_. The _Good Morning_ routine seems a good place to start.
36 |
37 |
38 |
39 | The hit area for the settings gear is far too small. I keep missing it and pressing the larger hit area that triggers the routine to start. Super irritating. Finally get into the routine settings.
40 |
41 | > Incredibly annoying: Every selection in the SmartThings app triggers the spinner while the app “thinks about” something. My sense is that I’m "wasting a lot of time" in this app. They should fix this, as most of the actions are navigation and should not require the system to do any thinking.
42 |
43 |
44 |
45 | Select _Kitchen Outlet 1_ under _Turn on these lights or switches_.
46 |
47 |
48 |
49 | Now what? Further down the screen is a section called _Automatically perform "Good Morning."_ This phrase does not include the words _when_ or _if_, so I don’t immediately make the connection that this section is how I trigger this routine. Tap it anyway.
50 |
51 |
52 |
53 | Go through a few screens to select the _Bedroom Motion 1 sensor_. Ugh the whole point of me using the motion sensor is so I don't have to set a schedule -- I keep odd hours and don't always wake up at the same time, so I just want this routine to start whenever I wave my hand over the motion sensor, even if that time is 11pm. But SmartThings has decided that a timeframe is required in order to save this routine. Lame. Select 4am to noon. Save.
54 |
55 |
56 |
57 | > Sidebar: After revisiting this screen 5 times, I realized that the _Automatically perform “Good Morning”_ phrase now includes the word _when_. This is just silly. The phrase should not change in this barely noticeable (but very important) way. It should always say _Automatically perform “Good Morning” when_ so that it helps people understand what they’re doing.
58 |
59 |
60 |
61 | Go into bedroom and wave hand over motion sensor. Nothing happens to the lights, though the app tells me that motion is being detected. Double-check the routine, which requires going deep into screens, each time watching the annoying spinner. Everything looks ok. Try it again. Doesn't work.
62 |
63 | Argh, time to start over. Unplug the outlet and re-pair it. Delete the routine. Create a new routine, call it “Good Morning” and do all the steps over. Test it out. Now it works!
64 |
65 | At first this feels anti-climatic (see below for why). But then I test it a couple more times. Each time I feel a kind of glee when I see that lights "magically" turn on when I wave my hand over the sensor. That's cool, though likely a short-lived sense as I get used to this tech in my home.
66 |
67 | > Sidebar: This is the kind of experience that makes people feel like they made a mistake in purchasing this system. Rather than making me feel empowered -- I’ve conquered my home! -- instead I don't know what happened, and I assume that I made a mistake somewhere setting up this incredibly simple routine. Yet I don't actually know what I did wrong, so I won't be able to avoid this "mistake" in the future. Doesn't inspire confidence in the system or in my ability to master it.
68 | **_Smart home systems should make me feel smart. Not stupid._**
69 |
70 | In the next installment, I'll attempt to connect my coffee maker and my favorite jazz station to this routine so they turn on at the same time as the lights.
71 |
72 | > Annoying: I hate the SmartThings app so much that I want to throw my phone across the room. Get rid of the spinner! It just draws attention to how much time I'm wasting in this app. Do something different and maybe even clever like tell me that "SmartThings is making shit happen for you!" Anything but the spinner. I say the spinner is lazy product design. [@uxDonaldTrump](https://twitter.com/uxDonaldTrump) would say it's "WEAK product design."
73 |
74 |
--------------------------------------------------------------------------------
/reviews/Hello-Sense.md:
--------------------------------------------------------------------------------
1 | **Unboxing**
2 | https://search.yahoo.com/yhs/search?p=hello+sense+unboxing&ei=UTF-8&hspart=mozilla&hsimp=yhs-002
3 |
4 | It was very simple and easy to take apart (no clamshells!). Aside from the sensor and the “hub” there was not very much paper. The instructions pretty much consisted of “go to this url” which I found annoying. I didn’t understand why I needed to go online to get setup instructions - tbh I felt like the company was cheaping out on including instructions by saving paper. There was no overview of how many steps or how much time it was going to take. It was nice that the URL re-directed to the appstore rather than searching.
5 |
6 | Even knowing what I know now, it would have been nice if there was indication that to set the device up you needed to get an app to pair the sensors.
7 |
8 | **Setup**
9 | https://www.youtube.com/watch?v=eJ1dxdkKAYs
10 |
11 | The setup was easy (only paired one sensor). I hadn’t plugged my glowing orb in so the app told me to do that step when it needed me to.
12 |
13 | Since thinking about it, I’ve realized I have no idea what my password is. I hate it when I’m required to create an account and I’m away from my computer because I always make up a password and it never gets saved.
14 |
15 | **Device**
16 |
17 | On the glowing orb, there is no snooze button so once you wave your hand over the glowing orb it’s game over. Combined with a lack of clock and it can be a little disorienting if you’re one to doze after the alarm goes off.
18 |
19 | I found the clip to be WAY more difficult to clip onto the pillow than they show in the video. I’m waiting for the time when we forget to remove it before throwing the sheets in the wash. It would be cool if it could send an alert when the sensor is removed from the glowing orb or even better if the sensor were waterproof. You know someone’s going to wash it.
20 |
21 | The glowing orb has some environment sensors in it to detect light, noise, humidity, air quality(?) and temperature. Perhaps aside from light, I have to have blind faith that the orb is correct. I always thought my house was a little loud (live on a busy street) but the orb is telling me the sound level is totally fine for sleep. Other than light, it seems like I’m always in the green. It would be nice to know the thresholds (I just realized you can tap on the bit to get a more info - e.g. “ideally it should be below x”.) so I could take action to maintain more of a middle ground. I find it to be a tad annoying that I’m chastised for light levels - of course it’s going to be bright - it’s day! I do like being able to see the humidity and the temp of the room. We live in an older house and the temperature seems to be erratic throughout the house. I can envision though being annoying during the summer when it’s too hot. If you don’t have control over it (e.g. AC) you don’t want to be reminded of how hot you are.
22 |
23 | The graph is pretty bad - it’s just a wavey line showing history with no context of time. Is it the past 24 hours? The past week? There also isn’t any “level” indication, I look at the humidilty chart and I see a downward line but is that ok? Clearly the humidity level is dropping but by how much? At what point should I intervene?
24 |
25 | Air quality? I have no idea how to measure that and if it were red, no idea how to fix it. Getting more info just says it should be “clean”. Thank god mine is clean b/c otherwise I would be screwed!
26 |
27 | **Usage**
28 |
29 | At first I was wow’d by it. It knows when I’m in bed - how does it know that?! It seemed accurate - the app told me I was sleeping alright and that felt right.
30 |
31 | A few weeks of use and the cracks are showing.
32 |
33 | One night when Carl was sick and went to bed early. Typically I go to bed before him so I am the one who gets in bed and turns off the light and Carl is the one who stays awake using his phone in the dark. IDK if light is part of the magic of knowing when you “went to sleep” but on this night the sleep detection was SUPER off. It seemed to nail when I got into bed (which I still don’t know how it knows), but it claimed I went to sleep “right away” like within an hour. I know for a fact that isn’t true because I had the worst night of sleep I’ve had in a long time. I was fully 100% awake and browsing my phone for hours. But I wasn’t moving a whole lot b/c I was reading and trying to not be annoying to Carl. Alexander also had a bad night so I was in and out of bed for hours. In the AM I was interested to see what the sensor had to say about things and was shocked to see a number in the 80’s. It was telling me I had slept no worse than an average night. It’s kind of insulting to be invalidated by a machine. I want the sensor to confirm “yes you feel like shit because you slept like shit. here is the proof.”
34 |
35 | I noticed twice (two days in a row) that the alarm didn’t go off. The alarm works so that when you start moving around (exiting sleep) the alarm goes off. So you set it for say 630am and it can go off anywhere between 6 - 630am. One would assume that even if I were dead asleep at 631am it would still go off to wake me because I still need to get up. I’m not one to sleep through an alarm nor am I one to shut it off in my sleep. I would say 99% of the time, when I hit snooze or shut off the alarm I am fully aware I am doing so and cognizantly choose to stay in bed. So it’s possible that I could have shut it off first day (though highly unlikely), but the second day in a row seems really, really unlikely. So is it a bug? NO! It’s a feature - if you’re dead asleep during the window we’ll just let you keep on sleeping; you’re clearly tired. You’re welcome!
36 |
37 | In addition to knowing when you get into bed, it knows when you exit. But I’ve started noticing that this isn’t super accurate. For example, this AM the sensor claims I got out of bed at 730 AM which I know for a fact is not true. I was downstairs, dressed, and feeding Alexander (who was also changed and dressed) at 730. So unless I can freeze time, which would be amazing, IDK how that would even be possible.
38 |
39 | I’m still breastfeeding (in bed in the AM) and this is throwing the sensor off too. It thinks I’m still dozing when in fact I’m awake, reading my phone, and feeding the babe. Perhaps their test base was comprised of those who leap out of bed in the morning?
40 |
41 | All these things are leading the sensor to think I’m getting more sleep than I am and that I’m incredibly slow to get out of bed (I read as lazy) which leads to their advice…
42 |
43 | **Advice**
44 |
45 | The app told me that the time I wake up is inconsistent and that I would be a better person (my words) if I would only just fix that - someone should relay this info to my son. It even told me that 52% of other people do better than me.
46 |
47 | The app also told me that I move 16% less than the average Sense using person (agitated sleep). I may not be a consistent waker but I’ve nailed being still while sleeping.
48 |
49 | Other than those helpful little tidbits I haven’t really gotten anything of use from the advice.
50 |
51 | There was a bit about how other stuff can affect your quality of sleep and that does interest me. If only my fitbit could talk to it! How does exercise make me sleep better (being tired) or worse (too close to bedtime). How does computer use affect the time I go to bed? What about the sunset? If I drink less water in the day am I more restless at night? If I decreased my Nest by two degrees at night would I not only save money but sleep better?
52 |
53 | **Info**
54 | The charts are a little lacking and I can’t seem to find historical sleep information. The only thing saved is your sleep number (which I’m not fully sure how it’s calculated). It seems like only 2 weeks of that number are shown so you couldn’t do any seasonal or monthly type comparisons. It would be nice if you could tie notes to particularly good or bad nights. For example, Wed appears to be bad, but I don’t remember why. Was it because I went to bed too late? Didn’t sleep well? Alexander was up several times?
55 |
56 | It seems like you would need a bit more information to be able to make a change and see its impact on your sleep over a longer period of time.
57 |
58 |
59 |
--------------------------------------------------------------------------------
/reviews/Amazon-Echo-2.md:
--------------------------------------------------------------------------------
1 | Amazon Echo was launched during the last year, but is getting a lot of buzz lately thanks to their [black Friday sales record](http://www.theverge.com/2015/12/1/9826168/amazon-echo-fire-black-friday-sales) and more recently their [Super Bowl ad blitz](https://www.youtube.com/watch?v=qTz5jAn-XX8). I have been using/reviewing this product for some time and thought of writing a review through the eyes of a Mozillian. (yeah, I completed 3 years in Mozilla last month. Heard that this milestone completes a bit of a brain re-wiring :)). This is also a hypothetical thought experiment on how Mozilla would have gone about building a product like this. I would like to hear what other Mozillians think. So here we go.
2 |
3 |
4 | Amazon Echo is an interesting product for not only what it does today, but also more importantly for what it possibly could do tomorrow. There is a good chance that the next generation will experience the web via connected products like these rather than sitting at a desktop or pulling out the smartphone.
5 |
6 |
7 |
8 | Making Tech less geeky for regular users
9 |
10 |
11 |
12 | The Echo is marketed as a connected music player if you go by the first couple bullet points of its [description on Amazon](http://www.amazon.com/gp/product/B00X4WHP5E/ref=ods_xs_ae_shurl?tag=googhydr-20&hvadid=77837478853&hvpos=1t1&hvexid=&hvnetw=g&hvrand=13575336158418306161&hvpone=&hvptwo=&hvqmt=b&hvdev=c&ref=pd_sl_4v2vwjgwwh_b). It looks and feels like a speaker. It does not look geeky at all, has no buttons except 2 small ones on top. An average user will feel comfortable placing it centrally in the house (which is exactly where Amazon wants them to place it!). However, it is actually a virtual assistant at home - a coffee table gadget that you talk with. It gets you the answers (a la Siri), and in addition, it can get things done around the house via IOT protocols. It is compatible with WeMo, Philips Hue, SmartThings etc. In other words, it is all set to become a smart home hub. Amazon had made no big deal when this product was offered first (unlike what they did with their Fire Phones, which later went on well, ..a fire sale). Still, Echo has made a quiet entry into tons of houses around US while the tech press was busy speculating the next IoT moves of Apple (with TV/HomeKit) and Google (with Nest/Weave).
13 |
14 |
15 |
16 | (Almost) always listening. So Privacy?
17 |
18 |
19 |
20 | It has no camera (in this version. but probably it is coming in the next revision). So, it can’t see yet, but boy can it hear! It has 7 microphones so it can listen to a command from any corner of the house. However, it does not listen to you all the time (unlike Samsung TVs that caused a media uproar last year and triggered the viral [1984 meme](https://twitter.com/xor/status/564356757007261696/photo/1)), unless you use a wake-word. You can argue it does listen to the wake-word all the time, but we guess that wake-word recognition happens offline. That wake-word can be “Alexa”, “Amazon” or “Echo” and you can select that via their companion app. It lights up the "visual ring" on Echo while listening, so users can see it. But the notion of having something in your living room with not 1 or 2, but 7 always-perked-up ears is a scary one. Especially, when you happen to use that keyword in another conversation at home, it “perks up” its ears with that visual ring. If you are in another room, you will not even see the visual ring to be aware that it has "opened" its ears. Clearly, there is a dilemma between convenience vs. privacy here. Echo does not have a screen of any size, so Amazon is trying to push a behavior (and paradigm) change for users.
21 |
22 |
23 |
24 | How do we use it? (to the extent allowed by Amazon)
25 |
26 |
27 |
28 | Echo/Alexa does a pretty good job of recognizing our accents at my home, and interpret the intent. It works for the most part, however, occasionally it can’t understand some simple (in our view) questions. Interestingly that limitation (that it does not do full NLU) is not stated anywhere in the marketing materials perhaps in the hope that such technologies get better over time. We use Echo to play songs from Pandora or iHeartRadio. I ask “What’s the news today?” and it starts the NPR news highlights from TuneIn, added with a local weather report. San Diego weather does not change much :), but still it makes the news brief feel a bit personalized. I have set up a few room lights to control with Alexa and we use that a lot. It works 99% of the time (occasional “not responding” errors). The caveat here is that I need to program Philips Hue lights separately with its own app, name them, or create “scenes” and just use Echo to control them after the fact. This is a one-time exercise (but explains what people are trying to sell everything from the same company/standard). We also use Alexa for setting timers for cooking and kids’ practice tests etc. The intriguing fact is that Echo can listen correctly even when it is playing loud music on itself. (Nice job by Eng. with cancellation). You can add things to the shopping list and buy 1-click via, you guessed it – Amazon. Echo can get some other web services like booking rides from Uber, Pizza from Domino’s etc. However…
29 |
30 |
31 |
32 | All of these service and partnerships are determined & curated by Amazon. They are gate-keeping (and negotiating the rev share agreements) here. There is no way Spotify could have gotten there without cutting deals with Amazon first. Silos all over again. What if the user wanted to know the prices of X in their local area stores? What if the user wanted to add something to their Flipkart shopping list? Or order Pizza from nearby Pizza Hut store? Tough luck. But Again, this is designed by Amazon the way they saw fit.
33 |
34 |
35 |
36 | Gatekeeper advantage
37 |
38 |
39 |
40 | I have not looked into this yet, but Amazon could collect (or may be collecting) data on the competitive stats. E.g. Users using Spotify, Pandora to play certain tracks (popularity stats etc) can provide some insights to improving Amazon music store. Also, there are a lot of insights you can gain about the user based on their shopping lists, local weather, traffic, ambient conditions and recent questions. “So John just asked me about the weather (which I know is rainy), he has an umbrella in his shopping list, let’s offer him kids raincoat ads on desktop next time he logs in.” Also, Amazon can use and monetize the "power of defaults" nonetheless.
41 |
42 |
43 |
44 | Newer “Skills” (add-ons, anyone?)
45 |
46 |
47 |
48 | Echo did not launch with it’s own app store, but has taken a cue from the add-ons that their community builds (where have we heard this before?). Everyday, several “skills” are being added and users can look them up to use. However, there is no easy discovery (or surfacing) of the skills here. This part is all manual (I need to read up their emails on new skills). I talk to Echo everyday to test it out, so I am using it probably more than an average user but I am unsure how much of it a regular user discover this without a bit of tinkering or reading up. I feel like Echo should tell me about its new skills once in a while (interesting problem for UX). Perhaps answer questions like “Alexa, what new skills you learned recently?”. I can see Amazon would figure this out in future updates.
49 |
50 |
51 |
52 | Kids (and “teachable moments”)
53 |
54 |
55 |
56 | Being a novelty, this product is a big hit with our kids. Both my kids bombard it with song requests, check spellings, historical facts, get one liner jokes (jokes seem all kid friendly) etc. At times, they get their friends together and just ask away Alexa. (Alexa can also play games like Jeopardy, and there are lots of "Easter eggs" too). What they didn't know was that the app records all the queries and keeps a log. The group of kids was surprised when I asked them a day later “which one of you had asked Echo to make fart noises?”. Instantly, our conversation turned to how someone can track us on the Internet if we are not careful (with a plug thrown in for how my employer fights against it.) A [teachable moment](https://en.wikipedia.org/wiki/Teachable_moment) indeed! :)
57 |
58 |
59 |
60 | Some gaps
61 |
62 |
63 |
64 | There are a few more gaps with the Echo. E.g. it does not do multiple calendars yet. As a family setting up kids’ activities into 2 calendars, or adding to-dos I still have to rely on IFTTT, which is not a regular-user-friendly way. It does not have speaker (or talker) identification yet (which is a harder problem to solve than using imaging). There are other products like [Silks Labs’ Sense](https://www.kickstarter.com/projects/gal/sense-personalized-intelligence-for-your-connected) that are relying on cameras for telling cats apart from humans, which is a great use case to build upon. But with speaker identification, lot more personalization use cases could be added.
65 |
66 |
67 |
68 | In Summary
69 |
70 |
71 |
72 | In general, I see that these kinds of products will find much wider acceptance some day soon. A lot of people think talking to machines feels a bit silly (yes, it does today), but paradigms can change fast. (We did not have touch devices 10 years ago and it did feel a bit funny to “pinch and zoom” screens for a while. But now my kids wonder why ATM machines are not touch-enabled everywhere.) Also, carrying your phone with you at home feels forced if there is something users can just "access" the technology from anywhere at home. However, as people will have something like this in their living room 24x7, a product that provides more control & privacy to them will be sought for. Or so I hope.
73 |
--------------------------------------------------------------------------------
/reviews/Amazon-Echo.md:
--------------------------------------------------------------------------------
1 | **Unboxing**
2 | https://search.yahoo.com/yhs/search;_ylt=AwrTcYNmdrFWr5gANg4unIlQ?p=amazon%20echo%20unboxing&fr=yhs-m ozilla-002&fr2=p%3As%2Cv%3Ai%2Cm%3Apivot&stype=web&hsimp=yhs-002&hspart=mozilla
3 |
4 | I’ll admit it was WAY smaller than I had envisioned. I thought it was some sort of tall tower. It’s hard to say if that led me to feeling underwhelmed - like a “is this it” kind of feeling.
5 | https://github.com/mozilla/connected-devices-experiments/issues
6 | It was very simple - the device, the plug, a small start manual. This manual was exactly what I was missing from the Hello Sense even though it’s basically the exact same info - plug in the thing and go download the app.
7 |
8 | I do dislike the giant black box the cord came in. I always feel compelled to go through everything to make sure I didn’t miss anything.
9 |
10 | **Setup**
11 |
12 | Per the manual, I plugged it in. I choose my living room mostly because it could be high out of Alexander’s reach that wasn’t the kitchen. I didn’t want to deal with it getting messy or having to move it to clean the counters.
13 |
14 | Immediately after plugging it in it shows a moving circle of lights. The mic button is red and I’m unsure if it’s muted or not. I think it’s very cool that it has a mute button though. As I went back to the couch to then find my phone, it suddenly played music. Granted it started quiet and went louder but it still surprised me. Then Alexa started speaking - LOUDLY - and my dog and I both looked at it and then each other. I’m thinking god lord I hope that doesn’t wake up Alexander and wondering if it has a volume button.
15 |
16 | Amazon also gives me a quick URL short to the app - cool. But I am getting a little tired of downloading an app for every...single...thing in my house. Nest, Sense, Fitbit and now Alexa. Could they not have at very least combined it with the Amazon app?
17 |
18 | The app makes me sign in - they could have at least done the same thing Google does which is only make me sign in once. I have prime now and amazon on my phone. Why can’t it auto sign me in? And of course I have 2 factor auth so I have to do that as well.
19 |
20 | The very first screen in the app setup wizard has a truncated title. I’m already skeptical of the app’s design. The odd bit of setup was I had to go to my Settings and select the Amazon wifi from my house wifi. It was strange and a little confusing. Alexa confirmed again in her booming voice. Given that I’m sitting right next to it it seems unnecessarily (and I need visual contact for setup). I think it made me connect to Alexa via Amazon wifi so that I could then enter in my real wifi settings and push that to her so she could connect to my home wifi herself. It like providing a way to set that up without a UI on the device itself. Either way, the waiting time of “preparing your echo” felt slow. Despite finishing the setup - Alexa is still yellow.
21 |
22 | It’s now forcing me to watch a 3 min video. There is no skip button or do it later. The video was annoying, I really just want a list of stuff I can say that I can skim over and refer to later. After the video it has you try out some commands. I tired one but Alexa was red. No idea why. Finishing the intro I realize that Alexa is muted so I walk over to unmute. I asked for the weather and in a booming voice she replies. I try to shush her to no effect. I ask her if she could be quieter and she doesn’t reply.
23 |
24 | **Usage**
25 |
26 | After a weekend of use, I found that I mostly enjoyed listening to music while using a few of the other basic functions. Read on!
27 |
28 | **Interaction and Feedback Loop**
29 |
30 | My very first task was to figure out how to turn down the volume which actually took some googling. It wasn’t an easy thing to find, but there is a way to adjust the volume so she’s not so booming. [an aside - I later realized that the mini card - which I didn’t read -(see unboxing video in setup skip to 3min mark) does in fact tell you how to adjust the volume. ]
31 |
32 | The feedback varies from silence to I didn’t understand that to I’m not able to find that. The silence one is especially annoying because it’s unclear if she just didn’t hear or if she’s purposefully ignoring me b/c I’ve already asked three things in a row that she couldn’t answer.
33 |
34 | I’ve been surprised that I can generally rattle things off and she accurately hears it before one would think she’s actually listening. Instead of - “Alexa……..what time is it” I would say “Alexa what time is it?’ and get the answer.
35 |
36 | **Is she a person?**
37 |
38 | It feels kind of weird to just shout out commands all the time without any sort of gratitude or politeness. Perhaps I’m extra attentive b/c of my child, but I think not. It just feels wrong to shout out “Alexa play music” and not at least tack on a please at the end. Along those same lines I’ve noticed I have a tendency to say “Alexa can you play classical music please” instead of a command. This generally works but when Carl said “Alex can you play music” we got a literal interpretation of “can” when she listed the types of services she could connect to rather than playing music.
39 |
40 | **What can she do?**
41 |
42 | What time is it? Worked as expected
43 |
44 | What is the weather? Knew where I am located and rattled off the weather. But she wasn’t able to do anything more sophisticated like “when will it rain next”, “will it rain today” (this is PDX after all!)
45 |
46 | Music - she can do all the basic things you would expect like changing volume playing and stopping. She can play genres. She can also tell about who is currently playing. Since most of our usage has been around music, we quickly found many ‘use cases” not supported:
47 | play more music by this artist
48 | how much is this album to purchase
49 | what is the next song
50 | play music for a mood
51 |
52 | It would be awesome if I could hook it up to Spotify or Google Play, but even so just being able to play NPR or a radio station easily was pretty awesome. You could say “play classical” and away you go. You can also adjust the volume via voice as well. I think we had something playing for most of the weekend.
53 |
54 | To-do List
55 |
56 | I also enjoyed adding tasks to my list. I used IFTTT to hook up the Echo’s to-do list with my inbox. Pretty useful! I did notice there was quite a bit of lag though (no idea who’s fault that would be). Also not awesome when my husband caught on and started adding things like “make me a sandwich” and “be nice to husband” to my list.
57 |
58 | Reminders - I haven’t gotten super sophisticated with setting these yet. Basically said “set alarm for 6pm” kind of thing
59 |
60 | General Information - It seems kind of random what she can and can’t answer. We’ve asked some things and she replied and others got the “i don’t understand the question” type reply. I found it strange that she could answer “what is the weather” with no location, but couldn’t answer “who is the governor” (though she could answer who is the governor of oregon - for the mayor, you had to use portland oregon and she called it the “political leader”).
61 |
62 | Flash Brief
63 |
64 | I said Flash Brief as Liz hinted that this was a feature I hadn’t heard of or tried yet. Alexa tuned into NPR and it sounds like it’s just the normal broadcast.
65 |
66 | Overall
67 | It seems like she can do a lot of general basic tasks but when you want to get more complicated she totally breaks down. Sometimes she just focuses on a topic, e.g. weather, and just reiterates a the same reply for both “what is the weather” and “will it rain today?” I found it odd she was able to use location for some things e.g. weather and not others e.g governor.
68 |
69 | **Sharing a Household**
70 | Apparently you can share Alexa with other people in your household.
71 | https://www.amazon.com/gp/help/customer/display.html?nodeId=201628040
72 | I followed the steps, but Carl was already in my household. I asked Alexa to switch accounts and she told me she couldn’t until Carl accepted the TOS. I asked Carl to do so and he asked me how. Of course my reply was “IDK - download the app.” The response was a grunt - i.e. I’ll do it later i.e. it’s not getting done.
73 |
74 | Reading about it, it seems like it keeps content separate and you have to do things like “switch account” and “what account am i using”.
75 |
76 | Sidebar - imPo this seems ridiculous - who the F cares - and greatly speaks to the need for having a household account which people can then share stuff to (or not). A household cart that whoever cares would manage and approve purchases. If I could have my family add stuff to the cart - dog treats, TP, soap. It would be so easy to skim and approve - it could even be an email that shows up in the AM and you approve yesterday’s items. If you see your kid added 5 books - you could veto them or even save for later or add them to their wishlist.
77 |
78 |
79 | **-----Updates-----**
80 | Feb 4 - In casual conversation last night, Carl used Alexa’s name. She interrupted our conversation with a “I’m sorry I didn’t understand that”. We both paused and looked at each other. That was strange. It’s kind of like that guest at a dinner party who randomly injects into a conversation in a really awkward way that makes no sense. There’s a subtlety that she doesn’t understand - when her name is being used to refer to her vs talking to her.
81 |
82 |
83 | Another update... (Feb 19)
84 |
85 | I've moved the Echo into the office. After a few days, someone in the office privately pulled me aside and asked if we could change the wake word from Alexa. The reason - "listening to men order a 'woman' around all, some of which are very rude about it, has become grating."
86 |
87 | I thought that was very interesting and relevant for Vaani.
88 |
89 | Another item I wanted to note which is issues with contextual volume. When I'm in the same room, I want a lower volume than when I'm in a different room. I've run into issues where I've asked something from the kitchen and then couldn't hear the response. Or it was way too loud and startled me.
90 |
--------------------------------------------------------------------------------
/investigations/Beacons.md:
--------------------------------------------------------------------------------
1 | **Introduction**
2 |
3 | As part of Connected Devices IOT research I have been learning about Beacons and I'd like to share some of what I've learned. I'm just learning myself so this is by no means a detailed or expert source of information, however it will provide a high-level overview and perhaps it will peak your interest in the subject.
4 |
5 | **What is a Beacon?**
6 |
7 | The Beacons I am referencing here are BLE (Bluetooth Low Energy) Beacons which are small devices that broadcast tiny bits of information into the surrounding world.
8 |
9 | **How Beacons are Used**
10 |
11 | Beacons are all about expanding the internet to the objects around us, making it easier to learn information and interact with our surroundings based on our current physical location. For example, you see a movie poster and want to quickly find and watch the trailer. Or you're walking by a shop and want to easily see if there are any sales that interest you. Maybe you find a lost puppy and want to be able to learn where it lives and contact it's residence fast. Maybe you're at a restaurant and want to check out the menu before you go inside. With smart devices and the 'internet of things' expanding all around us, there are potentially endless use cases.
12 |
13 | **Some Projects that use Beacons**
14 |
15 | Currently there are a couple of major players working on initiatives that use BLE Beacons: Apple's 'iBeacon', and Google's open-source project called 'The Physical Web'. For my purposes I researched more about the open-source Physical Web project.
16 |
17 | **Beacons and The Physical Web**
18 |
19 | The general idea of the Physical Web is to extend the internet so that one can interact with physical objects around them. Beacons broadcast URLs that are location-sensitive in that the URL will point to a web site that is relevant to the beacon's physical location or purpose. Clients run on mobile phones and scan the area around their current location and discover messages advertised on nearby beacons.
20 |
21 | Beacons are very limited in the size of data which they can broadcast, so for the Physical Web they're restricted to a URL. Upon discovery of a beacon and corresponding URL, the mobile client can connect to the Physical Web server and retrieve more metadata or attachments related to the URL which was broadcast. This also makes it easy to update the content associated with a beacon by just updating the corresponding beacon attachment in the server, and not having to update the physical beacon itself (unless changing the actual URL).
22 |
23 | If a beacon is embedded inside a smart device, once discovered by a mobile client, the client could even ultimately connect to and interact with the smart device itself via the server, if the device itself is internet enabled. One example that Google notes is discovering a beacon that is inside a parking meter; then using your mobile phone to pay for parking, and the parking meter is updated accordingly.
24 |
25 | Google offers open-source Physical Web client apps for both ios and android (links below). You can develop your own mobile client using the Bluetooth BLE, Google Developers Nearby, and Eddystone Protocol APIs.
26 |
27 | **How Beacons Work**
28 |
29 | BLE beacons use bluetooth (obviously hah) to broadcast a tiny bit of information around them. They just use the bluetooth 'advertising' packet so that mobile devices don't have to actually pair with the beacon itself. A beacon broadcasts the advertising message in a special format according to the beacon protocol being used.
30 |
31 | For iBeacons, they have their own iBeacon protocol. For The Physical Web, Google has developed an open-source beacon protocol called Eddystone.
32 |
33 | Beacons that support the Eddystone protocol broadcast a URL using the 'Eddystone-URL' frame type. The URL itself is encoded so that it can be extremely short (since there is a limited number of bytes that can be broadcast) and the URL is decoded on the mobile client. For example, 'http://www.' may be encoded down to one special single character.
34 |
35 | **Beacon Health**
36 |
37 | Eddystone beacons also broadcast a special frame type called 'Eddystone-TLM' that contains beacon telemetry data. This data includes battery info, beacon device temperature, broadcast duration etc. which can be used to analyze and report the general health of the beacons. Dashboards can be built that monitor the beacons and warn when they are not working correctly or run out of battery power, etc.
38 |
39 | **Configuring Beacons**
40 |
41 | How beacons are configured depends on the manufacturer. Most of them that I have seen provide cloud tools or apps that allow you to connect to the beacon and configure it. Generally you can configure the following options on a beacon:
42 |
43 | - Broadcast protocol (i.e. Eddystone, iBeacon)
44 |
45 | - A beacon name
46 |
47 | - Location description or other location-based metadata
48 |
49 | - The URL/message being advertised
50 |
51 | - Transmission power (i.e. broadcast range); obviously a further range will use more beacon power. Beacon range depends on the type of beacon (USB or stand-alone), the manufacturer, and the physical environment where the beacon is placed; but I've seen some advertised online as having a range of up to 75 metres
52 |
53 | - Broadcast speed (i.e. the faster the broadcast rate the faster a beacon client can read the packets and discover it; however a faster broadcast rate also requires more beacon power
54 |
55 | - How many telemetry frames are broadcast vs actual message frames
56 |
57 | For example, [BlueCats Beacons](http://bluecats.com/) have cloud tools that can be accessed via a web browser or mobile app. Their web portal doesn't connect directly to the beacon itself; however their mobile phone app does via the device's bluetooth; therefore any configuration settings made via the web are not applied to the beacon until the beacon is connected to the mobile phone app. Or beacons can be configured directly from the mobile app itself. BlueCats also offers their own SDK.
58 |
59 | The BlueCats ios and android apps include a sniffer that allows your mobile phone to discover the beacons around you, and then connect and configure the ones that you own or have permissions for. The BlueCats beacon configuration tools are very impressive and extensive, and allow you to configure and categorize your BlueCat beacons in a variety of different ways.
60 |
61 | I have seen some online beacon manufacturers and cloud services that offer full beacon configuration and setup online at the time of purchase, so that on arrival your beacons are ready to go right out of the box. I could see this being a great option, for example, for a small business that wants to use beacons to advertise but doesn't necessarily have the expertise or time to configure the beacons themselves.
62 |
63 | **Beacon Manufacturers and Cost**
64 |
65 | There are a variety of manufacturers of BLE Beacons around the world. There are USB beacons which are super tiny, and connect to a USB port in order to power them (they can be connected to an AC power USB port instead of a computer). There are stand-alone beacons which are larger and have their own power source ranging from watch-like batteries to several AA batteries. Depending on the manufacturer and model, beacons can have a battery life ranging from a few months to several years. For a list of popular beacon manufacturers see the resources section below.
66 |
67 | To work with the Physical Web, be sure to purchase beacons that support the Eddystone protocol and have the supporting configuration tools. Several of the beacons that I saw online support broadcasting both the iBeacon and Eddystone protocols, but some only support one or the other.
68 |
69 | Cost-wise this greatly varies depending on manufacturer. Beacons manufactured in Asia tend to be cheaper. Also USB beacons tend to cost a bit less than stand-alone beacons but are not as convenient to be placed since they require USB power, and generally have a smaller transmission range.
70 |
71 | I've seen some manufacturers require a 3-unit minimum when ordering their beacons, and also some provide discounts when beacons are ordered in large quantities. Some manufacturers offer beacon 'starter packs' which include a few beacons as well as access to their online cloud software. For pricing it's best to go online and have a look as it is a very wide range. The beacons that I tried out ([BlueCat AA Beacon](http://store.bluecats.com/collections/featured-products/products/aa-beacon-3)) cost $29 USD each with a 3-beacon minimum, at least at the time of writing this.
72 |
73 | **Further Resources**
74 |
75 | I hope that was interesting and helpful. Here are some useful links that can provide you with much more detailed information about beacons and The Physical Web!
76 |
77 | - [iBeacon](https://en.wikipedia.org/wiki/IBeacon) on Wikipedia
78 |
79 | - Apple's [iBeacon Developer](https://developer.apple.com/ibeacon/) resources page
80 |
81 | - The [Physical Web](https://google.github.io/physical-web/) home page
82 |
83 | - [Google Developers: Beacons](https://developers.google.com/beacons/) home page
84 |
85 | - Google Developers: [Getting Started with Beacons](https://developers.google.com/beacons/get-started)
86 |
87 | - Google Developers: Beacons [Platform Overview](https://developers.google.com/beacons/overview)
88 |
89 | - The Physical Web [github repository](https://github.com/google/physical-web)
90 |
91 | - The Physical Web [technical overview](https://github.com/google/physical-web/blob/master/documentation/technical_overview.md)
92 |
93 | - The Eddystone protocol [github repository](https://github.com/google/eddystone)
94 |
95 | - Google Developers: [Nearby API](https://developers.google.com/nearby/)
96 |
97 | - Google Developers: [Proximity Beacon API](https://developers.google.com/beacons/proximity/guides)
98 |
99 | - The [Physical Web Cookbook](http://google.github.io/physical-web/cookbook/)
100 |
101 | - YouTube: [Introduction to the Physical Web](https://youtu.be/w0XazPrh7r0) (Ubiquity Dev Summit 2016)
102 |
103 | - Although perhaps a bit outdated now, a [List of the 9 biggest Beacon Manufacturers](http://www.nodesagency.com/list-9-biggest-beacon-manufacturers/)
104 |
105 | - The Physical Web open-source [android app source](https://github.com/google/physical-web/tree/master/android) and the [ios app source](https://github.com/google/physical-web/tree/master/ios)
106 |
107 | - The Physical Web [demo app](https://play.google.com/store/apps/details?id=physical_web.org.physicalweb) on the Google Play Store
108 |
109 | - Node.js Eddystone [Beacon Scanner](https://github.com/sandeepmistry/node-eddystone-beacon-scanner)
110 |
111 | - [BlueCats](http://bluecats.com/) home page
112 |
113 | - BlueCats [Beacons](http://bluecats.com/beacons.html) and [Developer Resources](http://bluecats.com/developers.html)
114 |
--------------------------------------------------------------------------------
/experiments/Sparkfun-Sensors.md:
--------------------------------------------------------------------------------
1 | **Introduction**
2 |
3 | With the 'Internet of Things' taking off there are some cloud services out there that allow you to publish data from your various IOT devices. One such service is hosted by [SparkFun](https://data.sparkfun.com/), and I wanted to give it a try to see what the world of publishing sensor data is like.
4 |
5 | **The SparkFun Cloud**
6 |
7 | [SparkFun](https://data.sparkfun.com/) is a free sensor data publishing service that lets you create a data 'stream', name your stream, and define what type of data you will be publishing. It's cool as you don't have to create an account to use their publishing cloud; instead of requiring a sign-in you are provided with a stream public key and private key. You don't have to provide any personal information (you can even publish completely anonymously if you like).
8 |
9 | Your data stream is allocated 50 MB maximum, and once you reach that limit it acts as a queue where the oldest sensor data records will be deleted as new ones are received. Any data that you do publish will be public, and it may be used by 'data scientists' around the world. However it appears that you do have full control over your own data, in that you can choose to clear out your data stream or delete it completely at any given time. There is a limit to how fast you can post data to your stream: a maximum of 100 data pushes in any given 15 minute window (approximately one post to your data stream every 9 seconds).
10 |
11 | SparkFun also has an [online storefront](https://www.sparkfun.com/) where you can purchase IOT hacking equipment such as Arduino boards, Raspberry Pi's, sensor kits, their own branded hacking boards, and lots of other fun stuff. Note that the [data.sparkfun.com](https://data.sparkfun.com/) publishing cloud supports data posted from any platform not just from hardware purchased from the SparkFun store.
12 |
13 | **My Data Experiment**
14 |
15 | To try out sparkfun.data.com I decided to create a live data stream and post light sensor and temperature data from my office environment, using my Arduino Uno board and sensor shield. I am running an Ubuntu 14.04 VM on my MacBook.
16 |
17 | **Step 1: Setup my Arduino Board**
18 |
19 | As mentioned earlier I'm using an [Arduino Uno](https://www.arduino.cc/en/Main/ArduinoBoardUno) board with an attached Tinkerkit sensor shield, that I purchased as part of a [sensor starter kit](http://www.canadarobotix.com/microcontroller-kits/1701-carobot-tinkerkit-basic-starter-bundle).
20 |
21 | 
22 | _Arduino Uno with Tinkerkit Sensor Shield_
23 |
24 | I previously flashed my Arduino board with the Arduino 'Standard Firmata' firmware (to allow my board to run code and to talk to my VM, etc.) using the [Arduino IDE](https://www.arduino.cc/en/Main/Software). I won't go into [the details](https://www.arduino.cc/en/Guide/HomePage) as that is basically the standard way to setup an Arduino board before you start hacking with it.
25 |
26 | After attaching the sensor shield to the Arduino board, I attached a photoresistor to the sensor shield input I0, a temperature sensor to the shield's input I1, and also a green LED to the shield's output O0.
27 |
28 | 
29 | _Arduino Tinkerkit sensor shield ports_
30 |
31 | I just used a box to standup the sensors so that I could interact with the sensors easily. The green LED will be used just to indicate that sensor data is being received.
32 |
33 | 
34 | _Tinkerkit LED, photoresistor, and temperature sensor_
35 |
36 | **Step 2: Create a SparkFun Stream**
37 |
38 | It was really easy to create a new SparkFun data stream and as I mentioned earlier the best part is no account creation/sign-in is required. To create the data stream I just browsed to [data.sparkfun.com](https://data.sparkfun.com/) and then clicked the 'Create' button to 'create a free data stream immediately'.
39 |
40 | 
41 | _Create stream page on data.sparkfun.com_
42 |
43 | Once on the create stream page, I just had to:
44 |
45 | - Provide a name for my stream, this name is displayed publicly on your stream page as well as by default on the list of public streams. I named my stream 'Office environment'.
46 |
47 | - Provide a stream description (this also appears publicly on your stream page). I used 'Light and temperature sensor data from the office in Toronto, ON' for my stream description.
48 |
49 | - Your stream data is always public and can be viewed via your stream URL. By default streams will appear in SparkFun's [public stream list](https://data.sparkfun.com/streams/) which shows active streams ordered by those that have published new data most recently. If you select 'Hidden' for the 'Show in Public Stream List' option, then your data will still be public via the URL, however the stream URL won't be advertised on the public streams list.
50 |
51 | - Specified the names of the fields for the data that will be published. These appear as column headings on the data stream page. I used 'light, temp_c' for my field names.
52 |
53 | - Optionally specified a stream alias. This is really cool and allows you to have a custom URL for your data stream instead of just the cryptic stream ID. The resulting alias will be in the form of 'http://data.sparkfun.com/your_stream_alias'.
54 |
55 | - Optionally specified tag(s) for your data stream, this just helps other people find your sensor data. I used 'light, temperature' for my stream tags.
56 |
57 | - Specified a location, but don't put an exact address in case this value is used publicly. I just used 'Toronto, ON' for my stream location.
58 |
59 | Then I clicked the 'Save' button and was good to go! The new stream was created and a new stream page displayed, that showed my new stream public key (which is a part of the stream URL), alias, private key and a delete key. These keys are required to publish to, clear, or delete your data stream (and there is an option to provide your email address so the keys are sent to you).
60 |
61 | **Step 3: Write the Code**
62 |
63 | With the Arduino board and sensors ready, and my SparkFun data stream created, next I had to write the code to grab the sensor data from the board and post it to the data stream.
64 |
65 | I wanted to write the code in node.js, so I used a super cool framework called [Johnny-five](http://johnny-five.io/). Johnny-five is an open-source framework that lets you talk to your arduino board using node.js and the Arduino's 'StandardFirmata' firmware. The JS code runs on your local machine but connects to and interacts with the Arduino board via the board's firmware. With the [J5 API](http://johnny-five.io/api/) you can create objects to control your Arduino board and interact with the board inputs and outputs. J5 also adds support for the REPL (Read-Eval-Print-Loop) command line, so when you are running your node.js code you can type in commands in the terminal and interact with your Arduino board live (using the objects that you created in your code). This is great for debugging and for just learning how to use the API in general.
66 |
67 | J5 makes it super easy. As an example, using J5 and node.js to control an LED that is attached to the sensor shield output O0, you would do something like:
68 |
69 | ```javascript
70 | var five = require('johnny-five');
71 | var board = new five.Board();
72 |
73 | // when board is booted and connected, turn on the LED
74 | board.on('ready', function() {
75 | var myLed = new five.Led('O0');
76 | myLed.on();
77 | });
78 | ```
79 |
80 | When creating a new J5 sensor object, you can specify the frequency at which you want to take sensor data readings (ms). A callback is specified that will be invoked each time new data is received from the sensor. For example, to use J5 to read light sensor data from the Arduino board every 10 seconds:
81 |
82 | ```javascript
83 | var five = require('johnny-five');
84 | var board = new five.Board();
85 |
86 | // when board is booted and connected, get light sensor data every 10 seconds
87 | board.on('ready', function() {
88 | var myLightSensor = new five.Sensor({pin:'A0', freq: 10000});
89 | myLightSensor.on('data', () => {
90 | lightValue = myLightSensor.value;
91 | console.log(`Light sensor reading: ${lightValue}`);
92 | });
93 | });
94 | ```
95 |
96 | To post sensor data to the SparkFun data stream, SparkFun provides the [Phant-Client](https://www.npmjs.com/package/phant-client) NPM package which uses the [Phant API](http://phant.io/docs/input/http/). First you have to connect to your existing SparkFun data stream, like this:
97 |
98 | ```javascript
99 | var Phant = require('phant-client').Phant;
100 |
101 | var phant = new Phant();
102 | var iri = 'https://data.sparkfun.com/streams/' + '';
103 |
104 | // connect to the data stream
105 | phant.connect(iri, function(error, streamd) {
106 | if (error) {
107 | // handle error
108 | } else {
109 | // successfully connected to the data stream, so continue
110 | }
111 | });
112 | ```
113 |
114 | After connecting to the stream you need to add the stream's private key to the stream object, so that you can post data:
115 |
116 | ```javascript
117 | myStream = streamd;
118 | myStream.privateKey = sparkey; // sparkey contains the private key
119 | ```
120 |
121 | Then the sensor data (lightValue, and tempValue in this example) can be posted using phant.add. A callback is provided which is invoked once the data has been successfully posted to your stream. Important: the value names you provide must match the field names that you specified at the time of your stream creation:
122 |
123 | ```javascript
124 | // post to my data.sparkfun.com stream
125 | phant.add(myStream, {light: lightValue, temp_c: tempValue}, () => {
126 | console.log(`Successfully posted to ${iri}`);
127 | });
128 | ```
129 |
130 | My full node.js code that I developed for this experiment can be found [here in my Github repo](https://github.com/rwood-moz/iot-hacking/blob/master/arduino/sparkfun.js).
131 |
132 | **Step 4: Start it Up!**
133 |
134 | With my Arduino board connected to USB and powered up, I started my node.js program in an Ubuntu terminal (providing my SparkFun stream private key as an environment variable on the command line).
135 |
136 | My program successfully connected to my Sparkfun data stream online. Once the Arduino board entered the 'ready' state my program began grabbing light and temperature sensor data every minute, posting each data-set to my live stream. I let it run for awhile to generate some data (and at one point I turned on a lamp and touched the temperature sensor, to cause noticeable changes in the sensor values).
137 |
138 | 
139 | _Console output for my node.js program. I turned a desk lamp on and touched the temperature sensor just before sensor reading 8_
140 |
141 | **Step 5: View the Data Online**
142 |
143 | Now that data was successfully being posted to my live stream, I could go and check it out! I just browsed to [my sensor stream alias](https://data.sparkfun.com/robs_office) or directly to my [sensor stream URL](https://data.sparkfun.com/streams/JxEyArKAN9T1g08J1rNR), and there it is. Success!
144 |
145 | 
146 | _My resulting live sensor data stream on data.sparkfun.com_
147 |
148 | Besides viewing your own data, you can explore the other [SparkFun Public Streams](https://data.sparkfun.com/streams/) and see what other people are posting too.
149 |
150 | **Exporting Sensor Data**
151 |
152 | Another really cool feature of [data.sparkfun.com](https://data.sparkfun.com/) is that you can export all of your sensor data from the cloud to your local drive. All you have to do is browse to your data stream, then in the top left there is the option to export to JSON, CSV, etc. I tested this out and exported all of my sensor data at that particular time to JSON, and you can see the [resulting JSON file here](https://github.com/rwood-moz/iot-hacking/blob/master/arduino/sparkfun-export.json) in my Github repo.
153 |
154 | **In Summary**
155 |
156 | Using my [Arduino](https://www.arduino.cc/) board, the [Johnny-five](http://johnny-five.io/) node.js framework, and the [Phant-Client](https://github.com/dpjanes/iotdb-phant-client), it was relatively easy to publish my sensor data on [data.sparkfun.com](https://data.sparkfun.com/). Cloud publishing services like this will encourage and enable hackers to get involved in the internet-of-things and learn new skills in general. Very cool!
157 |
--------------------------------------------------------------------------------
/reviews/SmartThings-Purchasing.md:
--------------------------------------------------------------------------------
1 | This is a diary-like review of the process of purchasing SmartThings. It's meant to observe the end-to-end consumer experience of investigating and then purchasing SmartThings. So it goes beyond a standard UX heuristic review of the SmartThings website to include my questions, thoughts, observations, and feelings during the process.
2 |
3 | I'll continue it in another issue once I receive the SmartThings products.
4 |
5 | Feel free to comment - especially if you've also purchased anything in the SmartThings family!
6 |
7 | ++++++++++++++++++++
8 | **Table of Contents**
9 | **[Context](https://github.com/mozilla/connected-devices-experiments/issues/1#context)**
10 | **[Research](https://github.com/mozilla/connected-devices-experiments/issues/1#research)**
11 | **[Add to Cart](https://github.com/mozilla/connected-devices-experiments/issues/1#addcart)**
12 | **[Purchase](https://github.com/mozilla/connected-devices-experiments/issues/1#purchase)**
13 | **[I want more fun!](https://github.com/mozilla/connected-devices-experiments/issues/1#fun)**
14 | ++++++++++++++++++++
15 | ### Context
16 | I'm buying some SmartThings items to test out the system. Because we've been looking into the smart home industry, I'd already reviewed the SmartThings website. Based on my earlier reviews, I thought that SmartThings was focused on lighting, security, and monitoring the home.
17 |
18 | But Valerie C explained that SmartThings can do a lot more than I thought it could do. I want to test that with two scenarios: 1) automating my morning routine (coffee, lights, music), and 2) learning when my mail arrives -- the mailbox is a short walk from my house, and I want to know the mail is there before I walk down.
19 | ++++++++++++++++++++
20 | ### Research
21 | _Thursday, Feb 11, 2016_
22 | I've already decided to buy SmartThings. So I'm not looking for comparisons with other smart home tech or for consumer reviews. Since my scenarios are fairly specific, I'm looking for information that will help me figure out what I need to buy to bring these scenarios to life.
23 |
24 | So I visit the SmartThings website.
25 |
26 |
27 |
28 | Hmm, _monitor_, _control_, and _secure_ are words that make me think SmartThings is only about security and monitoring systems. This doesn't sound promising since I’m looking to do very different things in my home.
29 |
30 | I already know I need to buy a hub and some "things" for my scenarios. I'm a fairly regular home DIY-er, so I'm comfortable finding someone else’s idea and tweaking it for my own purposes. I want examples of things other people have done with their SmartThings system. I would love to find my exact scenarios with a step-by-step tutorial and just click "buy all" and be done with it. I realize this is a farfetched request -- it would be impossible for SmartThings to anticipate every scenario for every consumer. But there's probably some often repeated ones, like morning routine...
31 |
32 | A couple scrolls down the homepage is a link to _Explore Uses_ -- I click that.
33 |
34 |
35 |
36 | I'm not sure what to click on this page. Morning routine stuff is probably under _Convenience and Entertainment_, but where would "know when mail has arrived" be? I start by clicking _Convenience and Entertainment_.
37 |
38 |
39 |
40 | In the "James" section of _Convenience and Entertainment_, I click _See his apartment_ to learn about his morning routine setup.
41 |
42 |
43 |
44 | I watch the video. It sounds similar to my morning routine scenario. I'm hoping I can just copy and tweak his setup! I scroll down to see the "things" James used to create his setup. Wow, 12 pieces of hardware...sounds complicated.
45 |
46 |
47 |
48 | Scroll further to read how he set it up. Ugh, it's like SmartThings is not even trying to make this easy for me.
49 |
50 |
51 |
52 | The description of how to "do this at home" is too vague for me to feel confident I could re-create it. So it fails as an explicit "do this at home" tutorial. Yet there's so much description that it also fails as a "hey anybody can build this" message. I walk away thinking that re-creating this will be tedious, boring, complex, and expensive.
53 |
54 | I’ve lost the motivation to continue this research today.
55 | ++++++++++++++++++++
56 | ### Add to Cart
57 | _Friday, Feb 12, 2016_
58 | Motivated again! All the "things" need a hub, so I go to _Shop_ and add a hub to my cart. What else do I need to buy?
59 |
60 | When I wake up, I want the system to turn on the kitchen lights and the coffeepot and turn on either NPR or my favorite jazz station. The time I wake up varies from day to day, so I can't set these up on a schedule. What can I use as a trigger?
61 |
62 | A weight sensor seems to make sense. When the bed detects less weight, that triggers the other actions. I look around in the SmartThings product area, but don’t see anything about weight.
63 |
64 | I google "smartthings and weight sensor." I find [this forum](https://community.smartthings.com/t/weight-sensor-load-sensor-anyone/23914) and then click [this link](http://www.cnet.com/products/samsung-sleepsense/). SmartThings plans to release SleepSense sometime in 2016. Too late for me but I think this would work as a "thing" that could trigger my morning routine scenario. I wouldn't buy this product however. I’m only interested in my high-level sleep patterns, so my [Shine](http://misfit.com/products/speedo-shine) works just fine for me. It looks like the SleepSense price will be around $200-$250. So this would be much too expensive if all I used it for is detecting when I woke up.
65 |
66 | The forum article suggests that I could DIY something, but I’m not interested in that.
67 |
68 | It occurs to me now that my Shine tracks my sleep, and it knows when I’m "awake." So maybe it could trigger the morning routine scenario? Google "smartthings and misfit shine." Looks like SmartThings doesn’t support it. Maybe IFTTT? Bummer, the IFTTT triggers for Misfit don’t include "when I wake up."
69 |
70 | After 15 more minutes of thinking and wandering in the product section, I decide that I could get a motion detector and put it on my nightstand. When I wake up and wave my hand over it, that action would trigger my morning routine scenario. If there is a better or more efficient way to do this, I no longer care. I’ve already spent 30 minutes on just one piece of hardware for my morning routine - this is taking way too long!
71 |
72 | Now I'm on the [motion sensor page](https://shop.smartthings.com/#!/products/samsung-smartthings-motion-sensor). The 2-pack is a slightly better deal (saves $4), so I'm wondering if I should do that. Spend some time thinking about how I would make the "know when mail arrives" scenario work. Will a motion sensor work? Or do I need an open/close sensor? Argh just want to finish this one scenario for now. So I put 1 motion sensor in my cart.
73 |
74 | Now I need a way to control my kitchen lights and my coffee pot. Go to [Lights and Switches](https://shop.smartthings.com/#!/taxons/things/lights-and-switches). The [SmartOutlet](https://shop.smartthings.com/#!/products/samsung-smartthings-outlet) looks like it will work. $55 each, kinda pricey, doing all the lights in my house would be a big investment.
75 |
76 | I _think_ I could get 2 of [these](https://shop.smartthings.com/#!/products/ge-in-wall-outlet) instead of the SmartOutlets. But I'm not up for electrical work for this exercise. Add 2 SmartOutlets to my cart.
77 |
78 | I can already tell that I'm going to hate how the SmartOutlet integrates into my old house with limited kitchen outlets. The undercounter lights plug into one of [these extension things](http://i.stack.imgur.com/Wkt44.jpg). So the SmartOutlet will sit on top of that. Bulky and unattractive. At least it’s white though.
79 |
80 | Now the mailbox scenario. I want the arrival of the mail to play a song inside my house. I think an open/close sensor would work. Google "smartthings and mailbox." Find [this](https://blog.smartthings.com/stories/herding-cats-checking-mail/), which confirms that an open/close sensor would work. Add the [Multipurpose Sensor](https://shop.smartthings.com/#!/products/samsung-smartthings-multipurpose-sensor) to cart. Then change my mind because my mailbox doesn't close all the way. Delete multipurpose sensor and add second motion sensor to cart.
81 |
82 | > Sidebar observation: the SmartThings website has become useless to me at this point. Google is the way I'm finding most information, and many of the links take me the SmartThings community forums. This is an ok experience. But SmartThings should really do a better job of integrating the marketing portion of the website with the community forums, where I suspect the answers for many (most?) consumers lie.
83 |
84 | How can I make the motion sensor trigger music playing? Google "smartthings and speakers." Ugh, now I have to get into home music/theater. Why does home music/theater have to be so complex? It’s stupid. Anyway, my (crappy) Airplay speakers don’t work with SmartThings. Based on 5 minutes of googling, I _think_ there might be a way to make Airplay work, but it seems to require a lot more research and fiddling around with components and possibly third-party software or integrations. Not motivated to do that.
85 |
86 | I have been thinking about getting Sonos speakers, which do work with SmartThings. Also "get a NAS" has been on my to-do list for the past year. So if I get both, it looks like I can make SmartThings play music from the NAS through a Sonos speaker when the mail arrives.
87 |
88 | Both the NAS and speakers have to be white, because I hate how black equipment breaks up the visual flow in my house. I know this requirement limits my options, but it's important to me.
89 |
90 | 45 minutes later, I’ve researched and found a white NAS and a (mostly) white Sonos speaker that, _in theory_, also works with my Samsung Smart TV. It’s not entirely clear that this speaker works well with my TV, but it would be ideal if the speaker played music and TV. So I’m willing to try it out...
91 |
92 | My SmartThings cart now totals $266. That amount includes the 5% "sign up for emails" discount.
93 |
94 | > Sidebar observation: Almost all retailers I interact with offer 10% (some offer 15% or 20%) off the first order when you volunteer to receive their marketing spam, I mean, email updates. However I've heard that SmartThings is selling at close to cost, so perhaps they can't do better than 5% off. That's great for consumers who plan to keep buying SmartThings products. Yet also unfortunate for SmartThings, as the 5% discount reads as "cheap" relative to other retailers.
95 |
96 | I would also be spending about $800 on the NAS and Sonos. So my grand total would be close to $1100 for two relatively simple home scenarios, one of which (morning routine) I imagine is a very common scenario.
97 |
98 | It's important to note that I could not achieve my goals of playing music without making additional purchases. This is precisely how the cost of smart home tech adds up quickly for many people -- smart home systems don't always work with people’s existing equipment. If you don't want to buy new equipment that does work with the system, you can go the DIY route. But DIY complexity produces another "expensive" cost in terms of time and energy.
99 |
100 | Ok, done for the day.
101 | ++++++++++++++++++++
102 | ### Purchase
103 | _Tuesday, Feb 16, 2016_
104 | My cart is saved from my earlier work. So I go ahead and place the order. _Note:_ while going through the purchase process, everything looks fine, no indications that anything is wrong.
105 |
106 | After placing the order, I immediately receive an email saying that the motion sensors are backordered, but no date is provided for when they'll be back in stock. Ok that's not terrible; I'll get the other items sooner, right? No, in contrast to most other retailers, SmartThings will only ship an order when all the items are in stock. Seriously disappointed after spending all this time to figure out what to buy.
107 |
108 | I go back to the product detail page to see if I missed the "backordered" messaging.
109 |
110 |
111 |
112 | There is a small section indicating that the motion sensors are out of stock. Clicking the ? icon doesn't provide an ETA for when they'll be back in stock.
113 |
114 | So I email SmartThings to cancel my order. To their credit, they reply immediately with a note saying my order has been cancelled and that the motion sensors should be back in stock next week. I visit HomeDepot.com, and all the items are in stock. Place my order with Home Depot -- my new SmartThings will be at my house in 3 days!
115 | ++++++++++++++++++++
116 | ### I want more fun!
117 | _Tuesday, Feb 16, 2016_
118 |
119 | I'm also looking into building an ambient light indicator that responds when the mail arrives.
120 |
121 | Check out [the second installment of this series](https://github.com/mozilla/connected-devices-experiments/blob/master/reviews/SmartThings-Makes-me-feel-stupid.md).
122 |
--------------------------------------------------------------------------------