<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>iOS beta testing on the fly</description><title>TestFlight</title><generator>Tumblr (3.0; @testflightapp)</generator><link>http://blog.testflightapp.com/</link><item><title>Android has landed. Beta access open to all.</title><description>&lt;p&gt;We are happy to announce that TestFlight today opened its Android private beta to all users. In just 45 days of private beta, 5,000 developers have already uploaded 4,500 apps which have been downloaded more than 50,000 times.&lt;/p&gt;
&lt;p&gt;Now, all developers on TestFlight can upload Android apps and streamline their beta testing process. The features include beta app management, distribution, tracking, and centralized feedback. Additional features, such as crash reporting will be coming shortly with the release of the Android SDK. Beginning as early as next week, select developers will start getting access to the Android SDK which will be in closed beta. We look forward to hearing your feedback!&lt;/p&gt;
&lt;p align="center"&gt;&lt;img alt="image" src="http://media.tumblr.com/e16d5de932394b738d3ab47e1e984e42/tumblr_inline_mmifj9Y87U1qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;One Place to Upload&lt;/strong&gt;:  Send .APKs just like you would upload your .IPAs&lt;/p&gt;
&lt;p align="center"&gt;&lt;img alt="image" src="http://media.tumblr.com/0d9f2fcac00a04126c2bfbd3077a3e84/tumblr_inline_mmifrghNwz1qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;Developer Apps Page: &lt;/strong&gt;Manage all your Android apps along side your iOS apps.&lt;/p&gt;
&lt;p align="center"&gt;&lt;img alt="image" src="http://media.tumblr.com/462082071aa8e5801c1abe326882d69d/tumblr_inline_mmifn0ZYP51qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;strong&gt;Mobile Experience&lt;/strong&gt;: Distribute your Android beta builds over the air and install Android apps on your Android devices.&lt;/p&gt;
&lt;p&gt;On another note, our team will be on the ground at Google I/O next week so drop us a line at &lt;a href="mailto:support+android@testflightapp.com" target="_blank"&gt;support+android@testflightapp.com&lt;/a&gt; or &lt;a href="https://twitter.com/testflightapp" title="@testflightapp" target="_blank"&gt;@testflightapp&lt;/a&gt; if you&amp;#8217;d like to meet up!&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/49971420302</link><guid>http://blog.testflightapp.com/post/49971420302</guid><pubDate>Wed, 08 May 2013 18:06:00 -0600</pubDate><category>Android</category></item><item><title>Announcing Flightpath: Mobile Analytics You Want to Use.</title><description>&lt;p align="center"&gt;&lt;a href="http://flightpathapp.com?utm_source=Blog&amp;amp;amputm_medium=TF_web&amp;amp;utm_campaign=FP_beta" title="Sign Up for FlightPath" target="_blank"&gt;&lt;img alt="image" src="http://media.tumblr.com/802fa432295835d3dea3502a54af59ff/tumblr_inline_mjz49kjlOo1qz4rgp.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At TestFlight our core focus is on providing pain relief for beta-testing. Today, we&amp;#8217;re extremely excited to announce FlightPath, a product we believe will provide the same pain relief for mobile analytics.&lt;/p&gt;
&lt;p&gt;Analytics are the lifeblood of an app&amp;#8217;s ability to iterate and build a successful product, but most developers find it painful to extract the insights they need from existing products. It often takes digging through multiple pages and in some cases waiting hours to view data around a specific segment of your audience. Once you get the data, its tough to explore and answer any questions or dive further to understand trends and changes.&lt;/p&gt;
&lt;p&gt;FlightPath brings all of your data to the forefront in a single page. The page is real-time and interactive. It responds to every click and updates all the other data points around the information that’s selected.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FlightPath key features include:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Single page UI for all analytics&lt;/li&gt;
&lt;li&gt;Real-time data&lt;/li&gt;
&lt;li&gt;One-click pivoting on any attribute&lt;/li&gt;
&lt;li&gt;Preset segments to view valuable data (no added setup required)&lt;/li&gt;
&lt;li&gt;Instant saving of any custom segment&lt;/li&gt;
&lt;li&gt;View number of crashes by audience segment&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The UI is simple but the endless combinations are powerful and customizable.&lt;/p&gt;
&lt;p&gt;To get out of the gate quickly, FlightPath has preset segments already set up so you can receive valuable data with just one click. Once a preset segment is selected you can click on any additional data points and continue exploring or save as a new segment. If our definition of a segment doesn&amp;#8217;t match yours it can be changed with a click.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A few preset segments:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Loyal Users&lt;/li&gt;
&lt;li&gt;Flight Risks&lt;/li&gt;
&lt;li&gt;Early Adopters&lt;/li&gt;
&lt;li&gt;Highly Engaged Users&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We&amp;#8217;re excited to launch what we believe is the most intuitive analytics tool, but it’s early and we have a packed roadmap that we look forward to you weighing in on. We are rolling out in private beta and looking for daring developers who will help push the boundaries and keep cool when they break them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How to Get on Board&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Implement the TestFlight SDK and leave it in your app when you submit to the app store (iOS only)&lt;/li&gt;
&lt;li&gt;Invite emails will be sent daily so please &lt;a href="http://flightpathapp.com?utm_source=Blog&amp;amp;amputm_medium=TF_web&amp;amp;utm_campaign=FP_beta" title="Sign Up for FlightPath" target="_blank"&gt;sign up for the private beta&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;About the FlightPath Team&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;FlightPath was built by new dedicated team members in Santa Monica working alongside our dedicated TestFlight team. Both teams are &lt;a href="https://testflightapp.com/jobs/" target="_blank"&gt;growing&lt;/a&gt; and we&amp;#8217;d love to hear from you. Please shoot us an email &lt;a href="mailto:jobs@testflightapp.com" target="_blank"&gt;jobs@testflightapp.com&lt;/a&gt;.&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/45919058172</link><guid>http://blog.testflightapp.com/post/45919058172</guid><pubDate>Thu, 21 Mar 2013 10:33:00 -0600</pubDate><category>improvements sdk</category></item><item><title>TestFlight App Token &amp; SDK v1.2 Release</title><description>&lt;p&gt;We’re excited to announce the release of App Tokens and our much improved SDK v1.2. Thanks to all of you who took the time to check out Apps in Area51 and test drive the updated SDK and App Tokens. Your feedback is much appreciated.&lt;/p&gt;
&lt;p&gt;Reorganizing TestFlight around Apps allows us to bring you improved SDK reporting and performance. There are a few small changes in how you’ll be interacting with your builds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;App View&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You’ll notice that all your builds will be grouped into apps by their bundle identifier. Click a row in the new Apps view to view all your builds associated with the app. This gives you a dedicated URL for all the builds associated with that app. Your latest build will still be accessible from your app list by clicking the build number in the &amp;#8216;Latest Build&amp;#8217; column.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Old Builds View&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/bd12ea6fc48fccb5ec60d366ffcd8e28/tumblr_inline_mi89ih9f131qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New Apps View&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/93c6ffd17cd97eb8a015cb8a9a583c87/tumblr_inline_mh1mj9S26z1qdxtoh.png"/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dedicated Build List View&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/e9160e9e501656b320e844edc95004ee/tumblr_inline_mi9sihnlHb1qz4rgp.png"/&gt;&lt;/p&gt;

&lt;p&gt;You’ll also notice that Team Tokens have been deprecated and replaced with App Tokens.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why the switch to App Token? &lt;/em&gt;We began to notice that over time, many of you were building up quite a large list of build version and sub-versions of your apps. TestFlight Live brought about new challenges that forced us to make decisions on which build data belonged with which application. App Tokens would give our developers more control over which data goes into which application, more accurate reporting, and overall improved performance. &lt;a href="http://help.testflightapp.com/customer/portal/articles/880634-what-are-app-tokens-" title="App Tokens" target="_blank"&gt;Learn more&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finding your App Token&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can find the App Token by clicking on an app and then selecting App Token from the left navigation. If you haven’t uploaded a build yet you can &lt;a href="http://help.testflightapp.com/customer/portal/articles/948934-creating-an-app" title="Create an App" target="_blank"&gt;create an app&lt;/a&gt; by clicking the + in the top-right of the global header and choose ‘Create Application’.&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" src="http://media.tumblr.com/8a0cf170988dcb78deabca00dd26e1a5/tumblr_inline_mh1m5xfJbM1qdxtoh.png"/&gt;&lt;/p&gt;

&lt;p&gt;The App Token page will give you details on how to implement the new App Token in the SDK. Click ‘&lt;a href="http://help.testflightapp.com/customer/portal/articles/927654-what-is-the-app-debugger-" title="App Debugger" target="_blank"&gt;SDK Debugger&lt;/a&gt;’ in the left navigation to ensure that your token is properly implemented. You will not lose any data by switching to App Tokens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SDK v1.2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;App Tokens must be used with the SDK v1.2.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Added application token support&lt;/li&gt;
&lt;li&gt;Removed Team Token support. As of version 1.2 -takeOff: must be called with the App Token. Go to  https://testflightapp.com/dashboard/applications/, choose your application, and select App Token in the left navigation to get the App Token for the application&lt;/li&gt;
&lt;li&gt;Removed support for armv6&lt;/li&gt;
&lt;li&gt;Exception handler now returns instead of raising a SIGTRAP&lt;/li&gt;
&lt;li&gt;Resolved an instance of close_file being called on a bad file descriptor&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="https://www.testflightapp.com/sdk/release_notes/1.2/" title="SDK Documentation" target="_blank"&gt;Read SDK v1.2 Documentation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SDK v1.2.4 beta&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SDK v1.2.4 beta is available with several bug fixes and updated documentation. In addition, the SDK v1.2.4 beta is now using &lt;code&gt;NSString&lt;/code&gt; constants for  &lt;code&gt;setOptions&lt;/code&gt;: method to make sure typos are no longer a problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bug Fixes&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Fixed bug that caused crash reports to sometimes not send immediately (they would be resent later)&lt;/li&gt;
&lt;li&gt;Fixed bug where logs were not sent on crash&lt;/li&gt;
&lt;li&gt;Fixed bug where empty crash files were created (but not sent)&lt;/li&gt;
&lt;li&gt;Remove potentially conflicting function name UIColorFromRGB&lt;/li&gt;
&lt;li&gt;Fixed crash on bad in app update data&lt;/li&gt;
&lt;li&gt;Max number of concurrent network connections has been reduced from 4 to 2&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href="https://www.testflightapp.com/sdk/release_notes/1.2.4-beta/" title="SDK v1.2.4 Documentation" target="_blank"&gt;Read SDK v1.2.4 Documentation&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/45194141545</link><guid>http://blog.testflightapp.com/post/45194141545</guid><pubDate>Tue, 12 Mar 2013 10:11:51 -0600</pubDate><category>sdk</category><category>improvements</category></item><item><title>Now Boarding: Android Apps</title><description>&lt;p align="center"&gt;&lt;img alt="image" src="http://media.tumblr.com/7f7c8826c513e1a114599f02692e1e53/tumblr_inline_mi9t4bLwfn1qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p&gt;Hello Android developers and thank you iOS community for entrusting us with over 300,000 apps to date.&lt;br/&gt;&lt;br/&gt;Starting today, TestFlight Android is rolling out in private beta and we are very excited about this release. Developer’s now have a unified solution for managing beta-testing on both iOS and Android. &lt;br/&gt;&lt;br/&gt;At the same time we are also very thankful to the iOS community for believing in our product and helping us pass over 300,000 iOS apps uploaded. In the last 90 days, developers have uploaded over 100,000 apps. We are working hard to improve your overall experience while our growth accelerates.  &lt;br/&gt;&lt;br/&gt;Android developers and testers can now enjoy the benefits of TestFlight including beta management, distribution, tracking, and centralized feedback. TestFlight’s goal is to streamline the beta-testing process so developers can spend time building better apps versus building tools to manage their beta-testing. &lt;br/&gt;&lt;br/&gt;Please visit &lt;a href="https://www.testflightapp.com/android" title="TestFlight Android" target="_blank"&gt;this page&lt;/a&gt; to sign up for the Android private beta. If you’ve already signed up, we are working hard to give you access as soon as possible. &lt;br/&gt;&lt;br/&gt;TestFlight is also releasing an official Android app that dramatically improves the beta-testing experience with seamless device registration and faster installs. It’s now even easier for testers while providing a secure way to achieve successful installs. The TestFlight app can be downloaded by developers once they are invited to the private beta. Testers will be able to download the TestFlight app once a developer sends them an Android app to test. &lt;br/&gt;&lt;br/&gt;The TestFlight app will be available in the Google Play Store once the private beta ends. &lt;br/&gt;&lt;br/&gt;Thanks again for all the support and we are excited to push through the Android beta and open wide for everyone.&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/43571760685</link><guid>http://blog.testflightapp.com/post/43571760685</guid><pubDate>Wed, 20 Feb 2013 09:48:00 -0700</pubDate><category>improvements</category><category>android</category></item><item><title>Apps &amp; App Tokens</title><description>&lt;p&gt;As TestFlight continues to grow and prepare for performance improvements with our SDK and a host of future services, we’re reorganizing TestFlight to be centered around apps. &lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Apps&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;&lt;br/&gt;&lt;img alt="image" src="http://media.tumblr.com/93c6ffd17cd97eb8a015cb8a9a583c87/tumblr_inline_mh1mj9S26z1qdxtoh.png"/&gt;&lt;/div&gt;
&lt;p&gt;&lt;br/&gt;Your latest build will still be accessible from your app list by clicking the build number in the &amp;#8216;Latest Build&amp;#8217; column. Clicking a row will take you to a dedicated page for all builds belonging to the selected app and all uploaded builds will be grouped into apps according to the bundle identifier. &lt;br/&gt;&lt;strong&gt;&lt;br/&gt;App Token&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SDK v1.2 requires an App Token and includes various improvements and bug fixes.  We are deprecating the usage of Team Tokens in the updated SDK in favor of the new &lt;a href="http://help.testflightapp.com/customer/portal/articles/880634-what-are-app-tokens-" target="_blank"&gt;App Token&lt;/a&gt; to allow for more accurate reporting and reliable performance for new and upcoming SDK features. &lt;a href="https://www.testflightapp.com/sdk/download/" title="SDK Download" target="_blank"&gt;Download SDK v1.2 here&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;br/&gt;&lt;img alt="image" src="http://media.tumblr.com/8a0cf170988dcb78deabca00dd26e1a5/tumblr_inline_mh1m5xfJbM1qdxtoh.png"/&gt;&lt;/div&gt;
&lt;p&gt;Find an existing App Token by clicking on an app and then selecting App Token from the left navigation. If you haven&amp;#8217;t uploaded a build yet you can &lt;a href="http://help.testflightapp.com/customer/portal/articles/948934-creating-an-app" target="_blank"&gt;create an app&lt;/a&gt; by clicking the + in the top-right of the global header and choose &amp;#8216;Create Application&amp;#8217;. &lt;br/&gt;&lt;br/&gt;The App Token page will give you details on how to implement the new App Token in the SDK. Click &amp;#8216;&lt;a href="http://help.testflightapp.com/customer/portal/articles/927654-what-is-the-app-debugger-" target="_blank"&gt;SDK Debugger&lt;/a&gt;&amp;#8217; in the left navigation to ensure that your token is properly implemented. You will not lose any data by switching to App Tokens.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;Give it a whirl and &lt;a href="http://tflig.ht/WHoiui" target="_blank"&gt;let us know what you think&lt;/a&gt;!&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/41214846362</link><guid>http://blog.testflightapp.com/post/41214846362</guid><pubDate>Tue, 22 Jan 2013 13:20:00 -0700</pubDate><category>improvements</category></item><item><title>Green with envy?</title><description>&lt;p align="center"&gt;&lt;img src="http://media.tumblr.com/tumblr_mexgx7NPmy1qdxtoh.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="Apple-style-span"&gt;You asked for it, and we&amp;#8217;re excited to share some great news! Sign up and be among the first to get early access to what we&amp;#8217;re launching next.&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://tflig.ht/XSBy4m" target="_blank"&gt;&lt;a href="http://tflig.ht/XSBy4m" target="_blank"&gt;http://tflig.ht/XSBy4m&lt;/a&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/37787453396</link><guid>http://blog.testflightapp.com/post/37787453396</guid><pubDate>Wed, 12 Dec 2012 07:12:00 -0700</pubDate><category>improvements</category></item><item><title>SDK Debugger</title><description>&lt;p&gt;Some of you may not be aware of our SDK Debugger.&lt;span class="Apple-style-span"&gt; The Testflight SDK debugger allows you to see your SDK events before they hit our processing queues. Use the SDK Debugger to diagnose whether or not you&amp;#8217;ve correctly implemented the SDK and &lt;span class="Apple-converted-space"&gt;&lt;/span&gt;&lt;/span&gt;monitor events that are being sent with your SDK Team Token across all of your applications.&lt;/p&gt;
&lt;p&gt;You can find it by selecting a team in your team dropdown then clicking “SDK Debugger”.&lt;/p&gt;
&lt;div align="center"&gt;&lt;br/&gt;&lt;img alt="image" src="http://media.tumblr.com/tumblr_meh4iuSnrW1qdxtoh.png"/&gt;&lt;/div&gt;
&lt;p&gt;Implement the SDK and watch the events populate the debugger.&lt;/p&gt;
&lt;div align="center"&gt;&lt;br/&gt;&lt;img alt="image" src="http://media.tumblr.com/tumblr_meh40g6ciJ1qdxtoh.png"/&gt;&lt;/div&gt;
&lt;p&gt;The SDK debugger has been updated to improve performance and now quickly loads all events up to present time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Additional Fixes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"&gt;&amp;#8216;Clear&amp;#8217; button removes all events up to the present and refreshing the page will no longer bring them back into view&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span"&gt;New events now appear even if the stored maximum (currently 200) is reached&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;span class="Apple-style-span"&gt;Find this valuable?&lt;span class="Apple-converted-space"&gt; Have any suggestions&lt;/span&gt;? &lt;a href="http://help.testflightapp.com/customer/portal/emails/new" title="TestFlight Support" target="_blank"&gt;Contact us&lt;/a&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/37199688903</link><guid>http://blog.testflightapp.com/post/37199688903</guid><pubDate>Tue, 04 Dec 2012 12:02:00 -0700</pubDate><category>improvements</category><category>sdk</category></item><item><title>Mobile Improvements</title><description>&lt;p&gt;With the recent release of our new mobile redesign, we were able to improve the install experience and provide you with some much needed account &amp;amp; device management tools. Additionally, we&amp;#8217;re happy to announce that Anonymous Builds are once again fully supported and Build Share Links no longer require authentication.&lt;/p&gt;
&lt;p&gt;TestFlight mobile was a complete rewrite and we encountered some issues along the way, but with your help and feedback, these issues have been resolved. Thanks for your patience and support!&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;@testflightapp new interface for mobile is AMAZING - thank you, much needed and long waiting.&lt;/em&gt; – Mohamed Alkady (@malkady) &lt;br/&gt;&lt;br/&gt;&lt;em&gt;The new @testflight mobile website is the best &amp;#8220;native feeling&amp;#8221; web implementation I&amp;#8217;ve seen&lt;/em&gt; – Brit Gardner (@britg) &lt;br/&gt;&lt;br/&gt;&lt;em&gt;Gmail needs to make their mobile application more like TestFlight’s.&lt;/em&gt;&lt;br/&gt;– Dan Loewenherz (@dwlz)&lt;/blockquote&gt;
&lt;p&gt;&lt;br/&gt;As always, we value your feedback. Please let us know how we&amp;#8217;re doing by &lt;a href="https://www.testflightapp.com/survey/" title="TestFlight App Survey" target="_blank"&gt;completing our survey&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Improvements&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;em&gt;Anonymous Builds support. Share Links no longer require authentication.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Builds requiring a provision now redirects to the details page if the install button on the builds list is touched&lt;/li&gt;
&lt;li&gt;More meaningful messaging for invalid builds detail page&lt;/li&gt;
&lt;li&gt;iPhone 5 detection to accommodate restore from previous device scenarios&lt;/li&gt;
&lt;li&gt;Private browsing detection. This must be turned off in order to properly install builds.&lt;/li&gt;
&lt;li&gt;Direct Links are now saved when a user is not logged in and will redirect to original requested page after login&lt;/li&gt;
&lt;li&gt;More meta information is displayed in the details screen (Device Model and Type)&lt;/li&gt;
&lt;li&gt;Load More for users with Large App Collections. This redesign affected both the Build List and Permitted Apps list.&lt;/li&gt;
&lt;li&gt;Improved performance around Builds and Device lists&lt;/li&gt;
&lt;li&gt;Quick access mobile help documentation&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Fixes&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Fixed iOS 4.0 and earlier install link&lt;/li&gt;
&lt;li&gt;Fixed Reconnect Device&lt;/li&gt;
&lt;li&gt;Fixed Removing current device&lt;/li&gt;
&lt;li&gt;Fixed Device Connection and Change Ownership&lt;/li&gt;
&lt;li&gt;Fixed Team removal&lt;/li&gt;
&lt;li&gt;Fixed Enterprise Builds and Anonymous Builds lists&lt;/li&gt;
&lt;li&gt;Fixed Desktop Upload Icon display issue&lt;/li&gt;
&lt;/ul&gt;</description><link>http://blog.testflightapp.com/post/36817951401</link><guid>http://blog.testflightapp.com/post/36817951401</guid><pubDate>Thu, 29 Nov 2012 11:02:00 -0700</pubDate><category>Improvements</category><category>Mobile</category></item><item><title>&lt;redacted&gt; symbols</title><description>&lt;p&gt;The TestFlight SDK was responsible for symbolicating system libraries on the device prior to crashes hitting our system.  As of iOS 5.1.1 this was no longer possible, resulting in &amp;lt;redacted&amp;gt; symbols appearing in our normally top notch crash reports.  After some work we have been able to bring the iOS system libraries to our symbolization cluster and the number of &amp;lt;redacted&amp;gt; symbols has been drastically decreased.&lt;/p&gt;
&lt;div align="center"&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_maxb1pGstJ1qdxtoh.png"/&gt;&lt;/p&gt;
&lt;/div&gt;</description><link>http://blog.testflightapp.com/post/36817895714</link><guid>http://blog.testflightapp.com/post/36817895714</guid><pubDate>Thu, 29 Nov 2012 11:01:10 -0700</pubDate><category>SDK</category></item><item><title>Web Improvements</title><description>&lt;h1 class="first"&gt;Updated Header &amp;amp; Footer&lt;/h1&gt;
&lt;p&gt;You&amp;#8217;ve probably noticed that our header and footer has updated! We feel that the improvement gets our header out of the way so you can focus on the task at hand. The new header features an improved team dropdown that drives home team context for access to team info and your team SDK debugger, clear calls to switch team context, a condensed account settings dropdown, and quick access to upload build and add teammates. Our updated global footer clearly organizes important areas of our site for easier access across the board.&lt;/p&gt;
&lt;div align="center"&gt;&lt;br/&gt;&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_me991eC6uw1qdxtoh.png"/&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;h1&gt;Team Invites&lt;/h1&gt;
&lt;p&gt;Ever wonder who invited a member of your team? Invitations now show who created and sent the invitation. We also had a scenario where users who were invited were deleting their accounts and then showing up in the invite list as a deleted user. This has been addressed and deleted users are no longer appearing in the invite list&lt;/p&gt;
&lt;div align="center"&gt;&lt;br/&gt;&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_me999kSWfZ1qdxtoh.png"/&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Tell us how we&amp;#8217;re doing and fill out our &lt;a href="https://www.testflightapp.com/surveyT" title="TestFlight Survey" target="_blank"&gt;customer survey&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/36817801577</link><guid>http://blog.testflightapp.com/post/36817801577</guid><pubDate>Thu, 29 Nov 2012 10:59:00 -0700</pubDate><category>Improvements</category></item><item><title>It's that time of year again!</title><description>&lt;div align="center"&gt;&lt;img alt="TestFlight: Flooded" src="https://s3.amazonaws.com/uploads.hipchat.com/12958/125044/72203xjtwjpfzsj/iphone5TFblog.png" width="500"/&gt;&lt;/div&gt;
&lt;h1&gt;Getting flooded with notifications?&lt;/h1&gt;
&lt;p&gt;We&amp;#8217;re here to help! As the developer community scrambles to adjust to iOS 6, we&amp;#8217;ve had to make some changes here at TestFlight as well. Here&amp;#8217;s a few tips to help your testers get over pesky hurdles and get your SDK up to date.&lt;/p&gt;
&lt;h1&gt;Device re-registration fixes for iOS5 and iOS6&lt;/h1&gt;
&lt;div align="center"&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_maxaxhmAU81qdxtoh.png"/&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;We&amp;#8217;ve seen some errors surface with device re-registration due to our SSL certificate update changing from &lt;a href="http://www.testflightapp.com" target="_blank"&gt;www.testflightapp.com&lt;/a&gt; to a wildcard cert *.testflightapp.com. These steps will help get problematic devices back to testing in no time:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Remove the TestFlight webclip profile (settings&amp;gt;general&amp;gt;profiles)&lt;/li&gt;
&lt;li&gt;Clear the cookies and cache&lt;/li&gt;
&lt;li&gt;Restart Device&lt;/li&gt;
&lt;li&gt;Login to &lt;a href="https://testflightapp.com/dashboard/%20" target="_blank"&gt;&lt;a href="https://testflightapp.com/dashboard/" target="_blank"&gt;https://testflightapp.com/dashboard/&lt;/a&gt;&lt;/a&gt; on Mobile Safari.&lt;/li&gt;
&lt;li&gt;Touch register and complete the registration process.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;For more information, read our related &lt;a href="http://help.testflightapp.com/customer/portal/articles/402816-registration-issues" target="_blank"&gt;&lt;strong&gt;support article&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Get iOS 6 compliant! SDK 1.1&lt;/h1&gt;
&lt;div align="center"&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_maxb1pGstJ1qdxtoh.png"/&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Now armed with armv7s and iOS 6 support! Download TestFlight SDK 1.1 and get better control of your tester feedback, log customization, and more. Don&amp;#8217;t have our SDK implemented yet? Check out our &lt;a href="https://www.testflightapp.com/sdk/doc/1.1/" target="_blank"&gt;documentation here&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a href="https://www.testflightapp.com/sdk/download/" target="_blank"&gt;&lt;strong&gt;Download TestFlight SDK 1.1 Now&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;Desktop App Updates&lt;/h1&gt;
&lt;div align="center"&gt;&lt;img src="http://media.tumblr.com/tumblr_maz0r6S1PN1qdxtoh.png" width="200"/&gt;&lt;/div&gt;
&lt;p&gt;We&amp;#8217;ve just released Desktop App Version 1.01 (294) to accommodate iOS 6. This fixes variable exports related to Apple&amp;#8217;s new codesign_allocate tool &lt;span class="Apple-style-span"&gt;and SDK not found errors&lt;/span&gt;. &lt;a href="https://www.testflightapp.com/desktop/" target="_blank"&gt;Update to the latest version now!&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/32356152906</link><guid>http://blog.testflightapp.com/post/32356152906</guid><pubDate>Wed, 26 Sep 2012 16:53:00 -0600</pubDate><category>Improvements</category><category>Mobile</category><category>SDK</category><category>Desktop</category></item><item><title>Stability and Performance Updates</title><description>&lt;p&gt;In short, performance has improved but we still have some work ahead of us. Specifically, TestFlight should be much faster but TF SDK / TF Live improvements are still in progress.&lt;/p&gt;
&lt;p&gt;Below is a list of completed improvements and upcoming items.&lt;/p&gt;
&lt;div class="section" id="new-faster-simpler-sdk-front-ends"&gt;
&lt;h1&gt;New Faster, Simpler SDK front ends&lt;/h1&gt;
&lt;p&gt;We are primarily a python shop, in wanting to stick with what works and add some simplicity to our stack we built a raw gevent based server. These servers depend on a local redis instance that slaves off our redis cache master. The complete server role looks like stud -&amp;gt; nginx -&amp;gt; gevent -&amp;gt; local redis. TestFlight core updates the cache master and redis takes care of synchronizing the front end caches. We are really pleased with this approach. It has decoupled the SDK from Web nicely and it has given us the ability to burst to the cloud when necessary.&lt;/p&gt;
&lt;p&gt;For developers interested in other details here is a hit list of some of the less obvious things we ran into:&lt;/p&gt;
&lt;ul class="simple"&gt;&lt;li&gt;[Improvement] nginx did not handle our SSL traffic, moving to Stud showed significant improvements.&lt;/li&gt;
&lt;li&gt;[Improvement] one of our bare metal SDK boxes keeps up 4 SDK VMS. Bare-metal ftw!&lt;/li&gt;
&lt;li&gt;[Cool] &amp;#8220;fab deploy.sdk:production,git tag&amp;#8221;, now pings a deploy server which packages the git tag and each SDK front end periodically checks in with the deploy server to get the latest package.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="section" id="faster-tf-core"&gt;
&lt;h1&gt;Faster TF Core&lt;/h1&gt;
&lt;p&gt;TestFlight users are first and foremost distributing betas. Not only do we take pride building tools developers love to use, we also strive to provide a seamless experience for your testers and stakeholders. In the last few weeks we have made strides in improving the reliability and performance of TestFlight core.&lt;/p&gt;
&lt;p&gt;The addition of the new SDK front ends isolated SDK web traffic and database read traffic. This has had the biggest impact on the perceived performance of TF core. Here are are a few of the other things we addressed:&lt;/p&gt;
&lt;ul class="simple"&gt;&lt;li&gt;[Fixed] Turns out our continuous deploy process since migrating our infrastructure caused failed requests . Formerly we had gunicorn operating on two ports behind nginx, so nginx masked this issue by kindly directing the request to the second port. We&amp;#8217;ve resolved this.&lt;/li&gt;
&lt;li&gt;[Improvement] Switched from meinheld to gevent as our gunicorn worker class. This improved performance by virtue of it having more consistent behavior and better logging so we could actually see the issues that come up.&lt;/li&gt;
&lt;li&gt;[Fixed] Killed a few slow queries that brought us to our knees.&lt;/li&gt;
&lt;li&gt;[Improvement] Changed our mysql replication strategy to reduce IO.&lt;/li&gt;
&lt;li&gt;[Improvement] Decoupled our message queues so TF Core and TF SDK, isolating failures.&lt;/li&gt;
&lt;li&gt;[Improvement] Decoupled data source dependent features (SDK Debugger, Activity Feed, TestFlight Live). Decoupling these introduces some isolated failures.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="section" id="no-more-failed-uploads"&gt;
&lt;h1&gt;No More Failed Uploads&lt;/h1&gt;
&lt;p&gt;Uploads fail for a variety of reasons. Mostly they fail because the upload IPA does not make it past our validation checks. But more recently they started to fail simply because it was taking way too long to upload and the clients browser would give up, or by the time the binary passed through nginx to our front ends, our front ends were overloaded dealing with other things.&lt;/p&gt;
&lt;p&gt;The good news is that those problems are now behind us. So, failed uploads due to system reliability should no longer be an issue. If at any point you do have upload errors, please let us know.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="current-focus"&gt;
&lt;h1&gt;Current Focus&lt;/h1&gt;
&lt;p&gt;With all of the effort and improvements on the SDK front ends we have pushed the bottleneck back to the SDK workers and persistence. A new backend for both the data processing and persistence has been under way for the last couple weeks, and should get integrated this week. If you see some oddities with the site please let us know. We are putting in the effort to make the transition seamless but very much appreciate the heads up in the event we&amp;#8217;ve missed something.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="next-focus"&gt;
&lt;h1&gt;Next Focus&lt;/h1&gt;
&lt;p&gt;Once we have the improvements to the SDK workers and persistence flying we will turn our focus to TestFlight Live. We look forward to resolving the issues and appreciate your patience.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="sdk-networking-bug"&gt;
&lt;h1&gt;SDK Networking Bug!&lt;/h1&gt;
&lt;p&gt;There has been quite a few reports of the TestFlight SDK conflicting with AF Networking (&lt;a class="reference external" href="https://github.com/AFNetworking/AFNetworking/issues/307" target="_blank"&gt;&lt;a href="https://github.com/AFNetworking/AFNetworking/issues/307" target="_blank"&gt;https://github.com/AFNetworking/AFNetworking/issues/307&lt;/a&gt;&lt;/a&gt;). If you are having this issue please send a sample app that can replicate to &lt;a class="reference external" href="http://help.testflightapp.com" target="_blank"&gt;&lt;a href="http://help.testflightapp.com" target="_blank"&gt;http://help.testflightapp.com&lt;/a&gt;&lt;/a&gt;. We’d like to resolve it immediately but so far have not been able to reproduce the issue.&lt;/p&gt;
&lt;p&gt;The TestFlight Crew&lt;/p&gt;
&lt;p&gt;P.S. We&amp;#8217;re hiring! (&lt;a class="reference external" href="https://testflightapp.com/jobs/" target="_blank"&gt;&lt;a href="https://testflightapp.com/jobs/" target="_blank"&gt;https://testflightapp.com/jobs/&lt;/a&gt;&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt;</description><link>http://blog.testflightapp.com/post/24973548961</link><guid>http://blog.testflightapp.com/post/24973548961</guid><pubDate>Tue, 12 Jun 2012 14:36:00 -0600</pubDate><category>Maintenance</category><category>Improvements</category></item><item><title>Sunday, April 30 - System Maintenance (New Hardware!)</title><description>&lt;p&gt;&lt;strong&gt;When&lt;/strong&gt;: Sunday, April 30 at 3PM PST (Sunday, April 30 at 22:00:00 UTC)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Estimated downtime&lt;/strong&gt;: 20 minutes&lt;/p&gt;
&lt;p&gt;Continuing our efforts to bring you a faster more stable TestFlight we are migrating the primary TestFlight database to new bare metal hardware.&lt;/p&gt;
&lt;p&gt;This system maintenance should result in less than 20 minutes downtime.  The procedure is to lock the current database to prevent writes, swap the host records and DNS, and rejoice.&lt;/p&gt;
&lt;p&gt;This beefier setup will also give us additional capacity to begin the next round of improvements that we are making to the overall system architecture and infrastructure.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;TestFlight Crew&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/22009245890</link><guid>http://blog.testflightapp.com/post/22009245890</guid><pubDate>Sat, 28 Apr 2012 17:06:00 -0600</pubDate><category>Maintenance</category><category>Improvements</category></item><item><title>Production SDK Traffic Rate Limiting</title><description>&lt;p&gt;We are introducing production SDK rate limiting in an effort to address stability across TestFlight. Our goal is to give ourselves a little air cover while we work to improve overall scalability.&lt;/p&gt;
&lt;p&gt;This will not have any impact on your application or your users. If your app starts to skyrocket on the charts, you can simply request a rate limit increase from the notification area.&lt;/p&gt;
&lt;p&gt;When SDK traffic hits the TestFlight servers we detect if the traffic was from a production application or a beta application. In the event that your production traffic crosses a particular threshold TestFlight will stop processing the inbound data. The initial SDK always included this functionality, but up until now it was only used to remotely disable the SDK upon developer request.&lt;/p&gt;
&lt;p&gt;The limits themselves are dynamic based on how you currently use the service.  An example, TestFlight Live users have higher limits than non TestFlight Live users. We tried our best to implement limits that would have the least impact on the current level of use.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://s3.amazonaws.com/uploads.hipchat.com/12958/47464/1svciv1wnij76ip/ratelimit3.png"/&gt;&lt;/p&gt;
&lt;p class="p1"&gt;This is one step we are taking to ensure TestFlight can continue to grow without having a negative effect on our users and your users. Again, our goal is to provide a little air cover since we are hard at work improving stability throughout the entire site. We appreciate your understanding and we look forward to lifting the rate limit soon. If you have any questions or concerns please let us know.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;TestFlight Crew&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/21804047577</link><guid>http://blog.testflightapp.com/post/21804047577</guid><pubDate>Wed, 25 Apr 2012 15:40:00 -0600</pubDate><category>SDK</category></item><item><title>April 23rd Downtime</title><description>&lt;p&gt;We usually love Mondays, but today was an exception. We apologize for the downtime. It was unexpected. There was maintenance scheduled for today at 12 AM PST. This should have resulted in minimal service interruption. Unfortunately it turned into a 6 hour recovery of our primary database.  &lt;/p&gt;
&lt;p&gt;In short, pacemaker sigkilled MySQL caused massive corruptions (fortunately no data loss). Due to the extended length of downtime the SDK message queues backed up to the point where we OOMd (resulting in SDK data loss). The team worked through the night to correct the issues. It&amp;#8217;s become our priority to move towards architecture and infrastructure changes that will prevent this from happening again.&lt;/p&gt;
&lt;p&gt;We have been heads down trying to improve the service but need to make sure we communicate with you asap when something goes wrong. We should have done a better job with this today as well.  &lt;/p&gt;
&lt;p&gt;Thank you for continuing to help TestFlight grow.  We can’t apologize enough for the issues of late, we are working as fast as we can to resolve them.&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/21696583034</link><guid>http://blog.testflightapp.com/post/21696583034</guid><pubDate>Mon, 23 Apr 2012 21:27:00 -0600</pubDate><category>Maintenance</category></item><item><title>New Paint &amp; Polish</title><description>&lt;div align="center"&gt;&lt;img src="http://media.tumblr.com/tumblr_m2c6ai4ruz1qdxtoh.png"/&gt;&lt;/div&gt;
&lt;p&gt;Today TestFlight will be switching everyone over to our new UI. A lot of elbow grease went into the new polish, while keeping the great features you expect from us. We&amp;#8217;re investing more resources into these tools so it will grow to meet everyone&amp;#8217;s needs.&lt;br/&gt;&lt;br/&gt;Some of you may have already experienced the new UI as you ventured over to account settings and flipped on the v2 switch in Area51. Kudos to everyone&amp;#8217;s curiosity and excellent feedback!&lt;br/&gt;&lt;br/&gt;For those of you who haven&amp;#8217;t seen the new UI, you&amp;#8217;ll see a few notable changes:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Build options can be accessed by selecting the build of your choice from the build table&lt;/li&gt;
&lt;li&gt;Build history can be accessed by clicking on the More button for apps with multiple builds&lt;/li&gt;
&lt;li&gt;Once in build context, find your way back with a helpful breadcrumb to give you context as you navigate between apps&lt;/li&gt;
&lt;li&gt;Managing your teams and testers got an overhaul with user details now launching into a modal window. Manage your users, distribution lists, and invites just as you did before&lt;/li&gt;
&lt;/ul&gt;&lt;div align="center"&gt;&lt;img src="http://d.pr/MkJ7+" width="700"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;img src="http://d.pr/RCml+" width="700"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;img src="http://d.pr/cJnb+" width="700"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;
&lt;p&gt;We&amp;#8217;re excited about these improvements and hope you find them valuable.&lt;br/&gt;Thanks again for all your support and great feedback. Please continue to &lt;a href="http://help.testflightapp.com/customer/portal/emails/new" title="Feedback" target="_blank"&gt;share that with us&lt;/a&gt;. Enjoy your next flight.&lt;br/&gt;&lt;br/&gt;- the TestFlight crew&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/20975912316</link><guid>http://blog.testflightapp.com/post/20975912316</guid><pubDate>Thu, 12 Apr 2012 13:18:00 -0600</pubDate><category>Improvements</category></item><item><title>TestFlight SDK UDID Access</title><description>&lt;p&gt;&lt;p class="p1"&gt;&lt;span class="s1"&gt;By now you&amp;#8217;re probably &lt;a href="http://techcrunch.com/2012/03/24/apple-udids/" title="aware" target="_blank"&gt;aware&lt;/a&gt; that Apple has started to reject applications that access the UDID. The only reason that the TestFlight SDK accesses the UDID is to provide the best possible information about your testers. When we made the decision to provide a single SDK for beta testing and production applications we did so because we want your beta and release builds to have as close to the same code base as possible. Now that the UDID is no longer allowed in production applications we will still continue to use a single SDK for both Beta testing and Live releases.&lt;/span&gt;&lt;/p&gt;
&lt;p class="p1"&gt;In order to accomplish the goal of a single SDK for all release types we have introduced a new method into the SDK, +setDeviceIdentifier:(NSString)deviceIdentifier. This method is always optional and never needs to be set. However, we feel that during beta testing most of you would like to see which members of your team have seen and tested which parts of your applications. To enable that we allow you to use the +setDeviceIdentifier:(NSString)deviceIdentifier method to set the device unique identifier. We recommend that when you choose to set +setDeviceIdentifier:(NSString)deviceIdentifier to the current device&amp;#8217;s unique identifier that you wrap the method in a preprocessor directive that only enables the call when you are building for ad-hoc release.&lt;/p&gt;
&lt;p class="p1"&gt;For further information and code samples please see our &lt;a href="https://testflightapp.com/sdk/doc/1.0beta1/" target="_blank"&gt;&lt;span class="s2"&gt;online documentation&lt;/span&gt;&lt;/a&gt;. If you decide that you do not wish to set +setDeviceIdentifier:(NSString)deviceIdentifier, we will still collect all of the usage statistics that you are used to seeing but the data may be anonymized.&lt;/p&gt;
&lt;p class="p1"&gt;Following our SDK release schedule we have released &lt;a href="https://testflightapp.com/media/sdk-downloads/TestFlightSDK1.0beta1.zip" target="_blank"&gt;&lt;span class="s2"&gt;TestFlight SDK 1.0 BETA 1&lt;/span&gt;&lt;/a&gt;. As mentioned this new version of the SDK no longer accesses the device unique identifier and as such is App Store safe. Following our SDK release schedule we forsee that this version will be bumped up to full release status no later than March 30, 2012. When SDK 1.0 BETA becomes the official release we will begin deprecating all previous SDK releases.&lt;/p&gt;
&lt;p class="p1"&gt;As of &lt;strong&gt;May 31, 2012&lt;/strong&gt; we will &lt;em&gt;no longer&lt;/em&gt; accept uploaded builds that contain an SDK version lower than 1.0. We will continue to accept data from previous versions of the SDK indefinitely.&lt;/p&gt;&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/19957620625</link><guid>http://blog.testflightapp.com/post/19957620625</guid><pubDate>Mon, 26 Mar 2012 10:46:00 -0600</pubDate><category>SDK</category><category>Improvements</category></item><item><title>Goodbye Cloud!</title><description>&lt;p&gt;&lt;img src="http://dl.dropbox.com/u/45127/AnchorBlogPost.png"/&gt;&lt;/p&gt;
&lt;p&gt;Today TestFlight moves to its new home. The new home is a bare metal infrastructure which brings you a faster more scalable TestFlight. In a follow up post we will discuss some of the technical pieces and the decisions made, for now we just wanted to tell you guys that we are moving, and why.&lt;/p&gt;
&lt;div class="section" id="ghost-hunting"&gt;
&lt;h1&gt;Ghost Hunting&lt;/h1&gt;
&lt;p&gt;Cloud hosting has some fantastic benefits, we were specifically attached to the cost and the speed at which we could bring up new instances. What we were not attached to was the inconsistent performance and lack of predictability.&lt;/p&gt;
&lt;p&gt;Tracking down bottlenecks in the infrastructure felt like hunting ghosts. There were times were the system locked up hard and the only explanation we walked away with was resource contention. We already consumed the majority of the shared resources available so there was nowhere to go but down.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="hello-anchor"&gt;
&lt;h1&gt;Hello Anchor&lt;/h1&gt;
&lt;p&gt;While trying to figure out an ideal load balancing situation for TestFlight I stumbled on this article &lt;a class="reference external" href="http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/" target="_blank"&gt;&lt;a href="http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/" target="_blank"&gt;http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/&lt;/a&gt;&lt;/a&gt;.  Turns out the Anchor team helped scale GitHub. After a few conversations with Anchor, it was clear their team was phenomenal fit for TestFlight.&lt;/p&gt;
&lt;p&gt;We would love to take credit for everything involved with this migration but the reality is that Anchor brought a wealth of experience to the table. They took our stack, analyzed it and came up with a plan of attack which involved some fantastic technologies only well-bearded individuals should touch.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="the-new-infrastructure"&gt;
&lt;h1&gt;The New Infrastructure&lt;/h1&gt;
&lt;p&gt;Once things have settled down we will post a follow up with some more technical details. This new infrastructure will not only help us scale as we grow, but it should provide immediate performance improvements. We hope that everyone is as excited as we are.&lt;/p&gt;
&lt;p&gt;The TestFlight crew is growing! If you are interested in working with us, please &lt;a class="reference external" href="https://testflightapp.com/jobs/" target="_blank"&gt;apply&lt;/a&gt;!&lt;/p&gt;
&lt;/div&gt;</description><link>http://blog.testflightapp.com/post/19309974749</link><guid>http://blog.testflightapp.com/post/19309974749</guid><pubDate>Wed, 14 Mar 2012 16:23:00 -0600</pubDate><category>Maintenance</category></item><item><title>TestFlight + Burstly = TestFlight Live</title><description>&lt;p class="MsoNormal"&gt;&lt;em&gt;A Real-time Dashboard for Actions and Revenue&lt;/em&gt;&lt;/p&gt;
&lt;div align="center"&gt;&lt;img align="middle" alt="B + TF = TF Live" height="70" src="http://cl.ly/2M1Z1q32200W373V3x3U/BlogPost-Announcement%20v2.png" width="418"/&gt;&lt;/div&gt;
&lt;p&gt;We are excited to announce that TestFlight was acquired by Burstly, and we are jointly launching TestFlight Live today! TestFlight Live is a real-time dashboard that highlights actions and revenue for iOS apps. The TestFlight Live feature set is broken down into four segments: engagement, audience, revenue, and stability. The goal of the product is to provide a real-time display of the important factors happening in your app right now. It is available via Safari and Chrome on the desktop, and on the go on your iPad and iPhone.&lt;/p&gt;
&lt;div align="center"&gt;&lt;br/&gt;&lt;img src="http://media.tumblr.com/tumblr_m0f8aeXZLd1qdxtoh.png"/&gt;&lt;/div&gt;
&lt;p&gt;For those of you unfamiliar with &lt;a href="http://www.burstly.com/" title="Burstly" target="_blank"&gt;Burstly&lt;/a&gt;, they are a team that shares our vision of improving the ecosystem for developers. Burstly has been working to help some of the biggest apps in the industry including Words with Friends, Angry Birds, PaperToss, and Tetris. They know how to support partners at scale. They are also good friends who we are excited to work closer with. We are thrilled to be joining forces with their team, and feel this is the best place for us to continue building the tools that developers love.&lt;/p&gt;
&lt;p&gt;TestFlight has experienced phenomenal growth since we launched last year.  We now have over 70,000 developers sharing more than 130,000 apps with a group of 280,000 testers! While the widespread adoption of our product has been humbling, we know we need to continue investing in features and performance to meet the needs of our expanding client base. This is where the investment dollars and scaling guidance from Burstly will be invaluable. With performance and support issues, and tremendous customer feedback, we are aware of what we need to improve upon. We are committed to tackling these issues to enhance the TestFlight experience and the additional resources provided by this acquisition are vital to that effort’s success.  We are about to roll out major updates with the help of some new resources provided by Burstly in addition to the great work by our team.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Coming to TestFlight in March:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Better performance - we are putting the finishing touches on an infrastructure overhaul that includes moving to managed dedicated hosting led by Anchor Systems (&lt;a href="http://www.anchor.com.au/blog/2009/09/github-designing-success/" target="_blank"&gt;&lt;a href="http://www.anchor.com.au/" target="_blank"&gt;http://www.anchor.com.au/&lt;/a&gt;&lt;span class="il"&gt;blog&lt;/span&gt;/2009/09/github-designing-success/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;New UI for both desktop and mobile - completely revamped with improved workflows and more flexibility so we can continue to expand the product&lt;/li&gt;
&lt;li&gt;Desktop app + expanded API - screaming fast uploads, local IPA validations, and the most important bits of TestFlight on your desktop. The side effect of a rich desktop app is a rich API. We are excited to see what you will create with an expanded API&lt;/li&gt;
&lt;li&gt;Faster customer response times and an improved knowledgebase – we have grown our support team to make the TestFlight experience more enjoyable&lt;/li&gt;
&lt;li&gt;We&amp;#8217;re hiring! If you’re excited to create amazing products that solve problems in all of the areas of the mobile app lifecycle, please &lt;u&gt;&lt;a href="https://testflightapp.com/jobs/" title="let us know" target="_blank"&gt;let us know&lt;/a&gt;&lt;/u&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;TestFlight and Burstly will continue to be independent products. TestFlight remains a free service and optional paid features will be introduced in the future. TestFlight will continue to build the best developer tools and will include Burstly features only to improve product functionality (as in the case of adding revenue to TestFlight Live), and vice versa for Burstly products.&lt;/p&gt;
&lt;p&gt;If you are not completely familiar with Burstly’s business, you are not alone since we did not fully grasp it when we first met back in April, 2009. Burstly offers developer’s tools to help better monetize their apps. The toolset allows mobile developers to run any type of content or messaging to its users, track in-app purchases from buttons or banners, cross-promote other apps, and to work with a wide variety of 3&lt;sup&gt;rd&lt;/sup&gt; party ad partners to improve revenue.  Burstly’s mission is to empower developers by providing data and visibility into their business, along with a toolset to act on that data. This is very similar to how our mission at TestFlight. We provide developers with the tools they need to be in control of their beta testing experience. With the launch of TestFlight Live we are starting to help with their business after their app has launched as well. &lt;/p&gt;
&lt;div align="center"&gt;&lt;img align="middle" alt="Mobile App Lifecycle" height="448" src="http://cl.ly/1R1x3F2B1R0J0I2L1A0P/Ring-diagram.png" width="460"/&gt;&lt;/div&gt;
&lt;p&gt;Both companies solve complex problems within the app lifecycle. TestFlight handles the beginning with beta testing tools, while Burstly manages the final stages with monetization options. Together, we are working to solve everything in between. A good first step in this direction is TestFlight Live. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TestFlight Live&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We have been planning on launching a production version of TestFlight for some time, but we wanted to push ourselves to start solving production problems and not simply copy the beta feature set. Along with help from the Burstly team, we think we have taken a great first step with TestFlight Live. Our goal with TestFlight Live is to provide a real-time dashboard that displays real-time usage statistics, actions, symbolicated crash reports, and revenue. For the first time, developers will have a single dashboard that provides enough information to derive insights into Revenue Per User (RPU) and Customer Lifetime Value (CLV) to better understand your app business. Previously, this level of information would be from multiple sources and there was no easy way to collect it.&lt;/p&gt;
&lt;p&gt;Burstly was the key contributor to the revenue portion of TestFlight Live, as they developed the APIs that make it possible. The revenue source options in TestFlight Live enable developers to include app sales data, in-app purchase data, and ad network revenue from multiple partners. You do not need to work with Burstly to pull in any of this data. If you do not want the revenue segment in your dashboard, we have provided a way for you to hide it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://testflightapp.com/sdk/live/" title="Learn more" target="_blank"&gt;Learn more&lt;/a&gt; about the features of TestFlight Live.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;History&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Almost three years ago, it took a well-connected Portland iPhone maven, Raven Zachary, to introduce two mobile guys who could not find each other in LA. Thank you &lt;u&gt;&lt;a href="http://twitter.com/#!/ravenme" title="@ravenme" target="_blank"&gt;@ravenme&lt;/a&gt;&lt;/u&gt;! Through this introduction we became one of Burstly’s first customers when we agreed to be their guinea pig with our app, &lt;a href="http://www.wired.com/underwire/2009/03/sxsw-gigotrons/" title="Gigotron" target="_blank"&gt;Gigotron&lt;/a&gt;. They even put us in their &lt;u&gt;&lt;a href="http://vimeo.com/7999943" title="launch video" target="_blank"&gt;launch video&lt;/a&gt;&lt;/u&gt; as their first customer (jump to 1:40). We were actually debating building something similar at the time to enable local bands to promote their shows, but it was clear Burstly’s toolset and thinking was a few steps ahead of ours when it came to promotion/monetization. Ever since then, our teams have been working together.&lt;/p&gt;
&lt;p&gt;We are looking forward to waking up everyday to work with our friends and build better products than we are able to build alone.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Privacy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;While we are thrilled to join forces with Burstly, we won’t be surprised if not all of our customers are equally enthusiastic. After internal discussions, we felt like the two biggest reasons for a negative reaction would be: (1) TestFlight would change for the worse and (2) privacy concerns and trust with your data. Since we hope it is already clear by this point that TestFlight is only getting better, we want to address the trust issue.  TestFlight handles top secret developer projects, Burstly handles top secret financial data for some of the &lt;u&gt;&lt;a href="http://www.burstly.com/#" title="largest apps" target="_blank"&gt;largest apps&lt;/a&gt;&lt;/u&gt; in the world. Both companies are responsible for safeguarding their customers’ precious data  and can be successful only by maintaining the highest standards in this regard.&lt;/p&gt;
&lt;p&gt;We are committed to improving and growing the TestFlight experience. If anything about our new partnership with Burstly causes you concern we hope you will visit &lt;u&gt;&lt;a href="https://testflightapp.com/sdk/live/" title="TestFlight Live" target="_blank"&gt;TestFlight Live&lt;/a&gt;&lt;/u&gt; and see this effort as a first step towards building better tools for all developers.&lt;/p&gt;
&lt;p&gt;We have strong convictions in our future roadmap and the benefits to our community of trusted TestFlight developers. We hope you will give us enough time to execute so the products and our actions speak louder than anything we could possibly write in this post. If, for any reason, you don’t want to continue using our toolset due to our new relationship you can use the “remove account” button under “account settings” and erase all of your data and delete your account.&lt;/p&gt;
&lt;p&gt;Ready to get started with TestFlight Live? Simply insert one line of code into your production app or leave the SDK you have been using for beta testing. We could not be any more excited about the opportunity to solve developer’s problems and help drive the app ecosystem forward.&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/18794189237</link><guid>http://blog.testflightapp.com/post/18794189237</guid><pubDate>Mon, 05 Mar 2012 09:48:00 -0700</pubDate><category>Burstly</category></item><item><title>TestFlight SDK 0.8</title><description>&lt;p&gt;&lt;strong&gt;TestFlight SDK 0.8 is live!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The TestFlight team has been hard at work trying to bring you an updated SDK. We&amp;#8217;re happy to say it&amp;#8217;s arrived! Here are a few of the highlights.&lt;/p&gt;
&lt;h1&gt;Signal Safe Crash Reporting&lt;/h1&gt;
&lt;p&gt;The main focus of the 0.8 update to the SDK was our crash reporting mechanisms. Our uncaught exception and signal handling has gone through extensive improvements since the 0.7 release. Part of this effort was removing any Objective-C and non-signal safe code from the crash reporting functionality of our SDK. Our users have also helped us identify that we were missing the SIGTRAP signal in our signal handler which has been added. The other changes involve using a signal safe implementation of MessagePack that allows us to save all of your data safely to files as we gather the crash report. This means that if, for any reason during the signal or exception, there is an interruption the data that we have gathered thus far is safe and will be transmitted on the next launch of the application.&lt;/p&gt;
&lt;h1&gt;Realtime Crash Reports&lt;/h1&gt;
&lt;p&gt;We feel that having crash reports being reported as they occur is extremely important. In order to maintain this it requires that we run some potentially less signal safe code in our crash reporting mechanisms. Initially we were using the same asynchronous networking code that we use in the main part of the library. This is Objective-C based and we feel that it is an extremely effective networking solution and we will continue to use it in the main portion of our SDK. However, it has the potential to allow the rest of the application to continue running during a signal which could lead to corruption of data. We now use an entirely C-based approach to networking while sending crash reports. If, for any reason, we are unable to send the report we will send it the next time that the application is launched with an active connection to the network.&lt;/p&gt;
&lt;h1&gt;Stack Trace Improvements&lt;/h1&gt;
&lt;p&gt;In some circumstances we noticed that the stack trace for exceptions was incorrect. This was caused by obtaining the stack trace from inside the NSUncaughtExceptionHandler. This method, which used to work correctly, no longer works as of iOS 5. We now use the call stack provided by NSException which, during our testing, accurately reports the call stack from iOS 3 to iOS 5.&lt;/p&gt;
&lt;h1&gt;iOS 3 Support&lt;/h1&gt;
&lt;p&gt;One issue a few people have pointed out was that we did not handle iOS 3 very well. We are happy to say that we have resolved any issues with and now support our full feature set with iOS 3. While this does not affect all of our users, it is important to us to provide you with the tools to fully test your products across all devices and OS versions.&lt;/p&gt;
&lt;h1&gt;Remote NSLogs&lt;/h1&gt;
&lt;p&gt;We have tried hard to maintain our current feature set while implementing our improved crash reporting, but there were a couple of features that did not make the cut for version 0.8. The first of which is capturing NSLogs during a crash. We currently get your NSLogs from the Apple System Log, which is very slow and not signal safe. We are aware that capturing NSLogs are especially important during a crash and we will be bringing back a way to obtain the log during a crash. The other feature we have removed during this process is crash logs from the iOS Simulator. We feel that, while the Simulator is a useful tool, it is used with Xcode most of the time and it is less useful to record the exceptions from the Simulator inside of TestFlight.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Improvements:&lt;/strong&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;&lt;li&gt;A new logging system. We no longer feel that NSLogs are the best way to record logging information going forward. They have been useful in showing us that our users really like the ability to have their logging statements sent to them remotely. We are working to provide a way to do this without any negative impact to your application.&lt;/li&gt;
&lt;li&gt;Low memory exit recording. We currently do not report anything when a low memory exit occurs. This type of exit is just as important to our users as crash reporting and we will be addressing this in upcoming versions.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;You can grab the updated TestFlight SDK at &lt;a href="https://testflightapp.com/sdk/" target="_blank"&gt;&lt;a href="https://testflightapp.com/sdk/" target="_blank"&gt;https://testflightapp.com/sdk/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.testflightapp.com/post/12567465156</link><guid>http://blog.testflightapp.com/post/12567465156</guid><pubDate>Wed, 09 Nov 2011 14:06:00 -0700</pubDate><category>SDK</category></item></channel></rss>
