{"id":494,"date":"2013-06-15T12:02:15","date_gmt":"2013-06-15T17:02:15","guid":{"rendered":"http:\/\/www.mageuzi.com\/blog\/?p=494"},"modified":"2013-06-18T00:06:29","modified_gmt":"2013-06-18T05:06:29","slug":"trowl-0-8-or-how-i-learned-to-stop-worrying-and-love-api-1-1","status":"publish","type":"post","link":"http:\/\/www.mageuzi.com\/blog\/2013\/06\/15\/trowl-0-8-or-how-i-learned-to-stop-worrying-and-love-api-1-1\/","title":{"rendered":"Trowl 0.8, Or How I Learned to Stop Worrying and Love API 1.1"},"content":{"rendered":"<p>Overdone jokes aside, I realized that I use Trowl too much, and I invested too much time in the app, to just toss it aside when Twitter decided to finally turn off version 1 of its API. That said, it\u00e2\u20ac\u2122s not a trivial process.<\/p>\n<p><font style=\"background-color: #ffffff\" color=\"#555555\" face=\"Helvetica\"><strong>Technical Details<\/strong><\/font><\/p>\n<p><font style=\"background-color: #ffffff\" color=\"#555555\" face=\"Helvetica\">If you\u00e2\u20ac\u2122re interested, Trowl was originally built on requesting XML responses from Twitter. This was primarily because, at the time, .NET was best suited for parsing XML documents more than anything else. With the switch to API 1.1, Twitter completely dropped the ability to request XML responses, in favor of JSON. Luckily, .NET has become more fluent with JSON recently \u00e2\u20ac\u201c but it still meant going back through all my calls to Twitter and replacing the XML-based response\/parse logic with JSON-based response\/parse logic.<\/font><\/p>\n<p><font style=\"background-color: #ffffff\" color=\"#555555\" face=\"Helvetica\"><strong>The Status of 0.8<\/strong><\/font><\/p>\n<p><font style=\"background-color: #ffffff\" color=\"#555555\" face=\"Helvetica\"><font color=\"#000000\">Okay, so, I\u00e2\u20ac\u2122m making this version 0.8 because I\u00e2\u20ac\u2122m essentially changing the entire foundation that Trowl is based on. There aren\u00e2\u20ac\u2122t any new features here, but it\u00e2\u20ac\u2122s a big enough infrastructure change that I felt justified in bumping up the version to 0.8.<\/font><\/font><\/p>\n<p><font style=\"background-color: #ffffff\" color=\"#555555\" face=\"Helvetica\"><font color=\"#000000\">I\u00e2\u20ac\u2122ve converted almost everything over to API 1.1 except the following:<\/font><\/font><\/p>\n<ul>\n<li><font style=\"background-color: #ffffff\" color=\"#555555\" face=\"Helvetica\"><font color=\"#000000\">Controlling Trowl through DMs (which I don\u00e2\u20ac\u2122t think anyone uses anyway)<\/font><\/font>\n<li><font color=\"#000000\">Spam reporting<\/font>\n<li><font color=\"#000000\">Additional caching in light of API 1.1\u00e2\u20ac\u2122s stricter rate limiting<\/font> <\/li>\n<\/ul>\n<p><font color=\"#000000\">Everything else <em>should<\/em> work, but I\u00e2\u20ac\u2122m releasing a development version first so people can try it out and let me know what bugs they find.<\/font><\/p>\n<p><font color=\"#000000\"><a href=\"http:\/\/mageuzi.com\/trowl\/trowl080-dev.zip\">Trowl 0.8 Download<\/a><\/font><\/p>\n<p><strong>UPDATE 6\/17\/2013+ <\/strong>Another quick update that fixes some issues with retrieving friends (darn those stricter rate limits!). Authorizing a new account should be fixed now too.<\/p>\n<p><strong>UPDATE 6\/17\/2013 <\/strong>All functions should be switched over to API 1.1 now, but please send me any bugs or issues you find. Thanks!<\/p>\n<p><font color=\"#000000\">Thank you for sticking by Trowl during the API shutdown!<\/font><font style=\"background-color: #ffffff\" color=\"#555555\" face=\"Helvetica\"><\/p>\n<p><\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overdone jokes aside, I realized that I use Trowl too much, and I invested too much time in the app, to just toss it aside when Twitter decided to finally turn off version 1 of its API. That said, it\u00e2\u20ac\u2122s not a trivial process. Technical Details If you\u00e2\u20ac\u2122re interested, Trowl was originally built on requesting [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[33],"tags":[151,34,61],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/posts\/494"}],"collection":[{"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/comments?post=494"}],"version-history":[{"count":2,"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/posts\/494\/revisions"}],"predecessor-version":[{"id":498,"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/posts\/494\/revisions\/498"}],"wp:attachment":[{"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/media?parent=494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/categories?post=494"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.mageuzi.com\/blog\/wp-json\/wp\/v2\/tags?post=494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}