
Competition vs. Community - superchink
http://www.saurik.com/id/20
======
pugz
I got to the end of that article and thought "boy, I've really benefitted from
the work Jay has done. I should send him some lunch money as a thank you" and
there was the link right at the top of the page!

I sent you $20 for all the work you've done to teach me more about the inner
workings of iOS, even if I have never installed Cydia. :)

------
sophiebits
> Many of the things I obsess over no one actually truly [...] understands
> (the font metric calculation logic in Cydia's CSS).

This sounds fascinating; I'd love to know more about it.

~~~
saurik
I've wanted to write a detailed blog post about the problem I needed to solve
and what I ended up doing; the fact that you have said this just increased the
likelihood of me doing that "soon" quite drastically.

~~~
wingerlang
I would read a blog full of obscure/behind the scenes details/problems people
face and solve.

~~~
keehun
I wonder if a tumblr dedicated to post-mortems, tech crisis prevention, clever
programming solutions, et al. would be popular (or already existing)

------
jychang
I've always wondered what the term "Cydia" meant, so I hope Saurik can
clarify: "Cydia" the app, or "Cydia" the ecosystem?

The app itself, more or less, is a graphical frontend for APT on the iphone.
On the other hand, a lot of applications and stuff that comes with "Cydia the
app" that form the ecosystem- like MobileSubstrate, Cyscript, etc mentioned in
the article.

I remember back in the "wild west" days of jailbreaking, where a jailbreak
implied literally just that- the ability to run unsigned code on iOS. The
jailbreak (redsn0w, I think) around the iOS 3 days didn't even come with
Cydia- it just installed SSH, and the user had to install Cydia after SSHing
into the device. I remember enjoying the Telesphoro repo just for the *nix
frontend apps that it installed, the coreutils, netutils, vim, etc packages. I
originally didn't jailbreak for Cydia/substrate/whatever, I jailbroke to use
my iphone as a nix workstation; admittedly this is a extreme minority use.

I wonder if Saurik could separate the app and the ecosystem of packages. Is it
even possible? I don't claim to understand how Cydia works now, but is it
possible to split off the maintenance of the Cydia app and the core
(jailbreak/cydia) ecosystem packages like MobileSubstrate?

~~~
saurik
> The jailbreak (redsn0w, I think) around the iOS 3 days didn't even come with
> Cydia- it just installed SSH, and the user had to install Cydia after SSHing
> into the device.

Very few versions of redsn0w ever installed just SSH (the ones that did were
beta versions targeting iOS firmware versions where we didn't want to make
things easy for end users). Cydia was included by default with the initial
release of PwnageTool for iOS 2, and has been included in almost every
jailbreak ever since.

> I've always wondered what the term "Cydia" meant, so I hope Saurik can
> clarify: "Cydia" the app, or "Cydia" the ecosystem?

You use the term MobileSubstrate, which was the name of a dylib and the low-
level name of a developer-only package for what was always called Cydia
Substrate (the very first source code file for it I wrote in 2008 had Cydia
Substrate at the top). Apple named most of their folders and files and bundle
names at the time like that.

Cydia is a platform for runtime code modification that includes an SDK for
making modifications (Substrate), a distribution system for installing them
(Installer), a payment processing, licensing, and accounting backend (Store),
and (on Android only, currently, and not really fleshed out yet) a USB device
management tool (Impactor).

The icon for Cydia Installer is labeled "Cydia", so the boundaries between the
terms "Cydia"-the-app and "Cydia"-the-platform is blurry. People then tend to
talk about "Cydia Repositories" (APT repositories with content for usage with
Cydia) and "Cydia extensions/apps" (what I normally call "Substrate
extensions").

As for the "ecosystem", the line is often blurred here between the "iOS
jailbreak ecosystem" and the "Cydia ecosystem" because almost every jailbreak
tool has included Cydia Installer, Cydia Installer is the only way to get
Cydia Substrate, and almost everything in the ecosystem is built as a
Substrate extension of some form.

> I wonder if Saurik could separate the app and the ecosystem of packages.

As explained in the article, I am able to maintain all the things I'm
responsible for, as well as have the time to help all the people who maintain
all the things I'm not directly responsible for, because I have a semi-
profitable business that I have managed to build out of the Installer and
Store parts of the Cydia platform.

Alternatively, I could charge developers for licenses to use Substrate, and I
could sell Cycript as some kind of stand-alone tool package, but that would
have a massively stifling effect on the developer ecosystem. It isn't about
"these things are overly coupled", it is "these things are effectively coupled
but don't look to be".

Another option is that I could build first-party software for the device built
out of Substrate, and distribute my software via someone else's software
distribution and payments service. This sounds like an even worse scenario. In
this case, I would be highly incentivized to hoard Substrate for only my
products as a competitive advantage.

Essentially, if someone wants to compete with me on Installer/Store, they need
to be prepared to handle everything else, because that's the place where I am
able to make money: if they want the only part that's profitable they had
better be prepared to take on all the things that aren't, as they aren't
entitled to my effort.

Like, I don't know what you are hoping to obtain by splitting Substrate and
Installer/Store apart, but if the goal is to be able to let people compete
with some of the things I've built without just replacing me entirely, that
isn't really possible and I honestly don't see the point: I would just leave
if that happened.

~~~
jychang
>Very few versions of redsn0w ever installed just SSH

It might have not been redsn0w. Perhaps blackra1n or older, in the iOS 1/2
days, when people installed Cydia side by side with RipDev's Installer. My
memory is pretty hazy on that. At any rate, this distinction is mostly a
historical footnote at this point.

\----------------------------

Anyways, I understand that from a practical perspective, it is impossible to
separate Cydia-the-installer-and-store and Cydia-the-code-modification-
platform. The former pays the bills, while the latter is the focus of most
development effort and center of the jailbreak ecosystem, but not profitable
without killing said ecosystem. As such, it probably would be foolish to ask
to distinctly separate the app and platform code-wise, as people would aim to
compete in the somewhat profitable storefront side- Rock is a good example, as
mentioned. Again, I understand how you said <quote>It isn't about "these
things are overly coupled", it is "these things are effectively coupled but
don't look to be".</quote>

However, if I may: I would suggest you do a branding clarification to clarify,
if not separate, the Installer and the Code Modification side of things. For
people who aren't as familiar with the scene, it would probably help people
understand what you do for the jailbreak community better.

As it is, the naming scheme for the entire ecosystem is pretty confusing. For
non-jailbreak-devs, "Cydia" is seen as a platform containing just the APT-
frontend installer app and the store; the code modification/extension side of
things is less obvious, eclipsed by the installer. This is possibly part of
the reason why some people are interested in competitors for Cydia: if it is
only seen as a glorified app store storefront and installer, almost anyone can
write a replacement, which may be the cause for discontent.

This also has the benefit of clarifying what you're trying to do for Android:
the brand "Cydia" is very iOS-centered at this point, and perhaps
distinguishing Substrate/etc as something else, more neutral, would be a good
idea.

~~~
saurik
On the contrary, I would on the other side claim that allowing the branding to
accidentally separate, into MobileSubstrate and Cydia, was actually a key
mistake: it reinforces the belief that they are entirely unrelated things that
can be thought of and selected separately. I wish I could go back in time and
be more clear with the branding as always having said "Cydia Platform" and
"Cydia Substrate" whenever possible, so people see all the pieces as a unified
concept, as then I wouldn't run into problems where people think "well, I'll
just compete with this profitable thing I see that is defined easily with this
word people talk about". I actually only started being really consistent and
forceful about Cydia as a platform in the last year, when I started zooming
out and putting the puzzle together better. (Really, Substrate only doesn't
ship together with the GUI for ancient political reasons.)

~~~
jychang
(I've edited my previous comment a bit to clarify, probably after you read the
first revision and started commenting, so just a note)

(Anyways, thanks for responding and continuing the conversation. I definitely
appreciate this chance to talk with you.)

\------------------

ARE they something that can't be thought of and selected separately, though?

I personally don't like that kind of thinking. It's similar to adding DRM to
programs so that it stops pirates- just replace "DRM" with "branding
uniformity" and "pirates" with "competitors".

Instead, if someone was truly interested in being an obnoxious competitor,
they would "crack" the "DRM" by forcibly separate the branding. Read this in a
TV advertisement voice: "Rock with Cydia Substrate, ALL of the Cydia
extensions, but none of the slow!" "Replaces the installer, keep the plugins!"
Sounds a bit familiar, hm? The end result is still the same, just like with
piracy.

If anything, this may be worse. It pollutes your own brand, and if issues
comes up, you can be blamed even more for stuff that wasn't your fault.

By keeping the code modification clear, you definitely would be able to better
advertise to the Android side of things, and perhaps have other benefits with
the current jailbreak community. You are in the unique position of being the
only core jailbreak dev where all of the code that they ship doesn't need to
be completely replaced every jailbreak. Unfortunately for other jailbreak
devs, due to this, people have established an "everything is replaceable"
mentality. People can clamor to kick devs out of the scene, like I0n1c. Cydia
is not completely immune: if people think it is just a store and a frontend
for APT, then people will think that almost any competent programmer can
replace you- this is bad! By giving Substrate the individual brand that it
deserves, and advertising the difficulty in building such a live code
modification platform, it becomes that much more important in consumer's eyes.

Even if you don't care about the average jailbreak community member (seeing
some tweets with death threats over not releasing something fast enough...
make such a perspective all too understandable), the thing is that the next
person to come along to compete will originate from this jailbreak community.
Marketing a stronger brand to emphasize the irreplaceability of Substrate may
only gather more respect and benefit you in the long run.

~~~
saurik
Your hypothetical situation cannot happen due to a combination of trademark
and copyright law: you can't redistribute Cydia Substrate, nor could you
attempt to dilute my branding or somehow accidentally ascribe fault to me. On
Android, Cydia Gallery was designed (very poorly) to temporarily serve the
purpose of Installer until I determined whether or not it was a good idea to
bring the whole stack of Cydia over.

Again, your strong separation makes it sound easy to compete with Cydia
separately from Substrate: what you are describing is _weaker_ branding,
because it takes two things that are only not tied together due to
happenstance of technology but which are intrinsically tied legally,
economically, and even user-experientially, and separates them into two things
that suddenly look like you can replace one but not the other.

You then talk of people thinking Cydia is "just a store frontend for APT", but
that's what "Cydia" is in your version of the branding: Substrate is some
entirely separate thing, leaving Cydia alone to be compete-able with. You make
it sound like separating them _solves_ this problem, but them being
accidentally separate is what _caused_ this problem in the first place: you
have the entire scenario backwards :/.

Again, it is only in the last year year that I've gone out of my way to
attempt to _fix_ the branding between these two things that previously the
user community accidentally saw as highly separate, with "MobileSubstrate"
being this thing that maybe anyone was allowed to use and "just some weird
backend thing" and pulling it into the forefront as the development tool that
embodies the end-to-end platform that is Cydia.

~~~
jychang
>cannot happen due to a combination of trademark and copyright law

There is no need to redistribute anything, as you've said yourself: pretty
much every jailbreak tool comes with Cydia. This hypothetical new tool just
needs to remove the installer part of Cydia, which would be legal. Also,
advertising "compatibility with another product" is a pretty gray area of
trademark law, and lawsuits are expensive- they can bet that you might not
want to get embroiled in a lawsuit, where you have everything to lose and they
have nothing to lose. It's not a completely far fetched idea.

> what you are describing is weaker branding

Let me clarify my points about branding: with separate branding, I was
proposing "weaker combined branding, stronger individual branding". I am not
arguing that they are not tied together economically and legally.

> You make it sound like separating them solves this problem, but them being
> accidentally separate is what caused this problem in the first place

Oops, I think you might have misunderstood my examples. I wasn't saying that
separating the brands make it harder to compete against. I was saying that
combining the brands to reduce competition is just as effective as using DRM
to reduce piracy- that is, not at all. A lot of game studios nowadays, instead
of adding DRM to combat piracy, release games without DRM. Similarly, instead
of combining the brands in an attempt to reduce competition, just embrace the
fact that it will happen no matter what.

In formal logic, let p be "separate brands", and q be "more competition". You
are saying "p then q, so it is better to not-p"; on the other hand, I'm trying
to say "p AND not-p will still lead to q, and p has good effects, so just do
p". Hopefully the previous sentence made sense, haha...

> and pulling it into the forefront as the development tool

I feel like this is a "mere" advertising problem, and not directly related to
its branding. Currently, you're trying to make Substrate more popular by
combining it into the brand that the Cydia installer has. Alternatively, you
can make it more popular by creating another brand and advertising its power
through that: say, create "Aidyc Substrate" ("Cydia" backwards) (ok that's a
shitty name but w/e), and building on that and advertising that. Both methods
could work in the end.

Apple themselves can show us the power of two individual brands that rely on
each other while tied at the hip: "iPod" and "iTunes"! Creating separate
brands do not take away from the individual products. Can you imagine if Apple
decided to call both the music store and the device "iPod"? Separate brands,
intrinsically tied together legally/economically/user-experimentally, and
provides a great example of what could work out. If both products are strong,
they only reinforce each other away from competition.

\-----------------

As an humorous aside note, I just realized that since you have a monopoly on
jailbreak tools, and SaurikIT is a "legal" company, someone can sue you for
anti-monopoly for bundling stuff together. It would be extremely unlikely
(although quite funny from a bystander perspective, probably less so for you)
for the courts to pull the Sherman Antitrust Act on you like that, though.

~~~
jamesaguilar
> anti-monopoly for bundling stuff together

That's not how it works. Similarly, you can't sue Apple for their "monopoly"
on iPhones which they use to bundle the app store. Markets are defined as
product categories, not slices of an individual product, at least in the eyes
of the Justice Department.

------
twodayslate
> Part of the issue is that payment processing is a brutal and painful battle.

Bitcoins might be a viable and less painful option

~~~
olefoo
Not really.

You have to factor in the cognitive load of dealing with bitcoin and all that
it entails, currency risk, regulatory headaches, banks and other financial
institutions reacting negatively to your bitcoin exposure; not to mention the
not inconsiderable security exposure you have to manage of having a valuable
string of bits that must be secured and backed up and guarded from exposure.

Bitcoin is not cost-free, and right at the moment, it represents more risk
than most legitimate businesses are willing to assume. This is not to say that
bitcoin doesn't have benefits, it certainly does; but those benefits don't
come for free.

------
sharemywin
I think you are always going to have people/groups your going to compete with
and ones you cooporate with. You chose to compete with iOS by creating an
alternative(jailbreaking). I agree trying to compete on minor changes seems
like a pretty big waste of time, but your probably not going to get much value
out of them as part of your community anyways. I guess it comes down to
movitivation. If people are competing mostly because of ego or is there a
deeper reason that will resonate with others.

------
christiangenco
> The reality is that Apple makes money because Apple sells hardware: they
> make more money on a single iPhone than they could ever hope to win back in
> a lifetime of application sales, and most users purchase a new iPhone every
> two years. You'd have to buy hundreds of $1-$2 apps every year for Apple to
> care about that business.

Is this true? I was under the impression that Apple makes the _majority_ of
their iOS money from royalties on the app store. What on earth could their
expenses be to offset 30% of $1,000,000,000/quarter[1]?

1\. [http://www.forbes.com/sites/chuckjones/2014/01/07/apples-
app...](http://www.forbes.com/sites/chuckjones/2014/01/07/apples-app-store-
could-have-generated-1-billion-in-revenue-in-the-december-quarter/)

~~~
saurik
If we look at Apple's 10-Q for Q1 2014, we see ~$40b in revenue for iOS
devices, and ~$10b in revenue for "iTunes, Software and Services", which
"includes revenue from sales on the iTunes Store, the App Store, the Mac App
Store, and the iBooks Store, and revenue from sales of AppleCare, licensing
and other services".

[http://investor.apple.com/secfiling.cfm?filingID=1193125-14-...](http://investor.apple.com/secfiling.cfm?filingID=1193125-14-157311&CIK=320193)

Conservative high estimates of their profit margin on iTunes sales is 10%
(often the more reasonable estimates are "low single digits"), the low-end
estimates I've seen for hardware sales is 40% (you can find people who have
done detailed charts, breaking down the parts and labor for building these
devices).

 _While Apple has said little historically about individual product
profitability, the patent lawsuit between the company and Samsung provided one
small window into just how valuable the iPhone franchise has been. In just 18
months between October 2010 and March 2012, gross margins on iPhone were
between 49 and 58%, an almost unheard of figure for a consumer electronics
product._

[http://www.forbes.com/sites/markrogowsky/2013/09/11/marginal...](http://www.forbes.com/sites/markrogowsky/2013/09/11/marginal-
cost-and-benefit-apples-addiction-to-iphone-profits/)

That's $16b profit on hardware, and $1b profit for all of iTunes (which
analysts have claimed is likely similar for all of their various
subdivisions); which, even if we took the crazy conservative assumption that
that money is almost entirely revenue from the iTunes App Store, is only ~5%
of their income.

But, as I bet is true for most of the people you know, I spend _way_ more
money on movies and music than I do on apps. Sure, there are "whales" who buy
tons of in-app purchases, but "whales" for music are also common, and the cost
of a single season of a television show is a massive investment.

Many (not all, maybe not even most, but many) of the people I know also
purchase AppleCare, which is $100 per device and allocated to the same revenue
bucket. I think this also includes AppleCare for MacBooks, which is $250. The
percentage is thereby certainly much much lower than 5%.

You can also look at this in the other direction: the iPhone costs ~$600 (you
don't pay all of this to Apple, though, it being subsidized through payments
to your carrier), with the income estimates being ~$250. To make Apple as much
money as they make on a single iPhone sale you would have to buy 2,500 $1 apps
;P.

 _At that point, Peter Oppenheimer added, “We run the App Store just a little
over breakeven,” implicitly making the case that the App Store was not a big
profit generator for the company._

[http://www.macobserver.com/tmo/article/apple_app_store_runs_...](http://www.macobserver.com/tmo/article/apple_app_store_runs_just_above_break_even)

 _If we add the content margins from music and apps and assume the store runs
at break even we can get an idea of what it costs to operate the store. The
latest number is $113 million per month (from a total income of $313 million
/mo.). It implies over $1.3 billion per year._

 _Much of that cost does go into serving the content (traffic and payment
processing). Some of it goes to curation and support. But it’s very likely
that there is much left over to be invested in capacity increases._

[http://www.asymco.com/2011/06/13/itunes-now-
costs-1-3-billio...](http://www.asymco.com/2011/06/13/itunes-now-
costs-1-3-billionyr-to-run/)

(One thing to note is that the amount of money they make off this division
_has_ changed over time, and people are now sometimes reporting the division
to be profitable and no longer mostly be running "break even". However, these
reports cite the reason being that Apple's margins on _first-party_ software
has increased and is in the same pile.)

 _For this reason, management has begun since 2010 to suggest that at least
the App Store is run “a little over break-even”. How little is a good
question. A one percent operating margin (from gross revenues) would imply as
much as $45 million margin. I estimate 2% is possible on Apps and 1% on
Music._

 _My estimate is that Apple’s own software generated $3.6 billion in Revenues
in 2012. As you can imagine, this is a high margin business which grows at
nearly 20% /yr. Although I estimate that the software business has been
overtaken by the Apps and Music businesses in gross revenues, it keeps an
operating margin similar to that of Microsoft or about 50%._

 _This means that iTunes inclusive of Apple’s own Software generates as much
as 15% operating margin on gross revenues. That’s over $2 billion a year._

 _So much for breaking even._

[http://www.asymco.com/2013/03/22/so-long-break-
even/](http://www.asymco.com/2013/03/22/so-long-break-even/)

~~~
christiangenco
Noted. That makes perfect sense - I was missing the bit of data on how high
Apple's hardware margins were.

Thanks for the detailed reply!

------
MarcusVorenus
If there is a program that sucks and the maintainer is unwilling to merge your
changes that (according to you) make it better, then what choice do you have
but to compete? Or are you willing to just let it be and try to live with the
shitty program?

Competition is not a choice, you can't just say "please don't compete with me
because I'm not motivated by it" and hope it will work. Competition is just
something that you have to do if you want your idea of what is right to remain
at the top of the ladder.

------
dkhar
Man, saurik, you need a vacation. You need to not have to think about Cydia,
or the community, or maybe even computers at all for at least a week or so.

You're talking about how all of these developments in the community wear on
you, and how you view maintaining all this stuff in part as an obligation. I
could be reading all this wrong, but I get the impression that dedicating so
much of your life to Cydia is going to burn you out eventually, abrasive
community or not. You just sound _tired_.

I feel like letting the project sit for a week or so while you take a break
and get away from it all may actually be worth it in the long run. You sure as
hell deserve it.

~~~
tfb
> You sure as hell deserve it.

Without a doubt. I've spent countless hours myself developing a mod for an old
gaming community with some of the most unappreciative manchildren (trolls) in
existence, and I saw it through to the end because I felt I had an obligation
to finish it. And to this day, there are a handful of people from a subset of
that community who blame me for the demise of said subset, even though I did
everything they asked.

I learned a lot from it though, and not just about coding and development, but
about communities in general. The entitlement that some people feel they have
of your time can be astounding. Apparently when you do things for people for
free out kindness or out of passion for something, it only leads some (many?)
of them to expect you to continue to do it all, until they've sucked every bit
out of you that they can. I'm sure this is especially worse in online
communities, because to them, you're just text on their screen who provides
them with something fun or useful, not a human being.

So yeah. Take a break. A week may not even be long enough. Work on other
things, completely unrelated things. It'll give you a fresh perspective and
help with realizing exactly how much time and energy of your life you're
devoting towards something and how much of it is really worth it.

~~~
tonyedgecombe
Over the years I've found the more I charge the less grief I get.

