App Services • iOS • 42:43
Custom B2B apps can be built to address a unique business need, integrate with a unique back-office environment, or deliver a custom interface for your business customer. Custom B2B apps can be published privately through iTunes Connect to business customers who are enrolled in the App Store Volume Purchase Program for Business. Learn how Custom B2B apps can be developed for businesses of all sizes and easily distributed to users.
Speakers: Todd Fernandez, Dave Rahardja
Unlisted on Apple Developer site
Downloads from Apple
Transcript
This transcript was generated using Whisper, it has known transcription errors. We are working on an improved version.
Good morning, everybody. Good morning. All right. Welcome to Session 311, Building and Distributing Custom B2B Apps for iOS. My name is Dave Rahardja. I am a software engineer in the iOS apps and frameworks team. All right. The success of iOS in business has been phenomenal. It looks like everywhere you go these days, you see an iPad or an iPod Touch or an iPhone being used. Anywhere from doctors' offices and law offices to retail, the service industry, and even inside airline cockpits, you see iOS devices everywhere. And a great, large part of our success is thanks to the great business-oriented apps that you develop.
These apps change the way we work and do things that were not even possible before. There are several great ways that we provide for you to get your apps into the hands of the end users and the businesses that you are serving. We've got the App Store. It's the largest collection of curated apps anywhere, and it's super simple to use. Everyone has it on their iOS device.
Now the apps in the App Store are great, but they tend to appeal to a broad audience, right? Some businesses require apps that are a little bit more specific to their industry. And for them, we have an enterprise in-house program. Some of you may have heard of this. It's a program where an enterprise can develop their own apps.
and distributed within their organization without review from Apple. So these are two great ways to deliver business apps to your clients. But today I want to talk about another way to distribute your business apps that you may not have heard about. It's called Custom B2B. So let's talk about that for a few minutes. Custom B2B apps are apps that are tailor-made for a specific client.
They are available exclusively to clients that you select. All right? Let me say that again. You can make these apps available only to select clients. They are available for purchase exclusively through the Volume Purchas program. And we'll talk about that program in a minute. And they're hosted by Apple. So you don't have to think about how to distribute this. We take care of the distribution and hosting for you.
[Transcript missing]
You can make one of these apps for a specific client. It may not be suitable for the App Store, but it certainly is very powerful for the client that you're serving. Here's another example. This is a sales catalog or a product catalog here for a heavy equipment manufacturer. You know, you can tap a button to watch a video, you can get a brochure mailed to yourself, et cetera.
With a bit of customization and skinning, you can turn this app into a sales tool for a completely unrelated industry. Custom colors, custom parts, etc. Another example. Here's an interesting one. So we have a manufacturer of power equipment. And they have independent distributors. And they want their distributors to have an app that shows them the latest parts catalog with a great amount of detail. This is a proprietary database that they have. And this is a great way to deliver parts information to their distributors.
But they don't want to make this available in the app store. And they can't really use the enterprise in-house program because their distributors are not part of their enterprise. So B2B apps are great for this. They make an app for B2B. They allow the distributors to download it. And we distribute it to them. Very convenient.
Here's another example. This is a nurse station application, maybe at a hospital or a clinic. When you target an app towards a specific industry like healthcare, there are peculiar concerns to that industry that you need to take care of, such as privacy, data protection, policies, and so forth. may not be a good fit for the store maybe, but great fit for a B2B app. You can solve a particular niche industry's concerns with your app. And one final example, here's a really cool app.
This app delivers papers for board meetings. As you can imagine, there are very sensitive information in board meeting papers, and this app can manage the data protection on them, you know, security, availability, et cetera. Again, a great example of building an app to address a very particular niche industry or niche need that will be well served by the apps that you produce.
So those are some of the examples of B2B apps and what they can be. I'm sure you guys can come up with some examples right now in your mind about how you can develop an app for a particular client or industry. In short, B2B apps solve a client's specific need.
All right. Now that we know what B2B apps are, let's walk through the process of delivering them to your end users. So there are four steps that you need to go through, and we'll walk through all of them. First, you've got to develop your app, obviously. After you do that, you need to submit your app to our distribution for us to distribute your apps. Third, you need a way for your clients to purchase those apps. And we'll talk about that. And finally, you actually have to distribute these apps to the end users in your client's organization.
You're responsible for the first two parts as a developer. The clients will take care of the last two parts. But we'll walk through all of them so that you know what to say to your clients and you know what you can expect them to ask you during this whole process.
And it pays to know a little bit about the distribution method so that you can target your app so that it can be distributed easily. So let's go through them. All right. Let's talk about developing a B2B app. Well, for the most part, developing a B2B app is just like developing an App Store app.
You use the same tools, the same great technologies that we have, Xcode and the API and the iOS SDK, same thing. So what's different? The difference, of course, is that your apps are tailored to a specific client. You're aiming to please a smaller segment with your app. So, you might have some custom look and feel to your app, You may have to deal with a custom workflow that your client desires, and sometimes you have to deal with server infrastructure that is custom or peculiar to your client's business operations.
So here are some strategies that you can adopt to make your app more successful as a B2B app. First, modular, modular, modular, right? Design your app in a modular way so that you can adapt it to your next customer. So if you have custom views, make sure they're skinnable or modular. If you are using a custom backend, make sure that's modular.
Use the Model View Controller design extensively through your code. Make sure that both your models and your views are reusable for the next client. And here's an interesting tip: Encapsulate your server protocols. So if you have a particular server you're talking to, Think about, don't let the protocol seep in through your code. Build an abstraction layer to isolate that protocol from your model and your views and your controllers.
So that when you get to the next client, maybe all you have to do is use the same app and have it talk to a different server. And an abstraction layer will help you to unplug the old server architecture, plug in the new one, and off you go. So build modular, modular, modular.
And here's an interesting note. When you're building an app for a client, they're entrusting you with their business information. More often than not, their business information has some kind of security stipulation attached to it. So, here's a tip: build in data security from the start. Don't wait until the end and kind of try to work it in. Use server authentication to make sure that whoever is using the app is actually authorized to access the data.
Use the keychain. Do not store passwords in a plist on disk. Don't do that. It's a bad idea. The keychain is an encrypted place to store your credentials, so your passwords, certificates, identity certificates, and other kinds of credentials. So use it. Use it to your advantage. It's got a really nice API, and it's the best place to put the secrets in your app. and Data Protection. Some of you may not be familiar.
may not be familiar with the data protection technology that we offer on iOS. Data protection on iOS involves encryption down to the block level in Flash. Using an algorithm that involves the user's passcode in the encryption. So until the user types in their passcode on the device, it is really, really hard to read that data on disk.
So use data protection and choose the highest level of data protection that you can live with in your app, and you'll be great going forward. And you'll give your client a confidence that you're going to keep their data safe. And finally, it goes without saying, collaborate with your client. Make sure you understand their needs, make sure they understand their workflows, and build something that can transform the way that they work and enable them to do things more efficiently or do things that couldn't be done before.
So that's all there is to it for the develop part, right? It's basically the same as developing for an App Store app. Except that you keep in mind that this is going to be used by a particular client with specific needs, and another client may come in a little while later after your app has been a big hit and everybody hears about it, and you better be able to port that app easily to the second client. That's the takeaway.
So now that we know how to develop a B2B app, let's talk about app submission. Submitting a B2B app is very similar to submitting an App Store app. You use iTunes Connect. Except you check this checkbox here that says this is a B2B app. When you do that, this form opens up below it.
And here's a place where you can enter the Apple IDs for the clients that are allowed to access this app or to purchase this app. These are your clients' Apple IDs. You have to have at least one, but you can have as many as you want. You can add and remove Apple IDs over time. There's no limit.
So you can make your app available to someone and then not available to them later on. You can do that. So only these people that have their IDs listed here can see your app in their VPP store, and your app will not be visible in the general app store.
Next, you select the price tier. And this is the price that the client pays for every license of your app or every copy of your app that they purchase. Now, some of you are familiar with our policy on B2B apps. We have a $9.99 minimum price per copy of the app. Well, today, I am very excited to announce to you that we're getting rid of that. No minimum price. All tiers are available, including free.
Here are some notes about your B2B app submissions that you can keep in mind. Number one, once B2B, always B2B. You cannot take an App Store app and turn it into a B2B app or vice versa. You could submit it multiple times under different app IDs. You can have an App Store version and a B2B version. But the app ID that you use for a B2B app will always be a B2B app.
Your app will be reviewed. So provide us with a test account and some login information so that we can actually login and test your app. Now, you might have to work with your clients to set up some kind of server account or something, but we need that so that we can walk through your app and review it.
I don't know if you know this, but B2B apps update just like app store apps. So when you create an update to your B2B app, submit it the same way that you did before, you know, specify that this is an updated binary to that old one, and when that gets through and it gets hosted, your clients will see a badge on their app store icon. And, you know, it's the same process that you're familiar with. You tap update and they get the updated version. Very straightforward. It's a great way to deliver your updates to your clients.
Now, I don't know if you guys know this, but promo codes are actually available also for B2B apps. And here's a little trick. You can give a promo code for the B2B app to someone who is not on the list of Apple IDs. So let's go through that again.
You can request promo codes for your apps and give it to someone who is not on your list of Apple IDs, which means that now they can test drive your app. : Right. They can download one copy or one license and test drive your app, and if they like it, great. You can add their Apple ID, and then they can buy it in volume.
So that's how you submit a B2B app. It's the same process as submitting to Apple Store, to the App Store, and you check that box that says B2B app. and go from there. Remember that your apps are only visible to the people that you list on the list.
All right, let's move on to what your clients can do once you've submitted your B2B app and it's made available in the App Store, in the B2B Store. Purchase. The secret to purchasing a B2B app is the Volume Purchas program. This is a program that's available to any business that has a DUNS number. And, you know, most businesses have a DUNS number. There's a very easy online setup. It just takes minutes. You verify online. And you get to choose an Apple ID that the enterprise uses for purchasing apps in volume. It's really very simple.
You can purchase B2B apps using the Volume Purchas program, but you can also purchase App Store apps at the same price in Volume, at the same price as the App Store, and you can buy it in any quantity at once. So let's see what that looks like here. So this is what your clients will see when they log into the VPP portal.
They'll see a web page that says Business Store. There's a little search bubble up there. You can type in any keyword and it will find the apps in the App Store. But I want to highlight something to you. Your B2B apps are highlighted, highlighted front and center on their page. So they get to see your apps right there in their VPP portal page.
So you click on one of those apps, and this is what you see. You get a sheet just like, you know, the iTunes App Store. And in that box up there, they can enter the quantity that they want to buy. Click Continue. and they've got to pay for it. We take several forms of payment. We take credit cards. We take P cards or procurement cards. And we take PayPal.
And at the end of the payment process, they get a link where they can download a spreadsheet. So let's see what's on the spreadsheet here. On the left, these are redemption codes. They're like the gift card codes or the song codes that you're familiar with, except they redeem one license or one copy of your app.
So how many licenses they purchase, that's how many codes they get. But look on the right here. This column has URLs. that if launched on an iOS device, will automatically redeem that code. And as well, you can see up there that says redeemed. They can track which redemption codes have been redeemed so over time they can see how much they've consumed and how much they have left. The Volume Purchas program is currently available in the US, but today I'm glad to say that we're opening up to nine additional countries.
So Canada, UK, France, Italy, Germany, Spain, Japan, Australia, and New Zealand will get the VPP store soon. All right. So that's how your clients purchase your B2B app. They use the VPP, the Volume Purchase Program portal. Your apps are featured right up front, and they can buy any volumes they want, and they get the redemption codes and URLs. Now that we know how the client purchases the app, Let's talk a little bit about how they can distribute those codes that they have received from you. So let's talk about distribution.
There are four ways, four main ways to distribute these codes to their end users. The first, obviously, is you just type it in. You type in the code on the device, you can redeem the code. You're familiar with this. It's just like redeeming an iTunes gift card or a free song card that you might have received.
This is very simple, but, you know, it takes manual effort. The second way to do it is to use a -- to send the URL to the device. You can send it using an e-mail. You can put an e-mail with the URL there. They tap on it. They get an app installed. You can send it via SMS.
[Transcript missing]
The user can tap any of these app icons and it launches the URL and that installs the app. You can put URLs in there that will install B2B apps App Store apps and enterprise in-house apps that are hosted by the enterprise on their own servers. So it's really convenient. A lot of enterprises have done this. It's a very easy way for the employees to browse through all the available apps and they'll do the right thing in the end.
A third way of doing this is really cool. It's MDM, Mobile Device Management. Now, if you don't know what MDM is, it is an API that allows third-party enterprise device management server to manage a whole bunch of iOS devices over the air. This is really great for enterprises that want to enroll a lot of people but don't want to touch every device.
You have to self-enroll and you can manage the devices that way. So using MDM, you can deliver the redemption codes to the device over the air and in a server-initiated way. So here's an example. The user will get a pop-up like this that says, "Oh, you got an app coming. Would you like to install it?" You know, the type, tap Install, enter the Apple ID and password there.
And the app is installed. It's super convenient. As well, if you do this using MDM, the enterprise has controls about -- that relate to when the apps are removed. So they can make a policy that says, you know, I want to remove this app now. Just take it off the user's device. Or say you can set a policy that says don't back up the data in that app because it contains sensitive information. So that excludes that app from the user's backup set. A lot of cool things you can do with MDM.
Now the fourth way is one that maybe not many of you know. Maybe you do. This is a very popular download. Apple Configurator. So Apple Configurator is an app that we launched about three months ago. And it has been met with great welcome. It is a way to configure a lot of iOS devices at once.
and to manage them over time. Right? It's USB only, but you can plug a whole bunch of them at the same time. And it can do really cool things. It can activate your device. It can configure it. It can install apps on it. And you can use that as an unboxing tool for an enterprise purchased equipment.
And you can also set it up so that when the device is again seen on the USB port, it restores the configuration on the device to a known state. Right, so that's great for retail, for example. You hand out something to the floor, it comes back, it gets restored to a known state.
So, Apple Configurator is really cool, and I want to highlight this today because there are some modes of operation that may give you some ideas about B2B apps that you might develop, because it allows the iOS device to be used in situations that you might not have thought of before. So let's go through that and see if you agree with me. Let's talk about Apple Configurator. So this is what you see when you launch Apple Configurator.
As you can see, there are three main silos here. In general, there are three major categories of things that you can do with Apple Configurator. On the left, you have Prepare Devices. Like I said, you can set up a configuration, unbox your device, plug it in, puts the configuration in there, puts Wi-Fi in there, VPN, whatever, restrictions on the device. It installs apps, automatically redeems app codes on the device. Very convenient for that.
In the middle column, there's Supervised. Now, Supervised devices is something that we introduced in 5.0 and in iOS 5.0, and we have enhanced greatly in iOS 6.0. Supervised devices are basically company-owned devices that you can control to a greater extent than you could and I will be talking about how you can bring your own device. And we'll talk about that in a few slides down, but it's a very cool mode that you can put your iOS device into.
And finally, there's assign. Assign devices is also very cool. You can actually associate a user profile with an arbitrary device. So, let me talk about that a little bit more. Let's say you have a classroom and you have a pool of iPads. A student checks out an iPad. Uses it. Brings it back to the pool. When the iPad is brought back to the pool, configurator will grab all the app data and configuration from that iPad and store it on his hard drive.
When the student comes back the next time and checks out a different iPad, Configurator takes that configuration and puts it back on the new iPad. So it's as though they got the same iPad, but it's not really. It's a different iPad that looks exactly the same as their iPad from the day before.
So this is great where you have to have a check-in/check-out system. So in some environments, you have to assign a device to somebody who's responsible for it. At the end of the day, check it back in. But they don't want to buy an iPad for everyone. So this is a great solution for that.
All right. So as you can see, Apple configurator is good for managing, is great for managing a lot of devices at once. Mass configuration. Here's an example where these are actually iPod touches. In a retail environment, you check it out, use it on the sales floor, end of the day, bring it back. The configuration is restored. As it's recharging, it can be used the next day. Now, imagine your app running there. So that's a new opportunity for you as B2B developers.
Apple Configurator can also manage your app distribution for you. So Apple Configurator can import that spreadsheet that you saw a few slides back. They'll import it in. It installs the apps automatically. You can tell it, you know, every time I plug in a device, install these apps, done. It will do it as you plug it in.
And here's an interesting thing that it can do that you can only do on Configurator. It can redeem your app codes, your redemption codes, against the device instead of against an Apple ID. All right, let me say that again. It can redeem your app redemption code on a per-device manner, not on a per-Apple ID manner, which means you don't have to put an Apple ID on the devices.
This is really powerful for no-touch installation and for retail or education or healthcare environments or hospitality where you don't really want to type things in on a screen to install an app. All right. So supervised devices, let's talk about that. It's really cool. Supervised devices are enterprise-owned devices, right? In contrast to bring your own device. So this is devices that are bought by a company for its use.
You can only supervise a device at activation. Right, so you have to erase the device or something or unbox it, activate it into a supervised state. A supervised device will not pair with iTunes, which is a big deal in some cases. It will only talk to the computer or the host that supervised it.
Once you supervise a device, you get access to a whole list of capabilities that were not there before. Global HTTP Proxy, for one. You can funnel all the HTTP and HTTPS traffic on the device through a single proxy. Important for education, important for healthcare. iBookstore, iMessage, and Game Center from your device. And you'd like this one, you can prevent app removal. With supervised devices, you have access to a really cool mode that we introduced in iOS 6.0 called Single App Mode.
This is a mode where the app takes over the entire device experience. You cannot exit it using the home button. If you power it, if you reboot the device, it comes back to that app. You can't get out of it. You can get out of it by plugging it back into the configurator and taking it out of that mode. So here's a good example for single app mode. It's a sales floor application, so people can browse a sales catalog right in the retail environment.
You know people like to push buttons. And now you can lock them into the app and, you know, you'll be assured that there's no way out of the app. Single app mode, really powerful. Your app could be there. So I would like to invite right now Todd Fernandez, the project manager for the configurator, Apple configurator, to give you a little demo of what it can do.
Todd?
[Transcript missing]
And this is where if you have devices that are out on a duty cycle, whether they're going to guests in a museum or a restaurant or hotel, or maybe retail point of sale systems, where a shared device is used by a guest or an employee and then comes back and you want to make sure it's in the right state before it goes out to the next guest or employee. Configurator will do that automatically when you reconnect the device via USB to that Mac.
And finally, building on top of those shared supervised devices, the assign workflow allows you to personalize those shared devices for particular individual users. And I can add users and groups here, either entering them manually or, more likely, you can import them directly from your directory, whether it's open directory or active directory.
And main configurator, when it sees that device and checks it back in, it will back up the user's data so that the next time the user needs a device, it can restore whichever physical device it is to look exactly like that device was the last time that user used it. All right, well, let's get down to the business of the demo and switch back to the Supervised tab.
And I want to show you how you can use Configurator to help distribute your clients, to help distribute your great Custom B2B apps out to their end users. So as I mentioned, I've got two supervised devices. And I've got a number of apps that I've imported into the configurator. I've got free App Store apps like Adobe Reader. I've got paid App Store apps like Angry Birds. I have an Enterprise app.
And as you can see with Angry Birds, there seems to be something amiss here, and that zero there is I do not have any VPP redemption codes that would allow me to distribute Angry Birds. However, if you look down here in Numbers, I actually have three codes, which means I can install Numbers on up to three devices. And I want to show you how easy it is to do that.
I have Goodreader here, and it's just as easy as clicking the plus button and selecting the app. It will import the app into Configurator, which will warn me if I haven't dismissed the warning alert that I've imported a paid app, and in order to distribute it, I need to import redemption codes. It's really easy to do that too. I can just click on this lozenge that shows me I have zero codes, brings down the redemption code sheet, And I can select my spreadsheet, and if you can't see that, preview.
This is just like the spreadsheet that Dave showed you. It's beautiful, isn't it? And when I import that, Configurator imports the codes and will show them to me here as well as as I start redeeming them. In fact, there's one in here that's already been redeemed. There it is. So Configurator will show you which ones have been redeemed, and once you've assigned them to devices, it will show you which device that app has been distributed to. So great, now I can see that I'll be able to install Goodreader on my devices.
And let's see. So now I want to show off some of those features that Dave just highlighted on supervised devices. And I've got something that is very similar to the types of Custom B2B apps that you may want to create. There's a Four Seasons app. I want to install that on my iPads.
And I want to install a configuration profile which is going to disable Game Center and disable iMessage. As Dave mentioned, these are two new restrictions that are available in iOS 6 but only on supervised devices. And just with those two check boxes, I've said that I want to update the configuration for these devices to have that app and that configuration profile. I click the Apply button. And I'm going to switch over to the camera so you can see what's going on on the device. And you may have just noticed, Messages and Game Center just disappeared. And if I switch over to page two, there's my Four Seasons app.
It's just that easy to configure however many iPads you have or iOS devices in general to have the configuration you want. Let's come back to the Mac. And Dave also mentioned another great new feature in iOS 6, the ability to lock the iOS device into a single app.
This is again a great pairing with Custom B2B apps, including something like this hotel app, if you want your guests only to have access to that particular app. So that's a really quick tour of how Apple Configurator can help you distribute apps, whether they're Custom B2B apps, your clients to get them out to their end users, and hopefully buy lots more copies of your apps. And one thing I wanted to mention, if Dave's description and this demo piqued your interest, Apple Configurator is available for free in the Mac App Store. There it is. And I hope you'll download it and check it out. Thank you very much.
Thanks, Todd. It's really cool. So Apple Configurator. It's really good. When you have a lot of iPads, a lot of iPod Touches, a lot of iPhones, use Apple Configurator to set them up. It's a great experience, simplifies the life of the IT person or whoever is in charge of setting this up, and it helps you to maintain the configuration of the device over time. It's important. We offer Supervised Mode for enterprise-owned devices and gives you access to all kinds of new restrictions and capabilities that weren't there with Bring Your Own Device. Single App Mode. A great way to showcase your app.
And I hope you agree this represents a new business opportunity for you as developers of B2B apps to serve retail, medical education, kiosk mode type things, and a lot of other industries that you are going to come up with. I cannot wait to see the awesome apps that you're going to produce for the B2B market. So that is Custom B2B.
All right, let's summarize by saying these are apps, B2B apps, are apps that solve a client's specific needs. You submit your app through iTunes Connect, just check that box. You can make your app available only to your clients. It will not be shown in the general App Store. You can add and remove these Apple IDs over time. They can be purchased through the Volume Purchas program. Very easy to get set up, available to most businesses.
It's easily distributed to end users, including mass configuration using Apple Configurator, where you can redeem the redemption codes against the VPP Apple ID instead of having to type in Apple IDs on the device. And it's a new business opportunity for you to take advantage of. Here's some more information.
Developing for B2B up here, a little overview of that. Here's the VPP portal that you can send your clients to for them to get signed up. And of course the AppRoll Developer Forums is a great place to solve your problems and talk to each other, other developers. All right. Thank you very much for attending.