Cydia 1.1 zum Download verfügbar

Vor ein paar Minuten hat Saurik Version 1.1 von Cydia veröffentlicht, eine Version, auf die viele von uns warten und die Saurik schon lange versprochen hat. Die neue Version der Anwendung soll zahlreiche Leistungsverbesserungen, aber auch einige Änderungen hinsichtlich der Funktionalität der Anwendung mit sich bringen. Sie können Cydia 1.1 installieren, indem Sie die Cydia-Anwendung auf Ihrem Terminal öffnen und im Menü „Änderungen“ eine Aktualisierung durchführen.

Saurik sagte auf seinem Twitter-Account, dass die neue Version von Cydia ist:

  • die Möglichkeit, Activator, libstatusbar und SimulatedKeyEvents auszuführen und zu bedienen, während Cydia ausgeführt wird
  • eine allgemeine Geschwindigkeitsverbesserung, einschließlich des Dialogs „Änderungen laden“.
  • „viel weniger“ Speicherverbrauch
  • ein erweiterter Suchmechanismus mit einem neuen Relevanzalgorithmus
  • bessere Verwaltung defekter Repositorys

Multitasking

„Das ist zum jetzigen Zeitpunkt einfach nicht möglich. Mir ist klar, dass jeder es will, und zum Teufel: Ich will es auch; Aber jeder, der sagt, es sei wichtig, macht es nicht möglich. Der Grund dafür, dass Cydia kein iOS 4-kompatibles Multitasking bietet, liegt darin, dass es zur Durchführung der am System vorgenommenen Änderungen als „root“ ausgeführt wird, einem Benutzer, der mehr Berechtigungen auf dem System hat als alles andere, was bedeutet, dass SpringBoard , ein einfacher Prozess, der als „mobil“ ausgeführt wird, kann ihn nicht anhalten/fortsetzen.

Nun, das ist etwas, das behoben werden kann, und ich habe schon lange darüber nachgedacht, wie ich es machen könnte, aber es sind all die offensichtlichen Möglichkeiten, die die Leute gerne ansprechen, um Cydias GUI mit nur wenig Aufwand mobil laufen zu lassen Teile, die als Root ausgeführt werden, würden dazu führen, dass Cydia langsamer läuft, und Geschwindigkeit ist etwas, das für jeden im Vordergrund steht, wenn er Cydia verwendet. Glücklicherweise gibt es Dinge, die ich herausgefunden habe, die dies einigermaßen möglich machen, aber sicherlich nicht für diese Veröffentlichung.

Lassen Sie das mobile Substrat eingeschaltet, wenn Cydia geöffnet ist

„Wenn Sie dies tun würden, würden Sie feststellen, dass Ihr System plötzlich unbrauchbar wäre. Mir ist klar, dass es alles schön und vage klingt, dass Mobile Substrate alle Anwendungen auf dem System, einschließlich Cydia, ändern sollte, aber noch einmal: Cydia läuft als Root. Nahezu alle Erweiterungen im Ökosystem sind NICHT unter diesem Gesichtspunkt konzipiert, und wenn sie plötzlich Root-Zugriff erhalten, beginnen sie, die Berechtigungen Ihrer Konfigurationsdateien und Medienordner zu zerstören, sodass alle normalen Anwendungen sie nicht mehr verwenden können.

Deshalb habe ich bei dieser Version von Cydia die „großen Ticketelemente“ durchgesehen, die anscheinend auf Activator (was SBSettings startet), libstatusbar (fügt Benachrichtigungselemente zur Statusleiste hinzu) und SimulatedKeyEvents (Einfügung eines Schlüssels) zurückzuführen sind Ereignisse von Veency) – um mit ihren Entwicklern zu überprüfen, ob sie in einer Umgebung, die als Root ausgeführt wird, ordnungsgemäß funktionieren. Diese Erweiterungen (plus WinterBoard, das unter 4.x nicht mit Root funktioniert, aber harmlos ist und in einer zukünftigen Version behoben wird) sind in Cydia verfügbar, bis Cydia so geändert wird, dass es als Mobilgerät läuft.

Besser aussehende Benutzeroberfläche und Backup-Option

„Eine Backup-Funktion erfordert eigentlich nicht das Pushen eines neuen Cydia-Builds, aber es braucht Zeit, um herauszufinden, wie man die Benutzer skaliert, um die Art der Auslastung von Cydia zu unterstützen.“ Cydia hat um Größenordnungen mehr Benutzer als alle seine Konkurrenten, was bedeutet, dass viele Dinge, von denen die Leute gerne denken „sollte einfach sein, X hat es geschafft“, tatsächlich viel schwieriger umzusetzen sind. Bei der Entwicklung solcher Funktionen lege ich auch großen Wert auf den Datenschutz und möchte 100 % sicher sein, dass niemand außer Ihnen Zugriff auf die Liste Ihrer installierten Produkte erhält.

Was eine „besser aussehende Benutzeroberfläche“ betrifft, versuche ich, etwas beizubehalten, das mit den Produkten von Apple konkurriert. Ein paar Dinge sind unter 4.x verrottet (die Positionen und Größen einiger Schaltflächen) und die verschiedenen „schwarzen“ Schnittstellen (der schwarze Balken und der schwarze Bildschirm) erhalten gemischte Berichte, aber ansonsten ist das Hauptproblem, das Benutzer mit Cydia haben, nicht Cydia : Es ist mit Repositories. Jedes Mal, wenn ich die konkrete Rückmeldung „Diese spezielle Sache ist schlecht“ bekomme, obwohl Apple selbst diese Sache nicht in ihren iTunes- oder App Store-Anwendungen macht (was als „intuitives Modell“ angesehen werden sollte), ist sie drin Bereiche der Schnittstelle, über die ich einfach keine Kontrolle habe: den Inhalt, der für ein Paket vom Repository angezeigt wird.“

Verwirrung mit dem Begriff „Änderungen“

„Vielleicht bin ich verrückt, aber ich habe das Wort „Veränderungen“ immer als sehr un-geekig empfunden Endbenutzer Begriff für „Ding, das sich verändert“. Es handelt sich sicherlich nicht um einen technischen Begriff: Er wurde nicht aus dem Wunsch heraus gewählt, dass die Codebasis zur Benutzeroberfläche passt, und auch nicht, weil er im Lateinischen oder Griechischen eine esoterische Bedeutung hatte. Stattdessen wurde es gewählt, da es sich um ein einziges Wort handelte, das für die meisten Menschen, mit denen ich gesprochen habe, sofort genau das bedeutete, was diese Seite tat: Ihnen zeigen, was sich geändert hat. Unabhängig davon passt „Neue Veröffentlichungen/Updates“ sicherlich nicht auf eine Tab-Beschriftung.“

Schnelligkeit

„Wie bei /jeder/ Version von Cydia ist Cydia 1.1 schneller als frühere Versionen. Konkret ist es um einiges schneller als 1.0.3366, das selbst um einen noch größeren Abgrund schneller war als 1.0.3222. In diesem Zusammenhang ist es jedoch wichtig anzumerken, dass Cydia ein schwieriges Problem angeht: Keine andere Anwendung, die ich auf dem iPhone gesehen habe, weder von Apple noch von einem Drittanbieter, versucht, Zehntausende von Datenelementen zu durchsuchen, zu indizieren und zu verwalten. auf dem Client, in Echtzeit, aggregiert aus vom Benutzer ausgewählten Quellen.

Im Gegensatz dazu verfügt Cydia über einige der schnellsten Technologien, die es gibt, wenn es um die Verarbeitung dieser Daten geht, unabhängig davon, ob es sich um benutzerdefinierte Algorithmen (Cydia enthält eine lokalspezifische String-Vergleichs-Radix-Sortierung, die AFAIK der schnellste Sortieralgorithmus in allen iOS-Anwendungen ist) oder spezielle Algorithmen handelt Datenstrukturen auf der Festplatte (neu in 1.1 ist „Cytore“, eine neue Möglichkeit, lokale Metadaten auf Paketen zu speichern, die fast augenblicklich vom Flash geladen werden können; für diejenigen da draußen, die technisch versiert sind, ist es eine speicherzugeordnete Hashtabelle auf der Festplatte , was Alternativen, die Leute gerne hervorbringen, wie SQLite, deutlich übertrifft.

Ladezeiten

„Trotz gegenteiliger Mythen hat die Menge der in der Änderungsliste angezeigten Daten keinen drastischen Einfluss darauf, wie schnell sie geladen wird. In vielen Versionen von Cydia 1.0 gab es einen Fehler, der zu zumindest einer kleinen Verzögerung in Bezug auf die Anzahl der Elemente auf der Liste führte. Dieser Fehler wurde jedoch bereits ab 1.0.3366 behoben. Der Aufwand für die Berechnung besteht darin, zu entscheiden, welche Einträge überhaupt in die Liste aufgenommen werden sollen (und insbesondere, welche tatsächlich Updates bzw. Neuveröffentlichungen sind), und nicht, sie alle auf einmal anzuzeigen. Allerdings verschiebt Cydia 1.0.3366 das Laden von Änderungen bis nach dem Klicken auf die Registerkarte, was einen besseren Beweis dafür liefert, wie viel Zeit für diese Funktion aufgewendet wird (die wiederum in 1.1 schneller ist).

Memory Usage

„Obwohl Cydia 1.1 weiterhin versucht, Zehntausende von Elementen im Speicher zu jonglieren, verbraucht es dank Cytore viel weniger Speicher als je zuvor. Wie bei jeder Version von Cydia wurden weitere Optimierungen vorgenommen, um den Speicherverbrauch der App insgesamt zu reduzieren. Darüber hinaus und insbesondere geht Cydia 1.1 viel gewissenhafter mit Speicherwarnungen um und versucht, bei diesen Ereignissen so viel Status wie möglich zu löschen.

Allerdings ist die Menge an Speicher, die selbst einigermaßen modernen Geräten (alles andere als das iPhone 3G) für die Ausführung von Anwendungen zur Verfügung steht (nicht insgesamt, aber verfügbar, nachdem die Systemanwendungen von Apple ihren Anteil bekommen), um eine Größenordnung größer: auf einem iPhone hingegen Bei 3G haben Sie vielleicht mit 20 MB verfügbarem Speicher gearbeitet, bei einem iPhone 3G[S] sind es 150 MB und bei einem iPhone 4 sind es 400 MB. Obwohl Cydia 1.1 zum Betrieb tatsächlich weniger Speicher benötigt als Cydia 1.0, ist der Druck auf den Speicher so gut wie verschwunden und wird zukünftige Benutzer dank der Hardware nicht beeinträchtigen Upgrades"

Erweiterte Suche

„Leider ist dieses Gerät einfach zu langsam, um „erweiterte Suchfunktionen“ und schon gar keine Vorschläge bereitzustellen, angesichts der Einschränkungen „aus vom Benutzer ausgewählten Repositories“ „in etwa Echtzeit“. Allerdings verfügt Cydia 1.1 über einen viel besseren Suchmechanismus, einschließlich eines ganzzahlig-arithmetischen, nach Radix sortierten Relevanzalgorithmus, den ich implementieren konnte.

Was wirklich notwendig wäre, um ein wirklich erstaunliches Sucherlebnis zu haben, wäre, die Suche nicht auf dem Client durchzuführen, sondern sie stattdessen auf meinen Servern abzuwickeln. So funktionieren Produkte wie der App Store, Kindle oder Netflix: Es ist überhaupt nicht üblich, dass Dienste, an die Benutzer gewöhnt sind, versuchen, die gesamte Datenbank /auf dem Gerät/ zu verwalten und eine lokale Suche durchzuführen, anstatt über die Daten und Daten zu verfügen Berechnung für das, was in offline-indizierten Suchstrukturen auf einem riesigen Server in der Cloud vorhanden ist.

Leider gibt es viele Gründe, warum Leute Cydia verwenden, und viele Leute verwenden Cydia mit Repositories, die sie, ehrlich gesagt, nicht sein sollten: ob das Repository Software enthält, die gefährlich ist (eine Nischen-Community mit Optimierungen, die nur minimalen Tests unterzogen werden, oder schlechte Praktiken wie on -Disk-Datei-Patching) oder völlig illegal (es gibt Dinge, die Sie in Ihrem Land tun dürfen, die ich in meinem nicht tun darf), werde ich sicherlich nicht als zentraler Speicher- und Indexierungs-Gateway fungieren, damit die Leute diese Inhalte finden und verwalten können .

Was die Leute stattdessen dazu bringt, zu Cydia zurückzukehren, ist die Tatsache, dass es als grundlegende Alternative fungiert: Statt zu Apple mit seinen sorgfältig kuratierten zentralisierten Erfahrungen zu gehen, geht man zu Cydia, dem „wilden Westen der Software“, wo Software modifiziert andere Software in einer Art rücksichtsloser Hingabe, die selbst in den bestmöglichen Szenarien zu Schmerzen führen wird und in den schlimmsten möglichen Welten zu Dingen führen wird, die Sie nicht in einem Standard-Repository auflisten können und die Möglicherweise warnt Cydia Sie sogar vor der Installation, Sie sollten aber trotzdem darauf zugreifen und mithilfe der Suchmechanismen von Cydia sogar danach suchen können.

Fehlermeldungen

„Fehler von Cydia kommen nicht von Cydia. Wenn Sie in Cydia eine URL für ein defektes Repository eingeben, wird dieses Repository von geringer Qualität sein und Ihnen Probleme bereiten. Wenn es offline ist, wird Cydia Ihnen mitteilen, dass es offline ist, und wenn es fehlerhaft ist, wird Cydia darüber wütend. Cydia wird einfach untätig herumsitzen, während Ihre Liste eine Menge kaputter und offline Repositorys enthält: Es wird Ihnen alle damit verbundenen Fehler mitteilen, in der Hoffnung, dass Sie die kaputten Repositorys entfernen und mit Ihrem Leben weitermachen (was ja auch so ist). eine sehr treffende Metapher, da die meisten Repositorys von Drittanbietern sehr langsam sind und dazu führen, dass die Aktualisierung sehr, sehr lange dauert.

Abschnitte „Bewerten“ und „Bewerten“.

„Wir haben es tatsächlich versucht, und es war ein kläglicher Fehlschlag: Es musste mehr Zeit für die Moderation der Bewertungen aufgewendet werden, von denen die meisten irreführend, hetzerisch oder völlig unangemessen waren, als irgendjemand von diesem Mechanismus profitierte: Er war sogar noch schlimmer als auf.“ der App Store, der für seine schlechten Bewertungen berüchtigt ist (oft wird ein Paket aus dummen Gründen herabgestuft, wodurch die Daten fürchterlich ungültig werden).

Angesichts dieser Probleme habe ich versucht, eine Vorstellung davon zu entwickeln, wie Kommentare und Bewertungen in Cydia funktionieren könnten, und habe sogar eine Testimplementierung durchgeführt (an manchen Stellen wurden sogar Screenshots verteilt, und ich habe auf einigen Konferenzen Demos gemacht), aber als Wort Als sich herausstellte, dass ich überhaupt darüber nachdachte, es zu veröffentlichen, erhielt ich heftigen Widerstand von einigen der besten Entwickler im Ökosystem – den Leuten, denen man am ehesten supergute Bewertungen geben möchte –, dass sie aufgeben würden, wenn ich damit weitermachen würde auf das Ökosystem, aufgrund der Probleme von früher.

Und um ehrlich zu sein, bin ich mir nicht sicher, ob ich diese Probleme gelöst hätte und hätte anschließend Erfahrungen mit alternativen Produkten gesammelt und mir angesehen, wie die Leute die Bewertungen genutzt haben, was die Leute in den Kommentaren gesagt haben und wie die Dinge schließlich bewertet wurden Ich glaube nicht mehr, dass ich es getan hätte: Ich glaube, dass das Konzept der Standard-„Kommentare und Bewertungen“ ein grundlegend fehlerhaftes System ist, das von Natur aus zu Missbrauch führt.

Nun müssen nicht alle Bewertungssysteme „von der Stange“ sein, daher hoffe ich, dass ich eines Tages etwas wirklich Innovatives und „das Problem tatsächlich lösendes“ für Cydia bereitstellen kann. In der Zwischenzeit gebe ich jedoch immer mein Bestes, um zu vermeiden, dass unser Ökosystem ernsthaft suboptimale Kompromisse eingeht.“

Verbesserte Kompatibilitätslisten

„Cydia bietet seit einiger Zeit zahlreiche Funktionen, die es Repositories ermöglichen würden, bei diesem Problem zu helfen.

  1. ein Mechanismus zum Festlegen der Firmware-Kompatibilität für Pakete (Pakete können von bestimmten Firmware-Revisionen abhängen).
  2. Im Cydia Store können Anbieter Käufe für bestimmte Firmwares blockieren (jedes kostenpflichtige Produkt kann seine Kompatibilität mit seinem Repository registrieren, und ich werde es dann nach Benutzern filtern, die es verwenden können).
  3. Die Firmware-Version wird als Teil des Benutzeragenten an die Webseiten für jedes Produkt gesendet, sodass Entwickler ihre eigenen Warnungen anzeigen können.
  4. Die Kompatibilität kann insbesondere durch Funktionserkennung erreicht werden, sodass Pakete sagen können: „Ich benötige Voiceover-Unterstützung auf einem Gerät mit einer Kamera, auf der eine Armv7-CPU und ein Retina-Bildschirm ausgeführt werden.“

Im Wesentlichen gibt es kaum eine Entschuldigung dafür, dass Pakete, Repositorys, Produkte oder irgendetwas anderes im Cydia-Ökosystem hinsichtlich der Firmware-Kompatibilität schlecht spezifiziert sind. Allerdings enthalten fast keine Pakete im Ökosystem und sogar nur sehr wenige Produkte (bei denen man dies für das Wichtigste halten würde) diese Informationen auf einer dieser Ebenen, was eher enttäuschend ist.

Cydia 1.1 wird also nicht versuchen, einen dieser Mechanismen zu verbessern, da Cydia 1.0 bereits über mehr als genug davon verfügt: Die eigentliche Verantwortung liegt nun bei den Entwicklern und Künstlern bestimmter Elemente.

Entfernung toter Inhalte

„Ich habe keine Kontrolle darüber, welche Inhalte in Cydia verfügbar sind. Ich meine, ich kann es ablehnen, persönlich Geld dafür anzunehmen, aber ich habe fast keine Bedenken gegenüber Dingen, die entweder kostenlos sind oder auf der Website des Entwicklers verkauft werden. Jahrelang habe ich versucht, Repositories dazu zu bringen, veraltete Pakete abzurufen: Sie lehnen ab. Anstatt Einfluss auf mich zu nehmen, der Ihnen zustimmt und machtlos ist, müssen Sie diese Beschwerden an die Standard-Repositories senden: BigBoss, ModMyi und ZodTTD.

Klargestellte Installationsanforderungen

(Tags mit der Aufschrift if Installation von Apps/Optimierungen usw. eine Aktualisierung des Sprungbretts benötigen oder das Gerät neu gestartet werden muss)

„Obwohl dies oft behauptet wird, funktioniert dieser Mechanismus einfach nicht so: Pakete berechnen bei der Installation, ob sie einen Neustart oder ein Neuladen benötigen, wodurch Pakete Optimierungen vornehmen können wie „Ich muss nur neu starten, wenn der Benutzer diese Firmware-Version verwendet und.“ hat dieses andere Paket mit dieser angegebenen Einstellung installiert? Tatsächlich versuchen alle meine Pakete, die solche Funktionen benötigen, diese Optimierungen, und oft sind dadurch nicht so viele Neustarts oder Neuladevorgänge erforderlich.

Daher würde die Angabe als statische Tags für ein Paket die Anzahl der Neustarts erhöhen, die ein Benutzer unnötigerweise durchführen muss. Das heißt, für Pakete, bei denen dies nicht offensichtlich ist (Erweiterungen erfordern ein Neuladen und MobileSubstrate einen Neustart), wie z. B. Fälle von MMS-Clients, die einen Neustart erfordern, sollte es für den Entwickler sicherlich eine bewährte Vorgehensweise sein Geben Sie diese Informationen auf dem Bildschirm mit den Paketinformationen an. Dies ist für den Entwickler/Anbieter sogar einfacher als das Ändern des Pakets und wird selbst dann sehr selten angegeben: Das Hinzufügen des Tags ändert daher nicht einmal die Häufigkeit, mit der es gemeldet wird.

Repo-Management

„In Bezug auf Repositories, die nicht korrekt hinzugefügt wurden, sollte Cydia 1.1, wie von Ryan Petrich angegeben, nicht länger in Situationen geraten, in denen defekte Repositories so unbrauchbar sind, dass sie auch nicht mehr löschbar sind. Allerdings beschweren sich viele Benutzer über Repositorys, die über ein Paket installiert werden: Um diese Repositorys zu löschen, müssen Sie das Paket entfernen, das sie darstellt.

(Aufgrund einiger dieser Komplexitäten sieht die Cydia-Richtlinie vor, dass künftig keine Repositorys mehr über Pakete aus Standard-Repositorys installiert werden können, und die bestehenden unter „Mehr Quellen“ werden auf einen neuen Mechanismus zur Handhabung dieser Repositorys umgestellt, der hinzugefügt wurde, der dies ermöglicht direktere, einfachere und sicherere Manipulation von Repositories mithilfe einer demnächst überarbeiteten Seite „Weitere Quellen“.)“