Really excited to ship my new app Agendum just before the holidays. If you’ve ever needed to present or run a meeting, check it out here!

Agendum app screenshots

I’ve been working on a new app the last couple months, and I’m getting really close to wrapping it up and shipping it. Such a great feeling!


Fall trees around path

Gorgeous view on my way in to work this morning. Feeling blessed.


Pumpkins carved by my children

Feeling lucky to be a dad today. Halloween is such a magical time! 🎃


Historic building in Portland

Found a gorgeous old building in Mt. Tabor park out walking in Portland last night


📖 🎧 Star Wars: Vision of the Future

By Timothy Zahn


🧪 UI-TDD with Xcode Part II

As I wrote about last month, I was able to speak at Cocoaheads on some work we have been doing with Xcode UI Testing. I am speaking again tonight at a different Cocoaheads group, which is exciting for me.

I had created a sample project for my presentation last month, but lost the project when my computer died and had to get the logic board replaced. I have recreated the sample project, and am happy to share it here:

UI Testing Example

And just in case you would like to download the slides for reference, here is a link to the PDF:

UI TDD Presentation (5 MB)

And you can view a recording of the presentation here:


📖 🎧 Star Wars: The Last Command

By Timothy Zahn


📖 🎧 Star Wars: Dark Force Rising

By Timothy Zahn


📖 🎧 Star Wars: Heir to the Empire

By Timothy Zahn


📖 Rules of Deception

By Christopher Reich


Feeling like a lucky guy today. Brought my daughter to a teen motivational conference and my wife encouraged me to take the day to relax and recharge. 🏰💻🎞☺️


📖 🛏 Into the Silence: The Great War, Mallory, and the Conquest of Everest

By Wade Davis


Sunburst before sunset

Just before the dark, a brilliant burst of light


At a Cocoaheads meetup listening to a presentation on shortcuts and tricks in Xcode. I was reminded how important it is to keep learning and realize that you will never know everything. New knowledge can always come from unexpected sources.


🧪 UI-TDD with Xcode

Last week I had the opportunity to present at our local Cocoaheads meetup. At work, I have been focused on testing more as of late, and have been working to get our UI tests in much better shape.

I adapted an approach that our Test Engineering department has been taking with automated tests for our web apps. Essentially, we create a page object to represent each screen in the app, and include all of the elements, actions, and verifications needed for that screen. Then the actual UI tests just reference the page objects using the exposed API of actions and verifications. As an example, this has changed a call from this:

XCUIApplication().tables.children(matching: .cell).element(boundBy: 0).staticTexts["2018-07-03 20:45:14 +0000"].tap()

to this:

.tapOnCell(at: 0).

I have really enjoyed the productivity boost this has given us, along with the safety and security of good test coverage and wanted to share this approach with the community. Included below is a PDF of my presentation.

UI TDD Presentation (5 MB)

Update: The talk was recorded and can be viewed here:


📖 🎧 The Seven Principles for Making Marriage Work

By John M. Gottman


📖 🎧 Radical Candor

By Kim Scott


I have felt pretty overwhelmed lately. Keeping everything I need to get done in Things has been a lifesaver. It’s so fulfilling to be able to check things off and know that I am getting the most important things done.


📖 🎧 Measure What Matters

By John Doerr


🎥 Mission: Impossible Fallout

Alone


📖 Hondo

By Louis L’Amour


📖 The Haunted Mesa

By Louis L’Amour


📖 🎧 The Five Love Languages

By Gary Chapman


🎥 Jurassic World

Double Date