{"id":4217,"date":"2015-11-05T15:56:30","date_gmt":"2015-11-05T15:56:30","guid":{"rendered":"https:\/\/ushipblogsubd.wpengine.com\/?p=4217"},"modified":"2025-09-03T16:05:33","modified_gmt":"2025-09-03T16:05:33","slug":"ideaflow-for-ios","status":"publish","type":"post","link":"https:\/\/ushipblogsubd.wpengine.com\/shipping-code\/ideaflow-for-ios\/","title":{"rendered":"IdeaFlow for iOS"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">A couple months back, one of my fellow uShip developers popped his head into my team\u2019s room at the end of the day. \u00a0\u201cYou guys going to the API meetup?\u201d, he asked. \u00a0As an iOS developer, I don\u2019t actually write APIs very often, but I\u2019m interested enough in how consumable they are. \u00a0Why not go? \u00a0Soon enough we were all walking up to Capital Factory where Austin Homegrown API was set to present a talk entitled &#8220;<\/span><a href=\"http:\/\/www.meetup.com\/Austin-Homegrown-API\/events\/223515218\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">An Open Standard for Learnable APIs<\/span><\/a><span style=\"font-weight: 400;\">\u201d. \u00a0I didn\u2019t know what that meant, but it seemed like it could be interesting.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">This talk was based on some research by a Janelle Klein of<\/span><a href=\"http:\/\/newiron.com\/\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">New Iron<\/span><\/a><span style=\"font-weight: 400;\">. \u00a0The research was the basis for a<\/span><a href=\"http:\/\/newiron.com\/tech-stuff\/\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">book<\/span><\/a><span style=\"font-weight: 400;\"> she was working on. \u00a0It just so happened her research was centered around exactly the part of APIs I care about. \u00a0She just put it differently. \u00a0Rather than ask how consumable a given API is. \u00a0She asked the question, how painful is it for a developer to work with that API? \u00a0She also presented a way to actually measure that quantitatively. \u00a0Having this sort of raw data makes for great feedback for API developers.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">What really grabbed my attention was the actual tool Ms. Klein was using to gather data. \u00a0It was actually pretty simple. \u00a0Just an IDE widget where you can select what sort of work you\u2019re doing at the moment: \u00a0Learning, Troubleshooting, Rework, or just regular productive time. \u00a0The tool logs enough data that you can produce a timeline of these events for your project, allowing you to easily see if you\u2019re spending way too much time doing less than productive work. \u00a0\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">I came away from this presentation pretty inspired. \u00a0We\u2019re beginning to write more iOS code libraries at uShip and we care a great deal about making sure they\u2019re easy for our fellow developers to use. \u00a0So I wanted to try this tracking tool and see what data I could get on some of these libraries. \u00a0However Janelle\u2019s tool happened to be written for Java developers who use Eclipse. \u00a0Eclipse isn\u2019t really an option for iOS developers. \u00a0Hmm\u2026 how could I track data like this without working in Eclipse? \u00a0Why not make an app for that?<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">It just so happens that uShip had an hackathon event coming up. \u00a0Some of our web developers were eager to try their hand at developing something on iOS so I pitched IdeaFlow as something we could build together. \u00a0\u00a0We ended up with a working prototype app for tracking IdeaFlow data on an iPhone. \u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">You can check out the now open-sourced app<\/span><a href=\"https:\/\/github.com\/uShip\/iOSIdeaFlow\" target=\"_blank\" rel=\"noopener\"> <span style=\"font-weight: 400;\">here<\/span><\/a><span style=\"font-weight: 400;\">. \u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A couple months back, one of my fellow uShip developers popped his head into my team\u2019s room at the end of the day. \u00a0\u201cYou guys going to the API meetup?\u201d, he asked. \u00a0As an iOS developer, I don\u2019t actually write APIs very often, but I\u2019m interested enough in how consumable they are. \u00a0Why not go?&#8230;<a class=\"read-more\" href=\"https:\/\/ushipblogsubd.wpengine.com\/shipping-code\/ideaflow-for-ios\/\"> Read More<\/a><\/p>\n","protected":false},"author":5,"featured_media":6407,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[295,2],"tags":[33,39],"class_list":["post-4217","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-shipping-code","category-company-news","tag-hackathon","tag-ios"],"acf":{"blog_post_content":null},"_links":{"self":[{"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/posts\/4217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/comments?post=4217"}],"version-history":[{"count":0,"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/posts\/4217\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/media\/6407"}],"wp:attachment":[{"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/media?parent=4217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/categories?post=4217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ushipblogsubd.wpengine.com\/wp-json\/wp\/v2\/tags?post=4217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}