Cydia 1.1 - saurik kertoo, mitä hän ottaa käyttöön sovelluksen uudessa versiossa

saurik ja hänen tiiminsä ovat työskennelleet Cydia 1.1:n parissa jo jonkin aikaa, ja on mahdollista, että pian iOS 4.3:n liittämättömän jailbreak-ratkaisun julkaisun jälkeen se on ladattavissa. Ryan Petrich, ProSwitcher-tweakin kehittäjä, työskentelee tämän uuden version kehittämisen parissa ja ilmoitti Twitter-tilillään 2 erittäin mielenkiintoista uutista uudesta Cydiasta. Näyttää siltä, ​​​​että meillä on uusi repohallintamoduuli Cydia 1.1:n kautta ja saurik työskentelee menetelmän parissa ratkaistakseen virheet, jotka ilmestyvät ladattaessa tietoja olemassa olevista repoista. Kaikki nämä muutokset ovat Cydia 1.1:ssä, jonka toivon ilmestyvän mahdollisimman pian.

Alla on joitain saurikin selityksiä joihinkin Cydiasta kysyttyihin "yleisimpiin" kysymyksiin.

"""Monitehtävä on pakollinen ja sen puuttuminen on melko säälittävää, varsinkin kun iOS 4 on ollut poissa 8 kuukautta."""

Tämä ei yksinkertaisesti ole mahdollista tällä hetkellä. Ymmärrän, että kaikki haluavat sitä, ja helvetti: minäkin haluan sen; mutta jokainen, joka sanoo sen olevan tärkeää, ei tee sitä mahdolliseksi. Syy siihen, että Cydialla ei ole iOS 4 -yhteensopivaa moniajoa, on se, että järjestelmään tekemiensä muutosten tekemiseksi se toimii root-käyttäjänä, jolla on enemmän oikeuksia järjestelmään kuin millään muulla, mikä tarkoittaa, että SpringBoard , alhainen prosessi, joka toimii "mobiilina", ei voi keskeyttää/jatkaa sitä.

Tämä on jotain, joka /voidaan/ korjata, ja olen miettinyt sen tekemistä pitkään, mutta kaikki ilmeiset tavat, joita ihmiset haluavat tuoda esille, jotta Cydian graafinen käyttöliittymä toimisi mobiilina vain pienillä Pääkäyttäjänä toimivat osat saisivat Cydian toimimaan hitaammin, ja nopeus on ensisijainen asia kaikille Cydiaa käyttäessään. Onneksi olen keksinyt asioita, jotka voivat tehdä tämän järkevämmin mahdolliseksi, mutta ei todellakaan tämän julkaisun osalta.

"""Mahdollisuus jättää liikkuva substraatti päälle Cydiaa käytettäessä. Ymmärrän, että sen tarkoituksena on vähentää sovellusten asennuksen ristiriitoja, mutta pääsy SBSettingsiin on tuskaa, varsinkin kun Cydia ei vielä tee moniajoa! BOO."""

Jos teet tämän, järjestelmästäsi tulee yhtäkkiä käyttökelvoton. Ymmärrän, että kuulostaa hyvältä ja sumealta, että Mobile Substraten pitäisi muokata kaikkia järjestelmän sovelluksia, mukaan lukien Cydia, mutta jälleen kerran: Cydia toimii pääkäyttäjänä. Lähes kaikkia ekosysteemin laajennuksia EI ole suunniteltu tätä ajatellen, ja kun yhtäkkiä annetaan pääkäyttäjän oikeudet, ne alkavat tuhota asetustiedostojesi ja mediakansioidesi käyttöoikeudet, jolloin kaikki normaalit sovellukset eivät pysty käyttämään niitä.

Siksi tämän Cydian julkaisun myötä olen käynyt läpi "isot lippukohteet" – jotka näyttävät liittyvän Activatoriin (joka käynnistää SBSettings-toiminnon), libstatusbarin (lisää ilmoituskohteet tilapalkkiin) ja SimulatedKeyEventsiin (avaimen injektio). Veency-tapahtumat) – varmistaakseen kehittäjiensä kanssa, että ne toimivat oikein pääkäyttäjänä toimivassa ympäristössä. Nämä laajennukset (sekä WinterBoard, joka ei toimi juurissa 4.x:ssä, mutta on vaaraton ja korjataan tulevassa julkaisussa) ovat saatavilla Cydian sisältä, kunnes Cydiaa muutetaan toimimaan mobiilina.

"""En malta odottaa paremman näköistä käyttöliittymää. Ja automaattinen varmuuskopiointitoiminto olisi hieno. Jatka samaan malliin. En malta odottaa, että pääsen näkemään sen"""

Varmuuskopiointitoiminto ei itse asiassa vaadi Cydian uuden koontiversion työntämistä, mutta vaatii aikaa selvittää, kuinka käyttäjät skaalataan tukemaan Cydian kuormitusta. Cydialla on useita suuruusluokkaa enemmän käyttäjiä kuin millään sen kilpailijoilla, mikä tarkoittaa, että monet asiat, joista ihmiset pitävät "pitäisi olla yksinkertaista, X teki sen" ovat itse asiassa paljon vaikeampia toteuttaa. Pidän myös yksityisyyden eturintamassa, kun rakennan tällaisia ​​ominaisuuksia, ja haluan olla 100 % varma, ettei kukaan muu pääse käsiksi asennettujen tuotteiden luetteloon kuin sinä.

Mitä tulee "paremman näköiseen käyttöliittymään", yritän kovasti ylläpitää jotain, joka kilpailee Applen tuotteiden kanssa. Muutama asia mätänee 4.x:ssä (joidenkin painikkeiden sijainnit ja koot), ja erilaiset "mustat" käyttöliittymät (musta palkki ja musta näyttö) saavat ristiriitaisia ​​raportteja, mutta muuten suurin ongelma käyttäjillä Cydian kanssa ei ole Cydia : se on arkistoissa. Joka kerta kun olen saanut varsinaista palautetta "tämä tietty asia on huono", kun se ei ole jotain, mitä Apple itse tekee iTunes- tai App Store -sovelluksissaan (jota pitäisi ottaa "intuitiivisena mallina"), se on käyttöliittymän alueet minulla ei yksinkertaisesti ole minkäänlaista kontrollia: arkiston paketille näyttämään sisältöön.

""" vähemmän nörttitermejä (esimerkiksi miksi "Muutokset", kun niiden pitäisi todella sanoa "uudet julkaisut/päivitykset"?)""

Ehkä olen hullu, mutta olen aina ajatellut sanaa "Muutokset" erittäin epämiellyttävänä loppukäyttäjäterminä "muuttuneelle jutulle". Se ei todellakaan ole tekninen termi: sitä ei valittu nörttisen halun vuoksi saada koodikanta vastaamaan käyttöliittymää, eikä sitä valittu siksi, että sillä oli latinaksi tai kreikaksi jokin esoteerinen merkitys. Se valittiin sen sijaan, koska se oli yksittäinen sana, joka merkitsi välittömästi suurimmalle osalle ihmisiä, joiden kanssa puhuin, juuri sitä, mitä sivu teki: osoitti, mikä muuttui. Siitä huolimatta "Uudet julkaisut/päivitykset" ei varmasti mahdu välilehden otsikkoon.

"""Toivottavasti Cydia 1.1 on paljon nopeampi!"""

Kuten /jokainen/ Cydian julkaisu, Cydia 1.1 on nopeampi kuin aikaisemmat julkaisut. Tarkemmin sanottuna se on nopeampi kuin 1.0.3366 hyvällä marginaalilla, joka itse oli nopeampi kuin 1.0.3222 vielä suuremmalla kuilulla. Tässä yhteydessä on kuitenkin tärkeää huomata, että Cydia ratkaisee vaikean ongelman: mikään muu sovellus, jota olen nähnyt iPhonessa, Applelta tai kolmannelta osapuolelta, ei yritä etsiä indeksiä ja hallita kymmeniä tuhansia tietokohteita, asiakkaalla, reaaliajassa, koottuna käyttäjän valitsemista lähteistä.

Sitä vastoin Cydialla on joitain nopeimmista olemassa olevista tekniikoista näiden tietojen käsittelyssä, olipa kyse sitten mukautetuista algoritmeista (Cydia sisältää aluetietoisen merkkijonovertailuradix-lajittelun, joka AFAIK on nopein lajittelualgoritmi missä tahansa iOS-sovelluksessa) tai erityisiä levyllä olevat tietorakenteet (uutta versiossa 1.1 on "Cytore", uusi tapa tallentaa paikallisia metatietoja paketteihin, jotka voidaan ladata lähes välittömästi flashistä; teknisesti kiinnostuneille se on kiintolevymuistikartoitettu hashtable , joka voittaa jyrkästi vaihtoehdot, joita ihmiset haluavat tuoda esille, kuten SQLite).

"""vähemmän ladattavia tietoja (pitääkö minun todella nähdä kaikki luettelon muutokset kerralla?)"""

Päinvastaisista myyteistä huolimatta Muutokset-luettelossa näkyvän tiedon määrä ei vaikuta dramaattisesti sen latautumisnopeuteen. Monissa Cydia 1.0:n versioissa /oli/ oli virhe, joka aiheutti ainakin pienen viiveen luettelossa olevien kohteiden lukumäärässä, mutta tämä virhe oli jo korjattu 1.0.3366:ssa. Laskelman hinta on se, että päätetään, mitkä merkinnät ylipäänsä pitäisi olla luettelossa (ja erityisesti mitkä ovat todellisia päivityksiä vs. uudet julkaisut), eikä niitä näytetä kaikkia kerralla. Cydia 1.0.3366 kuitenkin siirtää muutosten lataamista siihen asti, kun napsautat välilehteä, mikä tekee selväksi, kuinka paljon aikaa kuluu tähän ominaisuuteen (joka itsessään on jälleen nopeampi versiossa 1.1).

"""Vähemmän muistin käyttöä"""

Huolimatta siitä, että Cydia 1.1 jatkaa yrittäessään jongleerata kymmeniä tuhansia kohteita muistissa, Cytoren ansiosta se käyttää paljon vähemmän muistia kuin koskaan ennen. Muita optimointeja on tehty, kuten kaikissa Cydian versioissa, sovelluksen koko muistinkäytön vähentämiseksi. Lisäksi ja erityisesti Cydia 1.1 on paljon tunnollisempi muistivaroituksista ja yrittää heittää pois niin paljon tilaa kuin mahdollista näiden tapahtumien aikana.

Jopa kohtuullisen nykyaikaisten laitteiden (kaikki iPhone 3G:n jälkeiset) muistin määrä, joka on käytettävissä sovellusten suorittamiseen (ei yhteensä, mutta käytettävissä sen jälkeen, kun Applen järjestelmäsovellukset saavat osuutensa), on suuruusluokkaa suurempi: kun taas iPhonessa 3G:ssä työskentelit ehkä 20 Mt vapaalla muistilla, iPhone 3G[S]:ssa sinulla on 150 Mt ja iPhone 4:ssä 400 Mt. Joten vaikka Cydia 1.1 tarvitsee vähemmän muistia toimiakseen kuin Cydia 1.0, muistiin kohdistuva paine on jokseenkin poissa, eikä se vaikuta tuleviin käyttäjiin laitteistopäivitysten ansiosta.

"""Olen samaa mieltä monien muiden yllä lueteltujen kommenttien kanssa, mutta tärkeintä on mielestäni vakaus, nopeus ja edistyneemmät hakuominaisuudet. Jos joku esimerkiksi kirjoittaa sovelluksen nimen väärin tai haluaa vain kirjoittaa hakusanan, Cydian pitäisi antaa ehdotuksia."""

Valitettavasti tämä laite on yksinkertaisesti liian hidas tarjoamaan "kehittyneitä hakuominaisuuksia" eikä missään nimessä ehdotuksia, kun otetaan huomioon "käyttäjän valitsemista tietovarastoista" "jotain reaaliaikaisesti muistuttava" rajoitus. Cydia 1.1:ssä on kuitenkin paljon parempi hakumekanismi, mukaan lukien kokonaisluku-aritmeettinen kantalukulajiteltu relevanssialgoritmi, jonka onnistuin toteuttamaan.

Todella hämmästyttävän hakukokemuksen saamiseksi todella tarvittaisiin, että et tehdä hakuja asiakkaalla: sen sijaan käsitellä sitä palvelimillani. Näin toimivat tuotteet, kuten App Store, Kindle tai Netflix: ei ole ollenkaan yleistä, että palvelut, joihin käyttäjät ovat tottuneet yrittämään hallita koko tietokantaa /laitteessa/ tekemällä paikallishakuja sen sijaan, että heillä olisi tietoja ja laskenta siitä, joka on olemassa offline-indeksoiduissa hakurakenteissa massiivisessa pilvipalvelimessa.

Valitettavasti syyt, miksi ihmiset käyttävät Cydiaa, vaihtelevat, ja monet ihmiset käyttävät Cydiaa arkistoissa, joita heidän ei suoraan sanoen pitäisi olla: sisältääkö arkisto ohjelmistoja, jotka ovat vaarallisia (niche-yhteisö, jonka parannukset saavat vain vähän testausta, tai huonoja käytäntöjä, kuten -levytiedostojen korjaus) tai suorastaan ​​laitonta (maassasi on asioita, joita en voi omassani tehdä), en todellakaan aio toimia keskitetyn tallennus- ja indeksointiyhdyskäytävänä, jonka avulla ihmiset voivat löytää ja hallita tätä sisältöä. .

Sen sijaan se, mikä saa ihmiset palaamaan Cydiaan, on se, että se toimii perustavanlaatuisena vaihtoehtona: sen sijaan, että siirryt Applelle, heidän huolellisesti kuratoidulla keskitetyllä kokemuksella, Cydiaan, "ohjelmistojen villiin länteen", jossa ohjelmistot muokkaa muita ohjelmistoja tavallaan holtittomalla tavalla
hylkääminen, joka johtaa tuskaan jopa parhaissa mahdollisissa skenaarioissa, ja pahimmissa mahdollisissa maailmoissa johtaa asioihin, joita et voi listata oletusarkistoon ja joiden asentamisesta Cydia saattaa jopa varoittaa, mutta joita sinun pitäisi silti pystyä käyttämään ja jopa etsiä Cydian hakumekanismeja käyttämällä.

"""Lopuksi toivon, että he korjasivat nuo kauheat virheet, cydia antaa sinulle kaiken, kun avaat sen."""

Cydian virheet eivät tule Cydiasta. Jos kirjoitat Cydiaan rikkinäisen arkiston URL-osoitteen, arkisto on heikkolaatuinen ja aiheuttaa sinulle ongelmia. Jos se on offline-tilassa, Cydia kertoo, että se on offline-tilassa, ja jos se on väärin muotoiltu, Cydia suuttuu siitä. Cydia aikoo yksinkertaisesti istua siellä toimettomana, kun luettelossasi on paljon rikkinäisiä ja offline-arkistoja: se kertoo sinulle kaikki virheet, jotka liittyvät siihen toivoen, että poistat rikkinäiset tietovarastot ja jatkat elämääsi (mikä on erittäin osuva metafora, koska useimmat kolmannen osapuolen tietovarastot ovat erittäin hitaita ja saavat päivityskokemuksesi viemään erittäin hyvin kauan).

"""Haluan nähdä arvio- ja arvosteluosion lisättävän kuten sovelluskaupassa."""

Yritimme itse asiassa tätä, ja se oli surkea epäonnistuminen: enemmän aikaa piti käyttää arvostelujen moderointiin, joista suurin osa oli harhaanjohtavia, sytyttäviä tai suorastaan ​​sopimattomia, kuin kukaan sai arvoa tästä mekanismista: se oli vielä pahempaa kuin arvosteluissa. App Store, joka on pahamaineinen huonoista arvosteluista (ihmiset arvostavat usein pakettia järjettömistä syistä, mikä tekee tiedoista hirvittävän virheellisiä).

Näiden ongelmien vuoksi yritin koota näkemyksen siitä, kuinka kommentit ja luokitukset voisivat toimia Cydiassa, ja jopa kokeiluversiota (joissakin kohdissa jaettiin jopa kuvakaappauksia, ja tein demoja muutamissa konferensseissa), mutta kun sana Tuli mieleen, että harkitsin jopa sen julkaisua, sain voimakasta vastustusta ekosysteemin parhailta kehittäjiltä – ihmisiltä, ​​joille todennäköisimmin haluat antaa megahyviä arvosteluja – että jos jatkaisin sillä, he antaisivat periksi. ekosysteemiin aikaisempien ongelmien vuoksi.

Ja ollakseni rehellinen, en ole varma, olisinko ratkaissut nuo ongelmat ja kertonut myöhempiä kokemuksia vaihtoehtoisista tuotteista ja katsoessani kuinka ihmiset käyttivät luokituksia, mitä ihmiset sanoivat kommenteissa ja miten asiat lopulta arvioitiin. En enää usko, että minulla olisi: Uskon, että "kommenttien ja arvioiden" käsite on pohjimmiltaan viallinen järjestelmä, joka johtaa luonnostaan ​​väärinkäyttöön.

Nyt kaikkien luokitusjärjestelmien ei tarvitse olla "valmiita", joten toivon voivani jonain päivänä tarjota Cydialle jotain todella innovatiivista ja "todellisuudessa ongelman ratkaisemista". Sillä välin teen kuitenkin aina parhaani välttääkseni ekosysteemiämme aiheuttamasta vakavasti optimaalista huonompia kompromisseja.

"""On tärkeää, että laite ja iOS-versio ovat kuitenkin mukana, koska yhteensopivuus eroaa niin paljon."""

Olet kuitenkin saarnaamassa täällä kuorolle. Cydia on jonkin aikaa sisältänyt lukuisia ominaisuuksia, joiden avulla tietovarastot voivat auttaa tässä ongelmassa.

1) mekanismi pakettien laiteohjelmiston yhteensopivuuden määrittämiseksi (paketit voivat riippua: tietyt laiteohjelmistoversiot).

2) Cydia Store antaa myyjien estää tiettyjen laiteohjelmistojen ostot (mikä tahansa maksettu tuote voi rekisteröidä yhteensopivuutensa arkiston kanssa, ja sitten suodatan sen käyttäjille, jotka voivat käyttää sitä).

3) laiteohjelmistoversio lähetetään osana käyttäjäagenttia kunkin tuotteen verkkosivuille, jolloin kehittäjät voivat näyttää omia varoituksiaan.

4) Yhteensopivuus on vielä varsinkin mahdollista ominaisuustunnistuksen avulla, jolloin paketit voivat sanoa "Tarvitsen puheensiirtotukea laitteessa, jossa on kamera, jossa on armv7-suoritin ja verkkokalvonäyttö".

Pohjimmiltaan on hyvin vähän tekosyytä sille, että paketit, tietovarastot, tuotteet tai mikään muu Cydia-ekosysteemissä on huonosti määritelty laiteohjelmiston yhteensopivuuden suhteen. Tästä huolimatta lähes missään ekosysteemin pakkauksessa ja jopa hyvin harvoissa tuotteissa (missä tämän voisi kuvitella olevan tärkein) tämä tieto ei sisälly millään näistä tasoista, mikä on melko pettymys.

Joten Cydia 1.1 ei yritä parantaa mitään näistä mekanismeista, koska Cydia 1.0:ssa on niitä jo enemmän kuin tarpeeksi: todellinen vastuu on nyt tiettyjen esineiden kehittäjillä ja taiteilijoilla.

"""Haluaisin myös nähdä paljon kuollutta sisältöä vedettävän"""

En voi hallita Cydiassa saatavilla olevaa sisältöä. Tarkoitan, että voin kieltäytyä ottamasta vastaan ​​rahaa henkilökohtaisesti, mutta minulla ei ole juurikaan itsetutkiskelua asioihin, jotka ovat joko ilmaisia ​​tai joita myydään kehittäjän verkkosivustolla. Olen vuosia yrittänyt saada arkistot vetämään vanhentuneita paketteja: ne kieltäytyvät. Sen sijaan, että lobbaat minua, joka on kanssasi samaa mieltä ja olen voimaton, sinun on lähetettävä nämä valitukset oletustietovarastoihin: BigBoss, ModMyi ja ZodTTD.

"""Tagit, joissa sanotaan, että sovellusten/säätöjen jne. asennus vaatii ponnahduslautapäivityksen tai laitteen on käynnistettävä uudelleen."""

Vaikka näin usein sanotaan, tämä mekanismi ei yksinkertaisesti toimi näin: paketit laskevat, tarvitsevatko ne uudelleenkäynnistyksen tai uudelleenlatauksen asennuksen aikana, jolloin paketit voivat tehdä optimointeja, kuten "Minun täytyy vain käynnistää uudelleen, jos käyttäjä käyttää tätä laiteohjelmistoversiota ja tämä toinen paketti asennettuna tällä asetuksella". Itse asiassa kaikki pakettini, jotka tarvitsevat tämän kaltaisia ​​ominaisuuksia, yrittävät optimoida näitä, ja usein et tarvitse niin monta uudelleenkäynnistystä tai uudelleenlatausta sen vuoksi.

Siksi tämän määrittäminen staattisiksi tunnisteiksi paketissa lisäisi uudelleenkäynnistysten määrää, jotka käyttäjän on suoritettava tarpeettomasti. Paketeissa, joissa se ei kuitenkaan ole ilmeistä (laajennukset vaativat uudelleenlatauksen ja MobileSubstrate uudelleenkäynnistyksen), kuten MMS-asiakkaiden tapauksessa, jotka vaativat uudelleenkäynnistyksen, kehittäjän tulisi ehdottomasti olla paras käytäntö. laittaa nämä tiedot pakettitietonäytölle. Tämä on vielä helpompaa kehittäjälle/toimittajalle kuin paketin muokkaaminen, ja silloinkin se on hyvin harvoin määritelty: tagin lisääminen ei siis muuta edes sitä, kuinka usein se raportoidaan.

"""Vakauden kannalta olisi mukavaa, jos Cydialla olisi ratkaisu repo-ohjelmiin tai sovelluksiin, jotka eivät lisänneet oikein, sen sijaan, että ilmaantuisi loputtomasti virheitä. Pelkästään nämä korjaukset olisivat minulle hyödyllisempiä kuin Cydian ulkoasun uusi suunnittelu tai muut kosmeettiset muutokset."""

Mitä tulee arkistoihin, jotka eivät lisänneet oikein, kuten Ryan Petrich totesi, Cydia 1.1:n ei pitäisi enää päätyä tilanteisiin, joissa rikkinäiset arkistot ovat niin käyttökelvottomia, että niitä ei myöskään voi poistaa. Monet käyttäjät valittavat kuitenkin paketin kautta asennetuista tietovarastoista: poistaaksesi nämä arkistot, sinun on poistettava niitä edustava paketti.

(Joistakin näistä monimutkaisuuksista johtuen Cydian käytäntönä on jatkossa, että mitään arkistoja ei voida asentaa oletustietovarastoista pakettien kautta, ja olemassa olevat More Sources -kohdassa olevat siirretään uuteen käsittelymekanismiin, joka on lisätty, mikä mahdollistaa. suorempaa, yksinkertaisempaa ja turvallisempaa tietovarastojen käsittelyä pian uudistettavan Lisää lähteitä -sivun avulla.)