Infinity and Beyond: Count + 1

3 minute read Published:

This is a follow up post to Infinity and Beyond: Introduction.

The “Count + 1” approach pads the row count by one and uses that extra row to display loading and error information. While one of the simplest implementations, it also has one of the worst user experiences.

Infinity and Beyond: Introduction

5 minute read Published:

I recently had to implement infinite scrolling in an iOS app. If you’re not familiar with infinite scrolling, it’s an alternative to pagination, where instead of having the user explicitly do something to advance to the next page, new content is lazily loaded as the user nears the end of the currently visible content. This pattern is often used on the web for social media sites, where its main goal is to increase engagement. If you don’t have to click on a “next” button, it’s much easier for you to keep consuming content.

The often slow or unreliable networks that mobile devices operate on make it even more difficult to implement infinite scrolling well. You can’t provide a seamless transition to the next batch of data if the network isn’t available when you need it, or if it takes several seconds to retrieve the data you need. This post will outline a variety of considerations, along with a brief overview of two general implementation approaches.

Mobile CI in 2018

5 minute read Published:

It’s been a couple years since I looked at the options for Mobile Continuous Integration (CI) for iOS apps. Last time I did this, I decided on BuddyBuild, who has since been bought by Apple. Unfortunately BuddyBuild is no longer accepting new customers, and they discontinued free plans and Android support in March of 2018. I hope this means that Apple will offer their own hosted CI solution soon, and with any luck it will go as well as the acquisition of TestFlight did. There was no news at this year’s WWDC, so for now we must find something else.

The Initiative

1 minute read Published:

My friend Bill and I have been working on a podcast about learning iOS development, and it’s finally here. We recorded several episodes before we figured out enough of the recording and hosting process to release anything, so there’s already a decent backlog. New episodes should continue to come out every Friday.

Check it out at The Initiative.

RubyMotion Functional Tests with Storyboards

2 minute read Published:

If you’ve been using RubyMotion, you probably noticed that some new testing features were released today. The video in the announcment post and the documentation are pretty good, so I’m just going to share a few things that I had to do to get things working.