Or better yet, API versioning!


On 4/11/09, Jesse Stay <jesses...@gmail.com> wrote:
> Doug, can you guys do what Facebook is doing, and release it on a beta
> server somewhere beforehand so we can test it on our apps before you
> actually release it to the public?  A public staging server of some
> sort.  That will keep these surprises from happening, and we can start
> working out alerts to have in place when things might break our code
> that go on that beta server.  Best of all, it won't ever affect the
> end user.  Keep the releases on that server, then the releases out to
> the public on a timed release schedule.  It might take a little longer
> to get out to the public, but you'll have a much happier developer
> base and in turn a much happier end user by doing so.  That would be
> my number one suggestion.
> Do you guys do any tracking of Twitter itself for developers
> complaining about the API? I would also think you could gain some
> insight from that as well.
>
> @Jesse
>
> On Fri, Apr 10, 2009 at 12:04 PM, Doug Williams <d...@twitter.com> wrote:
>
>> Twitter's development model is pragmatically agile where features enter
>> the
>> code base right alongside bug fixes. You can see this in our changelog
>> [1].
>> What is not clear from the log is that most of the code is written just
>> days
>> before.
>>
>> April 8th's rapid deprecation of the since parameter/If-Modified-Since
>> header (and to a lesser extent, the removal of undocumented HTTP POST
>> access
>> to accounts/verify_credentials) [5] caught a number of developers off
>> guard.
>> The criticism of this hasty change on the impact to hackers and businesses
>> alike was both valid and appropriate. The results from last month's survey
>> [6] lead us to believe that the use of this parameter was minimal and that
>> it was safe to capture performance gains through the deprecation. In
>> hindsight, our sample size was statistically insignificant because we made
>> a
>> mistake.
>>
>> It is apparent we need to make a change towards transparency. Openness
>> demands we give developers a clear line of communication when changes are
>> made that will break current functionality. While these changes are rare,
>> they do happen. As a result of this week's conversation, we will give a
>> minimum of 5 business days notice before we ship code that removes
>> currently
>> documented functionality. Two notable exceptions are critical security and
>> performance fixes.
>>
>> Five days may seem short notice but it is a compromise from our standard.
>> There are two major concerns we must consider when shelving code that is
>> ready for deploy:
>> 1) We do not write unnecessary code. Code only exists in the deploy
>> pipeline for a feature or defect fix that is ready to go out the door. We
>> view deployable code as an asset that should be handling requests as
>> quickly
>> as possible.
>> 2) Un-merged code adds complexity. The Twitter code base is constantly
>> moving. Deploying code requires merging with the master branch which grows
>> in complexity as an undeployed branch sits idle.
>>
>> We currently use the changelog [1], @twitterapi [2], The API Announce List
>> [3], and the Dev Group [4] to inform developers of changes in hopes that
>> features will get used, and deprecations will be honored. I'd suggest any
>> developer with a long-running application to subscribe to the low noise,
>> only signal, API Announce mailing-list [3] to receive API updates as they
>> are released.
>>
>> Lastly, lets work together. Tell me what you developers need that we are
>> not currently providing. How can we better manage this communication?
>> Which
>> method of notifications work best for you? Aside from transparency with
>> API
>> changes, what else do you want to know?
>>
>> 1. http://apiwiki.twitter.com/REST+API+Changelog
>> 2. http://twitter.com/twitterapi
>> 3. http://groups.google.com/group/twitter-api-announce?hl=en
>> 4. http://groups.google.com/group/twitter-development-talk
>> 5.
>> http://groups.google.com/group/twitter-api-announce/browse_frm/thread/5822fbfd5ea857c6?hl=en
>> 6.
>> http://groups.google.com/group/twitter-api-announce/browse_frm/thread/68f2667f4e9842aa?hl=en#
>>
>> Keep the bytes flying,
>> Doug Williams
>> Twitter API Support
>> http://twitter.com/dougw
>>
>> >
>>
>


-- 
-- 
Aaron Brazell
web:: www.technosailor.com
phone:: 410-608-6620
skype:: technosailor
twitter:: @technosailor

Reply via email to