0:00:00Hello, and welcome to Developing Perspective. Developing Perspective is a podcast discussing
0:00:04news of note in iOS development, Apple, and the like. I'm your host, David Smith. I'm
0:00:09an independent iOS developer based in Herndon, Virginia. This is show number 72, and today
0:00:13is Thursday, August 16th. Developing Perspective is never longer than 15 minutes, so let's
0:00:18get started.
0:00:19The first topic for today is what do you do when you make a mistake? And this is my three-step
0:00:24process for when you encounter a mistake and how you deal with it. First, you identify
0:00:29the mistake. In this case, Sean P. Walsh let me know on Twitter that the developing perspective
0:00:36feed was kind of broken. And the interview I did with Bill Dutney that was posted yesterday
0:00:41was not showing up for him or showing up incorrectly. So the first thing you do is identify and
0:00:45thank whoever found it. So thank you, Sean. Two, fix and fix for the future. This is the
0:00:51key thing. The second part of that is perhaps the most important part. Often, and this applies
0:00:56universally to any kind of problem that's your fault.
0:00:59There is a fix that you can do to fix it right now.
0:01:01And then there's the fix you can do that will prevent that particular mistake
0:01:05from happening in the future.
0:01:06In this case, there was a unique ID problem in my feed.
0:01:11And so the easy fix would just be to change the unique ID for Bill's post,
0:01:15and it would just start working.
0:01:17However, the fix in Fix for the Future is improve my generation of unique IDs
0:01:21to make sure they're really unique.
0:01:22And that's what I've done.
0:01:24And the last thing you do is you apologize.
0:01:26I'm sorry, everybody.
0:01:28Hope you have got Bill's interview now.
0:01:30If not, I highly recommend it if you got this.
0:01:32But somehow, your podcasting software
0:01:35didn't quite catch Bill's.
0:01:36Definitely look it up.
0:01:37It should just be there if you refresh now.
0:01:39It's a really nice interview with Bill Dudeney,
0:01:41who is just an all-around great guy and really good at-- we
0:01:44had a good conversation talking about solving hard problems,
0:01:47debugging tools, and a topic that I've heard a lot of you
0:01:50ask me about, which is how to learn Objective-C
0:01:52and kind of that process.
0:01:54So we talked a bit about that.
0:01:55Anyway, so that's my three-step process
0:01:57for what happens when you make a mistake.
0:02:00Identify, thank whoever did, fix, and fix for the future,
0:02:03and then apologize.
0:02:04So my bad.
0:02:06All right, the two main topics we're going to talk about today.
0:02:09One is designing icons and the process around designing icons.
0:02:14And the second one is going to be about app acquisitions
0:02:16and a little bit of the logistics around that.
0:02:19And so the reason I'm talking about designing icons
0:02:21is yesterday, or was it Tuesday?
0:02:24This week, I launched a new version of my recipe book
0:02:28with a brand new icon.
0:02:29And it was designed by the Icon Factory.
0:02:31I don't know exactly who at the Icon Factory,
0:02:33even much of that really matters.
0:02:35But the Icon Factory was the graphic design company
0:02:38that I ended up going with.
0:02:39And they did a fantastic job.
0:02:41Highly recommend them.
0:02:42If you are in the market for an icon,
0:02:44definitely contact the Icon Factory.
0:02:46They do great work.
0:02:47They've been doing great work forever.
0:02:49And can't say enough about them.
0:02:50The process went as expected, on time, on budget,
0:02:54all that kind of stuff.
0:02:56But more than necessarily I want to talk about the design
0:02:59of this particular icon, I want to talk about the process that
0:03:04is likely that you'll go through with any designer,
0:03:06with any graphic designer, whenever
0:03:07you're coming up with a concept for either a new app
0:03:11or updating an existing app.
0:03:13And so in this case, basically the process
0:03:16seems to work through maybe about a five-step process.
0:03:19And I'll kind of walk through them in step.
0:03:21So first, there's kind of the concept phase.
0:03:24And you can either do this with your designer,
0:03:25with your team, just by yourself.
0:03:27And really, the goal of this is to try and come up
0:03:31with a concept of what you want the app to look like,
0:03:33what you want it to vaguely be in terms of graphical elements,
0:03:37in terms of colors.
0:03:38Often what you're going to want to be doing here
0:03:41is looking at competitors' apps, both for the pros and the cons.
0:03:46And so to some degree, it's like if you're
0:03:49trying to do something that fits in to an existing thing
0:03:52and has good recognizability, that's
0:03:54good in terms of making it consistent
0:03:57with your competitors.
0:03:58There's also sometimes cases where
0:03:59you're going to want to do the opposite of what
0:04:01your competitors are doing, either in color or content
0:04:03to differentiate yourself.
0:04:05So as an example of that, say maybe you're
0:04:07making a Twitter application.
0:04:08There's a good chance you may want to have that have a bird
0:04:11as some part of the icon.
0:04:13While that's a little bit cliche at this point,
0:04:15it really helps people sort of recognize what it is,
0:04:18And they've kind of grown to expect that.
0:04:21And it helps users down the road, especially,
0:04:23when they're looking for their Twitter application
0:04:25on their phone, on their Mac, they see a bird,
0:04:28they think of Twitter.
0:04:29That's just the nature of that branding.
0:04:30And so being consistent with that is probably helpful.
0:04:33Now, at the same time, you don't want
0:04:35to get too carried away with that
0:04:36and be sort of looking just like someone else.
0:04:39Now, you're sort of-- you're starting to get into plagiarism.
0:04:42You're starting to not have differentiation.
0:04:44So but you're trying to find that good fit for what concept--
0:04:47does this icon represent your application?
0:04:50And I think also, I just think to keep in mind,
0:04:52is when coming up with a concept of an application,
0:04:54you often want to make sure that it matches logically
0:04:57the overall feel of your application.
0:05:01So for example, in my recipe book,
0:05:03this is an application whose UI paradigm
0:05:06is based around a cutting board with elements sliding along
0:05:09on top of it.
0:05:11And so for my icon, the icon is based on a cutting board.
0:05:16It's a wooden background designed with a 3D effect
0:05:19to make it look like a cutting board with elements laid on top.
0:05:22And for me, I found that to be pretty good in terms
0:05:25of being consistent, that you see that,
0:05:28and it makes sense in the application.
0:05:30If I'd gone with something that's a bit more abstract,
0:05:34for example, that may not really fit.
0:05:36Whereas when you look at something like audiobooks,
0:05:38there's another one of my applications
0:05:40where the It's UI is almost entirely native.
0:05:42And by native, I mean it's just using standard Apple
0:05:44controls for the most part with a few tweaks and adjustments.
0:05:47So for that, I have a bit more latitude
0:05:49in terms of how I actually design it,
0:05:52because the one is very-- if your application has
0:05:55a very strong design baggage to it,
0:05:59you'll have to match that throughout the application,
0:06:02or throughout your icon as well, to make them consistent.
0:06:05If you have a fairly generic UI for your application,
0:06:08you probably have a bit more latitude, I'd say,
0:06:11in terms of the actual concept.
0:06:13And then as you're working with a designer,
0:06:15the process from here gets fairly straightforward.
0:06:17Once you have a concept, you'll communicate that to them
0:06:20in various ways-- in words, in pictures, in just sketches.
0:06:23And then you typically give it to a designer,
0:06:25and they'll do wire frames.
0:06:26And wire frames are sketches, depending
0:06:28on how you're talking to.
0:06:30But these are just simple line drawings
0:06:31showing the overall structure of the icon,
0:06:34how it will vaguely look.
0:06:36And often this is where they'll throw out
0:06:37a lot of different concepts and ideas.
0:06:39So they'll say, here's--
0:06:41I understand you want a cutting board with some kitchen utensils on it.
0:06:45Well, here's a couple of examples of what that would look like.
0:06:47A lot of what this is trying to do is take it from a concept into an actual thing that you can talk about
0:06:53and be able to say, "I like this, but not that. I like that, but not this."
0:06:58And that's often really difficult to do in words, so by putting it into sort of these rough wire frames,
0:07:03that sort of really helps put that together.
0:07:05Once you kind of narrow in on a topic from there, then you'll move on to kind of, okay, rough mock-ups.
0:07:10And these are sort of, at least from my experience,
0:07:13this is where the designer kind of shifts from pen and paper
0:07:16into something like Photoshop or Illustrator
0:07:18or whatever they're actually going to make it in.
0:07:20And these are kind of-- it's almost
0:07:24like if you've seen a lot of 3D or 3D rendering and things,
0:07:27this is where you take the structure
0:07:30and you build it in the system and it
0:07:31looks like whatever it's supposed to look like.
0:07:33It's like, say you imagine it's Toy Story.
0:07:36It's Woody.
0:07:36You'll have a person with a hat and all that.
0:07:39But there's no real color or richness or texture to it.
0:07:42It's just a structure.
0:07:43And at this point, you're proofing sizes, layout,
0:07:48those kinds of things.
0:07:49And once you settle on that, they'll
0:07:51often then move to what I used to call a colored mockup.
0:07:55And this is where you're getting close to what the actual final
0:07:57thing will look like.
0:07:59And so it's that same concept or implementation
0:08:02that was in the rough mockup phase,
0:08:04but it now has richness and texture and color
0:08:07and is getting very close to what the final product will
0:08:09look like.
0:08:10And at each step in this process,
0:08:12the designer is typically saying, what do you like?
0:08:14What don't you like?
0:08:15What should I change?
0:08:16And the goal really, as a developer in this process,
0:08:19is to try and make changes as early as you can.
0:08:22Identify problems, identify things that you're not
0:08:24going to want to do, things that won't work,
0:08:27as early as you can.
0:08:28Because the more you are invested
0:08:31into the process down the road, the harder
0:08:33it is for your designer to make changes,
0:08:35or at least the more expensive it's going to be for your designer
0:08:37make changes because they essentially
0:08:39have to start all over again.
0:08:41And so be very careful of that.
0:08:44And also it's something you want to be thinking of in terms
0:08:47of with your designer about the timeline, costing, et cetera,
0:08:51for your application.
0:08:52This icon is you want to make sure
0:08:54that you have some understanding of how many iterations you
0:08:57can do at each step, how long you can take.
0:08:59If you get all the way to the end, you're like, actually,
0:09:02I don't like it.
0:09:03What do you do?
0:09:03Because obviously they've spent a lot of time and work,
0:09:05and so you don't necessarily-- it's not really fair
0:09:07to be like, OK, well, let's start again,
0:09:09and that doesn't count.
0:09:12And then once you get to this phase,
0:09:14hopefully you like what you see, you know what
0:09:16it's going to look like.
0:09:17And then they'll typically start doing finals.
0:09:20And there's a variety of different formats,
0:09:22and especially for something like an app icon,
0:09:24because the app icon is going to be rendered
0:09:26into a variety of different sizes.
0:09:28I think right now in iOS, it goes from 1024 is the biggest
0:09:33down to-- I think it's 40 pixels.
0:09:36I'm not sure though, it's in that ballpark.
0:09:38It's a pretty small version of the icon.
0:09:41So what your designer is going to do is render the icon at
0:09:44those images, making adjustments as needed.
0:09:46Because obviously if you have a very rich and detailed
0:09:48version at 1024 by 1024 pixels, if you squeeze that
0:09:52down to 40 by 40, you're going to be losing a lot.
0:09:54And so often your designer will just simplify elements or
0:09:57throw things out or those kinds of things to make it
0:09:59work at the small stage.
0:10:02And if everything looks good, you say ship it,
0:10:03and off you go.
0:10:05And so that's kind of the process that I went through with my recipe book,
0:10:09with the Icon Factory.
0:10:10It went basically in that process.
0:10:11We had a few mistakes along the way.
0:10:13I ended up changing my mind about my recipe book.
0:10:15Luckily, we caught that early enough in the process
0:10:19that I sort of-- in the early wire framing rough mock-ups phase.
0:10:22So we went back, and it wasn't a huge deal for the designers,
0:10:25because they hadn't really done the coloring, or the richness,
0:10:27or the multi-size stuff yet.
0:10:28So we caught it pretty early.
0:10:30But overall, the process went great.
0:10:31Hopefully, I've had a lot of good responses so far from my users
0:10:35that like the icon, and what it was replacing
0:10:37was something that I think I did with ClipArt or something
0:10:40back when the app first launched, which is kind of awful.
0:10:43So I'm glad it actually has something designed and proper
0:10:45in there now.
0:10:47And OK, so that's how you design an icon.
0:10:49Again, I highly recommend the Icon Factory.
0:10:51Other people I've heard are really good are Pacific Helm.
0:10:54I've heard they're really nice.
0:10:55And there's a lot of freelance developers.
0:10:56If you go in Dribbble, you can see tons and tons
0:10:58of freelance designers who will make great icons for your apps.
0:11:03It's for the last and the third and final topic for today.
0:11:06I'm going to talk about app acquisitions.
0:11:09This is also actually relevant to me.
0:11:10One of my apps was recently acquired.
0:11:12I'm not going to talk about the details of that yet.
0:11:15It's not yet public.
0:11:16Nothing major, nothing dramatic.
0:11:18It's one of my more minor apps, at least in terms
0:11:20of from a business perspective for me.
0:11:22It was acquired by someone else.
0:11:24And I thought it would be interesting to talk
0:11:26about the process of how that works
0:11:28and the rules that Apple establishes for the App Store.
0:11:31So really, if someone wants to acquire your app, which
0:11:34is for the concept what we're going to talk about is someone's
0:11:36going to take financial ownership and responsibility
0:11:38for the application, there's really
0:11:40three ways they can do that.
0:11:42They can do what you call, as you could call, a full buy,
0:11:44which is where they're not really buying your application.
0:11:47They're buying you and your company.
0:11:49And not necessarily, I guess, you
0:11:51is probably a negotiable part.
0:11:52But they're buying the company that owns the application.
0:11:55And so a great example of this was
0:11:56Tweedy, where Twitter bought 8bits, as best I understand,
0:12:00which was Lauren Brikter's company.
0:12:02And they took over his developer account.
0:12:04And nothing really changed in terms
0:12:07of from a user's perspective for a lot of that.
0:12:09The application just sort of kept running
0:12:12and was rebranded.
0:12:13And they took over the whole account.
0:12:15That works only really well if the person
0:12:18doing the acquisition wants to buy your entire portfolio.
0:12:21Or if you have one app that's easy,
0:12:23they just want to buy that app.
0:12:24But the problem is they're also taking control
0:12:28of all the other apps, all the other parts.
0:12:30So for me, that would be tricky if someone, for example,
0:12:32wanted to buy my recipe book.
0:12:33I also have audio books.
0:12:35And so what would you do in terms of-- if they bought
0:12:37the whole thing, they're buying both parts,
0:12:39which may not necessarily make sense for the person doing
0:12:42the acquisition.
0:12:43So that's one way to do it.
0:12:45The second way-- and this is the way that, unfortunately, it
0:12:47tends to happen most often in the App Store--
0:12:50is that you essentially have to end of life your old app
0:12:53and resubmit it under their developer account.
0:12:56So it's the same app just moved over.
0:12:58And the reason you have to do that is Apple currently does not allow apps to be transferred
0:13:02from one developer account to the other.
0:13:05Specifically, if you look in the iTunes Connect FAQ, they say, "No, you can't transfer an
0:13:09app to another developer account on iTunes Connect.
0:13:12You can add that app to another account, remove the app from your current account, and upload
0:13:15it as a new app to iTunes Connect."
0:13:18And that's direct out of Apple's documentation for "Is it possible?
0:13:23No."
0:13:24Which is a little awkward.
0:13:25I'm sure there's good reasons for them to do it.
0:13:27I really wish they made this possible.
0:13:28It doesn't happen enough that I feel
0:13:30like it would be overly burdensome for Apple
0:13:32to allow them to just change an app from one developer account
0:13:36to the other.
0:13:37Ultimately, my guess is really it's just
0:13:38there's one number in a database somewhere that
0:13:42changes from this developer to that developer.
0:13:45But for whatever reason, Apple doesn't do that.
0:13:47So if you want to do a typical transfer,
0:13:49you have to essentially end of life one of your apps
0:13:52and submit it to the other one.
0:13:53This is really awkward for a user
0:13:54Because if it's a paid app, they would have to then repurchase it in order
0:13:59to get future updates and things.
0:14:01So often you'd need to do it with a major update or something that
0:14:05would be a logical break anyway.
0:14:07So if you were going from a version 2 to version 3,
0:14:09that would be an opportunity to do it.
0:14:12But otherwise, it's always a little tricky.
0:14:14But that's kind of what you're stuck with.
0:14:16And then the last way to do it is basically
0:14:17that you would continue to manage the app,
0:14:20but someone else owns it within your store, which is kind of awkward
0:14:23but can work, where it's still being sold under your name,
0:14:26but someone else is responsible for the money that they get,
0:14:30as well as the updates being done to it.
0:14:32It sort of works.
0:14:33But basically what you end up doing,
0:14:34if someone wants to acquire your app,
0:14:36is you're going to pull your app from the store,
0:14:38and they're going to resubmit it under their account.
0:14:40If that doesn't work for what they're doing,
0:14:42then ultimately right now, they're
0:14:44going to have to purchase your entire developer
0:14:46account and your entire developer portfolio.
0:14:49All right, that's it for today's show.
0:14:51As always, if you have questions, comments, concerns,
0:14:52I'm on Twitter @_DavidSmith.
0:14:55And otherwise, I hope you have a good weekend.
0:14:57Happy coding, and I will talk to you next week.