API Documentation

This post discusses generating documentation from annotated source code. There are many tools available – I like appledoc from GentleBytes because it generates documentation that closely mimics Apple’s style and also creates and installs Xcode docsets. Refer to the GentleBytes page for basic setup and usage information. Read on for details of how I implement appledoc in my projects and why. Continue reading

OCAEditableCollectionViewFlowLayout – delete and re-order cells in UICollectionView

When I started version 3 of KOResume, I quickly adopted UICollectionView as the organizing technology at the root of the resume hierarchy – what I call a Package. But I missed UITableView’s ease of re-ordering and deleting content. After some searching I found two Classes under MIT License, one that allowed deletion, and the other editing (re-ordering).  I integrated these classes in order to create a UICollectionViewFlowLayout class that allows deletion and re-ordering of cells. Continue reading

KOResume – Using UICollectionView and Auto Layout

As I mentioned in my earlier post, version 3 is a complete re-write of KOResume. The information in resumes is naturally hierarchical and version 2 leveraged that through extensive use of Core Data and UITableViews. For the re-write, I’m examining new features Apple introduced recently. Continue reading

iOS Standards and Conventions

In a well run development organization there will be a set of guidelines about coding style, often referred to as Standards and Conventions. Having this information written, understood, and code-reviewed is one of many “Best Practices”. Apple and others provide comprehensive advice – I have found a few additional Best Practices that have served me well. Continue reading

KOResume Example

“KOResume Example” was my second app and started off in a strange way. I crossed paths with a California company interested in opening an office in Austin and looking for budding iOS programmers. They requested applicants submit their resume in html, Ruby, or other language with which they were comfortable. I decided to go one step further and submit my resume as an iOS app. In the end, the company decided not to open an Austin office and I was not willing to move back to California.

But KOResume took on a life of its own. When iCloud was announced in iOS 5, I decided to migrate the app to Core Data and iCloud as a means of learning both technologies. I also added the ability to add your own resume, and ultimately submitted it to the App Store in the Education category.

I chose Education as my goal was to provide other developers with an opportunity to explore a reasonably complete application as a learning tool. Unlike topic specific tutorials, KOResume is a complete app – comprehensive enough to give perspective to many topics, yet small enough to be digestible. FYI, source code is available on GitHub.

This “category” on my blog extends the source code and related documentation on GitHub to provide more depth and explanation about the reasoning behind the code – and some of the trade-offs one inevitably makes.


Scrum – Definition of Done (DoD)

This post provides a little background about Scrum and then delves into the Definition of Done and why it’s important. Continue reading

iOS App Distribution – AdHoc, App Store, or Enterprise?

I’ve encountered a lot of confusion about the different mechanisms available to get apps into the hands of your target users. This article explains the options and their respective limitations. Continue reading