Friday, June 23, 2017

New HTC U11 to replace my Note 4

I have been running the Note 4 that a previous company bought for me. Previous to that I had a Note 2. While I really like the Note series I was ready to be done with Samsung and the slow to never Android OS version updates. Newer Samsung phones are not cheap either and I buy my phones outright, not on a payment plan with the carrier. Personal choice.

I researched what was out there and made some guesses about what was coming up. The HTC U11 seemed to hit the sweet spot for me. So far I have been very happy with the purchase.

Pros of the U11

  • Much faster. Pretty obvious that is is a newer device + processor so it should be
  • Nice to not have to look at USB cable every time you plug it in - no upside down mode
  • Responsive - I am not seeing lag when starting apps etc.
  • Solid sound. Note 4 was tinny at best and easy to block speaker when holding it normally
  • Rounded - easier on all parts of the hand to hold this device
  • Fast charging
  • Solid battery life even with lots of screen usage
  • Can finally do slo-mo videos 
  • Solid camera
  • Comes with noise cancelling ear buds - sound good and do block the noise
  • I have Nougat
  • Squeeze to access camera. I think this is a handy usable gimmick.
Cons of the U11
  • Lost my Stylus - did not use it a ton but when I did it was very helpful
  • Screen is not as vibrant with its colors - everything is crisp though
  • Non-removable battery. I did replace the battery on the Note 4 as it aged
  • No headphone jack but I rarely use headphones and it did come with a dongle to use with older headphones / earbuds.
  • No IR blaster. Another thing I used from time to time but did not rely upon.
The pros greatly outweigh the cons. This was a great upgrade and I am super happy with my purchase. Ordered off Amazon along with a few extra USB-C cables. We had some in the house for my wife's Axon 7 but not enough as I needed one in car, one at work, one for laptop and one for computer room where I use phone for debugging.

Surprised I had to install the HTC software on the Mac to be able to debug over USB. Mac usually does not care about drivers. Once configured it worked great and beats the heck out of using Android file transfer crap when I do want to get photos off the phone. APKs push so much faster to the device as well. Probably a mix of USB-C and faster device.

I don't have any complaints about the phone. It has taken everything I have tossed at it. 

I did switch from Llama to Automagic. Llama was free and worked for years but it has not been updated in years and it was showing some issues with Nougat. Since Automagic is not free I tried the 10 day trial version off their website. After a day I paid for the full version. It has worked like a champ. I had to configure more to get my standard flows to work but it is more powerful. Wife was ready for a change as well so she is running Automagic now too. 

My setup is pretty basic:
Enter house -> enable WiFi and connect to it
Leave house -> disable WiFi, set phone to normal sound
Enter work -> enable WiFi, connect, set phone to vibrate
Leave work -> disable WiFi, set phone to normal sound
10:30 PM -> set phone to vibrate only mode
6:30 AM -> set phone to normal sound

As for other phones I considered:

Waiting on Pixel 2. I knew it would get near instant Android updates but the current series was hard to find in stock, had crappy speakers like the Note 4 and probably would cost a couple hundred more than the U11. Plus my birthday / father's day was great time to do a phone upgrade. The wait was going to be for longer that I was willing to hold out.

OnePlus 5. I am just iffy on their long term support. After it came out I was happy I skipped this one. I like the quad res screen over 1080 especially for Google Cardboard.

Newer LG phones. Seems the boot loop issue and other quality issues around LG continue to haunt them. Nothing on the phones really jumped out at me.

Friday, June 2, 2017

App is on the Play Store

Did the official release of the app Wednesday morning. By Friday I had over 10,000 installs. They did send out a bulk email to our current clients and many of them were hungry for the Android version. Various folks bought an iOS device and used that until the Android version was ready.

Gotta say it is an ego boost to hit 10,000 installs in a few days. I do realize this will taper off now but I am still supporting 10k users as the sole developer, the iOS guy pitched in on some of the code, of the app.

App is not 100% feature matched with iOS as of yet so I am working on adding the final matching features then we will work on improving the app and there are many other new features we will release in sync as time goes on.

Reviews have been pretty positive. Some are having issues with data outside the apps control. They are addressing those issues at the server level. I am using Flurry to track various things and to capture any issues found. The Play Store is also catching crashes. So far there have been about 17 unique crash events affecting just a few people. I have been able to track down and solve most of them. Some have nothing in the stack trace for me to even guess what is happening and a few were in the Flurry Library.

While I like Flurry the documentation is sad. You can't find any one place to tell you the latest version. Most of the official Flurry pages mention some flavor of 6.x but I found one place that said 7.0.0 so that was what I was using. I then decided to go to source, the jcenter repository, and found 7.1.1 was available. Since I had fixed a number of issues I had issues in this library I went ahead and did a fast followup release that I hope will knock things down close to zero other than maybe the issues that don't have a useful stack trace.

I would say our QA department did a bang up job as the issues found have been very obscure and timing based. The app seems really solid.

Excited to get more data out of Flurry as well. I have set up a couple of reports there already but I can tell the data is lagging a bit because I can see a lot more action in real-time than is getting reported in the Explorer. Once we have a good solid week of data it will be more interesting and we can monitor things over time.

So why Flurry? At my last job we started using Google Analytics but it was just not cutting it for Mobile. Reporting with Fabric / Crashlytics did not seem to cover what we needed. Firebase seemed really powerful if you were willing to pay for BigData to do your queries. Flurry seemed to kind of hit the sweet spot for free data analysis. It is pretty easy to implement and a few simple helper bits for Kotlin and I was able to get a decent set of analytics in place in about a day.

Next up on the learning side of things is constraints layouts. I can quickly layout everything I can think up with a mix of Relative, Linear, Table, and Grid layouts but Constraints is the future and the sooner I learn it the better. The conversion tools seems a bit iffy so learning from scratch is probably the way to go.

I did get bit by the Java to Kotlin conversion tool as well. I had written an image cropping custom control in Java. Since I am doing full on Kotlin now and I needed to enhance this custom contol I had Android Studio convert it to Java. It compiled but did not work correctly. It decided to typecast a multiplication for me from Float to Int but I needed the multiplication to happen fully as a Float and the final result to be an Int. It decided to convert the code to case the number I was multiplying by first. Since that number was between 0.0 and 1.0 that cast was pointless. Simple enough to fix and I had a good idea what to do since I wrote the original code.