Before Pragmatic Episode 49 Vic and I talk about the latest App Store rejection dramas and how hard it is to write rules that can be equally applied.
Don't give me a start on the whole developer app store thing. That's that's just oh my god What do you mean developer app store a thing? App store. We all that that that yeah, that's going on the moment. God. Yeah. All right Normally, I'm not one that rants too much about app review and stuff like that I realized very much that you're playing an Apple sandbox, but there's there's something that there's crazy going on right now You know the whole traps thing Your widget does too much. No, your widget doesn't do enough. He's just decided he's not gonna have a f***ing widget for a while and be done with it Yeah, Apple's burning serious goodwill Yeah, did you see the thing from uh, it was a WordPress blog post from the guy that wrote there was an app called launcher that yeah I saw that Mark I linked to it. Did you read that blog post? I did. And see some of the replies that he had gotten from Apple Yes They just completely appalled me. I know it's like what the fuck because the problem the problem that you've got though is ultimately Apple as a growing company and no matter how good in well-intentioned it may have been in the beginning dissent like disseminating that ethos takes time you bring on new people then they come into a team they haven't been fully brought up to the Apple way of doing things The more disturbed the least that's the excuse if you want to get in the excuse round let's assume that it's not well and. In the past I wouldn't have said I would have bought into the excuse now I'm just really not so much. I just I don't know what I feel anymore well if you don't want to get in the excuse round make excuses for Apple you could simply say well now they're becoming evil. Because the truth know that I'm quite ready to jump on that bandwagon just yet. I'm not saying something's not Yeah, I'm not saying that I am either necessarily but what I am saying is that there are there's enough smoke to be concerned that something is smoldering away and ultimately Apple are doing themselves no favors and the old axiom that that power corrupts and absolute power corrupts absolutely I very much believe in that I believe it is human nature and. If you can control the human nature of one individual who may or may not be let's assume that they're enlightened okay now multiply that by 80,000 how many people work for Apple every single one of them you know and let's just say that's that's a bit of an exaggeration half their employees are retail like I cut them out so the majority of them aren't doing app review but let's just focus on the app review team how many are there 20 30 40, I don't know. Let's say there's 50, round number, probably, who knows. All these people have to be on the same page, understanding the rules, being consistent with the rules, have the similar moral compass and a similar design, understanding of design in order to enforce those rules. So, if that's not being done equally, you know, then you're going to have situations like this, you know, the rules must be equally applied. And that's the key. And when that doesn't happen, the first thing people say is, well, absolute power corrupts. Absolutely. Which means that if they can reject your app because they have the ability to reject it, then they can if they want to. And that's all there is to it. We want to set an example of you. Why? Well, you know what bothers me more than just the rules not being applied fairly, because I mean, I don't care how well intentioned any society function or business is. I mean, on the grand scale of things, I mean, the app store is huge. The amount of developers throw it at that store is huge. They're never going to. I mean, they can attempt to be fair and they can, you know, wear it on their sleeve that we do the best we can and we're going to screw up sometimes. I don't know that to assume that they'll always be fair and consistent with every single app and every single developer is even a realistic possibility. But just publish your f***ing rules. So at least developers have a fighting chance of knowing what you're going to reject and what you're not. But you're assuming that they've written it down. Well, I think that they probably... They have at a very minimum, they have to have a bullet point list that their reviewers are going by. You reckon? But what it is and the thing that really sticks in my craw, what really pisses me off to no end is that They want it so vague so that developers will potentially waste their time and their energy and their effort into pushing new boundaries, covering new ground, seeing what they can do, trying to make new things, and really just really push things in a new direction and come up with something really cool. And then Apple has the benefit of picking and choosing from the fruits of all that to decide what they want to showcase and what they think has gone too far. And that's not cool. I completely agree that it's not cool, but at the same time, the alternative is a reactive situation like Google have on their app store. Yeah, but I think in a lot of cases it has become reactive. I mean, look at the Peacock thing and drafts. If somebody should have good relations with Apple, it should be Greg Pierce and the guy that made Peacock, they both worked at Apple. They both still have contacts inside of Apple. And the way, Drafts, that widget, I'm on the beta for that so I was playing with that widget, there was nothing there that they should have. It had a button so that you could take whatever was on your clipboard and create a new note in Drafts with it. And a button that would just open you to a blank page in Drafts with it. I don't know if you play with this app or not. That's the detail there. No, I haven't. And basically, if you've seen the Evernote widget, the Drafts widget was almost the exact same thing, except it was specific to Drafts instead of Evernote. Okay. Well, I mean, I don't use Evernote either, but yeah, I'm aware of the functionality. And the Evernote widget is still there. And then, you know, and the Drafts app had three buttons that were all in a row, neat, tight, concise. I just, how is that? How is that not in the spirit of things when they let peacocks stay back in there? And it's a big block of buttons. Yeah. Mate, I hear you. I mean, from my point of view, it's the interpretation of a guideline, the interpretation of a rule, and it will vary from person to person, no matter how well you write the rule. Why do you think laws end up reading like, you know, legalese exists and legalese because of, you know, the problems of interpretation and it seeks to reduce or eliminate that. So, you know, again, this comes back to the argument of giving Apple a second chance, third chance, fourth chance, infinite chance, whatever. I'd say assuming that they are still hell bent on doing the right thing. I mean, you assume that they are. And you got to wonder, OK, well, if it is a case of the rules are simply too vague, then why the inconsistency? Well, why the inconsistency is that there's more than one reviewer. That's simple. What matters now is what Apple does next. So if Apple- Yeah, but even if they don't put the expectations and the guidelines for these today widgets and stuff into a bullet point list, I mean, they could publish a little bit more about the spirit of things, because things like Launcher, things like that Drafts app, things like Pcalc, all of that. You know, I've read the rules and the stuff for the App Store, and I've read the extension programming guides and stuff, and there's nothing mentioned in any of those guides that would have given me any idea that any of those extensions, with the exception of possibly Launcher, would not fly. Yeah, I hear you. I just don't know what the answer is. I mean, ultimately... It's frustrating. Yeah, I know it's frustrating, but you know, take it from me. I've written a lot of specs and I've written the rules for other programmers to follow on SCADA systems, which is really not all that different from what Apple is doing with their design guidelines. It's just I didn't call them design guidelines. I called it a functional specification. Either way, you want to slice it, it amounts to the same thing. And sometimes it's really hard to write out every last little detail. You know, I'll sit there and I'll agonise over how prescriptive do I need to be? You know, do I need to make sure that people say, well, you can't... I mean, I'll give you a real example right now. Here's the example. Voltage, for example, can be measured when you've got three phase power in two ways, you've got line to line or line to neutral. And if you're going to do line to line, normally we letter we use letters to represent the three phases a phase A, B and C okay so if I'm measuring a line-to-line voltage that's phase A to B and then it'll be phase B to C and then phase C to A and that's how you would write them in columns so let's say I've got columns right so the first row is voltage columns you know phase AB, phase BC, phase CA right there you go nice simple all right now I'm going to measure my line-to-neutral voltage in which case the column headings would be different. They'd simply be phase A, phase B and phase C, because I'm measuring them with respect to the neutral. I mean, I could also write, you know, phase A, N, B, N or C, N. But the line would still be voltage because that's all I'm measuring. And the columns provide the context for what kind of voltage it is if I'm doing this in a tabular format. So here's the problem. On SCADA screens that I'm reviewing, we've had a few programmers that don't understand this and have written voltage line to neutral as the row heading. It's like the row left-hand entry as opposed to just volts. And then they write phase A, phase B, phase C for the column headings. Now, that's redundant information and could lead to confusion because if I'm saying to you, oh, that's my phase A voltage and it's a voltage line to neutral or voltage VLN. It's like, well, VLN is not used anywhere else. It's not defined in any glossary. It's not shown anywhere else, anywhere in the SCADA system. So, if I'm an operator and I'm looking at this, what do I think? Well, suddenly I'm confused because I'm mixing terminologies. So, if I'm going to go with VLN, then I should be having instead of phase A, phase B, phase C, the convention is if I'm going to use L for line, it's VL1 for line one, VL2, VL3. That's the convention. So, I'm mixing conventions and I'm adding redundant information. Now, how do I write a specification with a rule that will eliminate that? That's tricky. It's very tricky. You say, okay, thou shalt not have redundant information on the screens, but that doesn't work because how do you enforce that and how do you define redundant? Thou shalt use consistent naming methodologies. Okay, sure. That's also open to interpretation. You know, it's really, really hard. The only way that I can think to do it is to say that all phase voltages shall be written as phase A, phase B, phase C. And leave it at that. You know, but even then, you could argue that voltage line to neutral does not technically break that rule. So, you know what I mean? It's like... But look, that's just my experience. And obviously, it's if there's a second set of rules that they're following in-house that aren't published, that's... If they're... Yeah, absolutely. But I don't think there is. I just don't think they've bothered to go to this level of detail and they're leaving too much... Do you think it's literally just all on a whim? I don't think it's all on a whim, no. I think that it's all on a... It's all down to a set of rules that they simply haven't fleshed out to a level of detail that it needs to be fleshed out to, you know, in order to be consistent. And every time they add new functionality that opens up new possibilities for the operating system, it leads to a situation where the rules lag behind. Once the rules... And it makes such a bag of hurt and makes blessing. I mean, there's all these new cool toys for people to play with and and it's having a chilling effect where people are going to be afraid that they can't touch the new toys because they're going to get smacked. But this is not a new effect. People like Russell and Scott Wilsey and Russell Ivanovich, you know, they're right. Indie guys will start looking at Android first, and that's the last thing Apple wants. And this is why that people go down the road of, you know, that's why it's true that That power corrupts, absolutely, because Apple believe that they can get away with it. At least that's what it would appear like on the surface. If you appear to be threatened, I mean, consider what Microsoft used to be like, right? It was the Microsoft way or the highway. Now look at them. They are giving away Excel on the iPad. They're giving it away. What the f***, you know? This is Microsoft we're talking about here. Now, you tell me they're not scared to death that they are going to lose their stranglehold on the office format. You know, if you feel threatened, if your existence is threatened, you will compete very aggressively, and that means being accommodating. When you don't feel threatened, when you feel like you're king of the hill with billions of dollars in the bank, you can do no wrong. You're about to release an amazing, most personal device ever in the Apple Watch. You think you're untouchable you think you can do whatever you want and get away with it or at least that's what the conspiracy theorists would tell you that's what we would love to jump to that conclusion to believe. Well that's actually what's going on I don't know I'm still inclined to give them some benefit of the doubt. But there is still enough cause there for some concern. Well I'm inclined to give them the benefit of the doubt I just. But this is not a new thing. No, I know it's not a new thing, but it's really it's boiling up. I think the problem that I've got is that every time iOS comes out with a new... I mean, even this even happened with sandboxing. Remember sandboxing on the Mac? I mean, it was the same kind of thing. Yeah. Well, and that's... There's still a lot of apps that are leaving the Mac App Store for that. But at least there, they have the alternative of distributing outside the Mac App Store. Yeah, okay, true. And I guess it's not exactly the same thing, but the point is it's... And I'm not going to go so far as some of these other idiots to say that it's monopolistic, because it's not. There's always a matter of choice. Of course not. People can always buy different phones. Developers can always choose other platforms. Yeah, exactly. But they still have control, and they still have a lockdown, and you're still forced to accept it or not if you want to be on iOS. So I know it's not a monopoly, but... to wrap up on this and then we should probably get stuck in. I guess the reason I say this is nothing new is because every time Apple extends and says, here's a bunch of new functionality, feel free to go and have a play, the kids come out and play, except that they start throwing the toys, you know, and it's like, well, no, we want you to play, but you got to play nice. You know, we didn't tell you to throw the toys at each other's heads. We thought that was implicit, but you know, so you can't do that. Yeah, but I'm not sure if saying "throwing toys at their heads" is an accurate analogy. Yeah, well, hang on, though. But then they come back and they say, right, now you're not allowed to throw toys at their heads. You can keep playing, though. And so they write the rules down. Look, I'm not saying that, okay, maybe I was being a bit facetious about throwing toys at kids' heads, but you know what kids are like, right? Yeah. Is that you'll say, here's this beautiful new toy and then they'll go and play with it and they'll take it too far. They get too excited and they take it too far. But they didn't know any better because the parents never told them what they weren't supposed to do, because it's a new toy, it's a new set of rules. You don't know. Yeah. You know, so I honestly think that... But you know what? Apple could foster a lot of goodwill if they would just come out and say pretty much what you just said. You know what, guys? We're sorry. We're screwing up on a few occasions and we're making some mistakes, but we're just learning this too. And sometimes- A whole new uncharted territory, and we're all trying to figure out where we want to take it and what's going to be the best thing. Yeah, absolutely. And they just come out and do that, but they won't. Well, well, hang on. Sometimes they have done that. Perhaps they haven't done it quite, had in hand, sobbing and like, we're so sorry. You know, but they don't need to do that. But, you know, just to acknowledge that they know that there are occasionally some bad calls being made and to say, you know, we're learning this, too, and we're trying to figure this out, too. Yeah, yeah. I hear you. And like I said to you earlier, like about 10, 15 minutes ago is a lot to me hinges on what Apple does next and if it's typical Apple then they will sit on it and dwell on it for a few days or a few weeks even and they'll come out with a statement and they will hopefully adjust their decision or clarify their rules or there'll be something but what I don't expect from them is either A) complete silence silence or be an instant retraction. I expect there'll be a measured, calculated response because that is the way that Apple operate. At least that's the way they have previously operated. So, we'll see what happens. Yeah, and I'll agree with that easily. Yeah. So, I mean, the thing is, when you develop... It's very frustrating. Oh, yeah, of course it is. Absolutely it is. I mean, I can sit here and tell you how annoying it is that the SCADA is inconsistent, but you know what? It's still going to work. It's still going to control the equipment. It's still going to satisfy most of the requirements. Yeah, it's going to irritate some people, but it's not the end of the world. This is people's livelihoods, especially in the case of indies and pouring hundreds and hundreds of hours into developing a feature set just to have your entire application kicked out of the store for you doing no apparent wrong. Sure, that's b****. Don't get me wrong. I agree, that's b****. But, you know, unfortunately, this is the game we play. Right. You want to develop on Apple's ecosystem. Make no mistake. It's their ecosystem. Yeah. And usually I'm very much in that camp. I'm just like, you know, it's their sandbox. If you want to be there, you're going to have to just accept that there are some things that you may not like that come with being there. It's just the cost of it. Yeah. But I just- And maybe I'm possibly overreacting to it and oversensitised to it right now, because I'm very overworked at this time of year. I'm very tired. I'm dipping in and out of the internet. So all I see mainly are the highlights of this outrage.