Cydia 1.1 disponibile per il download

Da pochi minuti saurik ha rilasciato la versione 1.1 di Cydia, una versione che molti di noi stanno aspettando e che saurik promette da tempo. La nuova versione dell'applicazione dovrebbe apportare molti miglioramenti alle prestazioni ma anche alcuni cambiamenti riguardanti la funzionalità dell'applicazione. Puoi installare Cydia 1.1 aprendo l'applicazione Cydia sul tuo terminale ed effettuando un aggiornamento nel menu Modifiche.

Saurik ha detto sul suo account Twitter che la nuova versione di Cydia è:

  • la possibilità di eseguire e utilizzare Activator, libstatusbar e SimulatedKeyEvents mentre Cydia è in esecuzione
  • un miglioramento generale della velocità, inclusa la finestra di dialogo "Caricamento modifiche".
  • utilizzo della memoria "molto inferiore".
  • un meccanismo di ricerca più avanzato con un nuovo algoritmo di pertinenza
  • migliore gestione dei repository danneggiati

Multitasking

"Questo semplicemente non è possibile in questo momento. Mi rendo conto che tutti lo vogliono, e diavolo: lo voglio anch'io; ma tutti quelli che dicono che è importante non lo rendono possibile. Il motivo per cui Cydia non dispone di un multitasking compatibile con iOS 4 è che, per apportare le modifiche al sistema, viene eseguito come "root", un utente che ha più permessi sul sistema di qualsiasi altra cosa, il che significa che SpringBoard , un processo di basso livello eseguito come "mobile", non può sospenderlo/riprenderlo.

Ora, questo è qualcosa a cui /si può/ porre rimedio, ed è qualcosa a cui ho pensato a come fare per molto tempo, ma tutti i modi ovvi che le persone amano menzionare per far funzionare la GUI di Cydia come mobile con solo piccole le parti eseguite come root renderebbero Cydia più lenta e la velocità è qualcosa che è primario nella mente di tutti quando usano Cydia. Fortunatamente, ci sono cose che ho capito che potrebbero renderlo più ragionevolmente possibile, ma certamente non per questa versione."

Lasciare il substrato mobile acceso quando Cydia è aperta

"Se lo facessi, scopriresti che il tuo sistema diventerebbe improvvisamente inutilizzabile. Mi rendo conto che sembra tutto carino e confuso che Mobile Substrate debba modificare tutte le applicazioni sul sistema, inclusa Cydia, ma ancora una volta: Cydia funziona come root. Quasi tutte le estensioni nell'ecosistema NON sono progettate con questo in mente e quando improvvisamente viene concesso l'accesso root iniziano a distruggere le autorizzazioni dei file di configurazione e delle cartelle multimediali, rendendo tutte le normali applicazioni incapaci di utilizzarle.

Pertanto, con questa versione di Cydia, ho esaminato gli "elementi più importanti" che sembrano ridursi a Activator (ciò che avvia SBSettings), libstatusbar (aggiunge elementi di notifica alla barra di stato) e SimulatedKeyEvents (inserimento della chiave events da Veency) – per verificare con i loro sviluppatori che funzioneranno correttamente in un ambiente eseguito come root. Queste estensioni (più WinterBoard, che non funziona su root su 4.x ma è innocuo e verrà corretto in una versione futura) sono ciò che sono disponibili dall'interno di Cydia finché Cydia non verrà modificata per funzionare come dispositivo mobile."

Interfaccia dall'aspetto migliore e opzione di backup

"Una funzione di backup in realtà non richiede l'implementazione di una nuova build di Cydia, ma richiede tempo per capire come scalare gli utenti per supportare il tipo di carico di Cydia. Cydia ha molti ordini di grandezza in più di utenti rispetto a tutti i suoi concorrenti, il che significa che molte cose che alla gente piace pensare "dovrebbero essere semplici, X l'ha fatto" sono in realtà molto più difficili da implementare. Tengo inoltre la privacy in primo piano mentre creo funzionalità come questa e voglio essere sicuro al 100% che nessuno possa accedere al tuo elenco di prodotti installati oltre a te.

Per quanto riguarda una "interfaccia dall'aspetto migliore", faccio del mio meglio per mantenere qualcosa che possa competere con i prodotti Apple. Alcune cose sono marcite su 4.x (le posizioni e le dimensioni di alcuni pulsanti) e le varie interfacce "nere" (la barra nera e lo schermo nero) ricevono rapporti contrastanti, ma per il resto il problema principale che gli utenti hanno con Cydia non è Cydia : è con i repository. Ogni volta che ricevo un feedback effettivo "questa cosa specifica è brutta", laddove quella cosa non è qualcosa che Apple stessa fa nelle sue applicazioni iTunes o App Store (che dovrebbe essere considerata come il "modello intuitivo"), è in aree dell'interfaccia su cui semplicemente non ho alcun controllo: il contenuto mostrato per un pacchetto dal repository.

Confusione con il termine "cambiamenti"

"Forse sono pazzo, ma ho sempre pensato che la parola "Cambiamenti" fosse molto non geek utente finale termine per "cose ​​che cambiano". Certamente non è un termine tecnico: non è stato scelto per qualche geniale desiderio di far corrispondere il codice base all'interfaccia utente, né è stato scelto perché aveva qualche significato esoterico in latino o greco. È stata invece scelta perché era una sola parola che significava immediatamente al maggior numero di persone con cui ho parlato esattamente cosa faceva quella pagina: mostrarti cosa è cambiato. In ogni caso, "Nuove versioni/Aggiornamenti" certamente non entrerà nell'etichetta di una scheda."

Velocità

"Come /ogni/ versione di Cydia, Cydia 1.1 è più veloce delle versioni precedenti. Nello specifico, è più veloce di 1.0.3366 con un buon margine, che a sua volta era più veloce di 1.0.3222 con un abisso ancora più grande. A questo proposito, tuttavia, è importante notare che Cydia sta affrontando un problema difficile: nessun'altra applicazione che ho visto sull'iPhone, di Apple o di terze parti, tenta di indicizzare e gestire decine di migliaia di elementi di dati, sul client, in tempo reale, aggregati da fonti selezionate dall'utente.

Al contrario, Cydia dispone di alcune delle tecnologie più veloci esistenti per quanto riguarda la gestione di questi dati, che si tratti di algoritmi personalizzati (Cydia include un ordinamento digitale per il confronto delle stringhe locale, che AFAIK è l'algoritmo di ordinamento più veloce in qualsiasi applicazione iOS) o speciali strutture dati su disco (la novità della versione 1.1 è "Cytore", un nuovo modo di archiviare metadati locali su pacchetti che possono essere caricati quasi istantaneamente da flash; per coloro che hanno una mentalità tecnica, si tratta di una tabella hash mappata in memoria su disco , che batte drasticamente le alternative che le persone preferiscono provare a proporre, come SQLite).”

Tempi di caricamento

"Nonostante i miti contrari, la quantità di dati visualizzati nell'elenco delle modifiche non influisce drasticamente sulla velocità di caricamento. C'era /c'era/ un bug in molte versioni di Cydia 1.0 che causava almeno un piccolo ritardo relativo al numero di elementi nell'elenco, ma questo bug era già stato corretto a partire dalla versione 1.0.3366. Il costo del calcolo è decidere quali voci dovrebbero essere nell'elenco (e in particolare quali sono effettivamente aggiornamenti e quali nuove versioni), non visualizzarle tutte in una volta. Detto questo, Cydia 1.0.3366 sposta il caricamento delle modifiche fino a dopo aver fatto clic sulla scheda, il che rende più evidente quanto tempo viene dedicato a questa funzionalità (che di per sé è, ancora una volta, più veloce sulla 1.1)."

Utilizzo della memoria

"Nonostante Cydia 1.1 continui a tentare di destreggiarsi tra decine di migliaia di elementi in memoria, grazie a Cytore utilizza molta meno memoria che mai. Sono state apportate altre ottimizzazioni, come per ogni versione di Cydia, al fine di ridurre l'utilizzo della memoria dell'app nel suo complesso. Inoltre, e in particolare, Cydia 1.1 è molto più scrupoloso riguardo agli avvisi di memoria e tenta di eliminare quanto più stato possibile durante questi eventi.

Detto questo, la quantità di memoria disponibile per l'esecuzione di applicazioni anche su dispositivi ragionevolmente moderni (qualsiasi cosa oltre l'iPhone 3G) (non in totale, ma disponibile dopo che le applicazioni di sistema di Apple avranno ottenuto la loro parte), è un ordine di grandezza maggiore: mentre su un iPhone In 3G stavi lavorando con forse 20 MB di memoria disponibile, su un iPhone 3G[S] hai 150 MB e su un iPhone 4 hai 400 MB disponibili. Quindi, nonostante Cydia 1.1 abbia effettivamente bisogno di meno memoria per funzionare rispetto a Cydia 1.0, la pressione sulla memoria è praticamente scomparsa e non influenzerà i futuri utenti grazie all'hardware Upgrades. "

Ricerca avanzata

"Sfortunatamente, questo dispositivo è semplicemente troppo lento per fornire "capacità di ricerca avanzate", e certamente non suggerimenti, dati i vincoli di "da archivi selezionati dall'utente" "in qualcosa di simile al tempo reale". Detto questo, Cydia 1.1 ha un meccanismo di ricerca molto migliore, incluso un algoritmo di pertinenza ordinato per radice con aritmetica intera che sono riuscito a implementare.

Ciò che sarebbe davvero necessario per avere un'esperienza di ricerca davvero straordinaria non è eseguire la ricerca sul client: gestirla invece sui miei server. Prodotti come App Store, Kindle o Netflix funzionano così: non è affatto comune che i servizi a cui sono abituati gli utenti cerchino di gestire l'intero database /sul dispositivo/, facendo ricerche locali, invece di avere i dati e calcolo per quello esistente nelle strutture di ricerca indicizzate offline su un enorme server nel cloud.

Sfortunatamente, i motivi per cui le persone usano Cydia sono vari, e molte persone usano Cydia con repository che francamente non dovrebbero essere: se il repository contiene software pericoloso (una comunità di nicchia con modifiche che ricevono test minimi, o usando cattive pratiche come su -patch ai file su disco) o addirittura illegale (ci sono cose che puoi fare nel tuo paese e che io non posso fare nel mio), certamente non agirò come gateway di archiviazione e indicizzazione centralizzato per consentire alle persone di trovare e gestire questo contenuto .

Invece, ciò che spinge le persone a tornare a Cydia è il fatto che funge da alternativa fondamentale: piuttosto che andare ad Apple, con il suo insieme attentamente curato di esperienze centralizzate, si va a Cydia, "il selvaggio west del software", dove il software modifica altri software in una sorta di abbandono sconsiderato che porterà dolore anche nei migliori scenari possibili, e nei peggiori mondi possibili porterà a cose che non sarai in grado di elencare in un repository predefinito e che Cydia potrebbe anche avvisarti dell'installazione, ma a cui dovresti comunque essere in grado di accedere e persino cercare utilizzando i meccanismi di ricerca di Cydia."

Messaggi di errore

"Gli errori di Cydia non provengono da Cydia. Se digiti un URL in Cydia per un repository danneggiato, quel repository sarà di bassa qualità e ti causerà problemi. Se è offline, Cydia ti dirà che è offline, e se è malformato Cydia si arrabbierà per questo. Cydia resterà semplicemente seduta lì pigramente mentre ci sono un sacco di repository non funzionanti e offline nella tua lista: ti dirà tutti gli errori coinvolti nella speranza che tu rimuova i repository non funzionanti e vada avanti con la tua vita (che è una metafora molto appropriata, poiché la maggior parte dei repository di terze parti sono molto lenti e fanno sì che l'esperienza di aggiornamento richieda molto, molto tempo)."

Sezioni "Valutazione" e "Recensione".

"In realtà ci abbiamo provato, ed è stato un miserabile fallimento: è stato necessario dedicare più tempo a moderare le recensioni, la maggior parte delle quali erano fuorvianti, provocatorie o del tutto inappropriate, di quanto chiunque potesse trarre valore da questo meccanismo: era anche peggio che su l'App Store, noto per le recensioni negative (le persone spesso valutano un pacchetto per ragioni inutili, rendendo i dati terribilmente non validi).

Dati questi problemi, ho tentato di mettere insieme una visione di come commenti e valutazioni avrebbero potuto funzionare in Cydia, e ho anche fatto un'implementazione di prova (in alcuni punti sono stati distribuiti anche degli screenshot, e ho fatto delle demo in alcune conferenze), ma quando si è sparsa la voce è venuto fuori che stavo addirittura pensando di rilasciarlo, ho ricevuto forti resistenze da alcuni dei migliori sviluppatori dell'ecosistema (le persone a cui è più probabile che vorrai dare ottime recensioni) che se avessi continuato si sarebbero arresi sull’ecosistema, a causa dei problemi di prima.

E, a dire il vero, non sono sicuro che avrei risolto quei problemi, e viste le esperienze successive con prodotti alternativi e guardando come le persone hanno utilizzato le valutazioni, cosa hanno detto nei commenti e come le cose alla fine sono state valutate, ho non credo più che l'avrei fatto: credo che il concetto di "commenti e valutazioni" standard sia un sistema fondamentalmente difettoso che porta intrinsecamente all'abuso.

Ora, non tutti i sistemi di classificazione devono essere "pronti all'uso", quindi qualcosa di veramente innovativo e che "risolva effettivamente il problema" è ciò che spero di fornire un giorno a Cydia. Nel frattempo, però, faccio sempre del mio meglio per evitare di introdurre compromessi seriamente non ottimali nel nostro ecosistema."

Elenchi di compatibilità migliorati

"Cydia contiene, da un po', numerose funzionalità che consentirebbero ai repository di risolvere questo problema.

  1. un meccanismo per specificare la compatibilità del firmware sui pacchetti (i pacchetti possono dipendere: revisioni firmware specifiche).
  2. il Cydia Store consente ai fornitori di bloccare gli acquisti per firmware specifici (qualsiasi prodotto a pagamento può registrare la sua compatibilità con il suo repository, quindi lo filtrerò per gli utenti che possono utilizzarlo).
  3. la versione del firmware viene inviata come parte dello user-agent alle pagine web di ciascun prodotto, consentendo agli sviluppatori di visualizzare i propri avvisi.
  4. la compatibilità può essere effettuata ancora di più in particolare tramite il rilevamento delle funzionalità, consentendo ai pacchetti di dire "Ho bisogno del supporto per la voce fuori campo su un dispositivo con una fotocamera che esegue una CPU armv7 e uno schermo Retina".

In sostanza, ci sono pochissime scuse per cui pacchetti, repository, prodotti o qualsiasi altra cosa nell'ecosistema Cydia siano scarsamente specificati in termini di compatibilità del firmware. Detto questo, quasi nessun pacchetto nell’ecosistema, e anche pochissimi prodotti (dove si potrebbe immaginare che questo sia il più importante), include queste informazioni a uno qualsiasi di questi livelli, il che è piuttosto deludente.

Quindi, Cydia 1.1 non tenterà di migliorare nessuno di questi meccanismi, dato che Cydia 1.0 ne ha già più che sufficienti: il vero onere ora ricade sugli sviluppatori e sugli artisti di elementi specifici."

Rimozione di contenuti obsoleti

"Non ho alcun controllo su quali contenuti siano disponibili in Cydia. Voglio dire, posso rifiutarmi personalmente di accettare denaro per questo, ma non ho quasi alcuna introspezione su cose che sono gratuite o vendute sul sito web dello sviluppatore. Per anni ho tentato di convincere i repository a estrarre pacchetti obsoleti: si rifiutano. Invece di fare pressione su di me, che sono d'accordo con te ed è impotente, devi inviare questi reclami ai repository predefiniti: BigBoss, ModMyi e ZodTTD."

Requisiti di installazione chiariti

(I tag dicono se installazione di app/tweak, ecc. è necessario un aggiornamento del trampolino di lancio o se è necessario riavviare il dispositivo)

"Anche se questo viene spesso affermato, semplicemente non è così che funziona questo meccanismo: i pacchetti calcolano se hanno bisogno di un riavvio o di un ricaricamento durante l'installazione, consentendo ai pacchetti di apportare ottimizzazioni come "Devo riavviare solo se l'utente sta utilizzando questa versione del firmware e ha quest'altro pacchetto installato con questa impostazione specificata". In effetti, tutti i miei pacchetti che necessitano di funzionalità come questa tentano queste ottimizzazioni e spesso non avrai bisogno di tanti riavvii o ricariche per questo motivo.

Pertanto, specificarlo come tag statici su un pacchetto aumenterebbe il numero di riavvii che un utente deve eseguire inutilmente. Detto questo, per i pacchetti in cui non è ovvio (le estensioni richiederanno un ricaricamento e MobileSubstrate richiederà un riavvio), come i casi di client MMS che richiedono un riavvio, dovrebbe certamente essere la migliore pratica per lo sviluppatore inserire queste informazioni nella schermata delle informazioni sul pacchetto. Questo è ancora più semplice per lo sviluppatore/fornitore rispetto alla modifica del pacchetto, e anche in questo caso è specificato molto raramente: l'aggiunta del tag quindi non cambierà nemmeno la frequenza con cui viene segnalato."

Gestione dei pronti contro termine

"Per quanto riguarda i repository che non sono stati aggiunti correttamente, come affermato da Ryan Petrich, Cydia 1.1 non dovrebbe più finire in situazioni in cui i repository danneggiati sono così inutilizzabili da essere anche incancellabili. Detto questo, molti utenti si lamentano dei repository installati tramite un pacchetto: per eliminare questi repository sarà necessario rimuovere il pacchetto che li rappresenta.

(A causa di alcune di queste complessità, la politica di Cydia per il futuro prevede che nessun repository sarà installabile dai repository predefiniti tramite pacchetti, e quelli esistenti in More Sources verranno trasferiti a un nuovo meccanismo per la gestione di questi che è stato aggiunto che consentirà manipolazione più diretta, più semplice e più sicura dei repository utilizzando una pagina Altre fonti che sarà presto rinnovata.)"