The Problem With The Bundles Method

The Bundles method of packaging a theme has always been the one and only traditional method, which involves a long and complicated process of having an individual folder for each app, filled with images. These folders can contain anywhere between 1 to 10+ images, each with a different name, size and suffix (@2x, @3x, 120, 152 etc.). As you can imagine this can become a long process especially when there’s at least 100+ applications to theme. To even find these image names, sizes and suffixes for each application, it involves a tedious amount of work, one of which is manually using iFile to look through each applications directory and locate all the corresponding images.

When you have these images (whether you’ve decided to note down the information or just send the images to yourself in an email) and you have your icon designs created, you will then have to replace every single image correctly in that applications folder for your theme, making sure each of them is sized and named correctly otherwise the icon will not theme properly (although recently it has been discovered that you can use all 180x180 images as long as they are still named correctly).

After all that work, the finished product is still prone to failing and your efforts will have gone to waste. This happens when an application is updated (which happens all the time) and sometimes with the update, the developer decides to change some of the image names and because of this, the image names you used in your theme before, will no longer work and the icon will not theme unless you manually update the names properly. As a result, this can be annoying and tiring especially when you have 100+ applications to keep track of (and dozens/hundred of unhappy customers when an application doesn’t theme).

So what can we do about these problems?

Luckily a man named Nick Frey created IconBundles, a free add-on to Winterboard. I may not know the ins and outs of how it works on the technical side, but I am however, well informed of how to use it and how it is beneficial to you. To begin with, all the things I listed in the first and second paragraph are now redundant, you don’t need multiple folders with multiple images that have to be accurately named. Now you just need one image PER application, sized at either 120x120 for iPhones 4–6, 180x180 for iPhone 6 Plus or 152x152 for iPads. I should stress that for iPhones 4–6 (so @2x images), they NEED to be 120x120, as I have just very recently found out that if you use 180x180 images for @2x, it has a very slight lower resolution then if you use 120x120, which will give you the full resolution (I will be updating indigo ASAP to fix this).

The next benefit is the naming of these images, yes they still have to be correctly named to work but the process is ten times easier. These images now only have to be named with their corresponding applications Bundle ID (which is exactly the same as the folders in the Bundles method) followed by a suffix of either @2x for iPhones 4–6 and @3x for 6 Plus, or ~ipad@2x for iPads iOS 7 or ~ipad for iPads iOS 8. Locating a Bundle ID is a simple task, one method is installing BundleIDs by Noah Sassoty from Cydia, a free tweak that lists all your applications and displays its Bundle ID via a simple tap on the application name.

The third benefit is that once these images are named correctly, your home screen icon, notification center icon and spotlight icon will all be themed. In addition, they will never break when an application gets updated and therefore will never need their names changed, with the only rare exception of when an application goes through a big change such as when Alien Blue became acquired by Reddit. That means the chances of needing to change an image name is next to nothing as these changes rarely occur.

So with these current benefits, the usual bundling process is now ten times easier (with no exaggeration) and comes with a guarantee of not needing to worry about application updates or frustrated customers. Still not convinced? If you set the plist file properly making sure you set the IconBundles mask to ‘true’ and you have the correct sized images like I mentioned earlier, the resolution of the icons using the IconBundles method, is exactly the same as using the Bundles method. This is has been tested using a simple method provided by Liam Thynne, which we both thoroughly examined making sure that the resolution was clear.

The Conclusion

Despite the overwhelmingly clear benefits of using IconBundles over the traditional Bundles method, some designers still use the Bundles method and frown upon others using IconBundles. One of the reasons they frown upon the method, is because they deem it to be lazy due to the small ratio of work needed in comparison to the Bundles method. However I personally disagree with this opinion and I fully support anyone who uses IconBundles and I beg you not to be discouraged from using it.

In this current day and age we are constantly looking for faster and more efficient methods of working whilst still maintaining the same quality in the product. It’s obvious that IconBundles is a more faster and efficient method of bundling but it is beneficial not only to the designer but also to the user. Clearly the first benefit is that the icons don’t break so they do not have to be worried about, secondly it’s a lot easier to manually change a themes icons. For example if a user wanted an icon from one theme to be placed into his/her current theme, all they have to do is copy, paste and replace the corresponding image.

However with the Bundles method, you occasionally get themes that don’t have the same amount of images in a certain applications folder, this can prove to be troubling for the user especially when one themes icon works and another themes icon is broken, then they have to figure out which image is correct and which is wrong, something that is so simple with IconBundles is instead, such a troubling matter with Bundles.

Although it might seem trivial to most, the decrease in the number of images required for the theme, naturally means a reduced file size which is especially noticeable in bigger themes that have many icons. Even the smallest change in file size can be important to certain people (looking at you guys with your 16GB device).

Furthermore the biggest benefit for the user, which is also the biggest benefit for the designer, is that due to the reduced time it now takes to bundle a theme, this allows a designer to have a lot more time to dedicate to designing icons and fulfilling icon requests by users. A while ago, a simple poll was created by Liam Thynne to obtain feedback on whether people prefer IconBundles with more icons or Bundles with less icons:

As you can clearly see, more than three quarters of the participants chose IconBundles with more icons because in the end, one of the biggest factors of a theme, is the number of icons it themes. Although there are exceptions to the saying ‘the customer is always right’, if you are distributing a theme (be it paid or free), you should at least take some consideration as to what the consumer wants. I can also take a guess that the people who chose Bundles were unaware of all the benefits of IconBundles that I previously stated above.

However I am not biased to IconBundles, as I stated previously I am well informed of how it works and I’m also aware of its limitations. Although I think you should switch to IconBundles, do not leave the Bundles method completely, because it is still required to theme certain stock icons like Clock and Newsstand and the preference icons. You can use a combination of both IconBundles and Bundles together, as I have done so in my own theme and it works 100%.

Therefore my response is no, IconBundles is not lazy, it is a new method that is more efficient and also beneficial to both the user and the designer, it is the way forward and if you do not agree, then I’m sorry you feel that way but it is simply not true. I hope I have changed some opinions of those who decided to read this longwinded essay and hopefully more designers will opt to use IconBundles in their themes or at least to stop looking down on those who use it.

For those that still think the IconBundles method is bad, lazy and will still continue to look down on others who use it then I have one thing to say to you, I do not mean to offend you and I know this may sound obnoxious of me, but I say this with love and respect. If you do not wish to evolve and move ahead with the times, then that’s absolutely fine, just don’t hold the rest of us back, especially those who have just started and have a chance to gain a brighter future.

Thank you for reading and have a good day,

Chon Lee