Get more acquainted with iTunes Connect, your gateway to the App Store. Dive into unique services like TestFlight for beta testing and Transporter to help automate metadata setup for your apps. Discover the power of adding rich media to your app store page, the benefits of broadening your distribution path globally, and the abundance of help resources.
Thanks for joining us here.
Thank you for joining us for session 304.
Welcome. My name is Paul Turner and I'm one
of the engineering managers for iTunes, but I also --
some of the teams that I lead,
one of the teams is the best teams at Apple
and that's the team that manages the logistics
and release control for all of Apple's own apps.
And we use iTunes Connect, just like you guys.
So this is a new session we're trying out this year,
this is iTunes Connect Development and Distribution.
We already have the wildly popular what's new
on iTunes Connect.
We just devoted an incredible session to app analytics
and maybe some of the fundamental features
of iTunes Connect to make sure that you are empowered
to make best use out of them.
That's what this is.
From the conversations that I had in the labs,
I think we picked the right topics.
Let's jump into them.
We will talk about the help and resources
that are available for you guys.
I want to talk about the vast resources
that are available very quickly but then we will jump
into a demo of TestFlight.
Then we will briefly go over some of the materials
that you need to launch your app on the App Store
which will lead us into a deep dive of transporter and XML
and how you manage them.
Sounds good, all right!
It's an interactive presentation.
Stay with me here.
Let's jump in.
This screen should be available to everyone,
this is iTunes Connect,
and here's all the beautiful modules on this.
This is my favorite module.
My favorite module.
This is My Apps.
This is where you spend a lot of your time, the bread
and butter of iTunes Connect.
This is where you manage your apps
and manage your TestFlight campaigns, manage versions
and manage your pricing and availability.
My Apps, if this was a physical button,
I feel like mine would have the paint worn off,
because I'm always in there.
This is our baby.
Our baby's name is App Analytics.
It launched this year.
It's really empowering you guys.
It's giving you data, I think that only we can provide
because of the integration, and it's really giving you a picture
of how your app exists in your customer's hands and we do
that all the while
by maintaining your customer's privacy.
So we love App Analytics.
I hope you caught the session earlier.
It's amazing and as you can see,
we took the beta badge off of it.
One more module I would like to talk about, this is my protip
of the day and it's not that big of a tip.
I already had a couple of questions about it in the labs.
And it's the agreements, tax, and banking section
and so this section -- my protip is make sure you are caring
and feeding for your iTunes Connect by going
into the agreements, tax, and banking section
and accepting your agreements.
I think one went live on Monday, the unified agreement.
We had a couple of questions in the lab.
My protip is make sure you keep your account up to date and go
into your Agreements and Tax and Banking.
It's a stellar tip.
Don't tell anyone.
This is Help and Resources, resources and help.
This is all new.
We are revamping it.
We put as much design as the UI designers let us put in there,
I don't know if you caught the session earlier,
but we are putting it outside the log-in screen.
It's fully searchable and it will be great.
Help and resources.
Like I said,
it's outside the log-in and it contains the best piece
of information you will ever own and that is the developer guide.
This has everything you need in it!
This tells you how to launch apps and how
to get your assets ready and how to interact with iTunes Connect.
Print it out, put it under your pillow,
sleep with it, do whatever you want.
The developer's guide is the be-all and end-all document
and I hope you are reading it and referencing it.
It has a lot more stuff.
We have multimedia now.
We have some videos in there.
We have some deep dive videos.
A lot of you guys have questions.
We read through the questions
and so we are making videos constantly trying to to keep you
up to date, we have Agreements, Tax, and Banking, TestFlight,
App Previews, App Transfer, there as a video.
A lot of videos.
Check out these resources.
They are meant to help you.
Of course we have the developer guide
but we have specialized user guides,
one of which we will talk about later in the session,
as the transporter user guides.
Deeper topics a lot of specialized materials
and then last but definitely not least, the FAQs.
We have this incredible operations team that's
constantly going through all the support requests,
all the developer posts, anything, and everything,
trying to come up with relevant FAQs for you guys.
It's likely that if you have a question,
it's answerable in the FAQs.
So that's resources and help.
I'm just going to move on here.
New also this year we have iTunes Connect specific
I hope you are using them.
We have an incredible community of developers out there,
which is you guys and thousands of others
and if you have a question, there's probably a place --
somebody else probably had the same question.
It's self-help, questions and answers.
It's a forum post, that's moderated
and it's a fantastic resource for you guys.
We would love to hear your feedback on it.
We think it's doing really great.
It's questions and answers and support and it's not
for proprietary information there.
Don't pass any passwords to your accounts and things in there.
I will put up the URL right here.
Quickly moving on to another support resource that's
available, yes, AppleCare, our friends at AppleCare.
We have iTunes Connect technical support, via AppleCare.
If you go into help and resources right now,
it's up in the top left corner, it's called contact us,
and you can reach it via the developer forums.
Then we can filter it down by, I think 19 different categories.
We can get your issue to the right specialist.
Sometimes you have a problem with your account and you want
to ask somebody a question.
Go for it.
Ask us. It's there for you.
I have a little bit of a surprise,
although I think it's already out this in the wild,
but we have an 800-number now.
You can call us.
If you have questions that you really need to somebody about,
the account, you can call us on an 8-hundred number.
It rings to phone in my pocket.
No, I'm kidding.
Oh, it -- somebody is actually calling -- there you go.
I will put that number up right now.
You guys can write it down or take a picture of it.
That's the iTunes Connect technical support.
Too bad. 1-800-633-2152.
I had a bet with people that I wouldn't sing.
There you go.
I know you want to see TestFlight and XML.
Here we go.
There's a couple of other resources,
developer technical support.
Sometimes you read the documentation,
and you have asked the questions in the dev forums
and maybe you have interacted with AppleCare
but maybe it's more of a deeper engineering question.
Developer technical support is always available to you.
Go and check it out and also I really encourage you
to join our bug filing community.
We really appreciate the bugs that you guys file.
We read them and prioritize them and fix them.
It's a great relationship that we have with you
and I really appreciate it.
So join the community.
Lastly, I just want to reinforce that there's some great articles
on the developer -- excuse me, the developer section.
This one, we talked about in the new and iTunes Connect,
but I will put it up here again.
The app review is giving you the most common rejection reasons
for your app not making it
through the first pass through app review.
They keep it up to date.
There are a couple of others.
There's a marketing video that's available as well or excuse me,
a marketing article, that's available as well.
It shows you how to make your product page look its best.
Check it out.
These are great articles.
There's another one on app previews.
So that's the help and resources section.
I wanted to reinforce those things and make sure
that you were empowered.
So, what do you do when you have an app that's about ready to go?
You test it.
And what do you test it with?
You test it with TestFlight.
I would like to bring up my good friend, Alex Miyamura
to give you a demo of TestFlight.
ALEX MIYAMURA: Thank you so much, Paul.
I'm Alex Miyamura.
I'm an engineer with the TestFlight team I'm here
to show you how easy it is
to distribute your app via TestFlight.
Now, we will begin with a screen that is very familiar to,
I'm pretty sure everyone in this room right now,
and this is Xcode.
I have an app that I created open, Touch Fighter
and I'm going to upload it up to iTunes Connect.
Now, in order to do that, I will go up to product, and archive.
And one of the great things about TestFlight is that instead
of having to upload one beta build
and then also an App Store build, if you find a beta build
that works for you and you want to distribute
that to the App Store, you don't have to do that again.
I can go ahead and click this big button, submit to App Store.
Usually you would go through the prompt
and would you deliver your build to the App Store
but in the interest of time, I'm actually going to switch
over to iTunes Connect, where I have a build that's already been
-- a build that's already been uploaded to iTunes Connect.
And here we go.
Thank you so much.
ALEX MIYAMURA: And so now you will see the My Apps module
that Paul spoke about, and we'll click in there
and see TouchFighter is right in there.
We will click in there.
And you will see the prerelease tab.
Now, of course, we are TestFlighting these apps.
So we do care about prerelease
and we will go straight into there.
And you will see we have build two of version 1.0
and we actually get a lot of questions from developers as to
where that comes from, right?
And I will actually show you right now.
So we will go back to Xcode.
And we are in the info.plist file for my app.
I will zoom in so everyone can see and as you can see,
the bundle version short string is 1.0.
That matches 1.0 that we saw in iTunes Connect.
And the bundle version is 2,
which matches the build number build number 2.
And test flight has two types of testing.
We have internal testing and external testing.
And first, we'll go over internal testing.
Internal testing is used to distribute your app
to a small select group of testers,
within your iTunes Connect organization.
These testers must be either an admin role or a technical role
and you get 25 of them.
Each build that you distribute is currently available
for 30 days, but coming this fall,
we're actually going to double that.
It will be available for 60 days.
And so we will go ahead and click
into the internal testers tab.
And you will see that I'm here, Alex Miyamura,
and I want to invite one
of my colleagues Johnny Appleseed to be a tester.
Oh, here's Johnny Appleseed.
He's a technical user and so we can invite him as a tester.
And we will go to TestFlight beta testers
and select his Apple ID and hit save.
When we have done that, that actually adds my colleague,
Johnny Appleseed as a tester and if we go back
to the internal testers tab,
you can see that Johnny Appleseed is now a tester
for this app.
Now for them to install the app on their iOS device
on the TestFlight app, they will check all the testers
that they want to invite.
Go to save.
And then go back to builds and you will see
that we have a switch for TestFlight beta testing.
We will go ahead and toggle that switch
and that will send those invite emails to all the testers
that you have selected.
As you can see, the build is active for 30 days now.
And so once you -- once you switched that switch,
you will see that I as a tester have received an email
from the iTunes Store, and I'm invited to test TouchFighter
and I can go ahead and open that in TestFlight, and tap install.
Now we will see that the app installs.
It's ready to open.
You go back to your home screen
and then you will see TouchFighter right there next
to the TestFlight app and that orange dot next
to TouchFighter indicates it's a TestFlight app,
that it's a beta app.
And so once your testers are able to test your app,
they will give you feedback
and you will be able to iterate on that.
You will want to distribute your app to a wider range of testers
and for that, we have external testers.
And so we'll go into the external testers' tab
and the first thing that you will see is, wow!
You have 1,000 of these as compared to 25 internal testers.
That's 40 times and coming this fall,
again, we will double that.
Instead of 1,000, you will be able
to have 2,000 external testers.
So in order to add testers to be external testers for your build,
you will click on the plus, and you will add new testers.
You can obviously type in the email.
But this can get really tedious
if you have 1,000 names to type in there.
You will be there for a long, long time.
So that's why we have added this option to import a file.
Now, we provide you with the CSV template if you click
on the question mark next to import file, but in order
to actually import those testers,
you will click open import file,
and it will actually populate all the tester names
and you will be able to add the testers.
The one difference, other than the large amount of testers
that you get as external testing,
versus internal testing is that for external testing,
do you have to submit your app for beta app review.
We will go ahead and do that.
You have to fill in some information.
Obviously, you need to tell your testers what to test.
They need to see what features you really want
to have them focus on.
You might be adding something new
and you really want them to drill down in it.
Feedback email is very important because the whole point
of testing is to be able to get feedback
and to be able to improve your app.
So we do require that.
and then your app description.
"This is the best app ever."
And we also require some contact information,
so that if there is a problem with your app, we will be able
to reach out to you, and so
that that can be get resolved as soon as possible.
And once you fill
that information in, you can click next.
And export compliance.
We have some export labs here at WWDC.
This is a fairly simple app
and so we will go ahead and click no.
We will submit.
And now you will see that external testing
for build 2 is waiting for review.
Obviously you can remove it from review
and once your app passes beta app review,
iTunes Connect will send you an email
and then you can send invites to all of your external testers.
And now back to Paul.
PAUL TURNER: Alex what was it,
the best feature is the one you don't have?
No provisioning profiles and no UUIDs.
PAUL TURNER: I will make T-shirts that say that
and we're going to wear them around town and everyone's going
to think we are the weirdest people ever.
Before I bring up Mr. Nik Uglov to do a deep dive into XML,
I just want to remind everybody of all the materials needed
to launch an app on the App Store.
We come to the end and we are about to release and we go, oh,
my gosh, I have to get all
of those screen shots localized or the privacy URL.
So let's take a look at the store real quick.
One for the app, one for the watch app,
hopefully you guys are doing an app preview.
We also have five screen shots per device.
Just refreshing this in your head right now.
Of course, now we take Apple Watch screen shots.
Starting counting how many screen shots.
Five per device and 28 localizations.
We have app descriptions.
We want to draw people into your app
and make sure they understand how
to use it before they buy it.
If it has a new version, it's what's new text.
And privacy policies and especially if it's a kid's app
and EULAs and all of these things
that you need to get together.
I think that's 840 screen shots possible.
We did the math there.
You know, fancy!
And we make it really easy on iTunes Connect to get them in.
We have the drag and drop wells that we reintroduced
and separated the sections and made it a really powerful tool.
But maybe you have more than one app.
Maybe you are updating your screen shots frequently.
Maybe you have lots of apps and lots of designers making all
of these screen shots for you.
Make you have a CMS system.
Maybe you have a corporate CMS system, wouldn't it be nice
to hook up iTunes Connect to your system and manage this
in an automated fashion.
And that's what we have to talk about right now, Transporter
and command line automation.
Let's bring up my good friend, Mr. Nik Uglov.
NIK UGLOV: Hi, everybody my name is Nik Uglov,
I'm an engineering manager with iTunes Store for content import.
And as Paul just showed you and kind of gave you a hint
that there's quite a lot of data for you to enter
into iTunes Connect in order for your app to appeal
to the widest possible audience.
The store's localized in 28 languages.
So that's how many languages you can localize the metadata
about your app for.
And it certainly makes sense to reach
out to your potential customers in the language
that they can understand.
There's up to five screen shots to set up for each
of the devices that your app runs on,
and those are localizable.
There rates and pricing to set up.
Some of you have a few of those.
Some have hundreds, and some have had thousands.
We have seen that.
And those are localizable.
And those have screen shots in their own right.
Game Center achievements
and leaderboards also have images and localization.
Are you counting?
That's quite a lot of work there.
And for those of you who have multiple apps on the store.
First of all, congratulations and thank you.
But also that means that there's
that much more work to do, right?
And really at that scale,
no matter how good a UI we will put together in iTunes Connect,
it's still going to get tedious and error-prone
to copy and paste that data.
No matter what we do, it will not scale.
So let's take a look at doing it some other way.
I will produce a command line tool called Transporter
that manages inactions between your environment
and iTunes Connect using an app metadata XML feed.
The feed covers the areas I just named,
the version level localization, the rates and pricing,
and in-app purchases and Game Center achievements
It's not new functionality we are introducing.
We want to make sure that you are aware of it and using it
and for those of you who are new to the program --
new developers, by the way, welcome --
we want to make sure that you know that you have it
in your hands and ready to take advantage of it.
This is a fully supported robust functionality used
by developers like you every day.
It's great for automation.
You are able to manage your data in bulk.
And more intriguingly integrate iTunes Connect
with your back-end systems whatever those may be.
What I mean by that is suppose we have already an asset
management system where the screen shots are collected,
or maybe your contracting out with some company that allows
to you localize that metadata
because you don't have the speakers of all
of those languages in house.
So you take it back and you need to park it somewhere.
You are holding it somewhere and you have some sort of process
that works for your company.
At that point, if you have a system like this
or you are thinking of setting it up, it becomes just a matter
of an XML export into a format that we are about to see,
hook it up with Transporter and put together a little harness
to capture any validation messages we might send back
and you are on the way to automate.
So a few basic rules.
The app itself, and the version that you are trying
to target must already exist in iTunes Connect.
You set those up first and you are ready to go.
All of these state transitions are done in iTunes Connect,
like submitting your app for review
or submitting in-app purchases for review.
The app binaries are uploaded the same way they are
through today, through Xcode or application loader.
And the feed itself is available
for iOS apps and Mac apps equally.
So how does this work?
First of all, it's a two-way communication.
You use Transporter, the command line tool,
and the first thing I suggest you do is do a metadata lookup.
What this does is it retrieves onto your local environment,
the current state of the app metadata
as we have it in iTunes Connect.
So you download it in a form of a package
which is just a fancy word for a directory named
after your app SKU with a .itmsp extension.
You crack one of those open
and you find a metadata XML file in there.
This is the expression of all the metadata we have
for your app so far and this is the file that you would use
to make changes to iTunes Connect.
You edit that file and you add some screen shots to it,
any other assets that you need to add.
You validate it, to make sure that it passes all the rules
and if its, go ahead and upload.
So this forms a life cycle of your interactions
with iTunes Connect using Transporter.
Download the package, edit XML and add assets to it, validate,
and upload and repeat over time as necessary
to achieve the edits you are trying to get.
Let's take a look at the commands.
This is for the metadata lookup.
This is to get the information from us.
The command is iTMSTransporter and the first method
or mode you want to explore is the look up metadata.
Use your iTunes Connect user name and you identify the app
that you are interested in by the vendor ID.
The vendor ID is your app's SKU.
Not the bundle ID, not the Apple ID, that's the app SKU.
Give where you would like this to be deposited in.
You will get the metadata XML data inside
and the reason I recommend that you start this way is
that it's a lot easier to start by example.
You are going to get a large file captures all the details
and it's valid by definition
because it's actually emitted from the store.
So you will see all the areas where you can make edits to it
and it's a lot easier to put it together than to start
from scratch from a spec. So let's say you took that advice
and you added keywords and added some screen shots
and a localization.
Go ahead and validate it.
Same command, Transporter, different mode, verify.
You use your iTunes Connect user name, and supply a path
to the package that you have been working on.
That's the one that has the metadata XML
and all the assets that you have added.
So what is going to happen here is we are going
to use exactly the same rules that we apply
on iTunes Connect the web GUI,
to validate what you have September.
We will check all the I.Ds.
We will check all the required fields and the lengths
of the field and the dimensions of the screen shots
that you are sending to make sure
that they match the devices that they are for.
If there are any errors, we will report it back
to you right on the command line.
And if you don't have any errors,
then go ahead and upload it.
This is the same command, transporter, iTMSTransporter
with a different mode, upload.
That's the only difference.
Your iTunes Connect user name and the path to the package
that you have been putting together all along.
So what's going to happen here is we are going to actually run
through the validation mode first, in case you skipped it,
we will apply it anyways.
Same rules as would apply in iTunes Connect.
If there are any errors, they will be reported back to you
and the upload will be blocked.
If there are no errors then the app upload will succeed
and we will get it on our servers and at
that point it's asynchronous.
So it's in the queue to be processed,
alongside the binaries and any other content we process.
And it might take a minute or two for it to be,
as we say ingested and appear on iTunes Connect.
You can actually use one of the commands in Transporter to look
up the current state of that process.
In order to take advantage of all of this,
there are two pieces of documentation that you need.
They are available on the resources
and the help screen on iTunes Connect.
The app metadata specification for all the tags
and a Transporter user guide for all the commands
and all the options which is a lot more
than I will go through here.
We are ready to see that XML.
So this is what it would look like.
This is how metadata XML would look like.
There are required elements forming a sort of envelope
around everything else.
So you have the package, for your team ID.
You have software because this is what we are discussing here,
Your app is identified by the vendor ID which is the app SKU
and then the software metadata
because this is what you are about to send.
Everything else is optional elements.
They are optional in the sense that only those
that have some changes,
only those that you actually need to send in.
So, for example, if you are making some changes
to the purchases, just send that section.
This is not to say that you can't send the whole thing
It is going to work fine.
Let's say you followed that advice I had
about doing a metadata lookup first.
You got the package and made a few minor edits and decided
to send the whole thing back in, perfectly fine.
That will work.
We are capable of seeing where the changes are
and applying those and ignoring the sections that didn't change.
It's all up to you how to structure it.
So diving in, into this -- into the package here,
just to call your attention to the team ID,
is a value that you received originally
when you created your team account with Apple
and your app is identified by the vendor ID
which is the app's SKU.
And the next step depends on what it is
that you are trying to do.
Which area are you editing?
Let's say you are editing some localization --
something about localization, adding a description
or something like that.
Just like in iTunes Connect, you get to select one of up
to two versions that you are trying to target.
The one that's currently on the store
and maybe the one you are building
up for the next release.
So in the XML, would you do
that by using the iTunes Connect version stream, version 1.5
or the 2.0 in this example.
And for the sake of argument, let's say you are interested
in editing the 2.0 version.
So the next slide is we are diving down into that,
and what's the next step?
Select a language you are talking about.
So let's say in the -- in iTunes Connect, would you do
that by using a pull down for English.
In the XML, it would be locale,
name and the BCP47 tag identifying the language.
BCP47 is a format --
is a standard for identifying any language spoken
on this planet, and I think a few off the planet.
But they are only ones that you can only use
in the feed are the ones that the store is localized in.
So those are 28 and they are listed
in the spec. Please take a look.
Let's say ENUS for US English and diving further down.
Now we are finally down to the actual data elements.
We have the title which is the app name and the description.
We have the version of what's new
if it happens to be an update.
And really, any element that you encounter in iTunes Connect
at this point has a representative tag in the XML.
I won't go through all of them, other than to stay
for a few seconds on screen shots
because those are just a bit more involved.
For each screen shot, you would need
to tell us what device they are for.
So that's the dismay target and all of the iPhones
and Apple Watch and iPad and if it happens
to be a Mac app is the option there
and which position you want that screen shot to appear
on the store and they go from one to five, remember,
up to five per device.
Specify the size of the file in bytes.
The file name, which is of the file that you would park next
to metadata XML in the package,
give us the MD5 checksum, and onwards.
Let's say what you wanted to do is set
up some pricing parameters instead.
Like in iTunes Connect, and I think you might be picking
up a theme here, that it's -- it's -- they are equivalent.
Most of these are applicable worldwide.
So the XML product equivalent section is
in the product for territory WW.
And at that level, you get to state what your available date
for the app is, the sales start date and things
like the educational discount and also still
on the same level, also territory WW for worldwide,
what is the pricing tier for your app?
So here's wholesale price Tier 3, corresponding
to the same option in the GUI and the effective dates of it,
the start date and the end date.
Notice for a second that those appear inside an interval tag,
which is itself an interval section and what that builds
up to is the ability to do this advanced scheduling
of your price changes.
So in iTunes Connect, for example, here's a map that goes
on sale today for five days, right?
Price Tier 3 goes down to price Tier 1 and then comes back to 3,
exactly the same way in the feed.
You have the initial interval, and the wholesale Price Tier 3
and then it goes down to Tier 1 for five days and back up to 3.
Notice no end date there, which means it's effective forever,
until you decide to change that with a next update.
What is available on the per territory basis,
per country basis?
It's just the setting of whether your app is available there
You can do that by exclusion or inclusion.
In exclusion, you state that it's available
for sale everywhere, and then enumerate
through territories specifically like Japan over there,
where you don't want the app to be available for sale.
So that's one option.
The other one is inclusion, exactly the opposite.
For territory WW, your app is not available for sale,
meaning it's just not clear for sale anywhere.
And spend specifically enumerate the areas
where you want to make it available.
This is the area where you can probably get the most effect,
the most bang for the buck for using the feed.
That's due to the sheer number of in-app purchases
that some of your apps have.
This is where we have seen the most activity
and this is a deep enough section of the feed
that I won't go through the tags here.
Please download the documentation,
take a look there.
It's fully supported, what you can do in the web interface,
you can do in the feed.
The same goes for leaderboards and achievements.
Everything you can do in a web GUI, you can do in a feed.
Please download the documentation,
study it, and take advantage.
So in summary, what you have able to you is Transporter,
the command line tool for managing the interactions
in your environment and iTunes Connect
and app metadata XML feed for all the areas that we covered.
And those are great for automation.
They allow you to manage your data in iTunes Connect in bulk.
You can get out of the copy/paste business.
And you can integrate iTunes Connect
with your back-end systems.
Whatever those may be.
So get your hands on two pieces of information,
app metadata XML feed for all the tags
and all the formats there and Transporter user guide
for all the commands and all the options to them.
And automate away!
And with that, back to Paul and thank you.
PAUL TURNER: Okay.
That was great.
Oh, my gosh!
I'm so lucky to work with engineers like this.
All right, we are a little pressed for time
and I will wrap it up really quickly.
I want to let you know
that 1-800 song already chartered on Apple Music.
You will see me at the Grammys next year.
We took a look at help resources.
I hope you use them.
Give us feedback on them.
I want to know what you need.
We took a look at TestFlight, went over the resources
and then Nik's Transporter and XML feeds.
For more information, obviously the developer portal.
And you can contact our fearless evangelist, Marc Malone.
Some related sessions already happened
but catch them on the replay.
The What's New in iTunes Connect this morning was fantastic!
The App Analytics lab was incredible.
I'm so happy that you guys are here.
So come visit us and have a great conference!
Looking for something specific? Enter a topic above and jump straight to the good stuff.
An error occurred when submitting your query. Please check your Internet connection and try again.