Monday, November 30, 2015

Missed Opportunities In Travel Tech

I've been doing a lot of traveling lately and I've noticed that there are a lot of missed opportunities and missing technologies that would integrate well into the travel workflow. These opportunities represent ways to reduce friction with customer interaction, which in my opinion, increases brand loyalty.

There are several things that need to happen in order to check into a hotel or rent a car, all of which are time consuming. First you need to show your identification. Then you need to give/confirm the credit card to hold the room with. You then need to confirm you're contact information. If you're lucky this is all, but often you also need to agree to some terms.

Technology can help reduce the friction, significantly.

Digital ID

There needs to be some way to store your state/country issued identification digitally, and only make it accessible when and to whom you choose. I'm sick and tired of having to constantly show my license/passport for identification verification. I know there are a ton of privacy concerns but hey, it's 2015 and the internet isn't going anywhere. It's time we figured this out and stopped requiring people to show physical identification.

Contacts Integration

Why do I have to fill out my name, address, telephone, and email every place I check-in. My phone has all this information already stored in my contact card. I should be able to "share" this info with an establishment if I choose to have it auto-populate any of that information in my records. We already have standards (for example: Bluetooth and NFC) which could be used to handshake this information whenever and wherever we want.


I should be able to use geo-fencing to initiate my integration with an establishment even before I get there. For instance, suppose I have a hotel or car rental app installed on my phone and I'm logged in with some way for them to identify me. As I got within a certain proximity of the establishment they would get a notification that I was near and start preparing the paperwork (all automated hopefully). The app would then request that I give it one time access to my Digital ID, credit card, and contact info which I could accept or refuse. If I accept, my check-in is complete and there's nothing for me to do when I get to the hotel/car rental except get my keys.


When I get to a hotel or car rental establishment I should be able to walk up to a stand and using my personal device (via NFC, Bluetooth, or whatever) authenticate myself and get authorization for the key. Taking this one step further, why do I need a room key or car key at all? Why can't I use my personal phone to access my room or car. My device is/should be unique.

Monday, November 23, 2015

How do you deal with adversity in the workplace?

You spend a lot of time at work. In fact you're spending around 2000 hours a year if you're full time. In that 2000 hours it's inevitable that you're going to work on a project you don't like, work with people you don't get along with, or be asked to do something you think is the wrong thing to do. You're likely going to have to deal with one or more of these several times a year.

What do you do when one of those situations happens? Do you get pissed off and act out? Do you become the negative person in the office always being a contrarian? Do you villainize someone associated with the decision? Or are you someone who sees adversity as a growth opportunity?

If you aren't approaching work place adversity as a growth opportunity, you're missing out on valuable experience that you will need to be successful in not only your career, but in life in general.

So what can we learn from the adversity we face?

Sometimes we have to choose from the lesser or two evils

You're not going to find a way to win in every situation. Often you're going to be presented with lose/lose situations where your goal is going to be to find the solution that has the least negative outcome. Learning to do this will help you come out ahead in the long run, and can help you avoid lose/lose situations in the future by helping you to prepare for them before you encounter them.

You learn to see things from another persons point of view

In order to successfully deal with adversity that comes from interacting with others, you'll need to learn to see their point of view. That doesn't mean you need to learn to agree with them. It means that you need to be able to understand *why* they feel, act, or say what they do. Once you're able to learn this, you can then start to better communicate with them in a language that they understand. Helping others understand that they're heard is a giant step towards moving past interpersonal adversity.

You may learn that you're the source

This is the most important one in my opinion. In trying to deal with adversity head on, you may just learn that you're the source of whatever is wrong. If this is the case, realizing it gives you the opportunity to stop doing whatever you're doing that's causing the strain.

Monday, November 16, 2015

Windows Support for OpenSSH

I'll admit, I've been a Microsoft detractor for several years now. When I worked at MSNBC (at Microsoft) I was one of the only folks who didn't use Windows outside of work. To me Microsoft was a non-starter because of it's stance (at the time) on both Open Source software and Open Standards.

While Microsoft has A LONG way to go on supporting Open Standards (like CalDav and CardDav in Exchange/Outlook or POSIX at the system level) within their products, they have done a complete 180 with regards to their stance on Open Source software. Open Sourcing .NET was a huge accomplishment but years too late in my opinion. Most of the exciting development that's happening these days is happening on or in support of mobile. Java and Objective-C have taken the reigns there. Because it's much cheaper to run a Linux server than a Windows server in the Cloud coupled with the fact that .NET was only available on Linux through Mono which didn't support all the .NET APIs, Microsoft in the Cloud has not been a major player. .NET not being Open Source until the last year means that it's going to have to fight a giant uphill battle to complete with Java, PHP, Ruby, and Node.

What I am excited about though is the recent announcement that Microsoft has contributed back code that makes OpenSSH a first class citizen on Windows. OpenSSH is the defacto standard for remote management and the fact that you will be able to ssh from a *nix box to Windows will make it easier to integrate Windows into a Cloud based solution that is managed via code (like Chef, Puppet, etc) without having to prep a system image before hand with the Infrastructure as Code tools.

I went into great detail in my #ChefConf 2014 presentation on the legwork you had to do just to be able to bootstrap a Windows server. I'm glad to see Microsoft committed to changing that.

This is a step in the correct direction for Microsoft and one that I applaud!

Monday, November 9, 2015

The good and the bad of a Chrome OS/Android merge

Recently there have been reports of Google planning to merge Chrome OS and Android. I've been a Chrome OS user for 3 years (got a Pixel at Google I/O and have been loving it) and an Android user for 5 years. So I feel like I understand both operating systems very well.

My hope is that Google will take the best of both worlds and make something better. So in order to help facilitate that, here's my high level best/worst lists for each.

[update: 12/19/2015]: Russian translation available here thanks to Vlad!

What Chrome OS Does Well

Simplicity: Chrome OS is simple and intuitive. I would feel absolutely comfortable giving a chromebook to my mom or dad and be confident that they could surf the web and check their email without any problems.

Multiple Users: At first I didn't like that you had to log in to a Chromebook with a GMail account. But after using the Pixel for 3 years I think it makes things easier. My wife and I both share the Pixel and we do so with zero hassle. Logging in and out is fast and intuitive and there isn't an extra username/password that you have to remember. When friends come over and want to surf the web they can pick up the Pixel and start using it right away using their GMail account (and it seems almost everyone has one).

The Web: It should go without saying (but it won't) that an OS built on top of a browser should be good at surfing the web. And it is. Web based email works great. Streaming media like Netflix, Amazon Instant Video, and etc work great. Chrome OS just works when it comes to the web.

SSH: Surprisingly, Chrome OS's Secure Shell program works great and supports key based authentication. This makes using Chrome OS to work on servers simple and efficient.

Native Development Support: If you're a developer you can get shell access with crosh and use crouton to create a chroot to another flavor of Linux (like Ubuntu). Once you have a chroot setup you'll have access to the full suite of developer tools that Linux has to offer.

What Android Does Well

Niche Apps: I've come to rely on apps like KeePass, Owncloud, and Baby Connect in my day to day life. These apps go with me wherever I go and give me instant access to important information. Android is a very friendly environment for niche apps.

Mobile First Experiences: Instagram, Maps and Navigation (disclaimer, I work at Amazon on Maps), streaming media (these have web counterparts but they're lesser experiences than the mobile apps IMO because they're cluttered with display advertising), and a whole plethora of other apps that are built first for mobile and second for the web.

Games: While I'm not a big gamer, Android does games well. Games like Angry Birds, Fruit Ninja, Plants vs Zombies, Cut the Rope, Solitaire, Sudoku, and etc all run great and are fun on Android.

Contacts, Calendar, and Email: The native apps for contacts, email, and calendar work great, sync great, and are easy to use.

Switch to developer mode: Developer mode isn't turned on by default in Android. But it's really easy to enable. Just tap on the system version several times and you've unlocked the power of being a developer.

What Chrome OS Doesn't Do Well

Apps: Chrome is pretty horrible for apps. The HTML5 based apps I've used are clunky and not very functional.

Switch to developer mode: Switching to developer mode on Chrome OS is awful. It requires you to wipe your machine when switching in and out of developer mode. While booting up in developer mode you're presented with a terrible screen telling you that OS Verification is off. If you hit space bar you wipe the machine. Switching in and out of developer mode just isn't easy.

What Android Doesn't Do Well

The Web: The biggest concern I have with Android is that web surfing still sucks. So many sites still use flash or heavy javascript and just don't run well on Android. Web pages aren't optimized for small screens still (and probably won't ever really be). The web also wasn't made for touching but Android's primary input mechanism is touch.

Monday, November 2, 2015

Year in review (according to just another technology guy)

And just like that another of writing this blog has gone by. When I started this blog I had it in mind to write one longer'ish post a week 52 weeks a year, instead of smaller more frequent posts. I like the cadence and it's worked out pretty well, at least from my perspective.

My daily/weekly readership has grown quite a bit but I'm not convinced that you're all real living breathing humans. My guess is that there are feed bots and link bait bots out there trolling around and my readership increase is at least slightly due to that. The three most popular posts in the last 12 months have been on Agile Development: Sprint Retrospective, Android WebView: HTML5 Video and Rotation, and When Not To Refactor.


We've seen a lot happening in the technology industry with regards to watches/wearables. Apple released the Apple Watch (which I still call the iWatch), Pebble released it's new Time watches (Time, Time Steel, and Time Round), and there have been a whole slew of wearables released on the Android Wear platform. I have a Pebble Time and really love it.

What I'd like to see in the next year is for wearables to not try to replicate phone interactions, but instead try to solve problems they're form factor is better at. For instance, put a gps in a wearable and provide location based services via geo-fencing. I'd also like to see a Swype like keyboard for Pebble (though it would need a touch screen).

Streaming Video

While I'm still unhappy about the state of streaming video, there have been some pretty notable events in the past 12 months. Transparent, an Amazon Instant Video series, became the first streaming service series series to win a Golden Globe (it won two; Disclaimer, I work for Amazon). Apple announced a new Apple TV, Amazon updated the Fire TV and released the Fire TV Stick, and Google updated it's Chromecast device line.

HBO started providing À la carte access but I'd like to see the same from ESPN, ABC, CBS, NBC, and FOX (outside of Hulu).


Phones in the past year have been lackluster in my opinion. On the Android side I haven't seen anything that makes me excited. Google's Nexus 6P and 5X were annouced with support for Marshmellow but they're pretty boring. Apple has decided to actually listen to the market and released a phablet in their iPhone 6+. Windows phone continues to be irrelevant and Blackberry continues to amaze me that they still exist given they don't appear to have any solid direction or plans to recapture the market.

Tablets have also been lackluster in my opinion. It was nice to see Amazon release a sub $100 tablet ($50!!!) as I really think that the market for tablets is going to be in that price point. The tablet isn't going to replace the laptop (the Microsoft Surface has proven that) and so the use case for tablets seems to be streaming media, playing games, and reading books. I think there will be a market for the iPad Pro amongst designers and architects, but I don't see it being anything that rejuvenates the tablet industry.


Amazon released the Echo which, IMO, has been some of the best innovation in the at home arena. They've made it even better by providing both an Alexa SDK and a Skills Kit. One thing that's kept me from using Google Now on my Android phone has been the lock-in and the fact that it's only really useful when tied in with other Google owned services like GMail and Google Calendar. Having an SDK and Skills Kit allows ANY 3rd party to integrate with Alexa, and that's really awesome.

What would I like to see in the next year?

I'd like to see someone build something really interesting in the Phone market. I'd like to see it built on something other than Android or iOS. I'd also like to see it work out of the box with all the major DAV standards. Firefox OS or Ubuntu could achieve this with a good hardware partnership. Microsoft could do it to if they really wanted.

I'd like to see better cross device awareness for things like email, calendar, text messaging, and other notifications. Being able to act on a notification shouldn't be dependent on platform. Likewise, dismissing a notification on one device should be reflected on all devices, regardless of platform.

From the smartwatch category I'd like to see video chat, native SMS, longer battery life, better location awareness, and touch (specific to Pebble).