2017 in Review

Wow, again it’s been a year since my last blog post.  So I’ll make this post a synopsis of my year.  I did update all of my apps with the latest SDK, and some improvements all around.  I’m 95% done with my estimation app.  My goal is to publish it by Christmas, so I can focus totally on the exciting new stuff I can do with my new iPhoneX!  I’ve played around quite a bit with Maya and Unity this year, trying to get prepared for AR/VR opportunities, but I have to admit, I took off quite a few weekends to dive, read, dance, take cooking classes, and otherwise unwind.    

Now I have to decide if I want to buy an external GPU so I can do a VR app.  I think it’s brilliant that Apple has standardized the NN models.  There is so much potential here.  The problem with VR is it’s still at a stage where it’s just as much about optimizing the performance to get all those pixels to the screen within 10ms, and it’s pretty low level stuff.  Even with the computer graphics class that I taught last year, that level of detail is outside of my expertise.  I know I need to understand enough of it to program it efficiently, but I don’t really have the desire to learn the low-level gpu performance tweaks necessary to get 90 fps.  So I’m leaning towards developing an AR app as I think it will provide some crucial foundation skills.  

On the professional side, in addition to learning some Kotlin for Android, I created VUI apps for Amazon Alexa and Google Home.  I used JNode on their respective servers to provide the dialog and collect the necessary information, and submitted the design document for our ColdFusion experts to implement on our own servers.   I suggested it be done on our servers since VUI is going to be ubiquitous shortly, and even web browsers will eventually be more voice activated than not, so it makes sense.  And even though the free service sounds like a lot of at 100k requests a month before they start billing you, my company gets more hits than that in a day, by far, so it could get unnecessarily expensive quickly if we have to pay for Amazon and Google server usage.   I really enjoyed working with JNode, and with the Voice assistants in general.  You can throw up little private apps quickly that are only meaningful for you and your family.   To talk to a server, though, I need a secure site, and I’m not quite willing to spring for that yet.   

I am officially my company’s ‘AI Expert.’  I know because I’ve heard them refer to me as that on several occasions, not that I’ve been given any kind of title or official recognition.  Plus they gave me the VUI project to design, so that’s a benefit in itself.  New things are always more fun than old things.   There are quite a few companies touting themselves as bringing AI to the travel industry, so I have another goal of trying to understand the value that they offer.   This is primarily because it will benefit Hotelplanner, and I want to provide as much value as I can to my employer, and I am the most qualified to do it.  Unfortunately, it consists of listening to marketing types overhype and sensationalize what they can do, and I don’t relish those types of conversations.  I suspect VR will transform our industry faster than AI will.   But it will be interesting to find out what really is available underneath all the BS.  

Android Volley Framework

I’m close to finishing the multiple feeds to get hotel quotes on the Android app for HotelPlanner. I’m using the volley messaging framework, which is quite nice at handling the lower levels of message transport. In both the hotel list and the room rate list, I request rates from multiple vendors and merge them into the native UI as they arrive. In the end, I was very sorry that I used wkWebViews in the iOS app. It was quite expensive in terms of both memory and performance, and not as reliable as I would like. But the json feeds are lightening fast and I am very happy with them. I am keeping the webview for the checkout page only since I don’t have a good api for that, and it’s difficult to test thoroughly. And quite important when you’re taking people’s money that you don’t make mistakes!