Cydia 1.1 tilgængelig til download

For et par minutter siden udgav saurik version 1.1 af Cydia, en version, som mange af os venter på, og som saurik har lovet i lang tid. Den nye version af applikationen skulle medføre en masse præstationsforbedringer, men også nogle ændringer med hensyn til applikationens funktionalitet. Du kan installere Cydia 1.1 ved at åbne Cydia-applikationen på din terminal og foretage en opdatering i menuen Ændringer.

Saurik sagde på sin Twitter-konto, at den nye version af Cydia er:

  • evnen til at køre og betjene Activator, libstatusbar og SimulatedKeyEvents, mens Cydia kører
  • en generel hastighedsforbedring, inklusive dialogboksen "Indlæser ændringer".
  • "meget mindre" hukommelsesforbrug
  • en mere avanceret søgemekanisme med en ny relevansalgoritme
  • bedre styring af ødelagte depoter

Multitasking

”Det er simpelthen ikke muligt på nuværende tidspunkt. Jeg er klar over, at alle vil have det, og for helvede: Jeg vil også have det; men alle, der siger, at det er vigtigt, gør det ikke muligt. Grunden til, at Cydia ikke har iOS 4-kompatibel multitasking, er, at for at foretage de ændringer, det foretager til systemet, kører det som "root", en bruger, der har flere tilladelser på systemet end noget andet, hvilket betyder, at SpringBoard , en lav proces, der kører som "mobil", kan ikke suspendere/genoptage den.

Nu er dette noget, der /kan/ kan afhjælpes, og det er noget, jeg har tænkt på, hvordan man gør i lang tid, men alle de åbenlyse måder, folk kan lide at opdrage for at få Cydias GUI til at køre som mobil med kun små dele, der kører som root, ville få Cydia til at køre langsommere, og hastighed er noget, der er primært på alles sind, når de bruger Cydia. Heldigvis er der ting, jeg har fundet ud af, der kan gøre dette mere rimeligt muligt, men bestemt ikke for denne udgivelse."

Lader mobilsubstrat være tændt, når Cydia er åben

"Hvis du gjorde dette, ville du opdage, at dit system pludselig ville blive ubrugeligt. Jeg er klar over, at det lyder godt og uklart, at Mobile Substrate skulle ændre alle applikationer på systemet, inklusive Cydia, men igen: Cydia kører som root. Næsten alle udvidelser i økosystemet er IKKE designet med dette i tankerne, og når du pludselig får root-adgang, begynder du at ødelægge tilladelserne til dine konfigurationsfiler og mediemapper, hvilket gør alle normale applikationer ude af stand til at bruge dem.

Derfor, med denne udgivelse af Cydia, har jeg gennemgået de "store billetelementer" - som ser ud til at komme ned til Activator (det der starter SBSettings), libstatusbar (føjer meddelelseselementer til statuslinjen) og SimulatedKeyEvents (injektion af nøgle begivenheder fra Veency) – for at bekræfte med deres udviklere, at de vil fungere korrekt i et miljø, der kører som root. Disse udvidelser (plus WinterBoard, som ikke virker på root på 4.x, men er harmløse, og vil blive rettet i en fremtidig udgivelse) er, hvad der er tilgængelige inde fra Cydia, indtil Cydia er modificeret til at køre som mobil."

Bedre interface og sikkerhedskopieringsmulighed

"En backup-funktion kræver faktisk ikke at skubbe en ny opbygning af Cydia, men det kræver tid at finde ud af, hvordan man skalerer brugerne til at understøtte den slags belastning, Cydia har. Cydia kører med mange størrelsesordener flere brugere end nogen af ​​sine konkurrenter har, hvilket betyder, at mange ting, som folk kan lide at tænke "burde være enkelt, X gjorde det" faktisk er meget sværere at implementere. Jeg holder også privatlivets fred i højsædet, mens jeg bygger funktioner som denne, og jeg vil være 100 % sikker på, at ingen andre kan få adgang til din liste over installerede produkter end dig.

Hvad angår en "bedre udseende grænseflade", prøver jeg hårdt på at vedligeholde noget, der konkurrerer med Apples produkter. Et par ting rådnede på 4.x (positionerne og størrelserne af nogle knapper), og de forskellige "sorte" grænseflader (den sorte bjælke og den sorte skærm) får blandede rapporter, men ellers er det største problem, brugerne har med Cydia, ikke Cydia : det er med repositories. Hver gang jeg har fået egentlig feedback "denne specifikke ting er dårlig", hvor den ting ikke er noget, som Apple selv gør i deres iTunes- eller App Store-applikationer (som bør tages som den "intuitive model"), er det i områder af grænsefladen, jeg simpelthen ikke har nogen kontrol over: indholdet vist for en pakke af depotet."

Forvirring med udtrykket "Ændringer"

"Måske er jeg skør, men jeg har altid tænkt på ordet "ændringer" for at være meget ikke-nørdet slutbruger betegnelse for "ting, der ændrer sig". Det er bestemt ikke et teknisk udtryk: det blev ikke valgt på grund af et nørdet ønske om at få kodebasen til at matche brugergrænsefladen, og den blev heller ikke valgt fordi den havde en eller anden esoterisk betydning på latin eller græsk. Det blev i stedet valgt, da det var et enkelt ord, der umiddelbart betød for det største antal mennesker, jeg talte med, præcis hvad den side gjorde: viste dig, hvad der ændrede sig. Uanset hvad vil "Nye udgivelser/opdateringer" bestemt ikke passe på en faneetikette."

Speed

"Som med /hver/ udgivelse af Cydia er Cydia 1.1 hurtigere end tidligere udgivelser. Specifikt er den hurtigere end 1.0.3366 med en god margin, som i sig selv var hurtigere end 1.0.3222 med en endnu større kløft. På denne bemærkning er det dog vigtigt at bemærke, at Cydia tackler et hårdt problem: ingen anden applikation, jeg har set på iPhone, fra Apple eller nogen tredjepart, forsøger at søge i indeks og administrere titusindvis af dataelementer, på klienten, i realtid, aggregeret fra brugervalgte kilder.

I modsætning hertil har Cydia noget af den hurtigste teknologi, der findes med hensyn til håndtering af disse data, hvad enten det er brugerdefinerede algoritmer (Cydia inkluderer en lokalitetsbevidst streng sammenligning radix sort, som AFAIK er den hurtigste sorteringsalgoritme i enhver iOS-applikation) eller speciel on-disk datastrukturer (nyt i 1.1 er "Cytore", en ny måde at gemme lokale metadata på pakker, der kan indlæses næsten øjeblikkeligt fra flash; for dem derude, der er teknisk indstillede, er det en hashtable med hukommelseskort på disken , som drastisk slår alternativer, folk kan lide at forsøge at bringe op, såsom SQLite).

Indlæsningstider

"På trods af myter om det modsatte, påvirker mængden af ​​data, der vises på listen Ændringer, ikke drastisk, hvor hurtigt den indlæses. Der /var/ en fejl i mange versioner af Cydia 1.0, der forårsagede, at der var mindst en lille forsinkelse relateret til antallet af elementer på listen, men denne fejl var allerede rettet fra 1.0.3366. Omkostningerne ved beregningen er at bestemme, hvilke poster der overhovedet skal være på listen (og specifikt hvilke der faktisk er opdateringer kontra nye udgivelser), ikke at vise dem alle på én gang. Når det er sagt, flytter Cydia 1.0.3366 indlæsningen af ​​ændringer, indtil du har klikket på fanen, hvilket gør det mere bevis på, hvor meget tid der bruges på denne funktion (som i sig selv er hurtigere på 1.1).

Hukommelsesanvendelse

"På trods af Cydia 1.1 fortsætter med at forsøge at jonglere med titusindvis af genstande i hukommelsen, takket være Cytore, bruger den meget mindre hukommelse end nogensinde før. Andre optimeringer er blevet foretaget, som med enhver version af Cydia, for at reducere hukommelsesforbruget af appen som helhed. Derudover, og i særdeleshed, er Cydia 1.1 meget mere bevidst om hukommelsesadvarsler og forsøger at smide så meget tilstand ud som muligt under disse begivenheder.

Når det er sagt, er mængden af ​​hukommelse på selv rimeligt moderne enheder (alt andet end iPhone 3G), der er tilgængelig til at køre applikationer (ikke i alt, men tilgængelig efter Apples systemapplikationer får deres andel), en størrelsesorden større: hvorimod på en iPhone 3G arbejdede du med måske 20 MB ledig hukommelse, på en iPhone 3G[S] har du 150 MB, og på en iPhone 4 har du 400 MB tilgængelig. Så på trods af, at Cydia 1.1 faktisk har brug for mindre hukommelse for at fungere end Cydia 1.0, er presset på hukommelsen stort set væk, og det vil ikke påvirke fremtidige brugere takket være hardware opgraderinger".

Avanceret søgning

"Desværre er denne enhed simpelthen for langsom til at give "avancerede søgefunktioner", og bestemt ikke forslag, givet begrænsningerne for "fra brugervalgte lagre" "i noget, der ligner realtid". Når det er sagt, har Cydia 1.1 en meget bedre søgemekanisme, inklusive en heltal-aritmetisk radiks-sorteret relevansalgoritme, som jeg formåede at implementere.

Det, der virkelig ville være nødvendigt for at få en virkelig fantastisk søgeoplevelse, er ikke at søge på klienten: at i stedet håndtere det på mine servere. Sådan fungerer produkter som App Store, Kindle eller Netflix: det er slet ikke almindeligt, at tjenester, som brugere er vant til, forsøger at administrere hele databasen /på enheden/, foretager lokal søgning, i stedet for at have data og beregning af det, der findes i offline-indekserede søgestrukturer på en massiv server i skyen.

Desværre er grunden til, at folk bruger Cydia, varieret, og mange mennesker bruger Cydia med depoter, som de ærlig talt ikke burde være: om depotet indeholder software, der er farligt (et nichefællesskab med tweaks, der modtager minimal test, eller bruger dårlig praksis som på -diskfil patching) eller direkte ulovligt (der er ting, du har lov til at gøre i dit land, som jeg ikke kan i mit), vil jeg bestemt ikke fungere som den centraliserede lagrings- og indekseringsgateway for folk til at finde og administrere dette indhold .

Det, der i stedet får folk til at vende tilbage til Cydia, er det faktum, at det fungerer som det grundlæggende alternativ: at i stedet for at gå til Apple, med deres omhyggeligt kurerede sæt af centraliserede oplevelser, går du til Cydia, "softwarens vilde vesten", hvor software ændrer anden software i en slags hensynsløs opgivelse, der vil føre til smerte selv i de bedst mulige scenarier, og i de værst mulige verdener vil føre til ting, som du ikke vil være i stand til at liste på et standardlager, og som Cydia kan endda advare dig om at installere, men som du stadig burde kunne få adgang til og endda søge efter ved hjælp af Cydias søgemekanismer."

Fejlmeddelelser

"Fejl fra Cydia kommer ikke fra Cydia. Hvis du indtaster en URL i Cydia for et ødelagt depot, vil det depot være af lav kvalitet og vil give dig problemer. Hvis den er offline, vil Cydia fortælle dig, at den er offline, og hvis den er misformet, vil Cydia blive vred over det. Cydia kommer simpelthen til at sidde der passivt, mens der er et væld af ødelagte og offline depoter på din liste: den vil fortælle dig alle de involverede fejl i håbet om, at du vil fjerne de ødelagte depoter og komme videre med dit liv (hvilket er en meget passende metafor, da de fleste tredjepartslagre er meget langsomme og får din opfriskningsoplevelse til at tage meget meget meget lang tid)."

Sektionerne "Vurder" og "Anmeld".

"Vi prøvede faktisk dette, og det var en elendig fiasko: Der skulle bruges mere tid på at moderere anmeldelserne, hvoraf de fleste var vildledende, inflammatoriske eller direkte upassende, end nogen fik værdi ud af denne mekanisme: den var endnu værre end på App Store, som er berygtet for dårlige anmeldelser (folk vurderer ofte en pakke af vanvittige årsager, hvilket gør dataene forfærdeligt ugyldige).

I lyset af disse problemer forsøgte jeg at sammensætte en vision om, hvordan kommentarer og vurderinger kunne fungere i Cydia, og lavede endda en prøveimplementering (screenshots blev endda uddelt på nogle punkter, og jeg lavede demoer på et par konferencer), men når ord kom op, at jeg overhovedet overvejede at udgive det, jeg fik stærkt tilbageslag fra nogle af de bedste udviklere i økosystemet – de mennesker, du højst sandsynligt vil give mega-gode anmeldelser til – at hvis jeg fortsatte med det, ville de give op på økosystemet, på grund af problemerne fra før.

Og for at være ærlig er jeg ikke sikker på, at jeg ville have løst disse problemer og givet efterfølgende erfaringer fra alternative produkter, og se på, hvordan folk brugte vurderingerne, hvad folk sagde i kommentarerne, og hvordan tingene endelig blev vurderet, tror ikke længere på, at jeg ville have: Jeg mener, at konceptet med "kommentarer og vurderinger" fra hylden er et fundamentalt mangelfuldt system, der i sagens natur fører til misbrug.

Nu behøver ikke alle klassificeringssystemer at være "hyldevare", så noget virkelig innovativt og "faktisk løser problemet" er, hvad jeg håber en dag at give Cydia. I mellemtiden gør jeg dog altid mit bedste for at undgå at injicere seriøst suboptimale afvejninger i vores økosystem."

Forbedrede kompatibilitetsfortegnelser

"Cydia har i et stykke tid indeholdt adskillige funktioner, der ville gøre det muligt for repositories at hjælpe med dette problem.

  1. en mekanisme til at specificere firmwarekompatibilitet på pakker (pakker kan afhænge: specifikke firmwarerevisioner).
  2. Cydia Store lader leverandører blokere køb for specifikke firmwares (ethvert betalt produkt kan registrere dets kompatibilitet med dets lager, og så vil jeg filtrere det til brugere, der kan bruge det).
  3. firmwareversionen sendes som en del af brugeragenten til websiderne for hvert produkt, hvilket giver udviklere mulighed for at vise deres egne advarsler.
  4. kompatibilitet er endnu mere specielt i stand til at udføres ved funktionsdetektion, hvilket gør det muligt for pakker at sige "Jeg har brug for voiceover-support på en enhed med et kamera, der kører en armv7 CPU og en nethindeskærm".

I bund og grund er der meget lidt undskyldning for, at pakker, depoter, produkter eller noget andet i Cydia-økosystemet er dårligt specificeret med hensyn til firmwarekompatibilitet. Når det er sagt, har næsten ingen pakker i økosystemet, og endda meget få produkter (hvor man kunne forestille sig, at dette er det vigtigste), denne information inkluderet på nogen af ​​disse niveauer, hvilket er ret skuffende.

Så Cydia 1.1 vil ikke forsøge at forbedre nogen af ​​disse mekanismer, da Cydia 1.0 allerede har mere end nok af dem: den reelle byrde påhviler nu udviklerne og kunstnerne af specifikke genstande."

Fjernelse af dødt indhold

"Jeg har ikke nogen kontrol over, hvilket indhold der er tilgængeligt i Cydia. Jeg mener, jeg kan nægte personligt at tage imod penge for det, men jeg har næsten ingen introspektion over ting, der enten er gratis eller sælges på udviklerens hjemmeside. I årevis har jeg forsøgt at få depoter til at trække forældede pakker: de nægter. I stedet for at lobbye mig, som er enig med dig og magtesløs, skal du sende disse klager til standardlagrene: BigBoss, ModMyi og ZodTTD."

Afklarede installationskrav

(Tags, der siger if installation af apps/tweaks osv. har brug for en springbrætopdatering, eller hvis enheden skal genstartes)

"Selvom dette ofte er angivet, er det simpelthen ikke sådan, denne mekanisme fungerer: pakker beregner, om de skal genstarte eller genindlæse, mens de installerer, hvilket giver pakker mulighed for at foretage optimeringer som "Jeg behøver kun at genstarte, hvis brugeren bruger denne firmwareversion og har denne anden pakke installeret med denne indstilling specificeret". Faktisk forsøger alle mine pakker, der har brug for funktioner som denne, disse optimeringer, og ofte behøver du ikke så mange genstarter eller genindlæsninger på grund af det.

At angive dette som statiske tags på en pakke vil derfor øge antallet af genstarter, som en bruger skal udføre unødigt. Når det er sagt, for pakker, hvor det ikke er indlysende (udvidelser vil kræve en genindlæsning, og MobileSubstrate vil kræve en genstart), såsom tilfælde af MMS-klienter, der kræver en genstart, bør det bestemt være bedste praksis for udvikleren at placere disse oplysninger på deres pakkeinformationsskærm. Dette er endnu nemmere for udvikleren/leverandøren end at ændre pakken, og selv da er det meget ualmindeligt specificeret: Tilføjelse af tagget vil derfor ikke engang ændre, hvor ofte det rapporteres."

Repo Management

"Med hensyn til arkiver, der ikke tilføjede korrekt, som nævnt af Ryan Petrich, bør Cydia 1.1 ikke længere ende i situationer, hvor ødelagte arkiver er så ubrugelige, at de også ikke kan slettes. Når det er sagt, klager mange brugere over depoter installeret via en pakke: for at slette disse lagre skal du fjerne pakken, der repræsenterer dem.

(På grund af nogle af disse kompleksiteter er det fremadrettet Cydias politik, at ingen depoter kan installeres fra standardlagre via pakker, og de eksisterende under Flere kilder vil blive overført til en ny mekanisme til håndtering af disse, der er blevet tilføjet, der vil tillade mere direkte, enklere og sikrere manipulation af depoter ved hjælp af en side med flere kilder, som snart skal fornys.)"