<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>futuretrack5: Basecamp API in XHTMLized</title>
    <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>"Basecamp API in XHTMLized" by Grant</title>
      <description>&lt;p&gt;I saw some &lt;span class='caps'&gt;SVN&lt;/span&gt; hook scripts in the forums &amp;#8211; take a look.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Apr 2006 06:41:18 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:10c3f3f2-17ae-431d-88f0-0a86741fa855</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-141</link>
    </item>
    <item>
      <title>"Basecamp API in XHTMLized" by Chris Anderson</title>
      <description>&lt;p&gt;I&amp;#8217;d really like to see a &lt;span class='caps'&gt;SVN&lt;/span&gt; bot!!!&lt;/p&gt;


	&lt;p&gt;getting all those svn emails gone would go a long way toward making my day.&lt;/p&gt;</description>
      <pubDate>Thu, 13 Apr 2006 06:55:50 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:176b80f2-209c-442a-9cf6-f2596d95c7d8</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-139</link>
    </item>
    <item>
      <title>"Basecamp API in XHTMLized" by Dmitry Sabanin</title>
      <description>&lt;p&gt;There&amp;#8217;s not much code of ours there. We&amp;#8217;re using official &lt;a href='http://basecamphq.com/api/basecamp.rb' rel="nofollow"&gt;Ruby library for Basecamp &lt;span class='caps'&gt;API&lt;/span&gt;&lt;/a&gt;, made by &lt;a href='http://37signals.com' rel="nofollow"&gt;37signals&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Our code right now is mostly wrapper around this and a couple of hooks to integrate with our existing application. It&amp;#8217;s simple.&lt;/p&gt;


	&lt;p&gt;Ruby library for Basecamp is really cool and easy to use. In best Ruby traditions.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m working on refactoring it into plugin though. I&amp;#8217;d really love to have basecamp remote entities as a regular model objects in my applications.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;RemoteRecord::Base&lt;/strong&gt; anyone?&lt;/p&gt;</description>
      <pubDate>Wed, 12 Apr 2006 04:28:51 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:d76d3ff0-5879-408c-a47d-1bed888bbfd2</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-134</link>
    </item>
    <item>
      <title>"Basecamp API in XHTMLized" by G</title>
      <description>&lt;p&gt;please, lets see the code&amp;#8230;I&amp;#8217;ll buy you a cookie! :)&lt;/p&gt;</description>
      <pubDate>Wed, 12 Apr 2006 04:09:57 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:2866b6c3-a236-46b5-9718-ae4074f14084</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-133</link>
    </item>
    <item>
      <title>"Basecamp API in XHTMLized" by Peter van Teeseling</title>
      <description>&lt;p&gt;I second (or rather &amp;#8230; third) the above requests. Very cool stuff. Nice!&lt;/p&gt;</description>
      <pubDate>Tue, 11 Apr 2006 20:15:27 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:acb14648-6066-417e-bf2c-dfa3ad6d257b</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-130</link>
    </item>
    <item>
      <title>"Basecamp API in XHTMLized" by Tony McDonald</title>
      <description>&lt;p&gt;This &lt;strong&gt;is cool&lt;/strong&gt;. I wondered how long it would be before someone started using the BaseCamp &lt;span class='caps'&gt;API&lt;/span&gt; &amp;#8211; and as far as I know, you&amp;#8217;re the first.&lt;/p&gt;


	&lt;p&gt;Of course, now you&amp;#8217;re gonna get a lot of people asking to see the code, me included! ;)&lt;/p&gt;


	&lt;p&gt;Cheers,
Tone&lt;/p&gt;</description>
      <pubDate>Tue, 11 Apr 2006 19:50:56 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:55b4f14c-963d-4c2d-95dc-56242da9ce82</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-129</link>
    </item>
    <item>
      <title>"Basecamp API in XHTMLized" by James Mitchell</title>
      <description>&lt;p&gt;That&amp;#8217;s what I was thinking.  :)&lt;/p&gt;</description>
      <pubDate>Tue, 11 Apr 2006 16:46:54 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:1f043cbb-6b41-4907-ac20-99d4f483df1b</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-128</link>
    </item>
    <item>
      <title>"Basecamp API in XHTMLized" by ian kennedy</title>
      <description>&lt;p&gt;nice!&lt;/p&gt;


	&lt;p&gt;care to share your monkeybot code?&lt;/p&gt;</description>
      <pubDate>Tue, 11 Apr 2006 15:08:09 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:f621f644-3369-4360-9aee-f97290ab8cf5</guid>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized#comment-126</link>
    </item>
    <item>
      <title>Basecamp API in XHTMLized</title>
      <description>&lt;p&gt;When &lt;a href="http://37signals.com"&gt;37signals&lt;/a&gt; &lt;a href="http://www.37signals.com/svn/archives2/announcing_the_basecamp_api.php"&gt;announced&lt;/a&gt; &lt;a href="http://basecamphq.com/api"&gt;Basecamp &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/a&gt; they made Dave and me excited. We were waiting for this to happen for quite some time so I began working on Basecamp integration for &lt;a href="http://xhtmlized.com"&gt;XHTMLized&lt;/a&gt; right away.&lt;/p&gt;


	&lt;p&gt;The result? &lt;strong&gt;It saves us at least 2 hours each day by eliminating manual tasks.&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;But first&amp;#8212;about how we work here at &lt;a href="http://futuretrack5.com"&gt;Futuretrack5&lt;/a&gt;. We&amp;#8217;re &lt;a href="http://www.campfirenow.com"&gt;Campfire&lt;/a&gt; and Basecamp &lt;strong&gt;addicts&lt;/strong&gt;. Our day starts with Campfire with Basecamp projects in background tabs. &lt;strong&gt;It works amazingly well for us.&lt;/strong&gt; You just know what everyone is up too and what we&amp;#8217;re working on that day.&lt;/p&gt;


	&lt;p&gt;Converting a design to &lt;span class="caps"&gt;XHTML&lt;/span&gt; / &lt;span class="caps"&gt;CSS&lt;/span&gt; is a fairly small task. It would be overkill to create a new Basecamp project for each XHTMLization so we made a new project on Basecamp called &lt;em&gt;XHTMLized Projects&lt;/em&gt;. Each project then has it&amp;#8217;s own message thread.&lt;/p&gt;


	&lt;p&gt;We had one problem. Because of the recent &lt;a href="http://futuretrack5.com/articles/2006/03/09/xhtmlized"&gt;XHTMLized launch&lt;/a&gt; we get a lot of quote requests. Previously, when a new order is submitted, &lt;a href="http://futuretrack5.com/articles/2006/04/07/give-you-web-applications-life"&gt;MonkeyBot&lt;/a&gt; would send an email with a link to the admin interface to approve or cancel it (spam). For approved projects we then needed to post a new message on Basecamp along with a To-Do list and a Milestone. Doing this manual task switching between email and Basecamp took a good chuck of our day.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://futuretrack5.com/files/basecamp_api_5.gif" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Basecamp &lt;span class="caps"&gt;API&lt;/span&gt; to the rescue!&lt;/strong&gt; We taught our MonkeyBot how to use Basecamp. Now we receive XHTMLized quote requests as messages right on Basecamp! As messages have categories we created a &lt;em&gt;Quote Requests&lt;/em&gt; category for these messages which makes it easy to filter through them.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://futuretrack5.com/files/monkeybot1.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Using the &lt;span class="caps"&gt;API&lt;/span&gt;, MonkeyBot can also create XHTMLized To-Do lists, set milestones, read comments and track order&amp;#8217;s progress. Things we used to do manually.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://futuretrack5.com/files/basecamp_api_2.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;When a new quote received, MonkeyBot &amp;#8216;automagically&amp;#8217; creates a To-Do list using a Basecamp template (using templates we can tweak them in Basecamp&amp;#8217;s templates section) and associates it with a Milestone (Deadline is 7 days away).&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://futuretrack5.com/files/basecamp_api_3.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;If the project is cancelled and we delete it from the XHTMLized admin, everything related to it in Basecamp is automatically removed also.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://futuretrack5.com/files/basecamp_api_4.gif" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Also from the XHTMLized admin we can see all the Basecamp comments related to the project. If we change an order’s project name field in the admin, all related Basecamp items change thier names too!&lt;/p&gt;


	&lt;p&gt;I had a great time working with the Basecamp &lt;span class="caps"&gt;API&lt;/span&gt;. I look forward to working more on some cool things using it. We plan to integrate all of our upcoming applications with Basecamp &lt;span class="caps"&gt;API&lt;/span&gt;. If you use Basecamp you must look at using the &lt;span class="caps"&gt;API&lt;/span&gt; to save you time. If you don&amp;#8217;t use Basecamp yet you&amp;#8217;ve got to check it out!&lt;/p&gt;


	&lt;p&gt;Coming up: Tips for working with the Basecamp &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 11 Apr 2006 01:27:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:0a1f9d27-643c-4d2a-9c8a-5de1ce20c10a</guid>
      <author>Dima Sabanin</author>
      <link>http://www.futuretrack5.com/articles/2006/04/11/basecamp-api-in-xhtmlized</link>
      <trackback:ping>http://www.futuretrack5.com/articles/trackback/123</trackback:ping>
    </item>
  </channel>
</rss>

