Menu

Evolving InstantGallery

I want to talk about InstantGallery 2 a little bit today in case you might be thinking it’s been forgotten. I’m sorry to say I’m still hard at work on it as I really wanted it to be in your hands by now. It’s just proving a much larger endeavour than I ever expected it to be. Getting FTP publishing implemented is proving particularly troublesome due to a lack of documentation and limited framework choices*. InstantGallery 2 has a pretty advanced CSS editor built in, the aforementioned FTP and a radically overhauled gallery creation mechanism, it’s practically three products in one. Aside from the technical challenge of engineering all these components there is also the challenge of integrating them in a seamless way that remains true to the original goals of InstantGallery. That is to allow you to just dump some pictures into it and immediately have something presentable and ready to upload. Balancing that ideal and ease of use while growing the application massively is obviously tricky. The extended time period it’s taking to get IG2 ready is evidence of that. It is going pretty well though and I think IG 1.x customers will be happy with the end result. Most of the complexity offered by the new features is tucked away so you only need to deal with it if you need it.

A good example of hidden complexity is the new appearance panel which lets you choose from either a pre-created appearance template (aka theme), do basic tweaking to create a more personalised look or delve in at the deep end and configure the individual CSS element properties of your gallery. The advanced tab basically hides a full on graphical CSS editor. It’s certainly not hard to use, but if ever you’ve played with CSS design you’ll know the sheer amount of customisability you have can be a bit overwhelming and there isn’t much getting around that. I’ve tried to limit things a bit where it’s sensible to do so, but I don’t want to limit the creativity of advanced users either.

For non CSS gurus it’s designed so you can pick any of the supplied templates and customise them how ever you want. The original templates are never modified so you can always go back if you don’t like the changes. If you create something beautiful and want to use it in other galleries (or indeed share it with other people) you can easily add your template into the list, import or export it.

IG2 does away with the concept of needing to manually save your work, your gallery is automatically saved continually as you change it. You can access any gallery you have worked on quickly in the My Galleries panel. There are some convenience functions for importing and exporting galleries, duplicating them, previewing and doing quick uploads.

I originally tried to implement things around a traditional save model but the performance was pretty ugly. It was necessary to make a copy of your entire gallery each time you opened it in case you chose not to save changes (either that or it would have to regenerate your gallery from scratch each time you opened it or do a complicated check to see where the files on disk and the description of your gallery differed) and it involved shuffling back and forth between temporary copies and saved copies. I’d have to rename the product to something other than ‘Instant’ using this method so I think doing away with manual saving was the right route. You can easily duplicate your gallery if you want to be experimental in the My Galleries panel, but I think generally the undo function will suffice for most users. On the upside too it’s one less thing to worry about, your galleries’ will always be as you left them.

InstantGallery 2 puts a lot of its functionality into inspectors, again so it’s out of the way if you don’t want/need to deal with it. The range of effects and customisations you can make to images has increased dramatically. The new decorations, which I’ll release the specifications for nearer the release of IG2, allow for infinite customisation of your thumbnails. The standard way of working with images now is that changes only apply to the selected image – but you can quickly apply the effect to all images on a given page, or to an entire gallery using the action buttons at the bottom of each pane. This gives you a huge degree of flexibility – want thumbnails of different shapes and sizes on the same page? No problem. Different watermarks on some images? No Problem. This is also handy for trying out different effects and seeing how they look on a small selection of images without having to go through the process of updating everything which can be a big time saver if you have a particularly large gallery.

Finally I’ll talk briefly about page styles. Previously in IG you basically had the option of making a page with a grid of images on it. IG2 adds a bunch more layout possibilities which you can mix and match within a single gallery. IG2 no longer spreads your images over a bunch of pages based purely on a hard limit of images per page. It’s totally up to you now how and where you distribute your images so you can get much more creative. Want one images on your first page, fifty on the second, ten on the third? It’s easy to do that now, just drag your pictures around in the source list and choose the page styles you want. Whether you want to highlight a particular graphic, create something more like a photo blog or an image catalogue, IG2 now caters to your needs. All of the layouts are further tweakable using the CSS editor too of course. I’m still perfecting the layouts and default CSS for them, but I hope to show you some example galleries in the not too distant future.

So that’s it for this little recap of InstantGallery 2, I hope you are as excited about this product as I am and will please forgive its slow arrival. I still can’t offer a firm date for release, but it’s getting sooner by the day. I think it will be worth the wait!

* I’d like to make an appeal to my fellow Mac devs, if you have experience with ConnectionKit and have any decent, commented and straightforward example code or know of a better FTP type framework which supports FTP, SFTP etc. you’d be will willing to share please drop me an email.