Since I began thinking about adding milestones to Sifter, I’ve been thinking about some really cool integration throughout the interface. That thinking led to a significant amount of time sketching and designing how they would work. The more I designed, the more ambitious the implementation became. The more ambitious it was, the longer it was put on the back burner.
Recently, though, I realized that I had taken it too far. There was a way to implement milestones quickly and easily and get the functionality in everyone’s hands in a matter of days. Once I saw the light, I realized that there was absolutely no reason not to implement milestones in a phased approach. The first pass would simply get the functionality into everyone’s hands. The later passes will focus on more seamless integration into the interface.
This phased approach will get the rudimentary functionality out there sooner. More importantly, though, it gives me and everyone else some time to use milestones and think through how the new improvements should work. I’ve got some ideas, but real world usage can only help improve those ideas.
The moral of the story is that it’s important to recognize when you might be trying to bite off more than you should chew right now. This is a feature that many of us want and need, and I can’t justify delaying a good enough solution while chasing down the perfect solution. So, instead of trying to hit a home run and cram it all in one release, we can focus on hitting singles and making constant tiny improvements.
If all continues to go well, milestones should be available sometime this week with plenty more improvements to follow shortly. Thanks for waiting while we got it sorted.