CES Day 0

Wow.. for a day of setup and a few quick meetings, I logged over 15,000 steps on my Withings Pulse device today.  I can honestly say that the excitement for what to see tomorrow is palatable.  IoT is everywhere!  As an exhibiter I am able to peak around on the various show floors, but this time I only went into the Sands Convention center space.  It includes Connected Home, Connected Health, and 3D Printing! I also know that I am going to spend significant amount of time in the North Hall at the main convention center which includes all the Connected Vehicle content.

Also got a ton of time working on our own demo, and ensuring that it’s multiple locations are all good for the rest of the week.

IMG_2529Here’s a quick peak of how the show floor looks like before it is a real show.. enjoy!

 

CES 2015 – Day -1

Finally in the room!
Finally in the room!

I am back at CES this year with my day job, but for the followers of this blog I will try and post an entry each day to talk about what I’ve seen.  Today I flew from RDU to Las Vegas via Atlanta, and after a 2 hour delay to get my luggage at the airport in Las Vegas, I finally made it to the hotel.

I ordered a quick room service, and got ready to crash.  A little secret (not so little and not a secret to anyone who knows me), I hate Las Vegas.  I don’t drink a lot, I don’t gamble, and I don’t smoke.  So this week will be dedicated to cool tech instead of the usual vices that people like about vegas.

Happy New Year – 2015

While I’ve not been as productive over the holidays as I had planned, I am looking forward to 2015.  As of today, I have taken a new day job, and will be talking about it more over the next month or so.  2014 was a crazy year of transitions, technology, and turmoil:  We’ve seen a bunch of security problems, hacks, leaks, and threats; We have seen new releases of Operating Systems, Wearables, and Applications; My podcast over at GamesAtWork.Biz finally hit episode 100 (about half a year late due to missing shows); and My participation in the local app development scene suffered due to work commitments.

This year I am hoping to increase the amount of time I spend on learning new technologies, the Apple Watch, Raspberry Pi, Internet of Things, and security. I am also hoping to get more time to hang out with other developers.. We shall see 🙂  Happy new year!!!

Friday coding

During my day job I am a product manager. This job does not encourage or provide time to write code. As I was getting ready to take some time off for the thanksgiving holiday, I worked to clear my calendar, clean my inbox and set a few actions in motion so I could really take some down time. Imagine my surprise when I had a few hours at the end of the day where I could do some coding on a demo we’ve been using for some time. The demo consists of a python application that emulates a car, a set of cloud services which process mqtt enabled devices, and an iOS app that represents a key fob that sends messages to the “car” simulator via the cloud. The initial iOS app was designed for one size screen and one orientation. I’ve always wanted the iOS app to be responsive to the orientation of the phone and to resize based on the various screen sizes, so I took the time late Friday to go back and add auto layout to the app.

I didn’t write the initial app, so completely redoing the interface was not an option. I had to go back and deal with auto layout within interface builder. I personally enjoy doing auto layout completely in code, so this was going to be a new experience for me.

After completing all the fixes, checking it into the repo for others on the team to take advantage of I discovered a new setting in Xcode for iOS8 – Adaptive Layout. I plan on doing some looking at that next!

Learning Swift

I’ve been a big fan of Ray Wenderlich’s site for getting up to speed on iOS programming, etc. For the last few weekends I’ve been spending my “free” time going thru his Swift by example book. While I’ve not gotten too far yet, I am enjoying the material. If you are interested in learning Swift, I can say it’ said good place to start. Go check it out!

MacWorld Expo 2015

By now, any reader of this blog already knows that IDC has cancelled MacWorld Expo.   While they didn’t say “cancelled,” they did put it on hiatus.  As someone who has gone to many different “user” focused conferences over the years, this means cancelle.  At least in any form we may recognize.  We may see a new “Mac Expo” come in to being, but I don’t think that we will ever see same type of conference.  I look back fondly at the friends I’ve made, the sessions I got to sit thru, and all the cool tech that I got to review.

Over the years, I have been trying to get time to go to WWDC, but my day job held a conference every year at the same time.  The good news, at least for me, is that my day job is combining multiple large conferences into one mega-conference.  The date for the new mega-conference is now in Febuary, and I have a chance to try and attend WWDC.

Given Apple’s registration process this is going to be tough, but at least  there’s a chancce.  So I think it’s time to go ahead and book my hotel room.

Review – Home Inventory for Mac and iOS

According to the makers of Home Inventory (Binary Formations, LLC. ), September was “National Preparedness Month” and as such they made their flagship product “Home Inventory” available for 50% off.  I got the opporuntity to do a review of the Mac product, along with both iOS companion products – Mobile Backup and Photo Remote.  Binary Formations was founded a little over four years ago, but the product shows a level of maturity of feature set, that comes from building a product that is truly needed by the developers themselves.  The Mac App has a PDF user manual that is over 150 pages, and I admit I had to go to refer to it a few times to understand how to access some of the features – but more on that later.

What is Home Inventory?  Well it’s name describes it perfectly, it is an inventory that any home owner should have, for insurance purposes, of the items in their home.  Most insurance policies require some sort of inventory in order to reimburse after a disaster, and Home Inventory puts the tools in your hands to make sure you have what you need.  Given the completeness of this application, I won’t be able to cover all aspects of the program, and will instead focus on data capture.

I have been meaning to do a home inventory for insurance purposes for some time, but I never really have had the time to do so.  Writing a review of the app is a perfect opportunity to give it shot. Being a realist, however, I knew I would never be able to do a full inventory in time to make a meaningful review, so I decided to do a much smaller inventory, i.e. the things on my desk in my home office.  This still became a bit of a daunting task.  Should I do everything, or only those things which are relevant and expensive.  I again took the shorter path.  I would only do electronics gadgets, and there are plenty of those!! My plan was to enter 10 items, and see how it goes.

First I needed to install the Mac App, not a problem as it is available on the AppStore, so a quick click got it going.  I created the initial data file during the launch, and was presented with a screen to define some basic home information, including a picture of the home, a Maintenance Schedule and Assessment History.  You can also include detailed information about when the house was built, the lot size, age of the home, and purchase price.  This level of information is great for an insurance assessment, probably not so much for a review on the web.  So I have blocked out most of that information and included a random house picture for this review.

The First thing I entered was using the Photo Remote to take a picture of the DockIT Air case I reviewed recently (see that post).  The iPhone App requires that you are on the same wifi as the Mac running the software, that the Mac version of the application be running, and that you select the Menu options Inventory -> Photo Remote, or press Command-R.  You are walked thru either scanning a Barcode (which I did with another item) or taking a picture.  If you scan the barcode it will do a look up on Amazon (or perhaps other services) and pre-fill in much of the information about the object.  You are then walked through a series of items to select the location, make, model, serial number, price, etc.  If you don’t hit “save” you will lose the data you have entered.  Also, if you close the window on the Mac the connection will be broken and you will lose your information.  You cannot add all the information on the Remote Photo app, and will find yourself going back to your Mac to complete the process.  The good news is, that while some of the views have visual prompts to accept new value (for example – a Click to add receipt button), drag and drop seems to be working fine.

The following pictures show you how the iPhone App works, and include a few screen shots of the Mac App.

1) Define Inventory File
1) Define Inventory File
2) Define your home info
2) Define your home info
3) Add Picture and Address
3) Add Picture and Address
4) Add Assessment History and Maintenance
4) Add Assessment History and Maintenance

After getting your basics setup, the following screens show how I added a item via my iPhone using the Photo Remote app.

1) Connecting to Mac
1) Connecting to Mac
2) Choose how to add
2) Choose how to add
3) Add a Photo
3) Add a Photo
4) Add a Value
4) Add a Value

Given the goal of this application to make sure you are prepared in case of a catastrophic event, I like that they support storing the data on DropBox and for those who are a bit more worried about privacy and security (you will, after all want to include all of your policy and assessment data in the program), you can do a manual backup to your iPhone via wifi.  Having multiple ways and locations where you can store the data is critical for ensuring that your inventory is safe in case of an emergency.

Overall, this is a very complete, if somewhat complex, program.  I do not knock the complexity at this time, as the objective is to truly be ready for a complete inventory of your assets for an emergency, and that is a complex goal.  The program includes the ability to print many different reports, including a move report – which I thought was a great use of all the data you collect.  I hope that overtime they continue to simplify the interface and make it much more iOS and Mac like in its interface.  A single example of how this would work would be to allow the Photo Remote to be able to capture the pictures and basic information without having to connect to the mac.  Right now if you exit the app on the phone, before a “save” action, you lose the data you’ve been entering on that item to that point. iOS apps should be able to handle a loss of network communication without losing data.

I can’t say I am looking forward to completion of my Home Inventory, but I am certainly glad that this tool exists to ensure that I have captured all the things  I need to be prepared should I ever need it.

Local IoT Demo coming up

As I mentioned in my last post, I am focusing on the Internet of Things in my day job. I am going to be at a local meetup at the end of the month, the RIoT meetup. I love the name, and this is their second event. Unfortunately I missed the first meetup, due to a conference I was at in Orlando. RIoT stand for the Raleigh Internet of Things Meetup.

At the upcoming meetup I have seven minutes to present an IoT topic. My goal is to demonstrate a IoT app (a very simple one at that) which connected my cell phone to the IBM Bluemix cloud service and a Raspberry Pi (which in my demo will represent a car). The app will allow my cell phone to lock and unlock my car door. While the code will be trivial, what will be cool, assuming I can pull it off, will be that the cell phone will be near instantaneous in unlocking my car. I will also do a dynamic (yet trivial) code change to the mobile application which will change the message that is sent when the lock status changes.

The idea is to show off composable services on the cloud, continuous delivery for an application, and integration to a non-traditional end point. Come join me at the Meetup and let’s talk tech!

The Internet of Things and App Development

The Internet of Things has been a hot topic for the last 24 months, reaching a fevered pitch in the last few months.  When I was at CES earlier this year, you couldn’t find a company that didn’t have some perspective on the Internet of Things (IoT).  Car companies, consumer electronic companies, even clothing companies were showcasing their new connected products and how the IoT was going to improve the consumer’s experience with their brand.

I’ve been thinking about this and what makes the IoT different than prior versions of connected products.  To me it is two key factors, the level of connectivity and the quality of the software.  Let me explain

Level of connectivity

For decades, large industrial plants and manufacturing facilities have been using real-time and near real-time data to improve the efficiency of their business.  The did this via ethernet connectivity and sometimes expensive satellite and microwave connectivity.  These systems were affordable because the cost of unplanned downtime was so high, that almost any connectivity costs were acceptable.  Additionally, cognitive computing algorithms  were developed around very specific use cases, i.e. pump maintenance schedules, which had to be custom developed based on the specifics of a plant or facility. These finely tuned systems of systems were built around the connectivity and proprietary standards of the hardware in place.

Now the cost of connectivity and level of penetration of simple protocols like TCP/IP are cheap and near ubiquitous.  You can added a wifi or 2G/3G/4G radio into a product very inexpensively, while transmission costs are now bore by most of the end consumers as part of their day to day life.  This is very different than the last few decades, and means that much of the value of a IoT solution, will be in the software’s implementation of the data and consumer’s usage of the device.

Quality of the software

With the mobile revolution over the last 7 years (I go back to June 29th, 2007 when the iPhone was first available – even though had been very happy with a Palm  Treo for years before this), consumers have become used to higher quality of software.  Why do I call it higher quality?  Is it bug free? NO! Is it more functional? No! Is it more atheistically pleasing?  no. What I mean by quality of software is that it is doing what you need when you need it.  Some of the most popular fitness tools in the last few years, are applications on a smart phone – apps like Moves which tracks your walking, biking, and running based on the accelerometer on your phone.  They take advantage of many of the capabilities of the phone, and given that most people keep their phone with them at all times, it becomes the de facto fitness device.  We see the same phenomena with pictures,  the majority of pictures on Flickr, are taken with smart phones.  The same with games, the majority of time spent gaming is spent on smart phones (I made this one up, but I would bet it’s true).

So the software that is running when you need it, on the data that you have with you, and provides you with the insights you need to change your behavior, improve your process, or just better engage in a situation is higher in quality in my opinion.

So why do these matter in the Internet of Things?

In the IoT, devices and software have to work hand in hand to improve processes and a person’s environment.  As developers, we need to understand this aspect of the internet of things.  It’s easy to get consumed by the cool factor, but cool without value isn’t that cool.  So we need to improve our software to better serve our users / customers. And the Internet of Things provides us with a great way of doing this.

Internet of Things applications and things have the ability to provide us as developers with real-time and near real-time feedback on how consumers are using our product.  We should take this information and quickly improve our product to increase its value.  This means letting a consumer know what data we can and do capture, and providing no nonsense, easy to understand terms on how we will use this data to improve the consumer’s experience.

We then have the ability to take this feedback and improve the product or create new ones.  This faster time to feedback is a principle foundation of the ideas behind DevOps.  Another key aspect of DevOps is scale, and the Internet of Things is all about scale for the product/application developer.  While any individual using a IoT device or application is potentially a single node, much more value is gained in the larger scale system where patterns and other insights may be gained to improve a product or application.  And peeling back the insight requires analytics.

So what can I do as a Developer?

First, make sure you are open to your customers on what data you do collect and how it will be used.  Where it makes sense, expose APIs so your customers can extend your application and product, trust me they will come up with even more cool things to do with your application/product than you can image.  And three, take advantage of the faster time to feedback to make your product better.  Remember once you release a product or application, the engagement with your customer is just beginning.  It’s not about the initial sale, but about increasing the value over time.

An Enterprise iPad case/keyboard Review

I recently was approached to write a review of the PI DOCK iT Air iPad case with bluetooth keyboard. Given that I have had a keyboard case for every iPad I’ve owned (except my current one) I was willing to give it a try. I find that using a case can certainly increase my productivity when traveling, and as a touch typist I’ve always found that the iPad’s touch screen keyboard is a bit lacking. I also don’t feel comfortable talking out my emails or documents, so no matter how good a speech to text translator is, I tend not to use them.

Damaged Box

When the box arrived it had a gash in it, but it didn’t impact the case at all. Like all cases, it has a little bit of a delay in the typing especially when it first pairs with the Bluetooth, but that is normal. I can certainly type faster with the keyboard then the onscreen keyboard. I am sure that the tactile feedback makes a big difference for a touch typist. Similar to the other cases, the keyboard is slightly smaller than a normal Mac keyboard, which can cause a few typos.


Box Case and ManualCase in Wrapper

I found that it has an interesting design for changing angle of the screen. They call it a slideway, and it allows you to extend the hinge so that the screen can go either vertical or horizontal, and at a comfortable angle for your eyes. As someone who reads a lot of magazines and books on the iPad, the ability for a case to support vertical orientation is a nice touch.

Unboxed Case and Cable Unboxed Case Flat Side view reclining Side view no recline

Given that it is a case and keyboard, it doesn’t need much of a manual, and the simple manual (1 page back and front) does a good job of explaining all the features. I guess you don’t really need much more than that.

I wrote the rough draft of this review in Word for iPad so that I could test out the keyboard in a meaningful way. (Given that I took pictures with my SLR the final part of the review was done on my Macbook Pro.) The targeted user of the Dock iT is an enterprise iPad user, I feel this made the most sense. A little secret that the team at DOCK iT doesn’t mention is that the slideway’s ability to swivel the screen direction around, also makes it ideal for some games. I use Real Racing 3 on my iPad, and it works great for that game! Providing me with a stable enough base and a solid steering wheel feel. Very cool!

The keyboard is a bit small, but no smaller than other iPad keyboards I’ve used in the past. The plastic keys tactile enough, to allow for most touch typing, providing a nice little raised area on the F and J keys so that you can easily home your hands. There are a set of rubber feet and rubber nubs around the keyboard (I’ve lost one of the rubber feet, not sure where but after a week of traveling it got lost some point during my travels). The rubber feet keep the keyboard in place nicely on a desk (even after loosing one of them it feels stable and doesn’t wobble). While the nubs around the screen are designed to protect your screen from touching the plastic. This is good, but as a touch typist they do get in the way at times.

Like most cases, they include special keys for cut, copy, paste, volume controls, brightness, home button, and screen lock. These keys really increase the productivity on the iPad once you get used to them. One minor thing, the Home button seemed a bit finicky (not sure if this was a Bluetooth syncing issue or an iOS8 Beta issue). The reason I believe it may be beta related is that it appears to be app dependent.   They also a Caps Lock Indicator light, I’ve not seen this on the other keyboard cases I’ve used in the past – nice touch.

On day three of playing with the DOCK iT I discovered how to lay it flat. You can slide the screen on top of the keyboard. (Don’t forget to turn off the Bluetooth before doing this.) This is great for drawing programs and some games. It does, however, make the iPad much thicker than the Apple case, which I use at times, allowing me to hold the iPad like a book.

There’s one feature that is both a plus and a minus, and that is how well the DOCK iT holds the iPad is the shell.   I wanted to take the iPad out of the case to put it in a dock I have for charging. After prying the iPad out of the case with a letter opener, I ended up scratching my iPad’s back a bit. I’ve always prided myself in selling my old iPad while it still looks like new. I guess I won’t be able to do that with this one.

Another point on build quality. I was putting the case in my back pack and my employee badge got itself between the screen and keyboard, popping off a key. On a normal keyboard that would be the end of it, but on the DOCK iT Air I was able to just pop the key back in to place and it works. Nice.

Overall I am pleased with the build quality of the DOCK iT, it held up in my few weeks of testing.  Battery life appears good, I’ve only charged it once and so far have used it for two weeks with no required recharging.  The lip where the iPad sits is great for horizontal positioning, but in vertical positioning it can be a bit unstable, based on the screen angle. This is a basic physics problem due to the weight of the iPad Air and the rounded corners of the slot where the iPad sits. It works fine for a sturdy desk, but for not so much when reading a magazine in bed.

The team at PI also provided me with a cool sticker for the case – check it out.

Back of Case with Skin Screen with Skin