Estimating software development efforts is hard. We’ve used a lot of different strategies, but the bottom line is that it’s hard to come up with a good estimate very often.
There are a few warning signs I have learned to look for that frequently indicate that my estimates might be off: Unfamiliar technology, vague requirements, or complicated or regulated business domains are common and typically very visible red flags that you’re probably already looking for. Today I want to focus on a warning sign that I’ve frequently seen ignored or underestimated: external services or APIs.
If you are building an application that is heavily dependent on another firm’s API, you should probably triple your estimate.
Read more on 4 Pitfalls of Developing with APIs…
Posted in Techniques Tagged API
Developing an application and an API in parallel can be quite the tricky task. Often times, it can lead to misunderstandings and miscommunication between developers. This can cause a project’s progress to come to a screeching halt. The longer the misconceptions go unnoticed, the bigger the damage may be.
Read more on 3 Benefits of Fake APIs…
Posted in Development Tagged API
Documentation is a crucial part of any good API or framework. Despite this importance, it often gets neglected and treated as an afterthought.
I recently asked another developer how he always managed to put together such well-thought-out and complete documentation. His response was: “Documentation Driven Design (DDD): if your API feels clunky to document, it’s probably a bad design.” This reminded me of my first introduction to Test Driven Development (TDD). By breaking your code into smaller chunks and testing them first, you were immediately placed on a road traveling toward better design. Given how useful TDD has been for me, DDD seems worthwhile.
One of the main considerations that determines whether I use a framework is how complete and easy to understand the documentation is. But in my own hypocritical way, I’ve neglected good documentation principles on my own hobby projects and frameworks. Read more on Framework Docs Are a First-Class Citizen…
Currently, Apple limits access to AirPlay and mirroring capabilities in their public APIs. Developers are given a great deal of latitude in terms of what content to display but are limited in how and where that content is displayed.
On a recent project we needed more control over how and when content is displayed via AirPlay. Luckily for us we were not burdened by App Store Review Guidelines since it was a prototype and didn’t have to make it into the App Store.
So…down the Private API rabbit hole we went.
Read more on iOS Mirroring and Programmatic Airplay Selection…
Posted in iOS / OS X Also tagged iOS, prototyping
Read more on State in Web Applications…
Posted in Development Also tagged rails, state
I recently wrote a small wrapper for the Flickr API in backbone.js. I found the Flickr API to be a little strange but very consistent in its strangeness. When developing a web-based application, thinking about your API can help demystify design and responsibility of controllers, models, routes etc. Here are a few resources I’ve found helpful for HTTP APIs, REST, and versioning APIs.
Read more on Advanced REST/API Resources…
Posted in Web Apps Also tagged rails, REST