In the process of working on InstallerApp, we have extensively investigated how the technology behind Cydia works. Essentially, Cydia is a front-end to two open source technologies – APT and DPKG. DPKG is a system that installs and removes specially prepared packages (.deb files). APT allows these files to be organized in network “repositories” to be indexed and downloaded. Due to the highly unoptimal build of DPKG (as Jay Freeman, the author of Cydia, admits it in his article about Cydia) we had to compile DPKG and the tools needed from scratch. As a result, the same set of tools take only a little over than 1 megabyte as opposed to 32 installed by Cydia.
While testing the best ios development tools, Cydia support for InstallerApp, we of course had to use Jay’s creation a lot. And unfortunately it felt slow, and overloaded. We thought, well, why not make our own front-end to DPKG? It would be compatible with Cydia, but be focused on speed, elegance and be very, very thin. So one of our programmers sat down and made up in a week a new alternative installer that we are proud to reveal to you today, named Icy.
IcyIcy 1.0 is pretty simple, and we plan on keeping it that way. It will only refresh repositories when you tell it to, and will not scroll pages of cool looking terminal text when installing or removing a package. Instead, it presents the installation process in a friendly and cool manner – enhanced with crisp black and white interface featuring icons by quite famous artist Max Rudberg. Icy uses the same DPKG that Cydia does, but without APT that handles downloading of repository indeces and packages – we chose to use a combination of libcurl and sqlite for that.
Icy only downloads headers when refreshing repositories, so it won’t download again the indeces that were not changed – this saves on your traffic and makes the refreshes faster. It will pick up existing Cydia repositories and also will allow you to add more through its Add Source interface.
When we saw that Apple is moving towards supporting landscape mode more in the upcoming 3.0 firmware, we thought – hey, landscape is useful when browsing, too! So Icy supports landscape as well.
Icy will always remain free. Despite what some people may think, we are not blind and we see what tremendious job Jay (saurik) Freeman and community source repository owners (such as The Big Boss, Fabiano Confuorto and others) have done over the past year – and this is our way to say “thank you” to them. We hope you will enjoy the “new kid on the block” – and we have extensive plans on enhancing it in the future versions – for example, 1.1 will have, among other things, a dependency graph for the packages.
This being said, we will be slowly phasing out support of Installer 4 in favor of Icy and soon-to-be-announced Installer 5. Since we’re a commercial entity with over 10 people in staff, we have the dedication and resources to make sure Icy and Installer exist and grow peacefully together with Cydia.
Send in the feedback – it will define what will be added to Icy in the near future.