I had heard of and registered for TestFlight a few weeks ago, but the apps in private beta and I haven't got passed the velvet rope.
After seeing the FaceTime for Mac registration process, it hit me that signing up beta testers should be that easy and handled by Apple. I mean no offense or disruption to the people at TestFlight who sound like they have done amazing work, but this is a job for the App Store itself.
The current Ad Hoc distribution system, which iOS developers use for beta testing, is a huge source of friction. To manage this process, developers have to:
- Educate users about what UUIDs are, how to get them, and send them in.
- Register a finite number of devices per year on the app store to use for Ad Hoc distribution.
- Manage the Ad Hoc provisioning profile to include beta tester devices.
- Keep the Ad Hoc profile current on all developer machines.
- Distribute the beta build, profile, and instructions on how to get the build into iTunes.
- Support strange or busted configurations for testers when things go wrong.
- Repeat 1-6 whenever a tester gets a new device or replaces an existing device.
If the App Store handled beta build distribution, here's how it would work:
- Tester gives developer their beta tester handle (think like Game Center)
- Developer adds that handle to the beta tester tab in iTunes Connect.
- Developer uploads beta builds to iTunes Connect.
- Tester is notified they've been asked to be a tester for App X. Tester agrees and gets builds through the App Store on device or in iTunes.
This proposal brings the following benefits:
- Tester devices are managed by the App Store, developers never have to know many there are or when they change.
- Registering testers for a developers app is a one time process. Of course, either the tester or developer could opt out.
- Testers get installation and app updates just as they expect with production apps. (Beta's could be badged by the OS).
- Developers could get crash logs and perhaps console output of their apps through iTunes Connect.
- Apple could add a crash reporter panel to iOS that only appears to when a beta crashes.
The overall result though would be an increase in quality of apps since more builds would be tested by more people since the process gets so much easier. I hope something like this comes in iOS 5.