After Apple’s apparent decision to discontinue use of the Unique Device IDentifier (UDID) in iOS5, a large segment of the iOS developer community has been searching for an alternative solution. To serve the community in a way that is both accessible and non-proprietary, Appsfire is introducing the open-source OpenUDID initiative thereby inviting all stakeholders to this much needed debate.

The Gist

If you’re not already familiar with UDID’s (and if you’re a developer, you’ve been missing out), it’s a critical tool for analytic or CRM purposes. A developer could use UDID’s as a means to track how much time a user spent in his free app before upgrading to the paid version. UDID’s are also helpful for tracking the source of a download when advertising on an ad network. This is a fairly universal need in a thriving ecosystem: developers need the traceability from clicks to downloads to ensure that they pay the right price for their promotion. Proper tracking and funnel conversion is what has made the web a better place, with healthy competition and quantifiable metrics.

In the wake of Apple’s decision, some ad networks have already introduced their own proprietary solutions. As Appsfire is both a developer of consumer apps and an ad network, we sought a UDID replacement but were not interested in a solution owned by any single provider. We also foresaw a fragmented market where UDID management was operated by multiple providers with no cooperation between them. To help ourselves and thousands of other mobile app developers, we began working on the OpenUDID open source initiative.

Our agenda was as follows:

  • Provide a reliable proxy and replacement for a universal unique device identifier. That is, persistent and sufficiently unique, on a per device basis.
  • Enable OpenUDID to be accessed by any app
  • Supply open-source code to generate and access the OpenUDID, for iOS and soon Android
  • Incorporate, from the beginning, a system that will enable user opt-out to match Apple’s initial intent

The Git

We have published on github a simple Objective-C class that provides a one-line replacement to take advantage of the OpenUDID.

All mobile app developers are invited to join this initiative and use the code to replace their current call to the soon-to-be deprecated function. The immediate benefit is that the new method will retain the current UDID for all existing installs, ensuring a smooth transition for when Apple pulls the plug. When that happens, users with no prior UDID will be granted fresh OpenUDIDs, transparently.

Let’s get started: