{"id":200,"date":"2012-08-24T22:39:54","date_gmt":"2012-08-24T19:39:54","guid":{"rendered":"http:\/\/sveder.com\/blog\/?p=200"},"modified":"2014-11-06T00:03:35","modified_gmt":"2014-11-05T21:03:35","slug":"announcing-a-trello-to-ical-feed-web-application","status":"publish","type":"post","link":"https:\/\/sveder.com\/blog\/?p=200","title":{"rendered":"Announcing a Trello to iCal Feed Web Application"},"content":{"rendered":"<p><strong>tl;dr &#8211; I wrote an app that creates a feed that you can plug into your calendars out of Trello cards with due date. Update: That was two years ago and since then Trello finally added that feature, and users migrated to using Trello, so I took it down. RIP \ud83d\ude42<\/strong><\/p>\n<p>Almost a year ago <a title=\"Fog Creek Software Site\" href=\"http:\/\/www.fogcreek.com\/\">Fog Creek Software<\/a> released <a title=\"Trello Site\" href=\"https:\/\/trello.com\/\">Trello <\/a>a flexible web based to-do list tool that can also be used as a project management tool. Because of its flexibilities Trello has been used for many use cases &#8211; software release processes, customer relations management, book authoring and <a title=\"Example of interesting uses for Trello\" href=\"http:\/\/blog.trello.com\/how-do-you-use-trello-contest-winners\/\">much more<\/a>. I started using it at launch because I hate every other to-do list tool, and I tried many, but I instantly fell in love with Trello. It was easy to use and got out of my way, which is something other to-do lists just didn&#8217;t get. I was hooked since and started getting others to use it to plan things with me. I use it to manage pretty much everything, including the backlog of features to this blog, development tasks for <a href=\"http:\/\/zantiapp.com\/anti.html\">zAnti<\/a>, the app I&#8217;m responsible for at <a href=\"http:\/\/www.zimperium.com\/\">Zimperium<\/a> and more. The only thing that was really missing from Trello was integration with my calendar. It was a major pain point. Trello cards (the basic to-do items) have only one way of connecting them to time and date &#8211; a &#8220;due date&#8221; value that changes colors when the date passes. One of the most requested features was to have calendar integration.<\/p>\n<div id=\"attachment_313\" style=\"width: 664px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-313\" src=\"http:\/\/sveder.com\/blog\/wp-content\/uploads\/2012\/08\/debugging.png\" alt=\"Debugging the application\" width=\"654\" height=\"364\" class=\"size-full wp-image-313\" srcset=\"https:\/\/sveder.com\/blog\/wp-content\/uploads\/2012\/08\/debugging.png 654w, https:\/\/sveder.com\/blog\/wp-content\/uploads\/2012\/08\/debugging-300x166.png 300w, https:\/\/sveder.com\/blog\/wp-content\/uploads\/2012\/08\/debugging-500x278.png 500w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><p id=\"caption-attachment-313\" class=\"wp-caption-text\">Debugging the application<\/p><\/div>\n<p>When the Trello API was out I immediately knew that my first priority is integration with my Google Calendar. I started playing with the API and making the basic PoC (Proof of Concept) for an app that created an iCal feed from Trello cards with a due date. Using iCal was the best option as it is supported by every calendar program worth its salt. I than left the code alone for a few months because lack of time and general tendency not to finish things. At the end of July I decided it&#8217;s time to productize this and I wrote the first version of the &#8220;Trello to iCal feed app&#8221; which is <a href=\"http:\/\/fun.sveder.com\/trello\">up now<\/a>. I am still adding features to it and changing stuff, but it works and seems stable. The source code can be <a title=\"The app's source code.\" href=\"https:\/\/github.com\/Sveder\/trello_calendar_feed\">found here<\/a>. I will make a separate post about the design and code of the app sometimes this week when I finish updating to a new version. Definitely learned a few interesting things.<\/p>\n<p>One amusing thing that happened is that between the PoC and the productization another developer (<a href=\"https:\/\/twitter.com\/francois2metz\">Fran\u00e7ois de Metz<\/a>) added this feature to his app. Three months ago <a href=\"https:\/\/github.com\/francois2metz\/trello-calendar\">his app<\/a> only showed you your cards on a basic calendar he created without any integration to outside calendars which wasn&#8217;t helpful to me, but he since he added a way to get an iCal feed. We both even used Twitter Bootstrap so our sites look pretty similar. This coincidence isn&#8217;t magical though &#8211; Bootstrap is popping up everywhere and it&#8217;s easy to deploy, but I think I&#8217;ll steer clear of it in my next projects. I&#8217;ve had some problems with <a href=\"http:\/\/lesscss.org\/\">LESS <\/a>support on windows and I&#8217;ve also seen some backlash and lack or trust from developers when they see a vanilla Bootstrap site.<\/p>\n<p>If you have any feedback and comments you can use <a href=\"https:\/\/trello.com\/board\/trello2ical-dev-board\/5037cd83008f04a41aa242bf\">this Trello board<\/a> (how meta) or just contact me <a href=\"http:\/\/sveder.com\/blog\/about-me\/#contact\">using the usual methods<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>tl;dr &#8211; I wrote an app that creates a feed that you can plug into your calendars out of Trello cards with due date. Update: That was two years ago and since then Trello finally added that feature, and users &hellip; <a href=\"https:\/\/sveder.com\/blog\/?p=200\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[8],"tags":[29,33,36,38],"class_list":["post-200","post","type-post","status-publish","format-standard","hentry","category-products","tag-products-2","tag-release","tag-sofware","tag-trello2ical"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6Z7g6-3e","_links":{"self":[{"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=200"}],"version-history":[{"count":2,"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/200\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/200\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sveder.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}