This is the presentation I gave at Mobile+Web DevCon 2016 about developing mobile application in the landscape of the Internet of Things (IoT). It is a set of best practices around the experience and key learnings that are in addition to the what you normally need to do when developing a mobile application.
4. Diving In
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:
(NSError *)error
{
if ([service.UUID isEqual:[CBUUID UUIDWithString:POLARH7_HRM_HEART_RATE_SERVICE_UUID]]) { // 1
for (CBCharacteristic *aChar in service.characteristics)
{
// Request heart rate notifications
if ([aChar.UUID isEqual:[CBUUID
UUIDWithString:POLARH7_HRM_MEASUREMENT_CHARACTERISTIC_UUID]]) { // 2
[self.polarH7HRMPeripheral setNotifyValue:YES forCharacteristic:aChar];
NSLog(@"Found heart rate measurement characteristic");
}
// Request body sensor location
else if ([aChar.UUID isEqual:[CBUUID
UUIDWithString:POLARH7_HRM_BODY_LOCATION_CHARACTERISTIC_UUID]]) { // 3
[self.polarH7HRMPeripheral readValueForCharacteristic:aChar];
NSLog(@"Found body sensor location characteristic");
}
}
}
// Retrieve Device Information Services for the Manufacturer Name
if ([service.UUID isEqual:[CBUUID UUIDWithString:POLARH7_HRM_DEVICE_INFO_SERVICE_UUID]]) { // 4
for (CBCharacteristic *aChar in service.characteristics)
{
if ([aChar.UUID isEqual:[CBUUID
UUIDWithString:POLARH7_HRM_MANUFACTURER_NAME_CHARACTERISTIC_UUID]]) {
[self.polarH7HRMPeripheral readValueForCharacteristic:aChar];
NSLog(@"Found a device manufacturer name characteristic");
}
}
}
}
5. Inter·net of things
noun
noun: Internet of things
1) a proposed development of the Internet in which everyday objects have network
connectivity, allowing them to send and receive data.
6. Numbers
25% of the apps are games
I was going to say more but everyone else
has already put up everything
7.
8. What is Sproutling?
A wearable band for your baby, a smart
charger and a mobile app work together to
not only monitor more effectively but learn
and predict your baby's sleep habits and
optimal sleep conditions
14. Constantly Better
There have been 4 updates since I
purchased my Tesla and it now drives me
to work and I can use my phone to pull
my car of the garage
15. Brand Support
What do you do when your brand has
multiple connected devices?
How does your app compare and work
into the Out of Box Experience (OBE)?
17. UV-curing solder mask to home-fabbed boards
Date
“Well you have true pub/sub with MQTT thats the biggest thing. MQTT was built around
the notion of message queuing. Websockets were built from a need for unidirectional http
communication thats at the highest level”
Chris Hein
21. Testing
Integration testing is hard to automate,
take a lot of time and costly to change
Make sure you have great manual tests
and scripts, seriously
Make sure you performance and usability
test!
22. Teams
Hardware and software need to work
together in perfect harmony
Small team communication is easy
Larger teams need protocols and
documentation to avoid running off the
rails
23. Connection
Fatigue
I wanna disconnect myself, do it
I wanna disconnect myself, get it
I wanna pull my brain stem out, do it
I wanna disconnect myself right now