Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm developing an iOS app for a museum as a freelancer. It's a very simple video player, to be installed on a single iPad that will be part of a permanent exhibition, basically acting as a kiosk. It turns out the iPad is the ideal device for that if you're looking for a small and affordable touchscreen.

The problem is: as far as I can tell, none of the Apple Developer Program options available will allow me to distribute an app like that. The relevant options are (from the link above):

iOS Developer Program ($99/year) Select this program if you would like to distribute apps on the App Store as an individual, sole proprietor, company, organization, government entity or educational institution.

iOS Developer Enterprise Program ($299/year) Select this program if you would like to develop proprietary apps for internal distribution within your company, organization, government entity or educational institution.

The regular program requires distribution through the App Store. The Enterprise version is for internal distribution within my own organization. Neither is the case here! It seems like I'm doomed to violate Apple's terms of service (and I can think of at least two ways of doing that: jailbreaking, or changing the iPad's date so it won't know the provisioning profile expired).

Is that really so, or did I get the descriptions wrong? Has anyone here been in a similar situation?

share|improve this question
    
I'm new to Programmers, is this off-topic here? The FAQ indicates not. Why the downvote? –  bfavaretto Jul 27 '12 at 16:25
1  
Is this app going to be used for other museums or is it specific to that particular museum? If it's the latter, have you considered having the museum sign up for Enterprise Program? I am not sure if Apple's terms and conditions says app deployed Enterprise program cannot be used by anyone other than the employee of the company. –  pixelfreak Nov 28 '12 at 19:35
add comment

6 Answers

up vote 7 down vote accepted

I think jailbreaking is a good option for your use-case. In addition to resolving the licensing issue (assuming jailbreaking remains legal), it would also enable you to block OTA updates. I think blocking them is a good precaution for your use case, as OS or library updates may cause your software to break in the future even if you don't change it.

share|improve this answer
    
Ha! I didn't know I could legally jailbreak! –  bfavaretto Jul 27 '12 at 15:42
    
The problem with jailbreaking is you will most probably miss out on the latest iOS version until the newest jailbreak utility can crack it. And if you are using iPad 2 above, (A5 chips), it'll take even longer. –  pixelfreak Nov 28 '12 at 19:30
    
@pixelfreak You are right, but in the case of an iPad serving as a kiosk, OS updates are not an advantage but rather a risk. You're better off doing thorough testing of your software, on the device, with its current OS version, and then trusting that nothing changes - forever. –  onon15 Nov 28 '12 at 19:54
    
@onon15 The museum will have control over whether to upgrade to latest iOS version or not. So they shouldn't really be upgrading until the developer gives an okay. I guess the pros/cons will ultimately depend on the requirement of the app itself. If it's frequently updated to take advantage of the latest features, then jailbreaking might be a bottleneck. –  pixelfreak Nov 28 '12 at 22:00
add comment

You can use the "iOS Developer Program" (individual) to deploy your app to any single device; you're not required to submit all apps created to the App Store, you're only given the option to do so if you like.

Either way, in order to remain functioning on any given device, you'll need to continue to pay the annual fee for membership in the program.

share|improve this answer
    
But in this case, do I have to re-upload the provisioning profile to the device, after it's renewed? I was assuming so. –  bfavaretto Jul 27 '12 at 0:41
    
It doesn't look like that's necessarily true, if you use ad hoc deployment: readwriteweb.com/mobile/2010/12/… –  Terrance Shaw Jul 27 '12 at 2:04
    
It looks like ad-hoc deployment would allow the client to update the app themselves, but it seems a new profile has to be copied to the device anyway. No ideal, but a nice option. Thanks for the link. –  bfavaretto Jul 27 '12 at 15:17
1  
Be aware that ad-hoc deployment is limited to 100 devices. –  pixelfreak Nov 28 '12 at 19:24
add comment

I acknowledge this is not a direct answer to your question (And I have no preference of Apple over Android or Windows - they all have their place).

Are you locked into the apple ecosystem? Why? - it does not appear to provide commercial framework needed for the job at hand. If it does not then another tool for the job may be required.

Android Development allows the distribution model you require, and an Droid tablet appear that it would do the job required equally well. Windows 8 Tablets will also be able to provide the commercial framework you require.

share|improve this answer
    
I understand, and mostly agree, but in this case I am locked into the Apple ecosystem, for some reasons, especially because the client already bought the iPad... –  bfavaretto Jul 26 '12 at 22:51
1  
I would pass the responsibility for licenses to the customer. I assume the end software will be owned by them. In that case, they should pay any ongoing license fees, not you. You could look at a 1 off fee of $99.00 (Put as a line item on your invoice "Apple Taxes"), and make it clear that the end of each year they must pay another $99.00 if required by the license. (Not too many years before that iPad starts looking pretty expensive against a Samsung.) BTW- a 1 off $100 is chicken feed when talking about software development. If it's of concern, the entire project is a concern. –  mattnz Jul 27 '12 at 2:32
    
That's very good advice, thanks. However, regardless of who will be paying for the licenses, it bothers me a lot that the app still must be updated every year, or it will stop working. It's extra work that I'm not willing to do - even if I charge them for it. –  bfavaretto Jul 27 '12 at 15:20
1  
Basic requirements management dictates that the requirement drives technology. In this case "Must use IPad" - technology has become a requirement, that is conflicting with other requirements. The resolution of this conflict needs to be addressed before the project starts. –  mattnz Jul 31 '12 at 21:49
    
You are right in every aspect. Although this won't solve my immediate problem (and that's why I accepted a different answer), I'll definitely keep it in mind for future projects. –  bfavaretto Aug 6 '12 at 22:05
add comment

You can't deploy to hardware without a dev program subscription.

The proper way would be for the museum to buy the iOS dev program and for them to add you as a member to it. Add the iPad as one of your test devices and you can just have xcode build directly to it.

The enterprise program is for entities that need to run an internal app store which you don't here.

share|improve this answer
    
Do you mean this? It wasn't around when I originally asked this. Looks interesting, but apparently it's not available in my country. I'll try ad-hoc distribution too, since I ended up handing them the iPad with my dev certificate installed, and a clock set to decades ago so it doesn't expire... –  bfavaretto Nov 28 '12 at 20:15
    
No -- just the normal iOS dev program for $99/mo. We've got a number of consultant-developed iOS apps that do just this. Up to and including a few who submit all the way to the store for us. –  Wyatt Barnett Nov 28 '12 at 23:17
add comment

Could you just link to a YouTube Video or Vimeo link? Then just pin the URL to the ipad's homepage so that it opens in fullscreen?

share|improve this answer
    
No, the iPad will be offline, and the apps needs some features like a menu, a timeout if the video is abandoned paused, etc. –  bfavaretto Aug 6 '12 at 22:03
add comment

You should investigate the VPP program from Apple. It allows you release an App to a virtual private iTunes Store for each customer. Once the customer and you are registered they will be able to download the app from their private store. Once they have done so you can lock the app to prevent additional downloads to that one customer. The same setup can be replicated for possible future customers as well. A bit spendy but then you are providing a one off for their use. With luck some other curator will see it and want it for their exhibit! :-) Good luck.

share|improve this answer
    
I never really understood how it works. I just read this, and now I believe I can do that as a regular iOS developer, but my costumers must enroll in VPP. Is that correct? –  bfavaretto Aug 16 '13 at 21:44
    
And... VPP is not available in my country :( –  bfavaretto Aug 16 '13 at 21:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.