Atomic Object uses a number of agile software management tools across our projects, but when given the choice, we (almost) always recommend Pivotal Tracker. Pivotal Tracker is more opinionated about the software development process than some other tools on the market, but with that “limitation” comes a set of benefits—specifically its simple, intuitive user interface […]
Estimating a custom software project is a difficult necessity that usually occurs before the project kickoff (what we like to call the “point of maximum ignorance”). And getting estimates right can have a significant impact on the overall success of a product.
Automated testing is an essential part of every development project we undertake at Atomic Object. In the past year, I have worked on multiple iOS applications in Swift. Here are four things I’ve discovered that make unit and integration testing more convenient and flexible.
In iOS 9, Apple introduced a very handy new UI concept: the UIStackView. Stack views help us quickly compose sequential “stacks” of views without Auto Layout. UIStackView offers a number of distribution and spacing options in Interface Builder. If you’re unfamiliar with UIStackView, I recommend reading “Exploring UIStackView Distribution Types” first. In this post, I’ll […]
Last week, after dealing with a frustrating build and deployment issue, I reflected on what makes software development frustrating at times–specifically, the well-known feeling that code “rots” over time. I happened to glance at a small Zen rock garden my wife had given me long ago and was reminded of wabi-sabi.
Atomic Object employs a group of smart, high-performing, passionate, diverse, and flawed human beings. It’s inevitable that each of us will occasionally experience “bad feelings” at work. As a company, we’ve put a lot thought into how to handle the bad feelings that occasionally arise during our time at work. One of the steps we’ve […]
I recently helped develop a native iOS app for a client that sells software to many different educational organizations. We wrote the app in Swift, and it interacts with our client’s pre-existing web API. One challenge we faced was that many of our client’s customers require single-account, multiple-login (SAML) support through their own web portals. […]
When starting a new greenfield project at Atomic, we always ask ourselves about tooling surrounding testing and deployment. We have had a lot of luck with CircleCI for both mobile and web applications, so when I found out CircleCI had a solution for iOS, I was excited to take advantage of it. In this post, […]
A sprint retrospective is a brief collaborative exercise that teams can do at the end of each sprint—typically as part of the sprint review meeting. Its purpose is to reflect on what happened during the sprint with the goal of improving the team, but there are other benefits, like building team chemistry, sharing knowledge, promoting a sense of […]
Two years ago, I worked on a large iOS project with a very complex, dynamic shape that needed to be rendered on its main screen. The shape had to be drawn using hundreds of Bézier curves in a closed path, generated from real-world data. Despite my background in computational geometry and OpenGL, I wasn’t sure how to […]