Tapbotshttp://www.imore.com/
enTweetbot 2.0 for Mac brings Tapbots' signature look into the age of Yosemitehttp://www.imore.com/tweetbot-20-mac
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge_wm_blw/public/field/image/2015/06/tweetbot-20-mac-hero.jpg?itok=6j5x_VX7" width="1600" height="1200" alt="" class="image-xlarge_wm_blw aligncenter image-xlarge" /></p>
<p class="intro">It's clean, it's crisp, and you better believe Tweetbot 2.0 for Mac is vibrant!</p>
<p><img src="http://www.imore.com/sites/imore.com/files/field/image/2015/01/ecbadge.png" width="90" height="150" class="badge-left" /></p>
<p>The transition from the old, richly textured look of Apple software to the current, more physical age meant a lot of designers and apps had to figure out how to translate their personality from rendered pixels to physics and animation. Tapbots and designer Mark Jardine had among the most distinctive styles of the previous era. <a href="http://www.imore.com/tweetbot-3-has-same-great-functionality-newer-cleaner-more-playful-design">Tweetbot 3</a> for iPhone showed that his skills were every bit as fierce in the post iOS-era. So how do they hold up post-Yosemite? <!--break--></p>
<ul><li>$12.99 - <a href="https://itunes.apple.com/us/app/tweetbot-for-twitter/id557168941?mt=12&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download now</a></li>
</ul><p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge/public/field/image/2015/06/tweetbot-mac-20-screens-01.jpg?itok=L3MnQU-W" width="1600" height="712" alt="" class="image-xlarge aligncenter" /></p>
<p>I've been testing Tweetbot 2.0 for Mac since it went into beta, and I've gotten so used to it I had to go back and try the original version again to remind myself what it looked like. Though the spirit is very much the same, the look is all new.</p>
<p>It's not exactly like the iPhone version any more than Yosemite was like iOS 7. The themes and goals are similar, but the nature and needs of the Mac take priority.</p>
<p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge/public/field/image/2015/06/tweetbot-mac-20-screens-02_0.jpg?itok=ZUfKS72D" width="1600" height="712" alt="" class="image-xlarge aligncenter" /></p>
<p>Beyond design, Tweetbot 2.0 for Mac is functionally very close to <a href="http://www.imore.com/tweetbot-35-adds-ios-8-extension-support-interactive-notifications">Tweetbot 3.5 for iPhone</a>.</p>
<p>I'm not a fan of the direction Twitter's taken their apps, and Tweetdeck feels more mechanical than human, so alternatives like Tweetbot are essential for me. The previous version was functionally okay but had fallen well out of date with the look and feel of the modern Mac. Tweetbot 2.0 fixes that.</p>
<p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge/public/field/image/2015/06/tweetbot-mac-20-screens-03.jpg?itok=ituHFsqb" width="1600" height="841" alt="" class="image-xlarge aligncenter" /></p>
<p>That the redesign took so long is possibly equal parts Mark figuring out what he wanted to do, the realities of a tiny indie company with several apps to maintain and improve, and the lack of viable upgrade options on the Mac App Store forcing redesign down on the priority list.</p>
<p>The first two I understand completely. I want boutique, artisanal apps that are crafted and considered rather than stamped out. The last one I get but regret. There's arguably no feature as valuable as usability, and that's what design is all about. It's not something most people are willing to pay for, which makes it hard to justify the time and investment.</p>
<p>I'm glad Tapbots did it anyway, even if it took a while. I wish I could throw some money at them in appreciation, but they're giving this one away for free. If you own it already, simply cue the update. If not, it's well worth the current asking price. And then some.</p>
<ul><li>$12.99 - <a href="https://itunes.apple.com/us/app/tweetbot-for-twitter/id557168941?mt=12&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download now</a></li>
</ul></div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tweebot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweebot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tweetbot-mac" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweetbot for mac</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div><div class="field-item odd"><a href="/category/reviews" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Reviews</a></div></div></div>Thu, 04 Jun 2015 16:14:38 +0000Rene Ritchie32171 at http://www.imore.comTapbots announces plans for 2015 including major updates for Tweetbot, Calcbothttp://www.imore.com/tapbots-announces-plans-2015-including-major-updates-tweetbot-calcbot
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p class="intro">Tapbots, developer of popular third-party Twitter client <a href="http://www.imore.com/ios/tweetbot-iphone">Tweetbot</a>, as well calculator app <a href="http://www.imore.com/calcbot-iphone-relaunches-new-look-pro-features-and-more">Calcbot</a> have announced some of their plans for 2015. Updates are coming for both Calcbot and Tweetbot on Mac, iPhone, and iPad.</p>
<!--break-->
<p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge/public/field/image/2015/02/tweetbot-2-mac-teaser.jpg?itok=iLRAeCaI" width="1600" height="1067" alt="Tapbots announces plans for 2015 including major updates for Tweetbot, Calcbot" class="image-xlarge aligncenter" /></p>
<p>Tapbots hopes to push major updates for all of their apps before <a href="http://www.imore.com/wwdc-2015">WWDC 2015</a>. They have already <a href="http://www.imore.com/redesigned-tweetbot-yosemite-gets-blurry-teaser">teased Tweetbot 2 for Mac</a>, which will be a free update to current Tweetbot for Mac users when it launches later this year.</p>
<p>A major update to Tweetbot for iOS, listed as Tweetbot 4.0 on their refreshed website, is in the works that will include an update for the iPad version. From <a href="http://tapbots.com/news/15-2-26-new-website-new-focus/">Tapbots</a>:</p>
<blockquote>
<p>We are also working on getting major updates to Tweetbot 3 for iOS out. This will include landscape mode for iOS (finally), and the highly anticipated update to the iPad version. We plan on putting a lot of time and love into making Tweetbot a better product this year.</p>
</blockquote>
<p>In addition to announcing these plans, Tapbots has also refreshed their website. Under the new In Development section on the front page, they list their current works-in-progress, including the updates for Tweetbot on iOS and Mac, as well as Calcbot 2.1, which will include extensions, localization improvements, and more.</p>
<p>You can check out all of this news and more on the Tapbots blog.</p>
<p>Source: <a href="http://tapbots.com/news/15-2-26-new-website-new-focus/">Tapbots</a></p>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/news" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">News</a></div></div></div>Thu, 26 Feb 2015 21:40:34 +0000Joseph Keller30182 at http://www.imore.comCalcbot for Mac is a calculator and unit converter with flarehttp://www.imore.com/calcbot-mac-calculator-unit-converter-flare
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge_wm_brw/public/field/image/2014/11/calcbot_macbook_pro_hero.jpg?itok=eze5nDD0" width="1600" height="1200" alt="Calcbot for Mac is a calculator and unit converter with flare" class="image-xlarge_wm_brw aligncenter image-xlarge" /></p>
<p><a href="https://itunes.apple.com/us/app/calcbot-intelligent-calculator/id931657367?ls=1&amp;mt=12&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Calcbot for Mac</a> is the latest app from <a href="http://tapbots.com">Tapbots</a>, maker of the original Calcbot for iOS, and the extremely popular <a href="/mac/tweetbot">Tweetbot</a>. What it is and what it does is all right there in the name — it's a calculator, it runs on the Mac, and it's got some robot-like smarts built right in.<!--break--></p>
<p>There's all the visual and sound design flare you'd expect from Tapbots, including bright colors and deep, vibrant translucency — all the <a href="/os-x-yosemite">OS X Yosemite</a> bells and whistles. Feature wise, you can make calculations and convert units — 500 units across 22 different categories. There's a tape to help you keep track of what you've done, and favorites to access calculations at any time. There's also scientific calculations, constants, and rounding for currency.</p>
<p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge/public/field/image/2014/11/calcbot_mac_scientific_screen.jpg?itok=awAG8kme" width="1600" height="802" alt="Calcbot for Mac in scientific mode with constants menu" class="image-xlarge aligncenter" /></p>
<p>I've been beta testing Calcbot for Mac for a while. It looks great, sounds great, and works great. There's no Today view widget, which could be cool for quick calculations, but the app itself is already plenty light and fast.</p>
<p>If you like the Tapbots flare, and you're looking for something friendlier and more feature-filled than the built-in calculator, check out Calcbot for Mac.</p>
<ul><li>$4.99 on sale - <a href="https://itunes.apple.com/us/app/calcbot-intelligent-calculator/id931657367?ls=1&amp;mt=12&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download now</a></li>
</ul></div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/calcbot-mac" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">calcbot for mac</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Thu, 06 Nov 2014 15:50:55 +0000Rene Ritchie28191 at http://www.imore.comTweetbot for iPhone now handles multiple imageshttp://www.imore.com/tweetbot-iphone-now-handles-multiple-images
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge/public/field/image/2013/10/tweetbot_3_iphone_hero.jpg?itok=aFEAVcdb" width="1600" height="1200" alt="Tweetbot" class="image-xlarge aligncenter" /></p>
<p>Tapbots has pushed out a nice little update to the popular <a href="http://www.imore.com/tag/tweetbot" title="Tweetbot">Tweetbot</a> Twitter app for iPhone that among other things brings support for multiple images. With this latest version you're able to post and view multiple images right within one Tweet. Nifty. Here's what else is new:</p>
<!--break-->
<ul><li>Image detail views show corresponding tweet when relevant</li>
<li>Instagram videos now marked with play icon</li>
<li>Spanish Localization</li>
<li>Various bug fixes</li>
</ul><p>Twitter added similiar functionality to its own apps a little while ago and we're plenty happy enough to see the same arrive in the excellent Tweetbot. It's still one of the very best ways to experience Twitter on your iPhone and this latest update doesn't change any of that. Grab it now from the App Store link below.</p>
<ul><li>$4.99 - <a href="https://itunes.apple.com/us/app/id722294701?at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download Now</a></li>
</ul></div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/twitter-apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Twitter Apps</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Fri, 13 Jun 2014 11:50:08 +0000Richard Devine25137 at http://www.imore.comTapbots rolling out critical update for Tweetbothttp://www.imore.com/tapbots-rolling-out-critical-update-tweetbot
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/xlarge/public/field/image/2013/10/tweetbot_ios_7_icon_hero.jpg?itok=dze_aGg8" width="1600" height="1200" alt="" class="image-xlarge aligncenter" /></p>
<p>If you're a user of the fabulous <a href="http://www.imore.com/tag/tapbots">Tapbots</a> Twitter app <a href="http://www.imore.com/tag/tweetbot">Tweetbot</a>, you'll want to listen up. A critical update to the app is now filtering through the iTunes App Store and arriving on iOS devices.</p>
<p>It's critical due to the fact that if you don't update, any versions of Tweetbot prior to 2.8.8 or 3.2.2 will stop working and you may need to log into your account again. The reason for the update is a small change with how Tweetbot communicates with Twitter as noted on the <a href="http://tapbots.com/blog/tweetbot/mandatory-tweetbot-update-for-v2-8-and-v3-2">Tapbots blog</a>.</p>
<blockquote>
<p>A couple weeks ago Twitter's Platform Operations group contacted us and asked us to make a small change to the way Tweetbot communicates with the Twitter API. This change will have no affect on the way Tweetbot works, however two things will occur once this change goes live. All versions of Tweetbot prior to 2.8.8 or 3.2.2 will stop working and you may need to log into your account again. So make sure you are running the latest versions of the app and be prepared to authenticate your account once more. We will be coordinating with Twitter to make the final change on May 29th at 10 A.M. PST. Stay up to date via our @tweetbot account. Thanks for your continued support!</p>
</blockquote>
<p>So that's that. It won't change how Tweetbot works in any way that's applicable to you, the user of the app but if you don't update then you'll most certainly have to update later and will have to go through the process of re-logging into your account. The update should be live for most folks right now but if you're not seeing it as of yet, just sit tight. It will be along shortly.</p>
<p><a href="https://itunes.apple.com/en/app/id722294701?at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download Now</a></p>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tweetbot-3" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweetbot 3</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Sat, 24 May 2014 01:15:52 +0000Chris Parsons24734 at http://www.imore.comTweetbot 3 for iPhone can see your Twitter direct message imageshttp://www.imore.com/tweetbot-3-iphone-can-see-your-twitter-direct-message-images
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/large/public/field/image/2013/11/tweetbot_ios7_night_iphone_hero.jpg?itok=YQXzkamO" width="620" height="465" alt="" class="image-large aligncenter" /></p>
<p><a href="http://www.imore.com/tag/tweetbot" title="Tweetbot">Tweetbot 3</a> for iPhone has been given a small, but not insignificant update today, adding support for Twitters new direct message image support feature. Added to the official Twitter client a few weeks ago, Tweetbot is one of the first of the third-party apps to add the new feature.</p>
<p>Sadly, viewing is all we can do, since Twitter won't allow third-party apps to send images in direct messages at this time. But, once again, Tweetbot continues to shine as one of the finest Twitter apps in the App Store. If you don't have it yet, it's well worth the $4.99 asking price. If you do, hit the App Store and grab the latest version at the link below.</p>
<ul><li>$4.99 - <a href="https://itunes.apple.com/en/app/id722294701?at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download Now</a></li>
</ul></div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot-3" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweetbot 3</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/twitter-apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Twitter Apps</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Tue, 31 Dec 2013 01:57:26 +0000Richard Devine22254 at http://www.imore.comIterate 58: Paul Haddad on Tweetbot 3http://www.imore.com/iterate-58-paul-haddad-tweetbot-3
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/large/public/field/image/2013/09/iterate_hero_pocket_casts_4x3.jpg?itok=eJt3K9RN" width="1240" height="930" alt="Iterate 58: Paul Haddad on Tweetbot 3" class="image-large aligncenter" /></p>
<p>Paul Haddad, co-founder of Tapbots, talks about bring Tweetbot to iOS 7, implementing the new physics and frameworks, the art of compromise, and what’s coming next.</p>
<div class="center">
<audio controls="true" preload="none"><source src="http://traffic.libsyn.com/zenandtech/iterate58.mp3" type="audio/mpeg"><object type="application/x-shockwave-flash" data="http://images.precentral.net/sites/precentral.net/files/mp3player/player.swf" id="audioplayer1" height="48" width="450">
<param name="movie" value="http://images.precentral.net/sites/precentral.net/files/mp3player/player.swf" /><param name="FlashVars" value="playerID=audioplayer1&amp;soundFile=http://traffic.libsyn.com/zenandtech/iterate58.mp3" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="transparent" /></object>
</source></audio></div>
<ul><li><a href="http://itunes.apple.com/ca/podcast/iterate/id447063932?at=10l3Vy&amp;ct=d_im" rel="nofollow">Subscribe via iTunes</a></li>
<li><a href="http://feeds.feedburner.com/Iterate">Subscribe via RSS</a></li>
<li><a href="http://traffic.libsyn.com/zenandtech/iterate58.mp3">Download Directly</a></li>
</ul><h2>Show notes</h2>
<ul><li><a href="http://tapbots.com/blog/tweetbot/tweetbot-3-for-iphone-is-here">Tweetbot 3 for iPhone is Here</a></li>
<li><a href="http://tapbots.com/blog/news/tweetbot-3-questions-and-answers">Tweetbot 3 Questions and Answers</a></li>
<li><a href="http://www.imore.com/debug-2-paul-haddad-tapbots">Debug 2: Paul Haddad of Tapbots</a></li>
</ul><h2>Guests</h2>
<ul><li><a href="https://twitter.com/tapbot_paul">Paul Haddad</a> of <a href="http://tapbots.com">Tapbots</a></li>
</ul><p></p>
<h2>Hosts</h2>
<ul><li><a href="http://twitter.com/sethclifford/">Seth Clifford</a> of <a href="http://www.nickelfish.com/">NickelFish</a></li>
<li><a href="http://twitter.com/reneritchie/">Rene Ritchie</a> of <a href="http://www.imore.com/">iMore</a></li>
</ul><h2>Feedback</h2>
<p>Yell at us on Twitter/ADN via the above accounts. Loudly.</p>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/iterate" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Iterate</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/paul-haddad" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Paul Haddad</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot-3" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweetbot 3</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/calcbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Calcbot</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/iterate" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Iterate</a></div></div></div>Wed, 27 Nov 2013 05:00:30 +0000Rene Ritchie21741 at http://www.imore.comTweetbot 3.1 adds text resizing, quick actions, and morehttp://www.imore.com/tweetbo-31-adds-text-resizing-quick-actions-and-more
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/large/public/field/image/2013/10/tweetbot_3_iphone_hero_fixed.jpg?itok=Z_kYnLau" width="620" height="465" alt="Tweetbo 3.1 adds text resizing, quick actions, and more" class="image-large aligncenter" /></p>
<p>Tweetbot 3.1 is out, adding some important features to Tweetbot, including using lists as timeline, quick actions, and independent text sizing. To use one of your lists as your timeline, first make sure that Tweetbot has loaded your lists at least once. Then, in the timeline view, tap and hold on the timline name at the top of the screen. Choose your desired list from the drop-down menu that appears.</p>
<p>Text can now be resized from within the app, independent of iOS 7's text sizing. Go to Settings &gt; Display, then disable Use System Size in order to access Tweetbot's text slider. Also in the display menu, you can now change how avatars are displayed. You can choose for avatars to be round or square, and you can also turn off avatar badges.</p>
<p>Quick actions use short and long swipes to the right to perform tasks. A long swipe to the right will let you reply to a tweet, while a short swipe will either retweet or favorite the chosen message. This is controlled in Settings &gt; Short Right Swipe.</p>
<p>There are other improvements and enhancements, including the ability to share conversations through email or with Storify. Tweetbot 3.1 is available on the App Store now as a free update to existing users, while new users can still get the app on sale for $2.99.</p>
<ul><li>$2.99 (On sale) - <a href="https://itunes.apple.com/us/app/tweetbot-3-for-twitter-iphone/id722294701?at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download Now</a></li>
</ul></div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot-3" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweetbot 3</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/twitter-apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Twitter Apps</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Mon, 11 Nov 2013 16:57:41 +0000Joseph Keller21479 at http://www.imore.comTweetbot 3 Night Theme, text sizing, triple-taps, conversation view, and more questions answeredhttp://www.imore.com/got-tweetbot-3-questions-tapbot-has-your-answers
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/large/public/field/image/2013/10/tweetbot_3_iphone_hero_fixed.jpg?itok=Z_kYnLau" width="1240" height="930" alt="" class="image-large aligncenter" /></p>
<p>Paul Haddad and Mark Jardine - Tapbots - have posted a frequently asked questions (FAQ) page dedicated to <a href="http://www.imore.com/tweetbot-3-has-same-great-functionality-newer-cleaner-more-playful-design">Tweetbots 3</a>, and more specifically, any common confusion or feature requests people might have. From <a href="http://tapbots.com/blog/news/tweetbot-3-questions-and-answers">Tapbots</a>:</p>
<blockquote>
<p><strong>Why did you get rid of double/triple tap?</strong></p>
<p>In order to detect a double/triple tap every tap on a Tweet adds a delay while the OS decides if you are doing a single or multiple tap. This lag really impacts the feel of the app in a subtle way. There’s some ways around this but it ends up causing other issues. We understand some of you really miss this feature and are discussing how to best handle it.</p>
</blockquote>
<p>Lots of other good stuff there, including the Night Theme, additional swipe gestures, custom text size, new List behavior, and more. Check it out, and let me know if it answers your questions?</p>
<ul><li>$2.99 on sale - <a href="https://itunes.apple.com/us/app/tweetbot-3-for-twitter-iphone/id722294701?mt=8&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download now</a></li>
</ul><p>Source: <a href="http://tapbots.com/blog/news/tweetbot-3-questions-and-answers">Tapbots</a></p>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot-3" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweetbot 3</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Fri, 25 Oct 2013 15:24:57 +0000Rene Ritchie21204 at http://www.imore.comTweetbot for iOS update on its way to your iPhone soonhttp://www.imore.com/tweetbot-ios-update-its-way-your-iphone-and-ipad-soon
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://www.imore.com/sites/imore.com/files/styles/large/public/field/image/2013/10/tweetbot_ios_7_icon_hero.jpg?itok=H6cfd19k" width="1240" height="930" alt="Tweetbot for iOS update on its way to your iPhone and iPad soon" class="image-large aligncenter" /></p>
<p><a href="http://www.imore.com/tag/tweetbot">Tweetbot</a> maker Tapbots has just posted an entry to their blog stating that an updated version for <a href="http://www.imore.com/ios">iOS 7</a> has been submitted to the App Store and should be available in the coming weeks. According to <a href="http://tapbots.com/blog/business/tapbots-and-the-state-of-our-apps-in-ios7">Tapbots</a>, they think we'll be just as excited as they are about the update:</p>
<blockquote>
<p>We were aiming for the iOS 7 launch date, but unfortunately we didn’t make it. We’ve been working night and day for the last 4 months to re-design and develop an app that took over a year to build. The good news is that we are extremely happy with the results and can’t wait to share it with everyone.</p>
</blockquote>
<p>Tapbots goes on to explain some of where their thought process and planning is with some of their other apps such as Weightbot, Convertbot, and Calcbot so if you own any of those apps, make sure you hit the Tapbots blog to read more on what's going on with them too.</p>
<p>For all the Tweetbot fans out there, your wait shouldn't be long now.</p>
<p>Source: <a href="http://tapbots.com/blog/business/tapbots-and-the-state-of-our-apps-in-ios7">Tapbots</a></p>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/ios-7-apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">ios 7 apps</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div><div class="field-item odd"><a href="/category/news" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">News</a></div></div></div>Thu, 17 Oct 2013 18:55:00 +0000Allyson Kazmucha21044 at http://www.imore.comNetbot updated with direct Messages on App.net, goes free in effort to spur service adoptionhttp://www.imore.com/netbot-updated-direct-messages-appnet-goes-free-effort-spur-service-adoption
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p class="rtecenter"><img alt="Netbot updated with direct Messages on App.net, goes free in effort to spur service adoption" class="aligncenter" src="http://cdn.imore.com/sites/imore.com/files/field/image/2013/01/netbot-messages.jpg" style="width: 620px; height: 345px;" /></p>
<p>When <a href="http://www.imore.com/netbot-iphone-and-ipad-review">Netbot</a> was launched back in October of last year, we praised it as a fine client for the fledgling App.net service. Based on the same user interface as the popular Tweetbot client by <a href="http://imore.com/tag/tapbots">Tapbots</a>, it's no surprise that we liked the Netbot client. Since then both the service and the app have evolved, most recently with the addition of <a href="http://www.imore.com/appnet-adds-file-api-talks-unbundling-gives-members-10gb-cloud-storage">a File API and 10GB of cloud storage</a>. While no major apps yet seem to have taken advantage of the File API, the previous addition to App.net - <a href="http://blog.app.net/2012/12/13/app-net-messaging-api-now-available/">a Messaging API</a> - is seeing growing adoption.</p>
<p>To boot, version 1.3 of Netbot recently hit the iOS App Store with support for the Messaging API, adding a button to the bottom toolbar to get you into your App.net messages (in the process pushing the dedicated profile button to the user-selectable fourth place slot). For those familiar with Tweetbot, Netbot's implementation of the Messaging API should be quite familiar. In fact, it's practically identical, save for the 256-character limit that App.net allows. Since <a href="http://www.imore.com/push-notifications-search-come-netbot-appnet">Netbot gained push notifications</a> in late October with version 1.1, if so enabled (<a href="http://www.imore.com/push-notifications-search-come-netbot-appnet">instructions here</a>) you'll get them for your App.net messages too.</p>
<p>Messaging support isn't the only thing that's happening with Netbot - it's also now free in the App Store, though for "an unspecified period of time", according to developer Paul Haddad of Tapbots. Netbot debuted at $4.99 for both the iPhone and iPad versions. Tapbots lowered the price to literally nothing with the hope of <a href="https://alpha.app.net/tapbots/post/2705300">spurring more users to look at App.net</a>. As Haddad said from his own App.net account, the move does <a href="http://appnetizens.com/nupd">appear to have driven a bump of new users</a> to the service. If that will be sustained is another question, though App.net does seem to be on a slow-but-steady rise. It doesn't hurt Tapbots too much, as Haddad pointed out, <a href="https://alpha.app.net/pth/post/2717119">they're making more</a> from <a href="http://blog.app.net/2012/09/27/announcing-the-app-net-developer-incentive-program/">App.net's Developer Incentive Program</a> than they are from App Store sales of Netbot.</p>
<p>So if you've been waiting for a reason to try out App.net's pay service, the barrier to entry just dropped by five bucks.</p>
<ul><li>
<div>
Free for iPhone - <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=563595132&amp;mt=8&amp;at=10l3Vy&amp;ct=d_im" rel="nofollow">Download Now</a></div>
</li>
<li>
<div>
Free for iPad - <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=563596528&amp;mt=8&amp;at=10l3Vy&amp;ct=d_im" rel="nofollow">Download Now</a></div>
</li>
</ul></div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/adn" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">adn</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/appnet" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">appnet</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/netbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">netbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Thu, 31 Jan 2013 23:37:41 +0000Derek Kessler17287 at http://www.imore.comPaul Haddad talks Tweebot, Netbot, NeXT, and his beefs with iCloud and AppKithttp://www.imore.com/paul-haddad-talks-tweebot-netbot-next-and-his-beefs-icloud-and-appkit
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://cdn.imore.com/sites/imore.com/files/styles/large/public/field/image/2013/05/dramatic_paul.jpg" width="620" height="465" alt="" class="image-large aligncenter" /></p>
<p>Guy and Rene talk to Paul Haddad of Tapbots about coding on NeXT, deploying Tweetbot and Netbot on multiple platforms, for multiple services, pricing for scarcity, in-app purchases, push notifications, iCloud sync, and his beef with AppKit. This is Debug.</p>
<p>Here's the audio, again, in case you missed it. And now, for the first time, here's the full transcript! (Yes, we're <a href="ttp://forums.imore.com/imore-podcast/255461-transcripts-coming-your-way-debug-iterate.html">doing transcripts now</a>!)</p>
<p align="center"><script language="JavaScript" src="http://images.precentral.net/sites/precentral.net/files/mp3player/audio-player.js"></script><object type="application/x-shockwave-flash" data="http://images.precentral.net/sites/precentral.net/files/mp3player/player.swf" id="audioplayer1" height="24" width="290">
<param name="movie" value="http://images.precentral.net/sites/precentral.net/files/mp3player/player.swf" /><param name="FlashVars" value="playerID=audioplayer1&amp;soundFile=http://traffic.libsyn.com/zenandtech/debug02.mp3" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="transparent" /></object>
</p>
<ul><li><a href="http://feeds.feedburner.com/debugshow">Subscribe via RSS</a></li>
<li><a href="https://itunes.apple.com/us/podcast/debug/id578812394?at=10l3Vy&amp;ct=d_im" rel="nofollow">Subscribe via iTunes</a></li>
<li><a href="http://traffic.libsyn.com/zenandtech/debug02.mp3">Download Directly</a></li>
</ul><h2>Debug 2 transcript: Paul Haddad of Tapbots</h2>
<p class="speaker_1_text">
<cite class="speaker_1">Guy English:</cite>
Hi, my name's Guy English, and this is the second episode of Debug.
</p>
<p class="speaker_2_text">
<cite class="speaker_2">Rene Ritchie:</cite>
I'm Rene Ritchie, and joining us today is Paul Haddad from Tapbots, who you might know from a fine collection of small, automated iPhone apps like Waitbot, Calcbot, Tweetbot, and now Netbot. How are you, Paul?
</p>
<p class="speaker_3_text">
<cite class="speaker_3">Paul Haddad:</cite>
I'm all right. How about yourself?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Very good, thank you. The way we usually like to break the ice, get started, have the first round poured is to ask you how you got involved in Mac / iOS development.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You have to go back...Oh God, it's a little bit over 20 years ago, when I first saw a NeXT station. I was in college at the time and went into their bookstore / computer store thing, and I saw one of the black and white NeXT stations. I started playing with it, and I knew I had to have one. Begged, borrowed, and stole and got one. Pretty much started coding on them from there and followed that throughout my career.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What was it like coding on a machine like that back then when it wasn't the biggest, most popular brand on the planet?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It was interesting. Unless you consider it turning into Mac OS and iOS, it never really became popular at all, but it was definitely better than anything out there from a user perspective, which is where I first got into it. There was nothing else like it. There was high-resolution display, multi-tasking.
All the stuff that we take for granted now didn't exist really back then unless you were talking about really, really high-end workstations. This was the first operating system where it was friendly, easy to use, and a complete package.</p>
<p>If you went and you looked at the little Macs back then with their little, tiny screens and the PCs with, I don't even remember, VGA graphics or something ridiculous like that, this was a completely different experience. It's very much like what we're used to today, although obviously a lot slower back then.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
When I was doing prep for this show, I went on the Tapbots site, I looked you up, I read a bunch of your blog posts, and everything. I ended up back at an old site with your resume on it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[laughs]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
One of your first gigs that you list is writing an object-oriented wrapper that worked on NeXTSTEP and Windows 3.1.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That was actually my first real job. I didn't...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's crazy. Sorry, just for the audience, Windows 3.1 is a segmented memory model 16-bit, and NeXT is like an actual, modern operating system. That's a big challenge.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it was way back...To be honest, I didn't write the wrapper. I just had to work with it. A consulting company came up with it for a small company. The kind of stuff you'd never see happen, I would think, today. It was for something really boring, reinsurance contract management. Compared to coding for Windows, it was so much easier and better stuff to do.
[crosstalk]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure. It shocked me, the difference between those two platforms and that you would try to support them with one approach.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
If I recall, and this, like I said, was way back then, the coding would happen on the NeXT machines, and the executables would run on Windows. It used the Stepstone compiler and all sorts of craziness. It was an interesting time.
[crosstalk]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, a little bit. So you ended up doing contracting a few years and then finally got into iOS.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I had real jobs, contracting jobs. At some point I decided that I just don't like going into an office and just went that route where I would mostly do contract work for different companies. Golly, four or five years ago, I don't even remember, the iPhone first started, they first started letting people write applications for it.
Mark [inaudible 05:154] , my partner, and I were both working at Oakley and we were just in the middle of some big, hairy project. It was a Sunday or something like that and we were both really burnt out, talked, and said why don't we create an application? Went back and forth on it a little bit and decided to do something simple to track our weight, or at least that we thought was simple back then, and went back and forth.</p>
<p>Somehow WeightBot and TapBot was borne out of that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Were you into the Jailbreak scene at all? Were you excited when the phone itself came out or were you more into after the SDK got released?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Neither. I didn't buy the phone when it first came out. It wasn't so much that the phone wasn't cool, which it certainly was. I'm kind of cheap and I hate paying for recurring services like data plans and things like that. I was perfectly happy with the cheap, pay as you go phone. I kept that until I couldn't do that anymore.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What was compelling about the iPhone? Or was it just that time marched on and you figured that you didn't want to get left behind?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Once I actually got the phone and the API was actually opened and I got to play with it a little bit it definitely was cool. Before that, certainly it was something that I was keeping an eye on but I just didn't feel the need to get one, which is strange because I've gotten every single device since then.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I've got a giant stack right next to me.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I've been doing some iCloud stuff this week and I have like six different devices hooked up at the same time trying to deal with conflict management and all that fun stuff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure. If it wasn't 11:00 AM I'd send you a beer or something. Why WeightBot? I have a line of questions about the whole bot theme. What was the initial impetus behind WeightBot? Was it because it was simple and you thought you could do it? Was it like scratching an itch kind of thing?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I could be totally wrong on this. It was probably because I was trying to lose some weight and I wanted something to track with it and we figured, like I said, it would be a fairly simple app. You put in a weight every day and keep track of it, or at least it would have been simple before Mark got his hands on it and came up with this insane concept of a robot with noises and all sorts of flicking actions.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Which is now the TapBot's trademark.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Correct. If it would have been a real simple weight tracking app, it never would have gotten anywhere. As much as I may make fun of him for coming up with crazy stuff, it seems to work for us.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think I bought it the day it came out purely, not purely, largely because of the design and the attention to detail and the approach to it. That TapBot aesthetic has worked well across your entire line. It's branded you, not just with sticking bot at the end of everything, but it's down to the icon, it's down to the look and feel of the applications themselves, that metal look. It's very opinionated.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We've actually talked about should we do an app without that branding, for lack of a better word, but we just haven't yet because it just works for us. Especially these days, getting anything going in the App Store is very hard. We found something that works for us, so do we stick with it, or do we go crazy and do something completely different?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. I'm sure I've said this before. Not to your face, though.
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's a little heavy for me, it feels like. Like a little bit overwrought, especially with the sounds and all that. I love the attention to detail. It's amazingly well implemented, it's beautiful. I love it for what it is, but it feels a little bit heavy for me.
That said, TapBot and Tweetbot and Weightbot, I basically use them all multiple times a day, all of the time. You're certainly not losing a customer. It's not really detracting from my experience at all.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We've heard the heavy comment often.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I feel like maybe I'm being an old man. I feel like maybe Delicious Library came out, and I'm grumbling because it should just be a list view or regular icon view, rather than being the bookshelf. I feel maybe I'm getting a little bit overly conservative.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Is there a line between...You have an incredible design language. It's a very good differentiator for you, can instantly tell a Tapbots app, but at the same time, you now carry that design with you everywhere. It might be a mixed blessing for you sometimes.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. Like I said, we've talked about doing something different. We just haven't quite gotten there yet. Everything we've looked at has felt right going into this same look and feel, for whatever reason.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Mm-hmm. Definitely everything looks correct. I can open up any Tapbots app and feel like this, it's a consistent work of art. Every attention to detail has been paid, and the little characters all fit in. Everything's great.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's interesting to see. In the last version of Tweetbot, we made some changes in the icons which was supposed to make it a little bit lighter. We get a ton of people saying they love it. We get a ton of people saying they hate it. It's like, "Argh," you know?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You've almost made the apps into characters for people. They're getting an attachment to it because of the identity you've given them.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think it's a great idea, by the way. Definitely character-driven apps are...
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You've got to do something to stand out in the marketplace, right? There's thousands of apps released every week. If you don't have something that stands out, it's just going to get buried.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh, yeah. The fact that you can cross play the brand is amazing. I love that when you launch a Tapbots app, it's got the serial number stamped into it. It's great, great little touches, you know?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's interesting. I don't want to bring up the skeuomorphic word, because it's horribly overused. Weightbots could have been a very dry, very list-driven app. There are hundreds of those kinds of apps, but you made it fun. You made the actual usage of the app an enjoyable experience, which makes you want to use it more often.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. That was definitely the plan for Weightbot. It's kind of boring to track your weight. We wanted to do something where it would make it somewhat fun, where you'd feel a sense of accomplishment putting in your weight every day. That's where that all came from.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Would you say that Convertbot is the one that goes furthest along that access?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I think we both feel like it may have gone a bit too far in that direction.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Because of the dial UI?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. The dial, it's great and it's fun, but it's not the most efficient way to pick currencies to switch from. It's kind of a tricky one. Especially now that we have the iPhone 5 coming out, stretching that app just doesn't seem to work right. It doesn't feel right because it's so heavily around that wheel, and the wheel is tuned to the screen ratio of the original iPhone.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Right. Just for listeners who haven't seen it, it looks almost like an iPod click wheel that you can turn around and dial your different units, and press the middle button to select them.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. If you want to go with the UI heaviness, that's probably one where we may have gone a little too far.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm pretty sure you guys put out a blog post explaining exactly how you did this, or at least the iterations you did to get to it. From the nerd perspective, I find that really fascinating. [laughs]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. That was all Mark, I guess kept notes during that design, and showed how the wheel came to look or why those dimensions were chosen and all that good stuff.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What's it like for you when you get some of these designs back from Mark, and you have to implement the physics, and you have to implement the scrolling? You have to make what he designs feel...I can't say real world-like, but feel correct on an iOS device?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Sometimes I'll just look at it and just shake my head, and curse him out in my head and go, "Ugh, how am I going to implement this?" It's always interesting to see. We'll often go back and forth once he does come up with a design, with me saying, "This is impossible." Or, "This is going to take to long to do, and can we switch this around?" Kind of go back and forth a while to try to figure out just exactly what we can do with those designs.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think it really worked for you, because you're one of the few teams that I can think of, small teams that works so consistently well together. Every app is very polished. It's not very sharp edges. Everything's very consistent between app to app. You have a company voice that is very distinct.
Given that there's two of you, you'd think that it could go one way or the other sometimes. It seems that you guys put out what you wanted to put out. It doesn't seem that you...Not half-assed stuff, but it doesn't seem that you haven't been happy with any of the stuff that you've put out so far.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I think a lot of that is how we work. We try to keep to our areas of expertise. I can't draw a circle to save my life. Mark can't code, and so we try to keep our responsibilities separate. Anything design-related, even if I don't particularly agree with it, it's Mark's decision to make. That seems to work well. We'll collaborate together, but at the end of the day, design is his area. The user interaction is his area. He has the final say on that stuff.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What happens when you're working on something like Netbots? You already have Tweetbot on both iOS and iPad, and then you're bringing out Netbot, which is a variant of that, it's still going to be iPhone and IPad, but now you're doing a different service and you're hitting ADN.
Is that challenging? To keep an app sane on two different platforms, and then two different services as well?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It will be interesting to see as it progresses. The apps were separated once I started working on that Netbot. It's not all the same code base. Obviously one was copied from the other and then I went in and made all sorts of changes to get Netbot working on the different service.
Fortunately a lot of it was architected purely by luck, so that it was some what easy to switch from the different services. It will be interesting to see as it progresses.</p>
<p>I've been making changes on one, and then going to the other, making the same changes there, keeping up that way. It will be interesting to see as both services and both apps fork more and more away from each other.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's not like a shared library that you use between the two?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Well, we definitely have a common library that's used between all the different apps that have generic classes that we use. Like, our Alert Panel and our different types of buttons, et cetera.
That's all shared between all the different apps, but the code itself that talks to Twitter, to ADN, the code that displays all the different view's for different app's are completely separate at this point.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You've been remarkably positive in all of your expressions. Like there's a lot of, and this is not to disparage anyone, but there's two lines of thought.
There's one, people either act positive about the app store being screwed up in various ways, or positive about various business things, or people complain. I don't mean that in a bad way. They outline the realities that their business's have to face and point out where things are tough.</p>
<p>You guys seem to have always been positive. Is that a conscious thing, or is that just a personal attitude?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Probably a little bit of both. Regardless of what happens with the app store and Twitter, we're really just two guys that got together and started a company and were successful at it. We don't have to work for some large corporation doing really boring stuff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You're living the dream.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You can take a few hurdles, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. Nothing that's happened in the past year has been particularly bad. Every year has been better, let's say revenue wise, than the year before. So, there's really not that much to complain about.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's en vogue to wail on Twitter, because frankly they've been doing some weird stuff, and that directly affects, what I imagine is, a large portion of your business, but It's water off a ducks back. I read your blog post again last night. You seem very positive about it?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. They've definitely said what they're going to say and have made the moves that they're going to do. They could have been a lot worse.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's a great attitude.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For whatever reason they've decided that, at least for now, they could change their minds at any point, that they don't want new Twitter clients coming out. The existing ones, they've structured in such a way that most of the existing ones will be able to continue for at least a couple years.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, you've got a long runway, given how early you were on the platform, I imagine?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. So did some of the other clients as well that have been around for a while. It's just new clients, or clients that have just launched that can have issues with that. With those restrictions.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I just realize we talked to Lauren last week. This is basically the Twitter developer podcast. Maybe we can get Craig on next week. So, Netbot, the <a href="http://app.net/">App.net</a> client, was because you wanted to do it? Rather than being a reaction to the Twitter stuff?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We wanted to see where the service would go. There's definitely a lot of support associated with doing a client like that, but the original merge port over from Twitter to ADN wasn't particularly difficult.
We had a lot of people asking for it, so we figured, "Why not?" We had a Tweetbot for Mac coming out, and I had some time in my hand to do something, so I went off and did that.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What was that like? You weren't as early as Twitterific or Tweety, so they probably had a more mature API for you to write against. ADN, you were there almost from the beginning. Was there a large difference in writing against those two services?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The API's are somewhat similar. It actually seems like the ADN-API is somewhat better in a lot of ways. Probably because they don't have a lot of baggage.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I prefer, looking it over. I've implemented a little bit of both, like what you guys have, but the ADN one seems to be informed. Where Twitter sort of took some missteps.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right, but then again, it's a lot easier to do something like that once you see what mistakes made by the previous people coming before you [?] .
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh, yeah. I'm not saying that to knock Twitter in any way. You can definitely learn from what other people have done. Do you have a preferred service? Which one do you fire out first, Netbot or Tweetbot?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I alternate actually between the two. In the morning when I wake up, I'll sometimes do Netbot, sometimes I'll Tweetbot, skim through my timeline and go from there. I don't necessarily go with one or the others, as far as what I first open or last open at night.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Do you use them differently?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I think at this point, for Tweetbot or Twitter, I'm mostly doing a lot of support stuff. Answering Tapbot's, on the rare occasion answering Tweetbot accounts. On ADN I mostly do my little geeky tech posts, or complain about whatever is bugging me at that particular moment.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I basically do the same thing too. Except I don't do support. I'm more of a jackass on Twitter. I just crack jokes all the time.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I didn't say I was particularly good at support. I probably shouldn't do it, and all the Tweetbot stuff. For the most part it's done by someone else.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You guys have a support guy?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[inaudible 25:00] guys.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Right. Sorry. I knew that, Ash.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. Otherwise, nothing would ever get answered.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure, yeah. With the number of app's you've got, and their broad appeal, I'm sure you've got a lot of people who need support.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
With that in mind. Does the Netbot stuff have a lower support per user class, than say, Tweetbot?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Well, it depends. The Netbot users are definitely more advanced than the average Twitter user. Which I think everybody would expect. There's definitely more changes going on with the ADN-API than the Twitter API.
So while there's less technical support, as far as answering questions on ADN, there's the other side of technical support. Which is implementing new features and adapting the changing API's.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Maybe you can't say, but do you work closely with Dalton and those guys?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We'll talk to them, and they've often asked, "Is there any particular API you would like to see us work on next?" We'll ask questions about, "What do you guys have coming up in the pipeline?" They're pretty open with everybody about that stuff too. It's definitely a [inaudible 26:36] experience.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's great. Do you ever foresee the net stuff taking over your Twitter stuff? Not in terms of global popularity, but in terms of where your revenue or attention is going to be spent?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Not at this point. The user base of ADN is just so small now compared to Twitter, that I would expect something else would overtake Twitter and ADN, before ADN overtakes Twitter.
We're known for Tweetbot now because we've been focusing on that for the last couple years, but like you mentioned before, we've done other app's and we're going to be doing other app's.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Do you have any plans? I mean, don't spill the beans.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Yeah, no spoilers.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, no spoilers. We're revising one of our existing app's now with some new stuff. We'll figure out something completely different to do sometime next year. We'll come up with something.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You do one of my favorite things on ADN and Twitter, where you post some of the support requests you get from people who pirated your apps. And on ADN it's even funnier, because it's such a small user base.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
And they paid $50.00 just for the privilege of being there. I guess it's like $36.00 or something now.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Is that just for catharsis, or does that actually help you curb that practice?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No. They don't care. They literally don't care about any of that stuff. They certainly aren't following me if they're pirating the app. At least the vast majority aren't. It's just blowing off steam or having fun with it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Does it get to you, or do you just roll your eyes and think [inaudible 26:36] ?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Well, here's the thing. For the most part I don't care about pirating, other than having some fun with it. Except now when people are pirating the app, it's actually taking away tokens that we only have a limited supply of.
While normally I would say, "Those people were never going to buy the app anyway so I'm going to have a little fun with it, but I'm not going to waste a lot of time dealing with it." Now, there's a different situation going on.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Right. That whole argument that you can make a copy of software and it's infinite and nobody loses anything is out the window, because there's a finite limit of tokens out there.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. So we have to be a little more aggressive with curtailing those limits. Curtailing those guys from using pirated versions of the app, because it literally is costing us potential future money.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Again, with a very positive tone, you wrote a piece about the pricing of Tweetbot after the token limit came in. Can you talk about that a little bit?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For Tweetbot iOS, we have a fairly large number of tokens. We've been selling it for, I think, 18 months prior to the new limits coming into place.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Is that it? Wow, it feels like forever, iOS moves fast, man.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it does. But, if you can imagine, assuming we kept it at the same rate, we'd still have at least 18 months to go after that. Whereas, on the Mac side it's quite different, where fortunately we had that public alpha and beta, we were able to get over the 100,000-token limit before the cutoff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's great. I hadn't heard that. That's good news.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Was that you being prescient, like you just had a sense that you should get that thing moving faster than you might have otherwise?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We definitely felt like something was happening. There were a few blog posts coming in from Twitter, throughout that time. We just felt that it's going to be a lot harder to shut down a client that's out there than one that's not.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
There was "a tremor in the Force".
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. But, we definitely didn't have any inside knowledge of what exactly was going to happen, because if we did, we would have structured things a little bit different.
We came out, I guess, as well as we could from that situation. But, we definitely don't have an unlimited number of tokens available on the Mac side, and that impacted what we could do on the pricing side of things.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You charge 20 bucks for Tweetbot for Twitter, on the Mac.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yes.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That used to be a reasonably low-priced Mac software pricing tier. These days you have to make an argument in support of that being a fair price. How do you feel about the downward pricing pressure?
I know on iOS, they're not cheap, but they're certainly way cheaper than you would have expected, traditionally, from Mac stuff. Was that a warning to you when you started with Tapbots, or was that something you just rolled with?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, because back then, there wasn't this downward pressure. When we first started it was very soon after apps first came out, so there really wasn't a history of what pricing should be for the applications.
With the App Store, you would see a lot more volume than anything you would ever see on, the Mac side, for example, back then. The pricing on iOS is what it is. I know a lot of people seem to complain about it. But I think the volume you see on there pretty much overwhelms any of the pricing concerns.</p>
<p>On the Mac side, again, it's a little bit different. I think the big pricing issue on Mac, right now, is Mountain Lion being $20, which everybody compares every other piece of software to.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Which is heavily hardware-subsidized, that $20 price.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. I almost wish they would have Mountain Lion be free instead of charging that $20, because then you wouldn't be comparing the two. You don't pay for iOS upgrades, at least, not anymore. I wish they would do the same on the Mac side.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I feel like I've had this conversation with so many developers that putting something at $20 puts an upper-end on the complexity of your software. Everybody can say, "You're not as complex as the operating system, so, why would I pay $20?" It's like an apples and oranges comparison.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
That's their place.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
They make it anyway. When people complain about price, that's the number one thing I would hear is, "This is as much as I paid for the operating system." I'm like, "No, you actually probably paid a couple of grand for the hardware that ran the operating system that subsidized that $20 price."
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What are you going to do, write a long email, "Here's, actually, how the financials break down"?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
"Here's what Numbers charges. Here's what Aperture charges."
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I, definitely, would wish either Apple would make it free, or maybe, just remove it from the top charts. It would give a little more room to other people, so that they don't go and see Mountain Lion for $20 every time they go into the App Store.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I see them do that for all their apps. I understand why they don't, because I think the App Store tries to be, "Here's just the raw numbers. We're not going to mess around with it." But Top Paid is just full of Apple stuff, constantly, it's impossible to break in. Well, not impossible.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's impossible to beat Mountain Lion on Top Grossing. It's undoable. I have a rough idea of what they make there on a daily basis, and it's insane.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Make Mountain Lion an app purchase for Lion and just get it off there.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Do something. I would, actually, just prefer it be free at this point. I know relative to any other developer they're making a ton of money every day on there, but, it's got to be beans compared to what they're making on Macs and iPhones.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You can tell they dropped it to $20 in order to encourage rapid adoption.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. Make it free, and then there's no rapid adoption problem, because everybody's just going to upgrade to it. Make a bunch of developers happy.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Was there a lot of math going into figuring out the $20, or did it just feel right? Did you go, "There's a scarcity of resources, we only have so many tokens, we have to be able to develop it and support it going forward for X number of years, a bunch of fancy math inserted there, this is the price," or was it more of a gut feel?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
There was some math, and there was a lot of gut feel for, "What's the most we can charge and not lose a ton of customers, and still support the app," like you just mentioned.
It was definitely a lot of back-and-forth on what exactly we should charge for the app, because even if we're charging more than we would want to, it's better for the people who buy the app, long-term if we, actually, make money off the app and continue to support it, and don't run out of tokens in a couple of days.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Different than the iOS version, you actually handed off development of the Mac version. What was that like? A lot of developers say that their apps are their babies, and you gave this one to a babysitter for awhile.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's not for awhile, because Todd Thomas, who's working on it, is still working on it. All the Mac code is stuff he wrote. The low-level code that actually talks to Twitter is shared between the iPhone, iPad, and Mac versions, and that's all the stuff that I wrote.
But, I just didn't have time to get into the Mac side of things, and spend a year doing that, and still supporting Tweetbot, and keeping it updated. It's just not something one person, I don't think, code-wise could handle.</p>
<p>Along with, every time I start looking at AppKit after having done UIKit for awhile, it's just not something I can handle, for whatever reason. I did it for years before. But after being on the iPhone side for awhile, it's just not pleasant to go back to.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What's your beef, to be blunt about it? We were talking before we started recording. Paul's been doing this for a long, long time since, basically, the beginning of NeXT, pre-OPENSTEP, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, NeXTSTEP.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Pre-Foundation? Pre-NS String, when everything used to take a character pointer?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It was before NSObject. If you go way back, it was, actually, Object.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. It was just Object at that point. NX code and all that? All of the crazy, deprecated stuff you see in AppKit, like NX Color and all that, Paul probably dealt with that at some point.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I've blocked it off my memory.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm going to make you bring it up now. A lot of people that basically came to Apple development with the iPhone and iOS, take one look at AppKit and find it primitive, and don't want to deal with it anymore. Even knowledgeable people, who know what they're doing, just don't want to deal with it.
But, you've got a ton of experience with AppKit. My position is that often AppKit is doing a lot of things that UIKit can't do. That's less true with each release of iOS, but I think you'd probably agree with me that certainly all the text stuff was, until recently, like night-and-day better on AppKit. What's your beef with it? Is it the sales?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It hasn't really been upgraded, at least not from what I can see, since UIKit started taking off. It's just stagnated along. They bolt on layers here and there.
But, if you get in there and you try to make a customized UI with buttons, with different backgrounds, and try to animate stuff, it just doesn't work right. There are a lot of bugs in it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, just yesterday, I was trying desperately to tint a button. Not desperately.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You kind of have to go in, and rewrite it all yourself. After you're used to UIKit where it seems to be the case where you're looking at Twitter versus ADN-APIs, like we were talking about earlier. UIKit learned a lot of mistakes from AppKit. I would love to see a unified kit, App-UIKit, whatever you call it, that merges the two.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Do you think it's possible?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I don't know. They can, definitely, do it like the Carbon to AppKit transition, where they just said, "AppKit's legacy now. UIKit is new. It takes awhile before all the features that were available in AppKit are now available in UIKit. But, it's the future."
Eventually, a few releases down the road, it gets deprecated, and everybody forgets about it, unless you have to run an app that was only updated 10 years ago, or something like that.</p>
<p>I would like to see it either get a lot of love, where you can do animations as quickly as you can do them on UIKit and things work right or as expected, or just toss the whole thing out, and start something fresh.</p>
<p>[audio skip]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
...as much as AppKit. Everything is layerbacks. Even when the density was such where they needed a sub-pixel add-on type of thing, and besides, you could take it to a device and it would break anyway.
But AppKit has all of these affordances to account for its history, and to account for the variability of hardware. Do you think if you bolted everything that was required of AppKit into UIKit, UIKit would be as straightforward and effective as it is now?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That's a good question. They definitely added on stuff to UIKit. Like you mentioned before, the text system for UIKit was very basic at the start, and they seem to have done a pretty good job of putting in functions throughout the different iOS versions to improve that and make it more like what you can do on AppKit.
I think if they did it right, if they took their time, it definitely could be done in a way where it wouldn't be this ugly behemoth that didn't make any sense. It would take awhile, and probably, five years from now, we're all going to be complaining that UIKit is now not the cool stuff because some other kit came out for some other Apple device that has yet to be dreamed of.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The Twitter app, like Loren did a cross-platform, UIKit, sort of thing, and Sean wrote Chameleon, which was their sort of UIKit on the Mac thing, how did you guys approach the same problem, point a Twitter client from the iOS to the Mac?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We used AppKit, believe it or not, as much as I don't really care for it, and this was, actually, mostly my decision, which was maybe a bad decision.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I don't think so.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
But, we wanted to make sure we could use the text system, and all that good stuff that AppKit provides, but on the other side animations aren't as smooth as they could be, and we have to deal with layers causing problems in some places where they don't cause problems on UIKit doing those same type of things. There's no UIKit-clone framework for Tweetbot, it's all AppKit-based.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
There are two approaches to writing cross-platform UI code. At one point, and I'm sure you know this, NeXT used to run on Windows, so you used to be able to compile it. You'd have all the Display PostScript and all that, and it would fake drawing the windows inside a Display PostScript context.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yellow Box?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
At one point they were shipping it, weren't they?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I don't know if they ever actually did, but maybe they did. It was awhile back.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Before the Apple XGeN, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I thought you could compile NeXT stuff onto Windows NT. Whatever.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
They used to have the OPENSTEP that ran on four different hardware platforms.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's probably what it was.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That's different from what I think was Yellow Box.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I do know that if you'd look in the headers, maybe not now, but in earlier OS X releases, there was an NSWindow, Windows extension. There'd be an "ifdef" and there'd be an "hwin" to get a Windows window-pointer out of your NSWindow thing. There's that approach, where you basically just plunk your kit on top of some other base APIs.
Then, there's the other approach where it's, "I'm going to rewrite the UI later." It seems like you took the latter. Is that out of experience, or is it just because you felt that going with the platform UIKit would be easier than fighting against it and trying to impose your own UIKit view?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
As much as I don't care for AppKit, I think it's the least-worst choice to write an application in for the Mac, because it is the native UI for the system. I don't like applications that are ugly ports from other platforms, like Java-based UIs and stuff like that.
We're big believers in making the application feel right for the device, for the operating system. It's one of the reasons why we won't port to Android. We're not going to take our UI and our feel and just move it over there and have it run the same way, because it's just not something that we feel is the right thing to do, as people.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think that goes back to what you were saying about the Convertbot and the iPhone 5 screen, in that you designed that app very specifically for a certain-sized screen, and now that it's changed, it's problematic to recapture that feel on the larger screen.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We could definitely stretch out the top and the bottom but does that really make any sense? Is that something that we would be proud of?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You could just give it a big Imax-style chin on the monitors.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That makes it somewhat tough, that we care so much about how these apps work and feel. Where if we'd used something like TWI or Chameleon, maybe it would have made the process of porting a bit easier, but are we then losing out on some of the nice things that AppKit provides that are behind the scenes and that you just subliminally notice?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Stuff like accessibility. Like when you do your own sort of interface kit, you lose a lot of stuff that comes with the system, like being able to select text and run a service on it, maybe. Weird, little things. Like, edge cases that just drop away.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. Then, as Apple upgrades the operating system, new features probably don't work quite right, if you're using those things. A perfect example, going back to the twUI, it's all fuzzy now. Why is it fuzzy? Because it's using their own UI, crazy layer-backed stuff that's not AppKit. When they moved to the retina screens, it wasn't ready for it. Now the app looks fuzzy to everybody.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure that bugs Lauren, but I didn't want to ask about it.
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's not his problem anymore.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'm sure that's something that could be fixed in a fairly simple manner, but if it was written with AppKit, it probably would have just worked.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Exactly, You were saying that five years from now, maybe there will be some other kit that we all wish UIKit worked like. You've been doing NeXT stuff for a long time now. I've been working in the field for 6 years. I've been doing it for maybe 15, doing programming on the side and doing tools for work and all that. Do you ever worry you're going to get blindsided by a different platform?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I don't. A few years back, before the iPhone came out and the Mac stuff was waning or at least not as popular as today, I spent quite a bit of time doing Ruby and Ruby on Rails type of stuff. I'm not terribly worried about it. If it, for some reason, dies out, there's always something else I can jump into.
Fortunately, I really like the Mac stuff, the Objective-C libraries, and think it's the best stuff out there. It took a while, but at least the last five years, it's been really great.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Definitely. It used to be, and this was a different time too, there were more operating systems around in general. I don't want to say I experimented in my youth but...
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I used to use OS/2 and Windows NT and Classic Mac, and that's how I came to find out about all the NeXTSTEP stuff and all that. These days, I find myself, because I work and I work on Apple technologies. I sometimes wish that I would go and maybe check out what it's like to program on Windows Phone 8. Every now and then I'll go read through the docs, but I don't actually practice it.
Is that-that's not something you care about. That's just...
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
If any of those platforms besides the Android actually take off in some way I'll definitely take a look at them. I refuse to look at Android just because I have a rational hate of Java and all things Java related. But I certainly, if Windows 8 sold more than a couple phones a week I probably would be interested in taking a look at it.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
On the flipside, some people like John Syracuse have been critical or maybe hypercritical about objective-C and its future when compared to the higher-level languages and the way that you can develop for more, I don't want to say more modern, but more recent devices. Maybe like Windows Phone or maybe some of the stuff that Microsoft is doing with C#. Do you see the same kind of limitations in objective-C and are there directions that you hope that Apple takes it beyond what they're doing now?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I really like the way, actually, Apple has been handling objective-C where every year they're making some significant but not overwhelming change to it. They've recently added the whole, what was it? The new memory stuff?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The boxing.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Boxing, but the new memory stuff, what's it?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
ARC.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
ARC. Yeah. In there, which really changes a lot of how one writes an application.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Have you ever-sorry. Have you seen apps been using that?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Nope. Nope. I mean it would be nice to, but it would involve a lot of going back and changing classes that have been working for years now. It's not something...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I can't stop writing retain release, like I cannot do it. I've got to break that habit, but... Anyways, sorry Craig [inaudible 55:22] , go on.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's not something I have a problem with myself, since I've been doing it long enough that I can retain release in my sleep. But it's great for new developers. On the other hand they added block recently which I used pretty much all over the place. I've even almost got the syntax memorize for how to write a block without copying and pasting it from somewhere else. I like the way they're improving the language without throwing it all out and starting from scratch. Which...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It certainly seems that from '97 to almost 2007 nothing changed and then for the past five years we've been getting pretty big improvements.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. You can almost see it's a yearly cycle and a lot of those improvements they make it so it will run on a previous version of the OS, which is great as well. Is it as fancy as whatever new JVM based languages they're coming up with? Probably not. The language is only half the issue. Even less than half the issue. It's the frameworks that go around and I don't think there's anything anywhere near as mature that works as well as foundation in UI kit.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You can say that, begrudgingly.
</p>
<p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/07/tweetbot_mac_hero.jpg" width="620" height="345" alt="Tapbots pulls Tweetbot for Mac Alpha" title="Tapbots pulls Tweetbot for Mac Alpha" class="aligncenter" /></p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I guess it doesn't have all the whiz bang features but it's been improving at a good, sustainable pace. If you look at something like Ruby on Rails as a counterexample, they add new whiz bang features to it, to the framework, every dot release and it gets to a point where if you haven't kept up-to-date with each and every one of those releases and you go back and try to update an app you almost have to toss the whole thing out and start over to deal with whatever new features they decided had to be added without any regard to previous working code.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Incremental improvement without churn. You don't have to toss everything out.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
No rip and replace.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
One thing I find heartening in retrospect, but at the time I was annoyed by it, not annoyed, I'd written a large app using Garbage Collection, which was dumb because it used a lot of graphics, too, and a lot of the graphics stuff didn't end up being properly garbage collected, and then they abandoned it.
It was a little concerning. Because under Garbage Collection you could write retain and release and it was a no-op, I'd been doing that anyway because I couldn't break the habit, so it wasn't that much a pain in the ass to switch back to the regular.</p>
<p>In retrospect, I kind of like that because they went a direction and within a year, year and a half, maybe two, they just ditched it and they went to Arc, which I find to be a very compelling argument they are taking the stewardship of objective C and their platform seriously and they won't commit long term to something they don't think will work.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. Garbage Collection is definitely an interesting edge case where, for whatever reason, they decided it wasn't working and they just reversed course and went a completely different direction. Fortunately, I don't think it impacted too many people. Like you said, you're writing release and retain code anyway. I don't think I've ever used it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Very, very few. Very few third party developers used it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's nice that it's consistent improvements and course corrections, if needed, year after year as opposed to waiting three or four years and tossing in a bunch of stuff and breaking backward compatibility. Everything seems to be pretty compatible with everything that came beforehand.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Is there a direction you'd like to see them keep going with those iterations?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I definitely would love to see blocks just everywhere. Go in and make sure that any operation that takes any amount of time has a completion block. Stuff like TableView updates. When you go in and you do some animated UITableView updates, there really should be a completion block so you know, "Hey, we're done with the graphical side of this." If you need to do something else, continue on.
I love to see them just making sure, "Hey, everything any kind of animation, any kind of long-running operation, has some kind of block or some kind of call back to it." Also, the GCD stuff is awesome. I love to see them keep going with that, making sure it's more well-defined.</p>
<p>When you make a call using GCD, you should know, "Is it coming back in the same thread that called it? Is it coming back in a different thread?" have all that stuff documented. I love to see that stuff happen.</p>
<p>I've been playing, like I said earlier, with iCloud this week. I'd love to see them improve those APIs. They're currently way too hard to use, at least the document-based side of iCloud.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Are you using the UI document stuff, or are you using the stuff from Foundation that UI document builds upon?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right now for Tweetbot and Netbot we use the key-value style API for...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That in my experience works reasonably well.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
When it works, it works reasonably well. The API is certainly very simple to use. It's great for what it should do. It sometimes, for whatever reason, refuses to work.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Can you explain a failure case to me?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It just doesn't work.
[laughter]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The API is very simple. You set a value and you read a value. When you set the value, it should go up to the Cloud.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm trying to think, there's no...Do they have an error reporting API on that? I don't think so. It just looks like user defaults, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it's literally a copy of user defaults with some notifications of when things change. For some reason...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
There's no way to query for an error, and there's no notification that you get an error.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, and I literally have some devices that it just refuses to work on. I'll set the value. I can watch the traffic coming out from that machine. It just never goes up anywhere. It just stays there.
You have no idea, obviously as a developer, you have no idea that anything wrong is happening, because you get no call backs or anything.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You think it's on the back end?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, it's definitely on...There's probably back end problems as well, but this is definitely on the device itself. I'm watching traffic to and from it. As I set a value, it just won't go anywhere. It just stays on the device. There's no network call out to the iCloud servers doing whatever they do.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Is this some kind of timeout thing?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I just...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I don't know. I'm trying to debug your [inaudible 01:04:10] .
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I've sent tons of logs over to Apple, but still haven't gotten a response of what's happening. It's been happening since 5.x, it's not a new 6.0 type problem. It's just [inaudible 01:04:26] API for whatever reason, sometimes on some devices, refuses to work and then, once in a while, it will start working again on the same device for no rhyme or reason.
It's probably the number one support issue we have with the Tweetbots is sometimes iCloud stuff doesn't work.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's frustrating because it's not something you can dig into and fix. That's for simple API.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The document-based API is much, much more complicated. It does seem to work more reliably, though, for whatever reason. It's very complex API-wise. There's a lot of different failure cases that you have to handle.
Everything is asynchronous and some of those asynchronous operations don't have call backs to them, or not, at least, easy call backs. It's just much more complex of an API than I think it should be. It probably explains why so many people have problems with it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
If you can say, which Apps are you using that in?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We're actually looking at doing some stuff in Calcbot with that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh, interesting.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For example, it would take the tape on one device and synch it across multiple different ones.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's cool. That makes sense.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Once we have that working, we'll probably go in and look at getting it working on Tweetbot for stuff like graphs, as an example, where your graphs could by synched between different devices, where it's not that thing where you're possibly talking about, "Yeah, 140 character graph, that's no big deal," but you an image, or several images, that may go along with it.
That stuff doesn't really fit into that key-value API that's simple to use. You need to do something like the document-based API where you're dealing with large files.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
No, I think that's exactly the right thing to do. They call it the [inaudible 01:06:56] API, right? Just the idea of having all your drafts transparently everywhere that you've got Tweetbot seems like a great idea. Oddly, I don't think anybody's going to....
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[inaudible 01:07:05] pretty complex.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure. I'm sure the amount of work you put in, you'll not get enough kudos. People will just notice that the draft's there and they'll be like, "Oh, cool." You'd be a month of blood, sweat, and tears to make that work.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it's been a good week, plus just getting this tape going back and forth between different devices. I ended up rewriting it three or four different times just to deal with different API issues/limitations.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What's your policy in terms of supporting the most recent operating system? I ask that because let's say iCloud never gets fixed on iOS 6, but for some reason it works on iOS 7. Would you just move to iOS 7? Would you limit that feature to iOS 7? What's the policy?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
My overall view is that you should support the two latest major OS versions.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, I think that's common.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I think Apple's actually almost forcing you to do no more than that. You can't build an App for the iPhone 5 that works on 4.1. The 4.2 SDK stopped supporting deployment for iOS 4.2 and earlier. Something like that. Apple's almost forcing you to only do the most recent two OS versions, under iOS.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. With iOS, they're definitely dragging everybody along. Users and developers alike. They're just dragging people along. I think they see each device as having a two year life span. Maybe not the 3G. That must have been longer. But sorry, I cut you off. Go ahead.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You can probably count on two years of updates, up until the point they stop selling that particular device. I would expect, actually, the 3GS to get at least iOS 7, possibly iOS 8. But I wouldn't expect much more than that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'd be surprised by iOS 8. Only because I think they'll just be... [inaudible 01:09:39] .
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That one is an edge device. It's been selling for so long. But I definitely think you shouldn't expect much more than two years worth of updates from the time they stop selling the device.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That makes sense.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The thing that's interesting with Apple is that it has so few features of iOS 6, but it still supports iOS 6. Apple's point of view is that it wants it to be binary compatible, so that when you write apps against iOS 6, those can all run on the install base of iPhone 3GS devices. When you look at things like Windows Phone, which loses binary compatibility after one generation, that becomes key for their market.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The Windows stuff is kind of ridiculous, at this point. They're still selling the Nokia something or other.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
900.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
And then three months later, it's obsolete. Because it won't run Windows Phone 8. What are they thinking? Android's even worse than that. It's nice that Apple has a fairly consistent story there.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
For a user, yes they're upset they don't get Siri, for example. But if they couldn't bind new apps, that becomes a big problem, especially for a device that was being sold, up until fairly recently. The binary compatibility is the layer that they try to move forward the most.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Paul, we talked about AppKit, UIKit and iCloud. All of these things, basically, are under one guy. They're all under Federighi now. Do you think that makes a difference? Do you think we're going to see more cross-pollination or a tighter coupling of this stuff?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I have no idea. To me, the whole way that Apple works is a black box. I certainly have no inside knowledge of what happens there, other than every year they come out and announce cool features or not so cool features, as the case may be. I hope they start getting a little more aggressive with iOS. The last couple versions have been somewhat lackluster. The devices have gotten better and better, but the OS, I won't say it's getting stale.
But it could use some cool new features, here and there. I'd love to see apps being able to tie in to Siri somehow.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I looked at that. That's really hard to do. Do you just mean launching them? Providing a service is tough.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. But there's got to be ways to do it. I don't know enough about how Siri works down low and that kind of level, to be able to say what can be done.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The problem is disambiguation, basically. If you just put a list of keywords in your PList and you've got three apps, you've got Twitterific, Tweetbot and Twitter for the Twitter app, what happens when you say, "Send a tweet," or, "read my replies to me"?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
"Do you want to send that tweet to Tweetbot, to Twitterific or to tweet, press the button."
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You could set a default service. You can have a default mail service, like you do on Mac. I don't see why you couldn't have that on...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's an interesting problem to look at.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
I still think though, they're doing that as partner plays. They're not going to give out the revenue they can get from brokering deals with the Yelps and the Ticketmaster companies, just to provide a free way for apps to do it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Possible. But if Google goes in and starts opening that up, they might not have a choice. If some other operating system starts integrating those cool features and they're not, just because they might lose some revenue, they're not going to stand for that.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The bigger problem with the Siri stuff right now is, for example, Google's doing on-device voice parsing, which makes the experience much faster. Anything that doesn't have to go to the cloud doesn't go to the cloud. I can set an alarm. I can do all sorts of things and never have to worry about the cloud being a point of failure. Siri sends everything to the cloud, still. Google Now is also doing all the predictive stuff.
Where it knows where you are, it knows where your appointments are and it starts providing information, even before you ask, where Siri is still a query, response engine. They're already falling behind in several of those areas that Google excels in. They should get a move on on that stuff.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. That's what I said. I would hope that the future OS's are going to be a little more aggressive with cool new features that we can't even imagine today. The last few versions haven't quite done that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. They've solidified a lot of stuff, but they haven't really leaped forward in any way.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For iOS 6, what were the killer, must-have features. Maps, I guess.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The kids got Facebook, Paul. Come on.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. That's true. More account stuff, which is actually pretty nice but will take a while to go through all the different applications to start using that stuff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Where do you sit with the Twitter integration in iOS? Does that help you at all? Does that run parallel to you? When they start introducing things like Twitter integration, Facebook integration, built-in reading lists, are those things that you look at to add value or do they take away a layer from your business?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
All that stuff they've added is great. Especially being able to launch Tweetbot on a new machine and not have to enter in your passwords, because it's using the Twitter integration stuff to get all that, is pretty cool. None of that stuff has impacted us in any negative sense. I'd love to see them add in the reading list API, because right now there's no API for it, on iOS. We keep getting requests for that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It seems like a gimme. It seems like they could implement a URL scheme and just make it work.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
They added it into Mac OS. It's a little bit hidden in there.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
They did?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. It's in there. I didn't know about it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Where? [inaudible 01:16:31] workspace or something?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's in the sharing API.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh wait, I did see that. Sorry.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
One of the things I also wanted to ask you about is that you've resisted doing in-app purchases. A huge swath of the iOS economy has gone into in-app purchases. Some people have done it in Twitter applications for multiple accounts or to get rid of ads. You basically buy Tweetbot, you get Tweetbot. Was there ever any discussion about, "Hey, we could do photo filters or make mute filters an in-app purchase"?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No. Not seriously. The one area where we talked about it was for push notifications. But we were able to...
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Because of the server expense or because you thought that it would drive...
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Because of the server expense side of things. We thought it would be a lot more involved, cost-wise, then it ended up being. And it would have been if I'd outsourced the push stuff, which was our original plan. But then I ended up just writing it all, writing it on server. It's a point where it doesn't cost enough to justify charging an IAP for it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I imagine you have a lot of traffic on that. But you don't need a big, heavy-duty?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I want to say we're almost to our billionth push notification. Some time soon.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What are you running on, a 386?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, it's a Xenon. I don't know. Something we rent.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's not a hacked Xbox.
Paul No. But it's not a crazy machine either, with 36 cores or anything ridiculous like that. It's a normal-sized server that is enough to handle the traffic and then some.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
So unless you're doing Tweetbot level traffic, you're fine with just a basic server to handle push notifications?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We were even fine with a basic server.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's good to know.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
At least the way we're doing it, it's not that intensive of resources.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. What are you, using Web Objects?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[laughs] I used to really love Web Objects.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I know. I was talking to Lauren about it last week. I wanted to bring it up with you, because you actually did it, professionally.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Until they switched to Java and then I almost immediately lost all interest in it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Did you hear last week's show? Lauren got Objective-C running on servers.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's doable. The server stuff, I just stick with Ruby, just because it's pretty easy to use on there. But yeah, a while back Web Objects would run on servers and was Objective-C based and was all fun to use.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, it used to be awesome.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Then they started doing Java wrappers around Objective-C classes and all sorts of crazy stuff. Now, I think they should just take it out back and shoot it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
They have, right? It doesn't ship anymore. They still use it, but nobody else does.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Nobody uses it, but something still exists.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The store. iTunes Store runs it and a bunch of their other stuff uses it. The Apple Store uses it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
And their iTunes Connect back-end still uses it, which is probably why it's so bad.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Probably. [laughs] Wait, just fact-check me from last week. I said that they moved to Java because they wanted to run on app servers. There was something about cross-platform, right? You would know. I fumbled through it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The reason was that Java was becoming really big, back when they made that choice. Objective-C, it was a lot harder to find developers who knew the language. At that point, I believe Web Objects was their big product. They were charging...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It was like 999 bucks or something.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, they were charging more than that. I think they were charging like $50,000 or something like that. It was their big, money-making product. They probably had a bunch of corporate clients who said, "We can't find Objective-C guys. This is great, but we only have Java developers. We can find Java developers. Port it over to Java for us."
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The irony now is there's like 100 WebObjects guys in the world that know what they're doing, and that's about it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oops.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Ruby on Rails works, or one of the offshoots of that works well enough that there's no point in going through the whole craziness that is WebObjects at this point.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The iPad has now gone smaller. You were wondering if at some point Apple would go bigger. Is that an actual problem that you would like them to solve?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I don't think they're going to go bigger. I actually more meant it's possible that the 10.1 inch iPad Maxi goes away, and they go and focus on the smaller one instead. At least from my personal experience, I much prefer the new, smaller one from a carry-around, play-with standpoint versus the old one.
The only thing I prefer on the older one is browsing the web because of the bigger screen. Other than that, it's like this lumbering dinosaur. I compared it to the MacBook Pro 17 inch, where they just got rid of it.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The battleship
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I watch a lot of video on my iPad, so I prefer the larger. It's like a portable TV for me. I'll go sit outside on my deck and watch TV on my iPad, so I prefer the larger one. I was not going to buy a Mini on account of the one X screen, but then when I actually saw one...
It's pretty good. It's really good. I'm pretty sure I'm just going to go out and buy one as soon as I get my druthers together to do so. I do agree that it feels amazing. The build quality is great. The screen is way better than I thought it was going to be.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It feels like what's next.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I agree with you, Rene. You had a piece about not expecting a Retina screen, and I wouldn't, for at least the next rev.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's one of those things that Apple's still bound by the laws of physics and the laws of economics. If you put a Retina display on it, it becomes an iPad 4. For people who don't want to carry a laptop, the iPad 4, the large size iPad Maxi still makes a lot of sense because it gives them a lot more area to be productive with, whether it's using the iWork apps or it's typing or anything like that. But if you have a ton of other Apple and iOS devices, the Mini really is a sweet spot now.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We'll see how it progresses. The MacBook Pro 17 had a lot of fans, me included, but it went away too even though they could probably still sell them today. They just sell so many more of the smaller devices. It'll be interesting to see. I definitely like the Mini better with the exception that I wish it had some more memory in it, like the newer iPads, the 1 gig versus the 512. Other than that, I don't miss Retina. I don't really miss the extra speed that the iPad 4 has.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It feels more like a mass-market device. When you hold it, it feels like that next breakthrough product.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I just wish it was a bit cheaper, but what are you going to do?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Wait a year.
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What do you want to see? Either in terms of software, besides killing AppKit...
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
...or hardware, is there something that you're...That sort of fanboy, Apple insider, I'm going to refresh the page until I read all the rumors on this kind of thing. Is there something you're excited about coming up or are you just pleased with the current iteration?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'll answer that with two different hats on. From my business person hat, I would love to see cheaper iOS devices. I want to see the better iPod Touch, the 32 gig down to the $200 mark. I would love to see the iPad Mini down at the $250 mark.
From my geek hat on, my personal hat, I'm really excited to see a 16-core Mac Pro with modern insides, as opposed to the current two-, three-year-old version that's out there.
</p>
<p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/10/netbot-iphone-ipad-hero.jpg" width="620" height="345" alt="Push notifications, search come to Netbot for app.net" class="aligncenter" /></p>
<p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/09/tweetbot_iphone_5_hero.jpg" width="620" height="345" alt="" class="aligncenter" /></p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You'd stick with the Mac Pro and not go iMac?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Ew, no.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
[laughs]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I run a Mac Pro now. I'm not going back to those little, slow iMacs.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
[laughs]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You know what? I did that for years. I was always on the Pro side of stuff. Then I bought an iMac Core i7, one of the earlier ones, because my Mac Pro was dying. It was old, and there was no update in sight. I figured, "Well I'll buy this 27-inch iMac," with a Core i7 and I forget what else. "I can use it as a screen when I eventually buy my new Mac Pro." But the iMac was just fast enough, and it was awesome, and I kept using it. I'm not sure I would go back to a Pro.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It is fast enough, but once you're running with the old 12-core Mac Pros, which is what I run, and you stick a bunch of SSDs inside, and...
[laughter]
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Some racing stripes on the back.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Put a couple monitors to it. I don't necessarily need it, but I really like it and want the latest and greatest and even better version that comes out next year.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Can't blame you for being into hot rods.
Rene : Jardine has the cars. You have the computers.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
He definitely...I still drive a 10 year-old minivan.
[laughter]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'll [inaudible 01:27:41]
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's got the racing stripes though.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, but I actually got a bunch of paint on it from the side where I scraped against the garage.
[laughter]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'll spend the money on cool toys and hardware, not car stuff.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
[laughs] Car stuff. If people want to find out more about you and more about Tapbots, where can they reach you?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Go to <a href="http://tapbots.com/">tapbots.com</a> or follow me on probably best <a href="http://app.net/">App.net</a> these days, and @pth is the user name.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You went for a different user name on <a href="http://app.net/">App.net</a> than Twitter.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Definitely shorter, and I like the pth.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Got to go with the three letter [inaudible 01:27:40] .
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Guy's a huge fan of the three letter name.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's much easier to type, and you can reply to more people with the shorter names. Longer reply tweet or post.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Guy, where can we find you?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm @gte on Twitter and <a href="http://app.net/">App.net</a>, and my website is <a href="http://kickingbear.com/">kickingbear.com</a>.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You can find me @reneritchie or you can find me on iMore or just look up Debug on iTunes and subscribe. Paul, thank you very much for joining us. That was awesome.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Sure, Renee.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Paul, it's been great. Thanks a lot.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Nice meeting you, Guy.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You too. Take care.
</p>
<h2>Debug 2 transcript: Paul Haddad of Tapbots</h2>
<p class="speaker_1_text">
<cite class="speaker_1">Guy English:</cite>
Hi, my name's Guy English, and this is the second episode of Debug.
</p>
<p class="speaker_2_text">
<cite class="speaker_2">Rene Ritchie:</cite>
I'm Rene Ritchie, and joining us today is Paul Haddad from Tapbots, who you might know from a fine collection of small, automated iPhone apps like Waitbot, Calcbot, Tweetbot, and now Netbot. How are you, Paul?
</p>
<p class="speaker_3_text">
<cite class="speaker_3">Paul Haddad:</cite>
I'm all right. How about yourself?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Very good, thank you. The way we usually like to break the ice, get started, have the first round poured is to ask you how you got involved in Mac / iOS development.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You have to go back...Oh God, it's a little bit over 20 years ago, when I first saw a NeXT station. I was in college at the time and went into their bookstore / computer store thing, and I saw one of the black and white NeXT stations. I started playing with it, and I knew I had to have one. Begged, borrowed, and stole and got one. Pretty much started coding on them from there and followed that throughout my career.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What was it like coding on a machine like that back then when it wasn't the biggest, most popular brand on the planet?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It was interesting. Unless you consider it turning into Mac OS and iOS, it never really became popular at all, but it was definitely better than anything out there from a user perspective, which is where I first got into it. There was nothing else like it. There was high-resolution display, multi-tasking.
All the stuff that we take for granted now didn't exist really back then unless you were talking about really, really high-end workstations. This was the first operating system where it was friendly, easy to use, and a complete package.</p>
<p>If you went and you looked at the little Macs back then with their little, tiny screens and the PCs with, I don't even remember, VGA graphics or something ridiculous like that, this was a completely different experience. It's very much like what we're used to today, although obviously a lot slower back then.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
When I was doing prep for this show, I went on the Tapbots site, I looked you up, I read a bunch of your blog posts, and everything. I ended up back at an old site with your resume on it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[laughs]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
One of your first gigs that you list is writing an object-oriented wrapper that worked on NeXTSTEP and Windows 3.1.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That was actually my first real job. I didn't...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's crazy. Sorry, just for the audience, Windows 3.1 is a segmented memory model 16-bit, and NeXT is like an actual, modern operating system. That's a big challenge.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it was way back...To be honest, I didn't write the wrapper. I just had to work with it. A consulting company came up with it for a small company. The kind of stuff you'd never see happen, I would think, today. It was for something really boring, reinsurance contract management. Compared to coding for Windows, it was so much easier and better stuff to do.
[crosstalk]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure. It shocked me, the difference between those two platforms and that you would try to support them with one approach.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
If I recall, and this, like I said, was way back then, the coding would happen on the NeXT machines, and the executables would run on Windows. It used the Stepstone compiler and all sorts of craziness. It was an interesting time.
[crosstalk]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, a little bit. So you ended up doing contracting a few years and then finally got into iOS.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I had real jobs, contracting jobs. At some point I decided that I just don't like going into an office and just went that route where I would mostly do contract work for different companies. Golly, four or five years ago, I don't even remember, the iPhone first started, they first started letting people write applications for it.
Mark [inaudible 05:154] , my partner, and I were both working at Oakley and we were just in the middle of some big, hairy project. It was a Sunday or something like that and we were both really burnt out, talked, and said why don't we create an application? Went back and forth on it a little bit and decided to do something simple to track our weight, or at least that we thought was simple back then, and went back and forth.</p>
<p>Somehow WeightBot and TapBot was borne out of that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Were you into the Jailbreak scene at all? Were you excited when the phone itself came out or were you more into after the SDK got released?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Neither. I didn't buy the phone when it first came out. It wasn't so much that the phone wasn't cool, which it certainly was. I'm kind of cheap and I hate paying for recurring services like data plans and things like that. I was perfectly happy with the cheap, pay as you go phone. I kept that until I couldn't do that anymore.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What was compelling about the iPhone? Or was it just that time marched on and you figured that you didn't want to get left behind?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Once I actually got the phone and the API was actually opened and I got to play with it a little bit it definitely was cool. Before that, certainly it was something that I was keeping an eye on but I just didn't feel the need to get one, which is strange because I've gotten every single device since then.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I've got a giant stack right next to me.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I've been doing some iCloud stuff this week and I have like six different devices hooked up at the same time trying to deal with conflict management and all that fun stuff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure. If it wasn't 11:00 AM I'd send you a beer or something. Why WeightBot? I have a line of questions about the whole bot theme. What was the initial impetus behind WeightBot? Was it because it was simple and you thought you could do it? Was it like scratching an itch kind of thing?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I could be totally wrong on this. It was probably because I was trying to lose some weight and I wanted something to track with it and we figured, like I said, it would be a fairly simple app. You put in a weight every day and keep track of it, or at least it would have been simple before Mark got his hands on it and came up with this insane concept of a robot with noises and all sorts of flicking actions.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Which is now the TapBot's trademark.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Correct. If it would have been a real simple weight tracking app, it never would have gotten anywhere. As much as I may make fun of him for coming up with crazy stuff, it seems to work for us.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think I bought it the day it came out purely, not purely, largely because of the design and the attention to detail and the approach to it. That TapBot aesthetic has worked well across your entire line. It's branded you, not just with sticking bot at the end of everything, but it's down to the icon, it's down to the look and feel of the applications themselves, that metal look. It's very opinionated.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We've actually talked about should we do an app without that branding, for lack of a better word, but we just haven't yet because it just works for us. Especially these days, getting anything going in the App Store is very hard. We found something that works for us, so do we stick with it, or do we go crazy and do something completely different?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. I'm sure I've said this before. Not to your face, though.
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's a little heavy for me, it feels like. Like a little bit overwrought, especially with the sounds and all that. I love the attention to detail. It's amazingly well implemented, it's beautiful. I love it for what it is, but it feels a little bit heavy for me.
That said, TapBot and Tweetbot and Weightbot, I basically use them all multiple times a day, all of the time. You're certainly not losing a customer. It's not really detracting from my experience at all.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We've heard the heavy comment often.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I feel like maybe I'm being an old man. I feel like maybe Delicious Library came out, and I'm grumbling because it should just be a list view or regular icon view, rather than being the bookshelf. I feel maybe I'm getting a little bit overly conservative.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Is there a line between...You have an incredible design language. It's a very good differentiator for you, can instantly tell a Tapbots app, but at the same time, you now carry that design with you everywhere. It might be a mixed blessing for you sometimes.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. Like I said, we've talked about doing something different. We just haven't quite gotten there yet. Everything we've looked at has felt right going into this same look and feel, for whatever reason.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Mm-hmm. Definitely everything looks correct. I can open up any Tapbots app and feel like this, it's a consistent work of art. Every attention to detail has been paid, and the little characters all fit in. Everything's great.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's interesting to see. In the last version of Tweetbot, we made some changes in the icons which was supposed to make it a little bit lighter. We get a ton of people saying they love it. We get a ton of people saying they hate it. It's like, "Argh," you know?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You've almost made the apps into characters for people. They're getting an attachment to it because of the identity you've given them.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think it's a great idea, by the way. Definitely character-driven apps are...
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You've got to do something to stand out in the marketplace, right? There's thousands of apps released every week. If you don't have something that stands out, it's just going to get buried.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh, yeah. The fact that you can cross play the brand is amazing. I love that when you launch a Tapbots app, it's got the serial number stamped into it. It's great, great little touches, you know?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's interesting. I don't want to bring up the skeuomorphic word, because it's horribly overused. Weightbots could have been a very dry, very list-driven app. There are hundreds of those kinds of apps, but you made it fun. You made the actual usage of the app an enjoyable experience, which makes you want to use it more often.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. That was definitely the plan for Weightbot. It's kind of boring to track your weight. We wanted to do something where it would make it somewhat fun, where you'd feel a sense of accomplishment putting in your weight every day. That's where that all came from.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Would you say that Convertbot is the one that goes furthest along that access?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I think we both feel like it may have gone a bit too far in that direction.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Because of the dial UI?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. The dial, it's great and it's fun, but it's not the most efficient way to pick currencies to switch from. It's kind of a tricky one. Especially now that we have the iPhone 5 coming out, stretching that app just doesn't seem to work right. It doesn't feel right because it's so heavily around that wheel, and the wheel is tuned to the screen ratio of the original iPhone.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Right. Just for listeners who haven't seen it, it looks almost like an iPod click wheel that you can turn around and dial your different units, and press the middle button to select them.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. If you want to go with the UI heaviness, that's probably one where we may have gone a little too far.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm pretty sure you guys put out a blog post explaining exactly how you did this, or at least the iterations you did to get to it. From the nerd perspective, I find that really fascinating. [laughs]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. That was all Mark, I guess kept notes during that design, and showed how the wheel came to look or why those dimensions were chosen and all that good stuff.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What's it like for you when you get some of these designs back from Mark, and you have to implement the physics, and you have to implement the scrolling? You have to make what he designs feel...I can't say real world-like, but feel correct on an iOS device?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Sometimes I'll just look at it and just shake my head, and curse him out in my head and go, "Ugh, how am I going to implement this?" It's always interesting to see. We'll often go back and forth once he does come up with a design, with me saying, "This is impossible." Or, "This is going to take to long to do, and can we switch this around?" Kind of go back and forth a while to try to figure out just exactly what we can do with those designs.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think it really worked for you, because you're one of the few teams that I can think of, small teams that works so consistently well together. Every app is very polished. It's not very sharp edges. Everything's very consistent between app to app. You have a company voice that is very distinct.
Given that there's two of you, you'd think that it could go one way or the other sometimes. It seems that you guys put out what you wanted to put out. It doesn't seem that you...Not half-assed stuff, but it doesn't seem that you haven't been happy with any of the stuff that you've put out so far.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I think a lot of that is how we work. We try to keep to our areas of expertise. I can't draw a circle to save my life. Mark can't code, and so we try to keep our responsibilities separate. Anything design-related, even if I don't particularly agree with it, it's Mark's decision to make. That seems to work well. We'll collaborate together, but at the end of the day, design is his area. The user interaction is his area. He has the final say on that stuff.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What happens when you're working on something like Netbots? You already have Tweetbot on both iOS and iPad, and then you're bringing out Netbot, which is a variant of that, it's still going to be iPhone and IPad, but now you're doing a different service and you're hitting ADN.
Is that challenging? To keep an app sane on two different platforms, and then two different services as well?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It will be interesting to see as it progresses. The apps were separated once I started working on that Netbot. It's not all the same code base. Obviously one was copied from the other and then I went in and made all sorts of changes to get Netbot working on the different service.
Fortunately a lot of it was architected purely by luck, so that it was some what easy to switch from the different services. It will be interesting to see as it progresses.</p>
<p>I've been making changes on one, and then going to the other, making the same changes there, keeping up that way. It will be interesting to see as both services and both apps fork more and more away from each other.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's not like a shared library that you use between the two?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Well, we definitely have a common library that's used between all the different apps that have generic classes that we use. Like, our Alert Panel and our different types of buttons, et cetera.
That's all shared between all the different apps, but the code itself that talks to Twitter, to ADN, the code that displays all the different view's for different app's are completely separate at this point.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You've been remarkably positive in all of your expressions. Like there's a lot of, and this is not to disparage anyone, but there's two lines of thought.
There's one, people either act positive about the app store being screwed up in various ways, or positive about various business things, or people complain. I don't mean that in a bad way. They outline the realities that their business's have to face and point out where things are tough.</p>
<p>You guys seem to have always been positive. Is that a conscious thing, or is that just a personal attitude?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Probably a little bit of both. Regardless of what happens with the app store and Twitter, we're really just two guys that got together and started a company and were successful at it. We don't have to work for some large corporation doing really boring stuff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You're living the dream.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You can take a few hurdles, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. Nothing that's happened in the past year has been particularly bad. Every year has been better, let's say revenue wise, than the year before. So, there's really not that much to complain about.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's en vogue to wail on Twitter, because frankly they've been doing some weird stuff, and that directly affects, what I imagine is, a large portion of your business, but It's water off a ducks back. I read your blog post again last night. You seem very positive about it?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. They've definitely said what they're going to say and have made the moves that they're going to do. They could have been a lot worse.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's a great attitude.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For whatever reason they've decided that, at least for now, they could change their minds at any point, that they don't want new Twitter clients coming out. The existing ones, they've structured in such a way that most of the existing ones will be able to continue for at least a couple years.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, you've got a long runway, given how early you were on the platform, I imagine?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. So did some of the other clients as well that have been around for a while. It's just new clients, or clients that have just launched that can have issues with that. With those restrictions.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I just realize we talked to Lauren last week. This is basically the Twitter developer podcast. Maybe we can get Craig on next week. So, Netbot, the <a href="http://app.net/">App.net</a> client, was because you wanted to do it? Rather than being a reaction to the Twitter stuff?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We wanted to see where the service would go. There's definitely a lot of support associated with doing a client like that, but the original merge port over from Twitter to ADN wasn't particularly difficult.
We had a lot of people asking for it, so we figured, "Why not?" We had a Tweetbot for Mac coming out, and I had some time in my hand to do something, so I went off and did that.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
What was that like? You weren't as early as Twitterific or Tweety, so they probably had a more mature API for you to write against. ADN, you were there almost from the beginning. Was there a large difference in writing against those two services?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The API's are somewhat similar. It actually seems like the ADN-API is somewhat better in a lot of ways. Probably because they don't have a lot of baggage.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I prefer, looking it over. I've implemented a little bit of both, like what you guys have, but the ADN one seems to be informed. Where Twitter sort of took some missteps.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right, but then again, it's a lot easier to do something like that once you see what mistakes made by the previous people coming before you [?] .
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh, yeah. I'm not saying that to knock Twitter in any way. You can definitely learn from what other people have done. Do you have a preferred service? Which one do you fire out first, Netbot or Tweetbot?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I alternate actually between the two. In the morning when I wake up, I'll sometimes do Netbot, sometimes I'll Tweetbot, skim through my timeline and go from there. I don't necessarily go with one or the others, as far as what I first open or last open at night.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Do you use them differently?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I think at this point, for Tweetbot or Twitter, I'm mostly doing a lot of support stuff. Answering Tapbot's, on the rare occasion answering Tweetbot accounts. On ADN I mostly do my little geeky tech posts, or complain about whatever is bugging me at that particular moment.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I basically do the same thing too. Except I don't do support. I'm more of a jackass on Twitter. I just crack jokes all the time.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I didn't say I was particularly good at support. I probably shouldn't do it, and all the Tweetbot stuff. For the most part it's done by someone else.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You guys have a support guy?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[inaudible 25:00] guys.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Right. Sorry. I knew that, Ash.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. Otherwise, nothing would ever get answered.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure, yeah. With the number of app's you've got, and their broad appeal, I'm sure you've got a lot of people who need support.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
With that in mind. Does the Netbot stuff have a lower support per user class, than say, Tweetbot?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Well, it depends. The Netbot users are definitely more advanced than the average Twitter user. Which I think everybody would expect. There's definitely more changes going on with the ADN-API than the Twitter API.
So while there's less technical support, as far as answering questions on ADN, there's the other side of technical support. Which is implementing new features and adapting the changing API's.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Maybe you can't say, but do you work closely with Dalton and those guys?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We'll talk to them, and they've often asked, "Is there any particular API you would like to see us work on next?" We'll ask questions about, "What do you guys have coming up in the pipeline?" They're pretty open with everybody about that stuff too. It's definitely a [inaudible 26:36] experience.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's great. Do you ever foresee the net stuff taking over your Twitter stuff? Not in terms of global popularity, but in terms of where your revenue or attention is going to be spent?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Not at this point. The user base of ADN is just so small now compared to Twitter, that I would expect something else would overtake Twitter and ADN, before ADN overtakes Twitter.
We're known for Tweetbot now because we've been focusing on that for the last couple years, but like you mentioned before, we've done other app's and we're going to be doing other app's.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Do you have any plans? I mean, don't spill the beans.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Yeah, no spoilers.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, no spoilers. We're revising one of our existing app's now with some new stuff. We'll figure out something completely different to do sometime next year. We'll come up with something.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You do one of my favorite things on ADN and Twitter, where you post some of the support requests you get from people who pirated your apps. And on ADN it's even funnier, because it's such a small user base.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
And they paid $50.00 just for the privilege of being there. I guess it's like $36.00 or something now.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Is that just for catharsis, or does that actually help you curb that practice?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No. They don't care. They literally don't care about any of that stuff. They certainly aren't following me if they're pirating the app. At least the vast majority aren't. It's just blowing off steam or having fun with it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Does it get to you, or do you just roll your eyes and think [inaudible 26:36] ?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Well, here's the thing. For the most part I don't care about pirating, other than having some fun with it. Except now when people are pirating the app, it's actually taking away tokens that we only have a limited supply of.
While normally I would say, "Those people were never going to buy the app anyway so I'm going to have a little fun with it, but I'm not going to waste a lot of time dealing with it." Now, there's a different situation going on.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Right. That whole argument that you can make a copy of software and it's infinite and nobody loses anything is out the window, because there's a finite limit of tokens out there.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. So we have to be a little more aggressive with curtailing those limits. Curtailing those guys from using pirated versions of the app, because it literally is costing us potential future money.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Again, with a very positive tone, you wrote a piece about the pricing of Tweetbot after the token limit came in. Can you talk about that a little bit?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For Tweetbot iOS, we have a fairly large number of tokens. We've been selling it for, I think, 18 months prior to the new limits coming into place.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Is that it? Wow, it feels like forever, iOS moves fast, man.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it does. But, if you can imagine, assuming we kept it at the same rate, we'd still have at least 18 months to go after that. Whereas, on the Mac side it's quite different, where fortunately we had that public alpha and beta, we were able to get over the 100,000-token limit before the cutoff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's great. I hadn't heard that. That's good news.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Was that you being prescient, like you just had a sense that you should get that thing moving faster than you might have otherwise?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. We definitely felt like something was happening. There were a few blog posts coming in from Twitter, throughout that time. We just felt that it's going to be a lot harder to shut down a client that's out there than one that's not.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
There was "a tremor in the Force".
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. But, we definitely didn't have any inside knowledge of what exactly was going to happen, because if we did, we would have structured things a little bit different.
We came out, I guess, as well as we could from that situation. But, we definitely don't have an unlimited number of tokens available on the Mac side, and that impacted what we could do on the pricing side of things.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You charge 20 bucks for Tweetbot for Twitter, on the Mac.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yes.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That used to be a reasonably low-priced Mac software pricing tier. These days you have to make an argument in support of that being a fair price. How do you feel about the downward pricing pressure?
I know on iOS, they're not cheap, but they're certainly way cheaper than you would have expected, traditionally, from Mac stuff. Was that a warning to you when you started with Tapbots, or was that something you just rolled with?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, because back then, there wasn't this downward pressure. When we first started it was very soon after apps first came out, so there really wasn't a history of what pricing should be for the applications.
With the App Store, you would see a lot more volume than anything you would ever see on, the Mac side, for example, back then. The pricing on iOS is what it is. I know a lot of people seem to complain about it. But I think the volume you see on there pretty much overwhelms any of the pricing concerns.</p>
<p>On the Mac side, again, it's a little bit different. I think the big pricing issue on Mac, right now, is Mountain Lion being $20, which everybody compares every other piece of software to.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Which is heavily hardware-subsidized, that $20 price.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. I almost wish they would have Mountain Lion be free instead of charging that $20, because then you wouldn't be comparing the two. You don't pay for iOS upgrades, at least, not anymore. I wish they would do the same on the Mac side.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I feel like I've had this conversation with so many developers that putting something at $20 puts an upper-end on the complexity of your software. Everybody can say, "You're not as complex as the operating system, so, why would I pay $20?" It's like an apples and oranges comparison.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
That's their place.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
They make it anyway. When people complain about price, that's the number one thing I would hear is, "This is as much as I paid for the operating system." I'm like, "No, you actually probably paid a couple of grand for the hardware that ran the operating system that subsidized that $20 price."
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What are you going to do, write a long email, "Here's, actually, how the financials break down"?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
"Here's what Numbers charges. Here's what Aperture charges."
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I, definitely, would wish either Apple would make it free, or maybe, just remove it from the top charts. It would give a little more room to other people, so that they don't go and see Mountain Lion for $20 every time they go into the App Store.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I see them do that for all their apps. I understand why they don't, because I think the App Store tries to be, "Here's just the raw numbers. We're not going to mess around with it." But Top Paid is just full of Apple stuff, constantly, it's impossible to break in. Well, not impossible.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's impossible to beat Mountain Lion on Top Grossing. It's undoable. I have a rough idea of what they make there on a daily basis, and it's insane.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Make Mountain Lion an app purchase for Lion and just get it off there.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Do something. I would, actually, just prefer it be free at this point. I know relative to any other developer they're making a ton of money every day on there, but, it's got to be beans compared to what they're making on Macs and iPhones.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You can tell they dropped it to $20 in order to encourage rapid adoption.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. Make it free, and then there's no rapid adoption problem, because everybody's just going to upgrade to it. Make a bunch of developers happy.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Was there a lot of math going into figuring out the $20, or did it just feel right? Did you go, "There's a scarcity of resources, we only have so many tokens, we have to be able to develop it and support it going forward for X number of years, a bunch of fancy math inserted there, this is the price," or was it more of a gut feel?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
There was some math, and there was a lot of gut feel for, "What's the most we can charge and not lose a ton of customers, and still support the app," like you just mentioned.
It was definitely a lot of back-and-forth on what exactly we should charge for the app, because even if we're charging more than we would want to, it's better for the people who buy the app, long-term if we, actually, make money off the app and continue to support it, and don't run out of tokens in a couple of days.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Different than the iOS version, you actually handed off development of the Mac version. What was that like? A lot of developers say that their apps are their babies, and you gave this one to a babysitter for awhile.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's not for awhile, because Todd Thomas, who's working on it, is still working on it. All the Mac code is stuff he wrote. The low-level code that actually talks to Twitter is shared between the iPhone, iPad, and Mac versions, and that's all the stuff that I wrote.
But, I just didn't have time to get into the Mac side of things, and spend a year doing that, and still supporting Tweetbot, and keeping it updated. It's just not something one person, I don't think, code-wise could handle.</p>
<p>Along with, every time I start looking at AppKit after having done UIKit for awhile, it's just not something I can handle, for whatever reason. I did it for years before. But after being on the iPhone side for awhile, it's just not pleasant to go back to.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What's your beef, to be blunt about it? We were talking before we started recording. Paul's been doing this for a long, long time since, basically, the beginning of NeXT, pre-OPENSTEP, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, NeXTSTEP.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Pre-Foundation? Pre-NS String, when everything used to take a character pointer?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It was before NSObject. If you go way back, it was, actually, Object.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. It was just Object at that point. NX code and all that? All of the crazy, deprecated stuff you see in AppKit, like NX Color and all that, Paul probably dealt with that at some point.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I've blocked it off my memory.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm going to make you bring it up now. A lot of people that basically came to Apple development with the iPhone and iOS, take one look at AppKit and find it primitive, and don't want to deal with it anymore. Even knowledgeable people, who know what they're doing, just don't want to deal with it.
But, you've got a ton of experience with AppKit. My position is that often AppKit is doing a lot of things that UIKit can't do. That's less true with each release of iOS, but I think you'd probably agree with me that certainly all the text stuff was, until recently, like night-and-day better on AppKit. What's your beef with it? Is it the sales?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It hasn't really been upgraded, at least not from what I can see, since UIKit started taking off. It's just stagnated along. They bolt on layers here and there.
But, if you get in there and you try to make a customized UI with buttons, with different backgrounds, and try to animate stuff, it just doesn't work right. There are a lot of bugs in it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, just yesterday, I was trying desperately to tint a button. Not desperately.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You kind of have to go in, and rewrite it all yourself. After you're used to UIKit where it seems to be the case where you're looking at Twitter versus ADN-APIs, like we were talking about earlier. UIKit learned a lot of mistakes from AppKit. I would love to see a unified kit, App-UIKit, whatever you call it, that merges the two.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Do you think it's possible?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I don't know. They can, definitely, do it like the Carbon to AppKit transition, where they just said, "AppKit's legacy now. UIKit is new. It takes awhile before all the features that were available in AppKit are now available in UIKit. But, it's the future."
Eventually, a few releases down the road, it gets deprecated, and everybody forgets about it, unless you have to run an app that was only updated 10 years ago, or something like that.</p>
<p>I would like to see it either get a lot of love, where you can do animations as quickly as you can do them on UIKit and things work right or as expected, or just toss the whole thing out, and start something fresh.</p>
<p>[audio skip]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
...as much as AppKit. Everything is layerbacks. Even when the density was such where they needed a sub-pixel add-on type of thing, and besides, you could take it to a device and it would break anyway.
But AppKit has all of these affordances to account for its history, and to account for the variability of hardware. Do you think if you bolted everything that was required of AppKit into UIKit, UIKit would be as straightforward and effective as it is now?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That's a good question. They definitely added on stuff to UIKit. Like you mentioned before, the text system for UIKit was very basic at the start, and they seem to have done a pretty good job of putting in functions throughout the different iOS versions to improve that and make it more like what you can do on AppKit.
I think if they did it right, if they took their time, it definitely could be done in a way where it wouldn't be this ugly behemoth that didn't make any sense. It would take awhile, and probably, five years from now, we're all going to be complaining that UIKit is now not the cool stuff because some other kit came out for some other Apple device that has yet to be dreamed of.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The Twitter app, like Loren did a cross-platform, UIKit, sort of thing, and Sean wrote Chameleon, which was their sort of UIKit on the Mac thing, how did you guys approach the same problem, point a Twitter client from the iOS to the Mac?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We used AppKit, believe it or not, as much as I don't really care for it, and this was, actually, mostly my decision, which was maybe a bad decision.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I don't think so.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
But, we wanted to make sure we could use the text system, and all that good stuff that AppKit provides, but on the other side animations aren't as smooth as they could be, and we have to deal with layers causing problems in some places where they don't cause problems on UIKit doing those same type of things. There's no UIKit-clone framework for Tweetbot, it's all AppKit-based.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
There are two approaches to writing cross-platform UI code. At one point, and I'm sure you know this, NeXT used to run on Windows, so you used to be able to compile it. You'd have all the Display PostScript and all that, and it would fake drawing the windows inside a Display PostScript context.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yellow Box?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
At one point they were shipping it, weren't they?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I don't know if they ever actually did, but maybe they did. It was awhile back.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Before the Apple XGeN, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I thought you could compile NeXT stuff onto Windows NT. Whatever.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
They used to have the OPENSTEP that ran on four different hardware platforms.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's probably what it was.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That's different from what I think was Yellow Box.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I do know that if you'd look in the headers, maybe not now, but in earlier OS X releases, there was an NSWindow, Windows extension. There'd be an "ifdef" and there'd be an "hwin" to get a Windows window-pointer out of your NSWindow thing. There's that approach, where you basically just plunk your kit on top of some other base APIs.
Then, there's the other approach where it's, "I'm going to rewrite the UI later." It seems like you took the latter. Is that out of experience, or is it just because you felt that going with the platform UIKit would be easier than fighting against it and trying to impose your own UIKit view?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
As much as I don't care for AppKit, I think it's the least-worst choice to write an application in for the Mac, because it is the native UI for the system. I don't like applications that are ugly ports from other platforms, like Java-based UIs and stuff like that.
We're big believers in making the application feel right for the device, for the operating system. It's one of the reasons why we won't port to Android. We're not going to take our UI and our feel and just move it over there and have it run the same way, because it's just not something that we feel is the right thing to do, as people.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I think that goes back to what you were saying about the Convertbot and the iPhone 5 screen, in that you designed that app very specifically for a certain-sized screen, and now that it's changed, it's problematic to recapture that feel on the larger screen.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We could definitely stretch out the top and the bottom but does that really make any sense? Is that something that we would be proud of?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You could just give it a big Imax-style chin on the monitors.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That makes it somewhat tough, that we care so much about how these apps work and feel. Where if we'd used something like TWI or Chameleon, maybe it would have made the process of porting a bit easier, but are we then losing out on some of the nice things that AppKit provides that are behind the scenes and that you just subliminally notice?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Stuff like accessibility. Like when you do your own sort of interface kit, you lose a lot of stuff that comes with the system, like being able to select text and run a service on it, maybe. Weird, little things. Like, edge cases that just drop away.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. Then, as Apple upgrades the operating system, new features probably don't work quite right, if you're using those things. A perfect example, going back to the twUI, it's all fuzzy now. Why is it fuzzy? Because it's using their own UI, crazy layer-backed stuff that's not AppKit. When they moved to the retina screens, it wasn't ready for it. Now the app looks fuzzy to everybody.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure that bugs Lauren, but I didn't want to ask about it.
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's not his problem anymore.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'm sure that's something that could be fixed in a fairly simple manner, but if it was written with AppKit, it probably would have just worked.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Exactly, You were saying that five years from now, maybe there will be some other kit that we all wish UIKit worked like. You've been doing NeXT stuff for a long time now. I've been working in the field for 6 years. I've been doing it for maybe 15, doing programming on the side and doing tools for work and all that. Do you ever worry you're going to get blindsided by a different platform?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I don't. A few years back, before the iPhone came out and the Mac stuff was waning or at least not as popular as today, I spent quite a bit of time doing Ruby and Ruby on Rails type of stuff. I'm not terribly worried about it. If it, for some reason, dies out, there's always something else I can jump into.
Fortunately, I really like the Mac stuff, the Objective-C libraries, and think it's the best stuff out there. It took a while, but at least the last five years, it's been really great.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Definitely. It used to be, and this was a different time too, there were more operating systems around in general. I don't want to say I experimented in my youth but...
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I used to use OS/2 and Windows NT and Classic Mac, and that's how I came to find out about all the NeXTSTEP stuff and all that. These days, I find myself, because I work and I work on Apple technologies. I sometimes wish that I would go and maybe check out what it's like to program on Windows Phone 8. Every now and then I'll go read through the docs, but I don't actually practice it.
Is that-that's not something you care about. That's just...
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
If any of those platforms besides the Android actually take off in some way I'll definitely take a look at them. I refuse to look at Android just because I have a rational hate of Java and all things Java related. But I certainly, if Windows 8 sold more than a couple phones a week I probably would be interested in taking a look at it.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
On the flipside, some people like John Syracuse have been critical or maybe hypercritical about objective-C and its future when compared to the higher-level languages and the way that you can develop for more, I don't want to say more modern, but more recent devices. Maybe like Windows Phone or maybe some of the stuff that Microsoft is doing with C#. Do you see the same kind of limitations in objective-C and are there directions that you hope that Apple takes it beyond what they're doing now?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I really like the way, actually, Apple has been handling objective-C where every year they're making some significant but not overwhelming change to it. They've recently added the whole, what was it? The new memory stuff?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The boxing.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Boxing, but the new memory stuff, what's it?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
ARC.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
ARC. Yeah. In there, which really changes a lot of how one writes an application.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Have you ever-sorry. Have you seen apps been using that?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Nope. Nope. I mean it would be nice to, but it would involve a lot of going back and changing classes that have been working for years now. It's not something...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I can't stop writing retain release, like I cannot do it. I've got to break that habit, but... Anyways, sorry Craig [inaudible 55:22] , go on.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's not something I have a problem with myself, since I've been doing it long enough that I can retain release in my sleep. But it's great for new developers. On the other hand they added block recently which I used pretty much all over the place. I've even almost got the syntax memorize for how to write a block without copying and pasting it from somewhere else. I like the way they're improving the language without throwing it all out and starting from scratch. Which...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It certainly seems that from '97 to almost 2007 nothing changed and then for the past five years we've been getting pretty big improvements.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right. You can almost see it's a yearly cycle and a lot of those improvements they make it so it will run on a previous version of the OS, which is great as well. Is it as fancy as whatever new JVM based languages they're coming up with? Probably not. The language is only half the issue. Even less than half the issue. It's the frameworks that go around and I don't think there's anything anywhere near as mature that works as well as foundation in UI kit.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You can say that, begrudgingly.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I guess it doesn't have all the whiz bang features but it's been improving at a good, sustainable pace. If you look at something like Ruby on Rails as a counterexample, they add new whiz bang features to it, to the framework, every dot release and it gets to a point where if you haven't kept up-to-date with each and every one of those releases and you go back and try to update an app you almost have to toss the whole thing out and start over to deal with whatever new features they decided had to be added without any regard to previous working code.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Incremental improvement without churn. You don't have to toss everything out.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
No rip and replace.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
One thing I find heartening in retrospect, but at the time I was annoyed by it, not annoyed, I'd written a large app using Garbage Collection, which was dumb because it used a lot of graphics, too, and a lot of the graphics stuff didn't end up being properly garbage collected, and then they abandoned it.
It was a little concerning. Because under Garbage Collection you could write retain and release and it was a no-op, I'd been doing that anyway because I couldn't break the habit, so it wasn't that much a pain in the ass to switch back to the regular.</p>
<p>In retrospect, I kind of like that because they went a direction and within a year, year and a half, maybe two, they just ditched it and they went to Arc, which I find to be a very compelling argument they are taking the stewardship of objective C and their platform seriously and they won't commit long term to something they don't think will work.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. Garbage Collection is definitely an interesting edge case where, for whatever reason, they decided it wasn't working and they just reversed course and went a completely different direction. Fortunately, I don't think it impacted too many people. Like you said, you're writing release and retain code anyway. I don't think I've ever used it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Very, very few. Very few third party developers used it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's nice that it's consistent improvements and course corrections, if needed, year after year as opposed to waiting three or four years and tossing in a bunch of stuff and breaking backward compatibility. Everything seems to be pretty compatible with everything that came beforehand.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Is there a direction you'd like to see them keep going with those iterations?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I definitely would love to see blocks just everywhere. Go in and make sure that any operation that takes any amount of time has a completion block. Stuff like TableView updates. When you go in and you do some animated UITableView updates, there really should be a completion block so you know, "Hey, we're done with the graphical side of this." If you need to do something else, continue on.
I love to see them just making sure, "Hey, everything any kind of animation, any kind of long-running operation, has some kind of block or some kind of call back to it." Also, the GCD stuff is awesome. I love to see them keep going with that, making sure it's more well-defined.</p>
<p>When you make a call using GCD, you should know, "Is it coming back in the same thread that called it? Is it coming back in a different thread?" have all that stuff documented. I love to see that stuff happen.</p>
<p>I've been playing, like I said earlier, with iCloud this week. I'd love to see them improve those APIs. They're currently way too hard to use, at least the document-based side of iCloud.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Are you using the UI document stuff, or are you using the stuff from Foundation that UI document builds upon?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Right now for Tweetbot and Netbot we use the key-value style API for...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That in my experience works reasonably well.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
When it works, it works reasonably well. The API is certainly very simple to use. It's great for what it should do. It sometimes, for whatever reason, refuses to work.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Can you explain a failure case to me?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It just doesn't work.
[laughter]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The API is very simple. You set a value and you read a value. When you set the value, it should go up to the Cloud.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm trying to think, there's no...Do they have an error reporting API on that? I don't think so. It just looks like user defaults, right?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it's literally a copy of user defaults with some notifications of when things change. For some reason...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
There's no way to query for an error, and there's no notification that you get an error.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, and I literally have some devices that it just refuses to work on. I'll set the value. I can watch the traffic coming out from that machine. It just never goes up anywhere. It just stays there.
You have no idea, obviously as a developer, you have no idea that anything wrong is happening, because you get no call backs or anything.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You think it's on the back end?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, it's definitely on...There's probably back end problems as well, but this is definitely on the device itself. I'm watching traffic to and from it. As I set a value, it just won't go anywhere. It just stays on the device. There's no network call out to the iCloud servers doing whatever they do.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Is this some kind of timeout thing?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I just...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I don't know. I'm trying to debug your [inaudible 01:04:10] .
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I've sent tons of logs over to Apple, but still haven't gotten a response of what's happening. It's been happening since 5.x, it's not a new 6.0 type problem. It's just [inaudible 01:04:26] API for whatever reason, sometimes on some devices, refuses to work and then, once in a while, it will start working again on the same device for no rhyme or reason.
It's probably the number one support issue we have with the Tweetbots is sometimes iCloud stuff doesn't work.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's frustrating because it's not something you can dig into and fix. That's for simple API.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The document-based API is much, much more complicated. It does seem to work more reliably, though, for whatever reason. It's very complex API-wise. There's a lot of different failure cases that you have to handle.
Everything is asynchronous and some of those asynchronous operations don't have call backs to them, or not, at least, easy call backs. It's just much more complex of an API than I think it should be. It probably explains why so many people have problems with it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
If you can say, which Apps are you using that in?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We're actually looking at doing some stuff in Calcbot with that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh, interesting.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For example, it would take the tape on one device and synch it across multiple different ones.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's cool. That makes sense.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Once we have that working, we'll probably go in and look at getting it working on Tweetbot for stuff like graphs, as an example, where your graphs could by synched between different devices, where it's not that thing where you're possibly talking about, "Yeah, 140 character graph, that's no big deal," but you an image, or several images, that may go along with it.
That stuff doesn't really fit into that key-value API that's simple to use. You need to do something like the document-based API where you're dealing with large files.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
No, I think that's exactly the right thing to do. They call it the [inaudible 01:06:56] API, right? Just the idea of having all your drafts transparently everywhere that you've got Tweetbot seems like a great idea. Oddly, I don't think anybody's going to....
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[inaudible 01:07:05] pretty complex.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm sure. I'm sure the amount of work you put in, you'll not get enough kudos. People will just notice that the draft's there and they'll be like, "Oh, cool." You'd be a month of blood, sweat, and tears to make that work.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah, it's been a good week, plus just getting this tape going back and forth between different devices. I ended up rewriting it three or four different times just to deal with different API issues/limitations.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What's your policy in terms of supporting the most recent operating system? I ask that because let's say iCloud never gets fixed on iOS 6, but for some reason it works on iOS 7. Would you just move to iOS 7? Would you limit that feature to iOS 7? What's the policy?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
My overall view is that you should support the two latest major OS versions.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, I think that's common.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I think Apple's actually almost forcing you to do no more than that. You can't build an App for the iPhone 5 that works on 4.1. The 4.2 SDK stopped supporting deployment for iOS 4.2 and earlier. Something like that. Apple's almost forcing you to only do the most recent two OS versions, under iOS.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. With iOS, they're definitely dragging everybody along. Users and developers alike. They're just dragging people along. I think they see each device as having a two year life span. Maybe not the 3G. That must have been longer. But sorry, I cut you off. Go ahead.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You can probably count on two years of updates, up until the point they stop selling that particular device. I would expect, actually, the 3GS to get at least iOS 7, possibly iOS 8. But I wouldn't expect much more than that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'd be surprised by iOS 8. Only because I think they'll just be... [inaudible 01:09:39] .
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
That one is an edge device. It's been selling for so long. But I definitely think you shouldn't expect much more than two years worth of updates from the time they stop selling the device.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That makes sense.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The thing that's interesting with Apple is that it has so few features of iOS 6, but it still supports iOS 6. Apple's point of view is that it wants it to be binary compatible, so that when you write apps against iOS 6, those can all run on the install base of iPhone 3GS devices. When you look at things like Windows Phone, which loses binary compatibility after one generation, that becomes key for their market.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The Windows stuff is kind of ridiculous, at this point. They're still selling the Nokia something or other.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
900.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
And then three months later, it's obsolete. Because it won't run Windows Phone 8. What are they thinking? Android's even worse than that. It's nice that Apple has a fairly consistent story there.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
For a user, yes they're upset they don't get Siri, for example. But if they couldn't bind new apps, that becomes a big problem, especially for a device that was being sold, up until fairly recently. The binary compatibility is the layer that they try to move forward the most.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Paul, we talked about AppKit, UIKit and iCloud. All of these things, basically, are under one guy. They're all under Federighi now. Do you think that makes a difference? Do you think we're going to see more cross-pollination or a tighter coupling of this stuff?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I have no idea. To me, the whole way that Apple works is a black box. I certainly have no inside knowledge of what happens there, other than every year they come out and announce cool features or not so cool features, as the case may be. I hope they start getting a little more aggressive with iOS. The last couple versions have been somewhat lackluster. The devices have gotten better and better, but the OS, I won't say it's getting stale.
But it could use some cool new features, here and there. I'd love to see apps being able to tie in to Siri somehow.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I looked at that. That's really hard to do. Do you just mean launching them? Providing a service is tough.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. But there's got to be ways to do it. I don't know enough about how Siri works down low and that kind of level, to be able to say what can be done.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The problem is disambiguation, basically. If you just put a list of keywords in your PList and you've got three apps, you've got Twitterific, Tweetbot and Twitter for the Twitter app, what happens when you say, "Send a tweet," or, "read my replies to me"?
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
"Do you want to send that tweet to Tweetbot, to Twitterific or to tweet, press the button."
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
You could set a default service. You can have a default mail service, like you do on Mac. I don't see why you couldn't have that on...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It's an interesting problem to look at.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
I still think though, they're doing that as partner plays. They're not going to give out the revenue they can get from brokering deals with the Yelps and the Ticketmaster companies, just to provide a free way for apps to do it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Possible. But if Google goes in and starts opening that up, they might not have a choice. If some other operating system starts integrating those cool features and they're not, just because they might lose some revenue, they're not going to stand for that.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The bigger problem with the Siri stuff right now is, for example, Google's doing on-device voice parsing, which makes the experience much faster. Anything that doesn't have to go to the cloud doesn't go to the cloud. I can set an alarm. I can do all sorts of things and never have to worry about the cloud being a point of failure. Siri sends everything to the cloud, still. Google Now is also doing all the predictive stuff.
Where it knows where you are, it knows where your appointments are and it starts providing information, even before you ask, where Siri is still a query, response engine. They're already falling behind in several of those areas that Google excels in. They should get a move on on that stuff.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. That's what I said. I would hope that the future OS's are going to be a little more aggressive with cool new features that we can't even imagine today. The last few versions haven't quite done that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. They've solidified a lot of stuff, but they haven't really leaped forward in any way.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
For iOS 6, what were the killer, must-have features. Maps, I guess.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The kids got Facebook, Paul. Come on.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. That's true. More account stuff, which is actually pretty nice but will take a while to go through all the different applications to start using that stuff.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Where do you sit with the Twitter integration in iOS? Does that help you at all? Does that run parallel to you? When they start introducing things like Twitter integration, Facebook integration, built-in reading lists, are those things that you look at to add value or do they take away a layer from your business?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
All that stuff they've added is great. Especially being able to launch Tweetbot on a new machine and not have to enter in your passwords, because it's using the Twitter integration stuff to get all that, is pretty cool. None of that stuff has impacted us in any negative sense. I'd love to see them add in the reading list API, because right now there's no API for it, on iOS. We keep getting requests for that.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It seems like a gimme. It seems like they could implement a URL scheme and just make it work.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
They added it into Mac OS. It's a little bit hidden in there.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
They did?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. It's in there. I didn't know about it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Where? [inaudible 01:16:31] workspace or something?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's in the sharing API.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oh wait, I did see that. Sorry.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
One of the things I also wanted to ask you about is that you've resisted doing in-app purchases. A huge swath of the iOS economy has gone into in-app purchases. Some people have done it in Twitter applications for multiple accounts or to get rid of ads. You basically buy Tweetbot, you get Tweetbot. Was there ever any discussion about, "Hey, we could do photo filters or make mute filters an in-app purchase"?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No. Not seriously. The one area where we talked about it was for push notifications. But we were able to...
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Because of the server expense or because you thought that it would drive...
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Because of the server expense side of things. We thought it would be a lot more involved, cost-wise, then it ended up being. And it would have been if I'd outsourced the push stuff, which was our original plan. But then I ended up just writing it all, writing it on server. It's a point where it doesn't cost enough to justify charging an IAP for it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I imagine you have a lot of traffic on that. But you don't need a big, heavy-duty?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah. I want to say we're almost to our billionth push notification. Some time soon.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What are you running on, a 386?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, it's a Xenon. I don't know. Something we rent.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's not a hacked Xbox.
Paul No. But it's not a crazy machine either, with 36 cores or anything ridiculous like that. It's a normal-sized server that is enough to handle the traffic and then some.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
So unless you're doing Tweetbot level traffic, you're fine with just a basic server to handle push notifications?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We were even fine with a basic server.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
That's good to know.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
At least the way we're doing it, it's not that intensive of resources.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah. What are you, using Web Objects?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
[laughs] I used to really love Web Objects.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I know. I was talking to Lauren about it last week. I wanted to bring it up with you, because you actually did it, professionally.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Until they switched to Java and then I almost immediately lost all interest in it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Did you hear last week's show? Lauren got Objective-C running on servers.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's doable. The server stuff, I just stick with Ruby, just because it's pretty easy to use on there. But yeah, a while back Web Objects would run on servers and was Objective-C based and was all fun to use.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Yeah, it used to be awesome.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Then they started doing Java wrappers around Objective-C classes and all sorts of crazy stuff. Now, I think they should just take it out back and shoot it.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
They have, right? It doesn't ship anymore. They still use it, but nobody else does.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Nobody uses it, but something still exists.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The store. iTunes Store runs it and a bunch of their other stuff uses it. The Apple Store uses it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
And their iTunes Connect back-end still uses it, which is probably why it's so bad.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Probably. [laughs] Wait, just fact-check me from last week. I said that they moved to Java because they wanted to run on app servers. There was something about cross-platform, right? You would know. I fumbled through it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
The reason was that Java was becoming really big, back when they made that choice. Objective-C, it was a lot harder to find developers who knew the language. At that point, I believe Web Objects was their big product. They were charging...
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
It was like 999 bucks or something.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, they were charging more than that. I think they were charging like $50,000 or something like that. It was their big, money-making product. They probably had a bunch of corporate clients who said, "We can't find Objective-C guys. This is great, but we only have Java developers. We can find Java developers. Port it over to Java for us."
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
The irony now is there's like 100 WebObjects guys in the world that know what they're doing, and that's about it.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Yeah.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Oops.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Ruby on Rails works, or one of the offshoots of that works well enough that there's no point in going through the whole craziness that is WebObjects at this point.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The iPad has now gone smaller. You were wondering if at some point Apple would go bigger. Is that an actual problem that you would like them to solve?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I don't think they're going to go bigger. I actually more meant it's possible that the 10.1 inch iPad Maxi goes away, and they go and focus on the smaller one instead. At least from my personal experience, I much prefer the new, smaller one from a carry-around, play-with standpoint versus the old one.
The only thing I prefer on the older one is browsing the web because of the bigger screen. Other than that, it's like this lumbering dinosaur. I compared it to the MacBook Pro 17 inch, where they just got rid of it.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
The battleship
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I watch a lot of video on my iPad, so I prefer the larger. It's like a portable TV for me. I'll go sit outside on my deck and watch TV on my iPad, so I prefer the larger one. I was not going to buy a Mini on account of the one X screen, but then when I actually saw one...
It's pretty good. It's really good. I'm pretty sure I'm just going to go out and buy one as soon as I get my druthers together to do so. I do agree that it feels amazing. The build quality is great. The screen is way better than I thought it was going to be.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It feels like what's next.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I agree with you, Rene. You had a piece about not expecting a Retina screen, and I wouldn't, for at least the next rev.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's one of those things that Apple's still bound by the laws of physics and the laws of economics. If you put a Retina display on it, it becomes an iPad 4. For people who don't want to carry a laptop, the iPad 4, the large size iPad Maxi still makes a lot of sense because it gives them a lot more area to be productive with, whether it's using the iWork apps or it's typing or anything like that. But if you have a ton of other Apple and iOS devices, the Mini really is a sweet spot now.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
We'll see how it progresses. The MacBook Pro 17 had a lot of fans, me included, but it went away too even though they could probably still sell them today. They just sell so many more of the smaller devices. It'll be interesting to see. I definitely like the Mini better with the exception that I wish it had some more memory in it, like the newer iPads, the 1 gig versus the 512. Other than that, I don't miss Retina. I don't really miss the extra speed that the iPad 4 has.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It feels more like a mass-market device. When you hold it, it feels like that next breakthrough product.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I just wish it was a bit cheaper, but what are you going to do?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Wait a year.
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
What do you want to see? Either in terms of software, besides killing AppKit...
[laughter]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
...or hardware, is there something that you're...That sort of fanboy, Apple insider, I'm going to refresh the page until I read all the rumors on this kind of thing. Is there something you're excited about coming up or are you just pleased with the current iteration?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'll answer that with two different hats on. From my business person hat, I would love to see cheaper iOS devices. I want to see the better iPod Touch, the 32 gig down to the $200 mark. I would love to see the iPad Mini down at the $250 mark.
From my geek hat on, my personal hat, I'm really excited to see a 16-core Mac Pro with modern insides, as opposed to the current two-, three-year-old version that's out there.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You'd stick with the Mac Pro and not go iMac?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Ew, no.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
[laughs]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, I run a Mac Pro now. I'm not going back to those little, slow iMacs.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
[laughs]
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You know what? I did that for years. I was always on the Pro side of stuff. Then I bought an iMac Core i7, one of the earlier ones, because my Mac Pro was dying. It was old, and there was no update in sight. I figured, "Well I'll buy this 27-inch iMac," with a Core i7 and I forget what else. "I can use it as a screen when I eventually buy my new Mac Pro." But the iMac was just fast enough, and it was awesome, and I kept using it. I'm not sure I would go back to a Pro.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It is fast enough, but once you're running with the old 12-core Mac Pros, which is what I run, and you stick a bunch of SSDs inside, and...
[laughter]
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Some racing stripes on the back.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Put a couple monitors to it. I don't necessarily need it, but I really like it and want the latest and greatest and even better version that comes out next year.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Can't blame you for being into hot rods.
Rene : Jardine has the cars. You have the computers.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
He definitely...I still drive a 10 year-old minivan.
[laughter]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'll [inaudible 01:27:41]
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
It's got the racing stripes though.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
No, but I actually got a bunch of paint on it from the side where I scraped against the garage.
[laughter]
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
I'll spend the money on cool toys and hardware, not car stuff.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
[laughs] Car stuff. If people want to find out more about you and more about Tapbots, where can they reach you?
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Go to <a href="http://tapbots.com/">tapbots.com</a> or follow me on probably best <a href="http://app.net/">App.net</a> these days, and @pth is the user name.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You went for a different user name on <a href="http://app.net/">App.net</a> than Twitter.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Definitely shorter, and I like the pth.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Got to go with the three letter [inaudible 01:27:40] .
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Guy's a huge fan of the three letter name.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
It's much easier to type, and you can reply to more people with the shorter names. Longer reply tweet or post.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
Guy, where can we find you?
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
I'm @gte on Twitter and <a href="http://app.net/">App.net</a>, and my website is <a href="http://kickingbear.com/">kickingbear.com</a>.
</p>
<p class="speaker_4_text">
<cite class="speaker_4">Rene:</cite>
You can find me @reneritchie or you can find me on iMore or just look up Debug on iTunes and subscribe. Paul, thank you very much for joining us. That was awesome.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Sure, Renee.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
Paul, it's been great. Thanks a lot.
</p>
<p class="speaker_5_text">
<cite class="speaker_5">Paul:</cite>
Nice meeting you, Guy.
</p>
<p class="speaker_6_text">
<cite class="speaker_6">Guy:</cite>
You too. Take care.
</p>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/paul-haddad" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Paul Haddad</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/debug" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">debug</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/netbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">netbot</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div>Tue, 27 Nov 2012 15:11:33 +0000Rene Ritchie18409 at http://www.imore.comDebug 2: Paul Haddad of Tapbotshttp://www.imore.com/debug-2-paul-haddad-tapbots
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/11/debug_hero.jpg" width="620" height="345" alt="" class="aligncenter" /></p>
<p>Guy and Rene talk to Paul Haddad of Tapbots about coding on NeXT, deploying Tweetbot and Netbot on multiple platforms, for multiple services, pricing for scarcity, in-app purchases, push notifications, iCloud sync, and his beef with AppKit. This is Debug.</p>
<p align="center"><script language="JavaScript" src="http://images.precentral.net/sites/precentral.net/files/mp3player/audio-player.js"></script><object type="application/x-shockwave-flash" data="http://images.precentral.net/sites/precentral.net/files/mp3player/player.swf" id="audioplayer1" height="24" width="290">
<param name="movie" value="http://images.precentral.net/sites/precentral.net/files/mp3player/player.swf" /><param name="FlashVars" value="playerID=audioplayer1&amp;soundFile=http://traffic.libsyn.com/zenandtech/debug02.mp3" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="transparent" /></object>
</p>
<ul><li><a href="http://feeds.feedburner.com/debugshow">Subscribe via RSS</a></li>
<li><a href="https://itunes.apple.com/us/podcast/debug/id578812394?at=10l3Vy&amp;ct=d_im" rel="nofollow">Subscribe via iTunes</a></li>
<li><a href="http://traffic.libsyn.com/zenandtech/debug02.mp3">Download Directly</a></li>
<li><a href="http://www.imore.com/paul-haddad-talks-tweebot-netbot-next-and-his-beefs-icloud-and-appkit#comments">Read the transcript</a></li>
</ul><h2>Guest</h2>
<ul><li>Paul Haddad (<a href="http://alpha.app.net/pth/">@pth</a>) of <a href="http://www.tapbots.com/">Tapbots</a></li>
</ul><h2>Hosts</h2>
<ul><li>Guy English (<a href="http://twitter.com/gte">@gte</a>) of <a href="http://www.kickingbear.com">Kicking Bear</a>
</li><li>Rene Ritchie (<a href="http://twitter.com/reneritchie/">@reneritchie</a>) of <a href="http://www.imore.com/">iMore.com</a></li>
</ul><h2>Feedback</h2>
<p>Yell at us via the Twitter accounts above (or the same names on ADN). Loudly.</p>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/debug" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">debug</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/paul-haddad" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Paul Haddad</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/netbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">netbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/calcbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Calcbot</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/debug" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Debug</a></div></div></div>Mon, 26 Nov 2012 23:22:53 +0000Rene Ritchie16614 at http://www.imore.comTweetbot for Mac developer Todd Thomas and designer Mark Jardine talk process, production, and pricinghttp://www.imore.com/tweetbot-mac-developer-designer-talk-process-production-pricing
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><div class="video"><div class="video_iframe"><iframe src="http://www.youtube.com/embed/RbbcswCtgdE?rel=0&amp;autoplay=0&amp;wmode=opaque&amp;controls=2&amp;autohide=1&amp;showinfo=0" width="627" height="353" class="video-filter video-youtube video-center vf-rbbcswctgde" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div></div>
<!--/video-->
<p><a href="http://www.imore.com/tweetbot-mac-review">Tweetbot for Mac officially hits the Mac App Store today</a>, and thanks to <a href="http://www.imore.com/tag/tweetbot">Tweetbot for iOS</a> developer <a href="http://twitter.com/tapbots_paul">Paul Haddad</a> simultaneously ducking behind him, and throwing him in front of the camera, I had a chance to chat with Tweetbot for Mac developer <a href="http://twitter.com/toddthomas">Todd Thomas</a> about the newest Tapbots creation, and their first for OS X.<!--break--></p>
<p>We covered everything from the impetuous for Tweetbot for Mac, to the development process, to the price point and the realities of living -- and selling -- in a post-restricted user token world.</p>
<p>To round things out, and get a little more clarity on the design side, I also had a chance to catch up with Tapbots' <a href="http://twitter.com/markjardine">Mark Jardine</a> over old-school text.</p>
<p>On the Tweetbot -- and Tapbots in general -- aesthetic, which has been iOS only until now, and what it was like translating that to the Mac:</p>
<blockquote>
<p>One of my primary goals of Tweetbot for Mac was to keep the same aesthetic going throughout while still feeling like a Mac app. I'm not sure I succeeded, but I tried my best. It's kind of funny because Tapbots started out with very experimental UI ideas and have always been purposefully over-the-edge so to speak. I know it's definitely not for everyone, but it's been a very fun experience. It worked out really well for our utility apps, but pushing our look and feel onto a Twitter client was a huge risk. I'm well aware that many find it too busy, but this is after all a Tapbots app and the brand must live on through each app we do under this company. The funny thing is my design work is traditionally very minimalistic. I'd say to the point of being a bit bland. So it always makes me chuckle when people associate this look with my personal style. I guess I should take that as a compliment to my brand consistency?</p>
<p>Anyways, back to Tweetbot for Mac. Some early designs started out with the light-colored chrome familiar to most Mac apps. But it just didn't feel like Tweetbot to me. One of the big issues with going with a dark interface is by default, OSX apps look horrible with it. Look at Apple's Reminders app over a light background for example. The edges become muddy because the 1px app border just isn't dark enough. So we ended up hacking a few things together to get it to look right. There are a few other issues as a result, but we are working through them.</p>
<p>I knew from the very beginning that I would be taking the iPad app's navigation interface and applying it on the Mac. I think that ties the apps together well. Everything else was really a mix between what worked on the iPhone and what worked on the iPad. If something didn't work right, we'd rethink it all.</p>
<p>The biggest challenge was definitely solving all the problems that come up with this new (to me at least) platform altogether. When I design for the iPad, I miss all the constraints of the iPhone. When I design for the Mac, I miss the constraints of iOS. Having strict boundaries gives me time to focus on ever little detail. The scope of the UI and experience of apps on the Mac is just really large...especially when you start going custom with the UI. This app took us a year to develop and I still feel like there's still so much more to improve. It will get better though and I've learned a lot from this experience.</p>
</blockquote>
<p>On the gesture shortcuts in iOS and moving those over to the Mac:</p>
<blockquote>
<p>I'll be honest with you. It was Paul and Todd who spent most of the time figuring out the gestures and keyboard shortcuts. I just made sure nothing felt really out of place. Apple's trackpads/magic mice definitely helps make the transition from iOS to Mac a bit smoother.</p>
<p>The hardest decision related to input device differences was with the tweet drawer. Originally we planned on having our signature tweet drawer in the Mac app. But after a few prototypes we quickly learned that it just didn't feel right at all on the Mac. We tried a bunch of different things and ended up settling with the hover action we have now. I'm still not quite sure it's the best solution, but that's the conclusion we ended up with.</p>
</blockquote>
<p>If you haven't already, be sure to check out our full <a href="http://www.imore.com/tweetbot-mac-review">Tweetbot for Mac review</a>, and if you like what you see, grab the app via the link below.</p>
<ul><li>$19.99 - <a href="https://itunes.apple.com/us/app/tweetbot-for-twitter/id557168941?ls=1&amp;mt=12&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download now</a></li>
</ul></div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/tweetbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tweetbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tweetbot-mac" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">tweetbot for mac</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/todd-thomas" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">todd thomas</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div></div></div>Thu, 18 Oct 2012 16:19:25 +0000Rene Ritchie16144 at http://www.imore.comNetbot for iPhone and iPad reviewhttp://www.imore.com/netbot-iphone-and-ipad-review
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/10/netbot-iphone-ipad-hero.jpg" width="620" height="345" alt="" title="" class="aligncenter" /></p>
<p>Tapbots, the creators of the extremely popular Twitter app <a href="http://admin.imore.com/tag/tweetbot">Tweetbot</a>, have released Netbot, an iPhone and iPad client for the Twitter-like social network <a href="https://join.app.net">App.net</a>. If you're a fan of Tweetbot, you'll immediately feel at home with Netbot with its identical interface, familiar sounds, and simply outstanding design.</p>
<p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/10/netbot-ipad-screenshot.jpg" width="620" height="465" alt="" title="" class="aligncenter" /></p>
<p>There are three main tabs in Netbot: Timeline, Mentions, and your profile. If you tap on a post, a toolbar will slide out from under it that gives you options to reply, repost (re-tweet), star (favorite), share, and more. You can also double-tap on a post to see its details or triple-tap it to reply (triple-tap can be changed to repost, star, or translate in Settings). Swiping a post to the right will open the conversation view and swiping to the left will open the post Detail view. If you use Tweetbot, you should already be familiar with all these gestures.</p>
<p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/10/netbot-iphone-screenshot-1.jpg" width="620" height="543" alt="" title="" class="aligncenter" /></p>
<p>App.net profile pages allow for a "cover photo". In Netbot, profiles pages show the user's cover image at the top of the screen and, if you swipe down, the image will grow and zoom with the interface. If the user does not have a cover image, the default dark, charcoal background will be in its place. On any given profile, you can look up the user's posts, followers, following, mentions, and stars. You can also mute or follow users from their profiles.</p>
<p>The last two tabs in Netbot are customizable by holding your finger down on them. Your choices are stars, search, or mute filters.</p>
<p><img src="http://cdn.imore.com/sites/imore.com/files/field/image/2012/10/netbot-iphone-screenshot-2.jpg" width="620" height="543" alt="" title="" class="aligncenter" /></p>
<p>Netbot includes many different options in its settings including your preferences for sounds, font size, quote format, and the ability to choose services for URL shortening, image and video upload, read later, sync, and mobilizer.</p>
<p>We've been testing it for a while now and it's worked every bit as well as you'd expect from Tapbots. The only limitations we've found are the ones involving features and API (application program interfaces) that App.net simply hasn't rolled out yet. Most notably, Netbot is missing the option for push notifications.</p>
<p>Tweetbot has the best push notification implementation of any Twitter client we've ever tested, and from speaking with Tapbots, they absolutely plan to add it to Netbot as soon as possible While some other clients have included them, Tapbots is waiting for App.net to make the appropriate, official API available (which should be soon).</p>
<h2>The good</h2>
<ul><li>Beautifully designed</li>
<li>Intuitive gestures</li>
<li>Support for stars</li>
<li>Support for Instapaper, Pocket, Readability, bitly pro, and Pinboard</li>
<li>Crosspost to multiple accounts, including Twitter, by tapping the header in post creation</li>
<li>iCloud sync</li>
<li>Tweetbot users will feel at home wit Netbot</li>
</ul><h2>The bad</h2>
<ul><li>No push notifications</li>
</ul><h2>The bottom line</h2>
<p>If you're not a fan of the Tapbots aesthetic, nothing in Netbot will win you over. If you're a Tweetbot fan, however, you'll love Netbot. It's an excellent client for the new App.net social network. When it gets push notifications, it'll be near-perfect.</p>
<p>Do you use App.net? If so, make sure you <a href="http://www.imore.com/follow-imore-and-mobile-nations-appnet">follow the iMore and Mobile Nations crew</a> (I'm <a href="https://alpha.app.net/llofte">@llofte</a>) and include a link to your @name in the comments below!</p>
<p>UPDATE: Netbot 1.1 has been released with both push notifications and search.</p>
<h3>$4.99 for iPhone - <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=563595132&amp;mt=8&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download Now</a></h3>
<h3>$4.99 for iPad - <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=563596528&amp;mt=8&amp;at=10l3Vy&amp;ct=d_im" title="" rel="nofollow">Download Now</a></h3>
</div></div></div><div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even" rel="dc:subject"><a href="/tag/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/iphone-apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Iphone Apps</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/ipad-apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Ipad Apps</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/appnet" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">appnet</a></div><div class="field-item even" rel="dc:subject"><a href="/tag/netbot" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">netbot</a></div><div class="field-item odd" rel="dc:subject"><a href="/tag/tapbots" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Tapbots</a></div></div></div><div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/category/apps" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Apps</a></div><div class="field-item odd"><a href="/category/reviews" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Reviews</a></div></div></div>Wed, 03 Oct 2012 16:10:46 +0000Leanna Lofte15989 at http://www.imore.com