Who is that good look'n guy?

It's me. Surprise! 

My Twitter Feed


 “Without freedom of thought there can be no such thing as wisdom, and no such thing as public liberty without freedom of speech.” - Mrs. Dogood, A.K.A. Benjamin Franklin


iPhone X Rewards Native Apps

If you are one of the lucky iPhone X owners you've no doubt noticed that some apps are letter boxed. Some big apps are letter boxed. I was shocked to see that Inbox by Google is letter boxed. Virgin Pulse, a fitness tracking app used by enterprises, is also letter boxed. My Chart by Epic is letter boxed. The wemo app is letter boxed. Google Maps is letter boxed. I hope these apps will be updated at some point in the future.

This is the double edge sword of UI customization. Your app can look unique but it can also be less adaptable. If the app developers stayed close to UIKit and used Adaptive and Auto Layout their apps, they look great on the iPhone X with minor changes. The app I work on (My Amfam) looked fantatic with only minimal changes in content for FaceID. We used Auto Layout and the top and bottom layout guide (now the Safe Area) for all our UI.

For apps that created custom UIs or built app on third party frameworks (PhoneGap or Ionic) the app developer need to scrabble to adapt to this new phone size. This may happen again if Apple creates a 6.5 or 6.1 inch iPhone in 2018.

The lesson, for me, is staying close to UIKit and the supplied frameworks makes iOS development easier and more adaptable. It also "future proofs" the app when the Apple decides to add new size hardware. Bring on the 6.5 inch iPhone!


iOS Enterprise Development

It is the clash of two worlds. The breakneck speed of mobile app delivery and the lumbering speed of enterprise development. Mobile development is a speed boat zipping around obstacles. Enterprise development is cargo ship moving slow and steady but when it moves, it moves with forces. Bridging these two speeds is a monumental challenge.

As of yesterday the customer facing iOS application that we’ve been working on for last 6 months finally made it to the App Store. The project started in May and was finished in 13 two-week sprints. It was a colossal challenge. We needed to integrate to a new API Gateway, which fronted a spider web of Java apps which, accessed data from Oracle, DB2 and the Mainframe (yes, the Mainframe). Pre-prod data was all over the place and very difficult to piece together. The data we did have was inconsistent and we needed to write a ton of “protection” code in Swift to make sure our app was flexible enough to handle it. As one of my fellow developer stated, he had to become a “Data Ninja” ๐Ÿ˜‰. Not to mention a nasty merge bug introduced in Xcode 8 that made code conflict resolution a challenge.

The use of Storyboard references, protocols/delegates and multiple threads made the app technically easier to work on. We had distinct groups for Controllers, Views and Models. The use of SwiftyJSON helped with mapping the data into our model objects. The use of autolayout and some fun UIView animations made the app lively. It always amazes me how quickly an iOS App becomes complicated. In order to simply access a Restful API via URLSession you need to work with completion blocks and multiple threads but, this complication allows for an amazingly dynamic and responsive app. The use of custom protocols, the use of MVC and the creation of a data access layer all helped too.

The app is not perfect. It has bugs but, I’m damn proud of it. The group of developers that I worked with each stepped up to the challenge of creating this app. There were times that we wondered if it was going happen. The APIs were delayed. We did not start “backend-ing” the app until late in the game. The data was not stable. At one point an entire database was dropped. Through it all, they kept slugging away. Each of them playing a critical role in getting this app done.

The higher ups will take credit for having the “vision” but I know who truly made this happen on the iOS side: Kevin, Khalid, Danny and Annie. Thanks for leaving it all the field, and giving it 110% of what you have. You rock!

I can’t wait to do it all over again!

WWDC 2016

After trying for seven years I've finally gotten into WWDC! I feel very lucky to have been randomly selected. I empathize with other developers that have been trying for the same amount of time and did not get in. I feel your frustration.

My re-introduction (I used a IIci in college) to Mac started in 2000 when I bought a MacBook Pro from a friend to do Java work. It had the aqua interface, Power PC chip and Sherlock. It also came with this strange music software called iTunes. It allowed me to rip my CDs and organize my music. It was stable and unlike my PCs. I spent more time using the MacBook Pro and less time fixing it. 

The following year the iPod was released and I was really hooked. I stopped using my PCs and started using my MacBook Pro for everything, including development. At the time Project  Builder was used with Interface Builder to create Mac apps. It used this strange language called Objective-C that looked like C but behaved very differently. My first Mac app used the built in voice synth. I basically followed a tutorial from Big Nerd Ranch. Objective-C was very different than Java or C#. It was refreshing.

Then at Macworld in 2007 Apple introduced the iPhone (and the Apple TV). In 2008 I went to an Apple conference in Chicago where they were preaching the uses of websites as apps. They were showing us how to change our CSS and HTML files so they would be mobile ready. 

The following year the iPhone SDK was released. I was hooked. It looked like for future. I released my first iPhone app in September 2009 and tried to get into WWDC but the registration was closed. 

Every year since I have tried to get in but have been too late or was not selected so I can understand the frustration of other developers.

I'm humbled by the opportunity to go to WWDC and will make the most of it.


Why I'm not upgrading to the iPhone 6s

One word "Verizon". I have a love-hate relationship with them. I love their LTE speeds but hate their customer service. I always feel like I'm dealing with the mafia when I call them.

When Apple announced the iPhone Upgrade Program at the 9/12/15 keynote I was very excited. Even though the leasing program is through CitzensOne it allow you to work with Apple directly via the Apple Store. The customer service I've gotten from Apple has been far superior compared to Verizon or AT&T.

It also seems strange to me that I'm leasing an Apple device from Verizon. It would be analgous to leasing my car from Exxon or leasing my Computer from Charter Cable. 

This is the main reason I waiting out my contract with Verizon: I don't feel like extending my contract with them for a device that only uses their network and is not made by them.

The countdown begins till 10/18/2016. Good-bye Verizon!


First Week with the Apple Watch

I was lucky enough to get an Apple Watch in the first round of shipping. I had to use my Fitbit to wake me up at 2am on April 9 and I haven't used it since. 

The Apple Watch is the best watch I've ever owned but it does not feel revolutionary. When I got the first iPhone in 2007 it felt revolutionary. You could tell it would change everything; and it has. The Apple Watch is very handy for quick information but some of the app extension load painfully slow.

The handiest part of the watch has been the "modular" watch face which has your next event displayed in the middle of the watch face with the room number. This has saved me a ton of time as I run from meeting to meeting try to find the room. 

In the above image, the room number would be display in the "No events today" line.

For me, that one line has saved me from pulling my iPhone out of my pocket numerous times.

Your milage may vary but, if you can swing it, I would get an Apple Watch.