Cydia 1.1 disponible para descargar

Hace unos minutos saurik lanzó la versión 1.1 de Cydia, una versión que muchos estamos esperando y que saurik promete desde hace tiempo. La nueva versión de la aplicación debería traer muchas mejoras de rendimiento pero también algunos cambios con respecto a la funcionalidad de la aplicación. Puede instalar Cydia 1.1 abriendo la aplicación Cydia en su terminal y actualizando el menú Cambios.

Saurik dijo en su cuenta de Twitter que la nueva versión de Cydia es:

  • la capacidad de ejecutar y operar Activator, libstatusbar y SimulatedKeyEvents mientras Cydia se está ejecutando
  • una mejora general de la velocidad, incluido el cuadro de diálogo "Cargando cambios"
  • "mucho menos" uso de memoria
  • un mecanismo de búsqueda más avanzado con un nuevo algoritmo de relevancia
  • mejor gestión de repositorios rotos

Hacer múltiples tareas

"Esto simplemente no es posible en este momento. Me doy cuenta de que todo el mundo lo quiere, y diablos: yo también lo quiero; pero que todo el mundo diga que es importante no lo hace posible. La razón por la que Cydia no tiene multitarea compatible con iOS 4 es que, para realizar las modificaciones que realiza en el sistema, se ejecuta como "root", un usuario que tiene más permisos en el sistema que cualquier otra cosa, lo que significa que SpringBoard , un proceso humilde que se ejecuta como "móvil", no puede suspenderlo ni reanudarlo.

Ahora, esto es algo que /puede/ remediarse, y es algo que he estado pensando en cómo hacer durante mucho tiempo, pero todas las formas obvias que a la gente le gusta mencionar para hacer que la GUI de Cydia se ejecute en dispositivos móviles con sólo pequeñas las partes que se ejecutan como root harían que Cydia funcione más lento, y la velocidad es algo que es primordial en la mente de todos cuando usan Cydia. Por suerte, hay cosas que he descubierto que pueden hacer que esto sea más razonablemente posible, pero ciertamente no para esta versión".

Dejar el sustrato móvil encendido cuando Cydia está abierto

"Si hicieras esto, descubrirías que tu sistema de repente quedaría inutilizable. Me doy cuenta de que suena agradable y confuso que Mobile Substrate deba modificar todas las aplicaciones del sistema, incluida Cydia, pero nuevamente: Cydia se ejecuta como root. Casi todas las extensiones en el ecosistema NO están diseñadas con esto en mente, y cuando de repente se les otorga acceso root, comienzan a destruir los permisos de sus archivos de configuración y carpetas de Medios, haciendo que todas las aplicaciones normales no puedan usarlos.

Por lo tanto, con esta versión de Cydia, revisé los "elementos más importantes", que parecen reducirse a Activator (lo que inicia SBSettings), libstatusbar (agrega elementos de notificación a la barra de estado) y SimulatedKeyEvents (inyección de claves). eventos de Veency)–para verificar con sus desarrolladores que funcionarán correctamente en un entorno que se ejecuta como root. Estas extensiones (más WinterBoard, que no funciona en root en 4.x pero es inofensivo y se solucionará en una versión futura) son las que están disponibles desde dentro de Cydia hasta que Cydia se modifique para ejecutarse en dispositivos móviles".

Interfaz más atractiva y opción de copia de seguridad

"Una función de respaldo en realidad no requiere impulsar una nueva versión de Cydia, pero requiere tiempo para descubrir cómo escalar los usuarios para soportar el tipo de carga que tiene Cydia. Cydia tiene muchos órdenes de magnitud más usuarios que cualquiera de sus competidores, lo que significa que muchas cosas que a la gente le gusta pensar "deberían ser simples, X lo hizo" son en realidad mucho más difíciles de implementar. También mantengo la privacidad en primer plano mientras creo funciones como esta, y quiero estar 100% seguro de que nadie más que usted pueda acceder a su lista de productos instalados.

En cuanto a una "interfaz más atractiva", me esfuerzo por mantener algo que compita con los productos de Apple. Algunas cosas se pudrieron en 4.x (las posiciones y tamaños de algunos botones) y las diversas interfaces "negras" (la barra negra y la pantalla negra) reciben informes mixtos, pero por lo demás, el principal problema que tienen los usuarios con Cydia no es Cydia. : es con repositorios. Cada vez que recibo comentarios reales sobre "esta cosa específica es mala", donde esa cosa no es algo que Apple hace en sus aplicaciones iTunes o App Store (que debe tomarse como el "modelo intuitivo"), es en áreas de la interfaz sobre las que simplemente no tengo ningún control: el contenido que el repositorio muestra para un paquete”.

Confusión con el término "cambios"

"Tal vez estoy loco, pero siempre pensé que la palabra "Cambios" no era nada geek. usuario final término para "cosas que cambian". Ciertamente no es un término técnico: no fue elegido por algún deseo geek de que el código base coincida con la interfaz de usuario, ni tampoco fue elegido porque tuviera algún significado esotérico en latín o griego. En cambio, se eligió porque era una sola palabra que inmediatamente significaba para la mayor cantidad de personas con las que hablé exactamente lo que hacía esa página: mostrarles lo que cambió. De todos modos, "Nuevos lanzamientos/actualizaciones" ciertamente no caben en una etiqueta de pestaña".

Velocidad

"Al igual que con todas las versiones de Cydia, Cydia 1.1 es más rápida que las versiones anteriores. Específicamente, es más rápido que 1.0.3366 por un buen margen, que a su vez era más rápido que 1.0.3222 por un abismo aún mayor. En este sentido, sin embargo, es importante señalar que Cydia está abordando un problema difícil: ninguna otra aplicación que he visto en el iPhone, de Apple o de terceros, intenta buscar, indexar y administrar decenas de miles de elementos de datos. en el cliente, en tiempo real, agregados a partir de fuentes seleccionadas por el usuario.

Por el contrario, Cydia tiene algunas de las tecnologías más rápidas que existen con respecto al manejo de estos datos, ya sean algoritmos personalizados (Cydia incluye una clasificación de base de comparación de cadenas con reconocimiento regional, que AFAIK es el algoritmo de clasificación más rápido en cualquier aplicación de iOS) o especiales. estructuras de datos en disco (lo nuevo en 1.1 es "Cytore", una nueva forma de almacenar metadatos locales en paquetes que se pueden cargar casi instantáneamente desde flash; para aquellos que tienen una mentalidad técnica, es una tabla hash asignada en memoria en disco , que supera drásticamente a las alternativas que a la gente le gusta intentar plantear, como SQLite).

Tiempos de carga

"A pesar de los mitos que dicen lo contrario, la cantidad de datos que se muestran en la lista de cambios no afecta drásticamente la rapidez con la que se carga. Hubo /hubo/ un error en muchas versiones de Cydia 1.0 que provocó que hubiera al menos un pequeño retraso relacionado con la cantidad de elementos en la lista, pero este error ya se solucionó a partir de la 1.0.3366. El costo del cálculo es decidir qué entradas deberían estar en la lista (y específicamente cuáles son en realidad actualizaciones versus nuevas versiones), no mostrarlas todas a la vez. Dicho esto, Cydia 1.0.3366 mueve la carga de cambios hasta después de hacer clic en la pestaña, lo que hace que sea más evidente cuánto tiempo se dedica a esta función (que a su vez es, nuevamente, más rápida en 1.1)".

Uso de la memoria

"A pesar de que Cydia 1.1 continúa intentando hacer malabarismos con decenas de miles de elementos en la memoria, gracias a Cytore, utiliza mucha menos memoria que nunca. Se han realizado otras optimizaciones, como ocurre con todas las versiones de Cydia, para reducir el uso de memoria de la aplicación en su conjunto. Además, y en particular, Cydia 1.1 es mucho más consciente de las advertencias de memoria e intenta eliminar la mayor cantidad de estado posible durante estos eventos.

Dicho esto, la cantidad de memoria disponible incluso en dispositivos razonablemente modernos (cualquier cosa más allá del iPhone 3G) para ejecutar aplicaciones (no en total, pero disponible después de que las aplicaciones del sistema de Apple obtengan su parte) es un orden de magnitud mayor: mientras que en un iPhone En 3G estabas trabajando con quizás 20 MB de memoria disponible, en un iPhone 3G[S] tienes 150 MB y en un iPhone 4 tienes 400 MB disponibles. Entonces, a pesar de que Cydia 1.1 en realidad necesita menos memoria para funcionar que Cydia 1.0, la presión sobre la memoria prácticamente ha desaparecido y no afectará a futuros usuarios gracias al hardware. actualizaciones."

Búsqueda Avanzada

"Desafortunadamente, este dispositivo es simplemente demasiado lento para proporcionar "capacidades de búsqueda avanzadas" y ciertamente no sugerencias, dadas las limitaciones de "de repositorios seleccionados por el usuario" "en algo parecido al tiempo real". Dicho esto, Cydia 1.1 tiene un mecanismo de búsqueda mucho mejor, incluido un algoritmo de relevancia ordenado por base aritmética entera que logré implementar.

Lo que realmente se necesitaría para tener una experiencia de búsqueda realmente sorprendente es no realizar búsquedas en el cliente, sino manejarlas en mis servidores. Así funcionan productos como App Store, Kindle o Netflix: no es nada habitual que servicios a los que estamos acostumbrados intenten gestionar toda la base de datos /en el dispositivo/, haciendo búsquedas locales, en lugar de tener los datos y cálculo de lo existente en estructuras de búsqueda indexadas fuera de línea en un servidor masivo en la nube.

Desafortunadamente, las razones por las que la gente usa Cydia son variadas, y muchas personas usan Cydia con repositorios que francamente no deberían: si el repositorio contiene software que es peligroso (una comunidad de nicho con ajustes que reciben pruebas mínimas, o usando malas prácticas como en -parche de archivos de disco) o completamente ilegal (hay cosas que puedes hacer en tu país que yo no puedo hacer en el mío), ciertamente no voy a actuar como puerta de enlace de indexación y almacenamiento centralizado para que las personas encuentren y administren este contenido. .

En cambio, lo que hace que la gente vuelva a Cydia es el hecho de que actúa como la alternativa fundamental: que en lugar de ir a Apple, con su conjunto cuidadosamente seleccionado de experiencias centralizadas, se va a Cydia, "el salvaje oeste del software", donde el software modifica otro software en una especie de abandono imprudente que causará dolor incluso en los mejores escenarios posibles, y en los peores mundos posibles conducirá a cosas que no podrá enumerar en un repositorio predeterminado, y que Cydia puede incluso advertirte sobre la instalación, pero aún deberías poder acceder e incluso buscar usando los mecanismos de búsqueda de Cydia".

Mensajes de error

"Los errores de Cydia no vienen de Cydia. Si escribe una URL en Cydia para un repositorio roto, ese repositorio será de baja calidad y le causará problemas. Si está desconectado, Cydia le dirá que está desconectado, y si tiene un formato incorrecto, Cydia se enojará por eso. Cydia simplemente se quedará sentada sin hacer nada mientras hay un montón de repositorios rotos y fuera de línea en tu lista: te dirá todos los errores involucrados con la esperanza de que elimines los repositorios rotos y sigas con tu vida (que es una metáfora muy adecuada, ya que la mayoría de los repositorios de terceros son muy lentos y hacen que la experiencia de actualización tarde muchísimo tiempo).

Secciones "Calificar" y "Revisar"

"De hecho, intentamos esto, y fue un fracaso miserable: hubo que dedicar más tiempo a moderar las revisiones, la mayoría de las cuales eran engañosas, incendiarias o francamente inapropiadas, del que nadie obtuvo valor de este mecanismo: fue incluso peor que en la App Store, que es conocida por sus malas críticas (la gente a menudo baja la calificación de un paquete por razones tontas, lo que hace que los datos sean terriblemente inválidos).

Teniendo en cuenta estos problemas, intenté armar una visión de cómo podrían funcionar los comentarios y calificaciones en Cydia, e incluso hice una implementación de prueba (incluso se repartieron capturas de pantalla en algunos puntos, e hice demostraciones en algunas conferencias), pero cuando Cuando surgió que incluso estaba considerando lanzarlo, recibí un fuerte rechazo de algunos de los mejores desarrolladores del ecosistema (las personas a las que es más probable que quieras darles críticas muy buenas) que si continuaba con eso se darían por vencidos. en el ecosistema, debido a los problemas de antes.

Y, para ser honesto, no estoy seguro de haber resuelto esos problemas, y teniendo en cuenta las experiencias posteriores con productos alternativos, y al observar cómo la gente usó las calificaciones, lo que dijo en los comentarios y cómo finalmente se calificaron las cosas, creo que Ya no creo que lo hubiera hecho: creo que el concepto de "comentarios y calificaciones" disponibles en el mercado es un sistema fundamentalmente defectuoso que conduce inherentemente al abuso.

Ahora bien, no todos los sistemas de clasificación necesitan estar "listos para usar", por lo que algo verdaderamente innovador y que "realmente resuelva el problema" es lo que espero algún día brindarle a Cydia. Mientras tanto, sin embargo, siempre hago todo lo posible para evitar inyectar compensaciones seriamente subóptimas en nuestro ecosistema".

Listados de compatibilidad mejorados

"Cydia, desde hace un tiempo, contiene numerosas funciones que permitirían a los repositorios ayudar con este problema.

  1. un mecanismo para especificar la compatibilidad del firmware en los paquetes (los paquetes pueden depender de: revisiones de firmware específicas).
  2. Cydia Store permite a los proveedores bloquear compras de firmwares específicos (cualquier producto pago puede registrar su compatibilidad con su repositorio y luego lo filtraré para los usuarios que pueden usarlo).
  3. La versión del firmware se envía como parte del agente de usuario a las páginas web de cada producto, lo que permite a los desarrolladores mostrar sus propias advertencias.
  4. la compatibilidad se puede lograr aún más mediante la detección de funciones, lo que permite que los paquetes digan "Necesito soporte de voz en off en un dispositivo con una cámara que ejecuta una CPU armv7 y una pantalla retina".

En esencia, hay muy pocas excusas para que paquetes, repositorios, productos o cualquier otra cosa en el ecosistema de Cydia estén mal especificados en términos de compatibilidad de firmware. Dicho esto, casi ningún paquete en el ecosistema, e incluso muy pocos productos (donde uno podría imaginar que esto es el más importante), tienen esta información incluida en cualquiera de estos niveles, lo cual es bastante decepcionante.

Por lo tanto, Cydia 1.1 no intentará mejorar ninguno de estos mecanismos, ya que Cydia 1.0 ya tiene más que suficientes: la verdadera responsabilidad ahora recae en los desarrolladores y artistas de elementos específicos".

Eliminación de contenido muerto

"No tengo ningún control sobre el contenido que está disponible en Cydia. Quiero decir, puedo negarme a aceptar dinero personalmente por ello, pero casi no tengo ninguna introspección sobre las cosas que son gratuitas o se venden en el sitio web del desarrollador. Durante años he intentado que los repositorios extraigan paquetes obsoletos: se niegan. En lugar de presionarme, que está de acuerdo contigo y no tiene poder, debes enviar estas quejas a los repositorios predeterminados: BigBoss, ModMyi y ZodTTD".

Requisitos de instalación aclarados

(Etiquetas que dicen si instalación de aplicaciones/ajustes, etc. necesita una actualización de trampolín o si el dispositivo necesita reiniciarse)

"Si bien esto se dice a menudo, simplemente no es así como funciona este mecanismo: los paquetes calculan si necesitan reiniciar o recargar a medida que se instalan, lo que permite que los paquetes realicen optimizaciones como "Solo necesito reiniciar si el usuario está usando esta versión de firmware y tiene este otro paquete instalado con esta configuración especificada". De hecho, todos mis paquetes que necesitan funciones como esta intentan estas optimizaciones y, a menudo, no necesitarás tantos reinicios o recargas debido a ello.

Por lo tanto, especificar esto como etiquetas estáticas en un paquete aumentaría la cantidad de reinicios que un usuario debe realizar innecesariamente. Dicho esto, para los paquetes en los que no es obvio (las extensiones requerirán una recarga y MobileSubstrate requerirá un reinicio), como los casos de clientes MMS que requieren un reinicio, sin duda debería ser una buena práctica que el desarrollador coloque esta información en la pantalla de información de su paquete. Esto es incluso más fácil para el desarrollador/proveedor que modificar el paquete, y aun así se especifica de manera muy poco común: agregar la etiqueta, por lo tanto, ni siquiera cambiará la frecuencia con la que se informa".

Gestión de repositorios

"Con respecto a los repositorios que no se agregaron correctamente, como afirmó Ryan Petrich, Cydia 1.1 ya no debería terminar en situaciones en las que los repositorios rotos sean tan inutilizables que tampoco se puedan eliminar. Dicho esto, muchos usuarios se quejan de los repositorios instalados mediante un paquete: para eliminar estos repositorios necesitarás eliminar el paquete que los representa.

(Debido a algunas de estas complejidades, la política de Cydia en el futuro es que no se podrán instalar repositorios desde los repositorios predeterminados a través de paquetes, y los existentes en Más fuentes pasarán a un nuevo mecanismo para manejarlos que se ha agregado y que permitirá manipulación más directa, más simple y más segura de los repositorios utilizando una página Más fuentes que próximamente será renovada.)"