6 ms·
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 g
by jychang 12y ago
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 12y ago> 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 12y ago>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 12y agoOn 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.)