Beer Style Guidelines 2019.1 Released

This past week, I released a new version of Beer Style Guidelines. It’s the first update to the app in almost two years (Nov 6, 2017). Talk about a neglected app!

What’s since the last version

Here’s a full list of the things I’ve changed in the app since the last release. Most of it happening in the last month or so.

  • Tore out Fabric/Crashlytics (good riddance)
  • Set the deployment target for iOS 13+.
  • Added Light/Dark mode support.
  • Fixed the search bar (it was broken in iOS 13).
  • Fixed a slew of compiler warnings (but not all 😔).
  • Fixed a stupid iOS 13 Navigation (title) bar issue.
  • Changed the versioning scheme from major.minor to year.release.

Fabric/Crashlytics

This was one of the first things I did in this release. I actually tore it out in March of this year.

I tore out Fabric/Crashlytics for several reasons. It always made me feel a little gross using it. It’s not owned by me (it’s now owned by Google). I don’t really know what they do with the data. And what they do with the data can change at any moment. They are also shutting Fabric/Crashlytics down early next year, so it’s going away anyway.

I have written my own analytics reporting engine. I think it’s mostly ready to go. But I’m not certain about it yet and I didn’t want to hold up an already two-year old release for this. For this release (at least), I rely on Apple’s App Analytics. I’m still not certain if/when my own analytics reporting engine will be put in place. For now, I’m focusing on other things.

iOS 13+

I think this is pretty self explanatory. I want to be able to support the latest and greatest that Apple has to offer. I will probably continue this every year by moving to the latest/greatest iOS version.

Light/Dark Mode

I’ve been wanting to add this for a long time. I’ve been tinkering with this off and on (mostly off) for three years. I have a really old branch in my GitHub repo called themes. I’ve been wanting to do this for a long time. It’s finally here.

Misc iOS 13 Issues/Warnings

This release also has bunch of iOS 13 specific fixes.

For example, when I upgraded to iOS 13, the search bar was acting silly. I think it was the way I had the list of Style Guide Chapters setup. I had to re-work a number of things to make this work correctly. But it’s all for the better now.

I also fixed a number of compiler warnings (deprecations mostly) that were introduced since I last worked on the project. I still have 4 or 5 warnings left. I plan on tackling these soon™.

Version Number Change

My last version was 1.9. This version is 2019.1. This makes sense to me. It’s the first release in 2019. The next version (if this year) will be 2019.2. I took cues from Curtis Herbert and Marco Arment. I think (a small) part of the reason I waited so long for a release was I knew I wanted to call it 2.0, but I wasn’t sure when was a good time to call it done. Now I just plan on adding a new feature or fixing some bugs and shipping it. No more fretting over what’s “enough” for a major release.

Website Re-Launch

There was a point in time when I had a website for Beer Style Guidelines. I just don’t know why I 1: let the domain lapse and 2: let it die.

So, I relaunched the site as https://beerstyleguidelines.app. I’m using the really old design for it. I have plans to update it. But I wanted to get something together for the launch of this version. I also needed to have a privacy policy page together for Apple and the App Store (which is a good thing).

What’s Next?

I’ve already started on the next version of the app.

In the app now, I’m using a UIWebView to display the guide chapter contents. UIWebView has been deprecated by Apple (as of iOS 12) and will eventually be removed from the OS.

Apple suggests moving to WKWebView instead which is currently supported by them. However, I’m not sure I want to do that. I was never a fan of using a web view to display the heart of the content to users. There is also a very slight delay in displaying the content for the first time. This slight delay also exists in WKWebView. I’ve been toying around with other ways of displaying the data and I think I have a pretty good solution. It currently has some drawbacks that I need to fix before I can even think about shipping this.

After a few more releases like this (modernizing the app in many places), I also want to start thinking about a macOS app. I also need to get new guides into the app. I currently have 3, but the last “new” guide was added in 2017. It’s almost 2020. Time to get more recent guides in place.

I already have a short mental list of what I want to change on the website. For starters, I need to add dark mode support. I hope to get that into place in the next week or two.

On Quitting Star Wars Galaxy of Heroes

I recently called it quits on Star Wars Galaxy of Heroes. I had been playing it for almost four years. I know I’ve posted about this game before.

This was a game that I had liked for the longest time. However, over the last year or so, they’ve started making some decisions that really didn’t sit well with me.

I mostly enjoyed the Player vs environment (PVE) content. Raids, combat missions, even Territory Battles. I enjoy playing against the game/environment (rather than other people). This is how I feel with most games. The latest content in Galaxy of Heroes felt like a re-skin of old content and they just cranked up the difficulty exponentially. It felt like more of a chore to play it without any sense of Pride or Accomplishment (a jab at this reddit comment from EA - who also makes Galaxy of Heroes).

What I really enjoy are new raids and there hasn’t been a new one in well over a year. And the last raid was just so-so.

I was a fairly competitive player. I usually stayed in the top 30 in Player vs player (PVP) squad and fleet arenas daily.

I was not a Free-to-play (FTP) player. I did spend money on the game. Not a ton. But enough to feel like I was helping show my support to the game. I know that sounds weird. But it’s technically a free game and I wanted to help support a game that I played every day. So I would purchase things here and there. I wasn’t a whale by any means.

Over the last year or so, the developers have made staying competitive really hard. They’ve essentially put these huge paywalls in front of getting the latest/greatest characters in the game. It’s been like that for a while now. Previously, you would only need certain characters unlocked at a very minimum “gear” level to obtain them. If you were smart and read the tea leaves, you could unlock the necessary characters needed. Now, you need the characters unlocked and at an almost maxed level to have them. That’s very unrealistic to do without spending a ton of money. The window to unlock these new super power characters has also shortened from week-long events to weekend-long events.

Now these new character events do come around again. So I could wait for the event to return. I did that with the first of these character events (a Darth Malak event). I didn’t have the necessary characters at a high enough gear level to even enter the event. I did manage to unlock him the second time around. But I came up with an even better idea for the latest of these new character events (a General Anakin event). Why not just stop playing altogether? That’s exactly what I did.

Two weeks ago, a friend and I decided to quit.

I am so happy that I did. It felt like a huge weight was lifted off of my shoulders. I’m no longer checking the game every few hours for new guild orders or free energy. My dinner time hours are no longer occupied by trying to climb in both PVP arenas for the daily payout.

I should have done this sooner. I’m not sure I was really ready to though. I’ve finally had enough.

I have no plans on going back to playing Star Wars Galaxy of Heroes. The game was fun while it lasted. But either I’ve fundamentally changed, or the game has. I feel that we are no longer compatible.

So. What am I doing now to occupy my time? Not a whole lot of new things. I’m just enjoying not having this extra weight on my shoulders. I’ve been reading a bit more, playing a bit more of Hearthstone (single player only) and working on my side project.

It’s really been a refreshing change now that I’ve quit. I am so glad that I did.

Sad Day

Yesterday was a bit of a sad day for me. I retired two apps of mine from the iOS App Store. I removed both MyCntdwn and Showers: White Noise Generator from sale.

I had mentioned that it may come to this in my last post (Summer 2019 Development Goals). I made some progress with updates for both MyCtndwn and Beer Style Guidelines. But ultimately I decided that the progress on MyCntdwn wasn’t enough to continue forward with it.

MyCntdwn has been in the App Store since shortly after the App Store launched (in 2008). It was actually coming up on it’s 11th birthday. But I have also lost a bit of motivation to keep maintaining it. I haven’t made any valuable updates since the iPhone X was released two years ago. I’ve had plans on big updates to the app, but just could never get things going.

Showers is a much more recent app. I launched this app in early 2014. The last update to it was in 2016. I hadn’t even planning on making any future updates to it. I was just holding onto it. Retiring this app was a much easier decision and I’m surprised that I didn’t do it earlier.

There is good news from all of this. I can finally stop making half-hearted efforts on two different apps and focus instead on making updates to my remaining app: Beer Style Guidelines.

Beer Style Guidelines is still alive and kicking. There hasn’t been an update to it for a little while. But I have one in the works. A small update with iOS 13 compatibility should be submitted in a few weeks. I have a few small (I hope) bugs to work out and then I can submit it for review. In upcoming versions, I plan on rewriting most of what’s under the hood and adding new/updated style guides.

I hope that officially retiring two of my apps will open up some mental capacity for me to keep Beer Style Guidelines updated and fresh.

On the off chance that anyone would like to purchase either MyCntdwn or Showers: White Noise Generator from me to take over development and maintenance. Please reach out to me on twitter.

Summer 2019 Development Goals

I’ve made a set of goals for the Summer. In the recent past I have been bad about making goals. I’ve been so busy with life, that I’ve just tried hanging on and making it through.

This Summer, I want to do some quality development work on both MyCntdwn and Beer Style Guidelines. The thing is that I say this every Summer. And for the last few Summers, I haven’t done enough quality work to ship anything. I’ve even gone as far as committing to a Data Sync Series which I eventually gave up on.

It’s been tough the last few years. I have a lot of things that I want to do, but I haven’t made this development work a priority. Other things in life have been a higher priority (work, family, etc). They still are, but this Summer I am going to do a better job of removing the time wasters. Instead of vegging out and watching a series of stupid TV shows in the evening, I’m going to do more development work.

I’ve decided that if I don’t do some good work and actually ship app updates this Fall, I’m going to stop development on these apps. It’s not fair to the small number of users I have to keep these apps in the Apps Store and not properly support them.

So far I’ve made some nice progress.

I’ve torn out all 3rd party analytic support in favor of one that I’ve written myself. This in itself has been a year-long project (with long breaks). This one I’ve written allows me to have much finer control over what’s being sent to my analytics backend. There’s no sneaky stuff going on there. And the users can easily turn all analytics tracking off.

I’ve also enabled Dark Mode support for both apps. I already had support for this in MyCntdwn. But now that it’s supported at the OS level, I was able to rip out a bunch of code I no longer need.

I’m currently tinkering with SwiftUI and seeing if I can replace a bunch of UI-based code and Storyboards with SwiftUI. Early indications are that I will be able to. I’m not 100% certain yet. I need to do more exploration with SwiftUI.

Next on my list will be to support data sync. It looks like they’ve made that much easier in iOS 13. But I’m not there yet. So I’m not going to get my hopes up with it.

And if this all works out nicely. I may even try to make them both macOS apps with Catalyst. But this is way down the road for me.

As you can see I’ve got some lofty development goals here. I just hope I can make them enough of a priority in my life to get them done. Honestly, I’d be happy shipping what I’ve done already when it’s time. But I want to do more. Stay tuned to see if I actually follow through on these plans.

Finally Watching WWDC 2019 Videos

I’ve finally had a minute (or 60) to sit down and start watching videos from WWDC 2019. I know, I’m over a month late to the show.

I watched both the Keynote and Platforms State of the Union on the first day of WWDC. But since then, I’ve been so busy with work and other stuff that I haven’t had much time to catch up.

From the keynote and state of the union videos, I knew SwiftUI looked amazing. But I didn’t get a real sense of it until this week.

I watched Introducing SwiftUI: Building Your First App. That was such a good video/session. I feel like I need to watch it again. I’m also looking forward to watching the other SwiftUI videos and learning much more about SwiftUI.

I think Apple really nailed it with SwiftUI. It looks so simple and intuitive. I should be able to remove a lot of code in my personal apps (and eventually professional apps) because of SwiftUI.

Tonight, I had a chance to sit down and start tinkering with SwiftUI. I currently feel like I’m lost in the woods with some things. It’s a bit overwhelming at first. There’s a lot going on that I don’t know how to do yet (interaction with Timers and Core Data). I need to watch more of Apple’s videos and really dig into the code a bit more.

I’ve got plans to update both MyCntdwn and Beer Style Guidelines to use SwiftUI (among other new features). I’m really hoping that I get good chunks of time this Summer to really dive in and learn the new stuff.

I just hope I have some time to actually make updates to my apps. Like for real this time. Things are so busy with the kids, that I rarely have much time to do this sort of thing anymore.

But this Summer, I’m determined to watch many more videos from WWDC and incorporate new technologies into my apps.