Gallery 3 Begins

Those of you that have been paying attention know that something is going on! At the Gallery Sprint a few weeks ago, we made a lot of decisions and got the ball rolling on a complete rewrite which we've decided to call Gallery 3. Development of new features on Gallery 2 has been frozen, Gallery 1 is now a completely separate project "Jallery", and the Gallery team is now busy at work on Gallery 3. It's definitely not ready to run on your website yet but we've set the ambitious goal of having a 3.0 release by February 1, 2009 and are on track to meet that goal. Read on for details of why we're doing this and what you can expect.

Gallery 2 today

As lots of you know, Gallery 2 does a pretty good job. It's a secure way to put your photos on your website, and if you want a feature, chances are pretty good that it is hiding in there somewhere. Over 3 million of you have downloaded Gallery 2 (compared to 2 million+ that downloaded Gallery 1) so we are obviously on to something, and we have received hundreds of positive testimonials about how Gallery 2 has made people's lives easier. It's been a huge effort and we've been happy with its success.

So what's wrong with Gallery 2?

Gallery 2 does many things for many people and this diversity has made it unhealthy. The code base is too complex and over-engineered because it was designed to fix every single thing that was wrong with Gallery 1 (Second System Effect) leaving its scope hazy and broad. And while the Gallery 2 code supports DB2, MSSQL, and Oracle we don't actually have anyone on the team that knows much about them, so there is nobody to fix bugs or add features in these areas. Gallery 2 was designed from the bottom up with architecture and design patterns first, so the User Interface and User Experience need a ton of work! This is shown by the huge number of strings and documentation that need to be provided in the product for people to understand it, and multiple attempts for tech writers to document Gallery 2 have all failed. Lastly, the product is immensely complex which forces developers to take months or years to get up to speed. This makes it very hard to attract new developers, and that makes us sad.

Hopefully by now you don't need any more convincing that it's time for Gallery 3! We've started from the top down with User Experience as the highest priority, only writing code for things that make sense for our users. Simplicity is also a high priority: both for users (the UI) and developers (the code). We learned our lessons from Gallery 1 and Gallery 2, and are hoping to finally get this right. You probably have some questions in your head and we'll do our best to answer some of them below:

Is there still room for Gallery 3 when there are sites like Flickr, Smugmug, and Picasa?

Since the beginning, Gallery has been "Your Photos on Your Website." None of these services really let you do that, and your data is with someone else. While these services meet the needs of plenty of people, there will always be people that want to have complete control over their website and the way it looks. Some people will want to customize their themes in a way not possible with hosted services, and others want their images on hardware that they own.

Since Gallery 3 won't do all that Gallery 2 tried, what is its scope?

We've made a list of features that we think are important to have. That page includes a list of features that we will implement, as well as a list of features that we'd like someone to be able to implement but that won't necessarily be part of the core product.

You mention decreasing platform complexity, so what platforms are going to be supported?

We aim to create an amazing product that at least 80% of you can use. We've decided that the most common platform, available to all (even if it's not what you're using now, it's something that you could be using easily) is Apache 2, PHP 5, and MySQL 5. This doesn't mean that Gallery 3 won't ever work on alternative platforms, but it does mean that the existing developers aren't going to go out of our way to make it work there, at least not for the first release. If Gallery 3 works on Windows + IIS + PHP perfectly without us trying, that's great, but this policy lets us take advantage of unique features of Apache and MySQL that are not available on other platforms. If you'd really like to see Gallery 3 work on some other platform we invite you to come talk to us. Seriously! Corporate support is welcome as well: for example, if Microsoft would like to own our Windows Server support and is willing to do most of the work and QA on that part, we're definitely willing to cooperate on that.

Where can I find out more?

We don't have a great starting place yet, but the best place to start is the Gallery 3 Category on our documentation site. Everything that gets documented should be in there. There is also the Gallery 3 code in subversion and our shared task list in Chandler. If you want to find out more or pitch in, we have a few paragraphs on that as well.

I would agree with SiliconFiend on Fri, 2009-01-02 09:56 that (Google) Map module needs to be part of the core. Integration with any location service is important. I'm using Panoramio and also want to see where my photos were taken on a map or in Google Earth. I can do this from Aperture, but that doesn't help with photos posted to the web.

OT: Module or Plugin? I'm a Gallery newbie, but they seem to mean the same thing. If they don't clarification is needed. But when I add a plugin in the administration panel, it ends up in a folder named modules! Confusing to a newcomer.

PS: Thanks for the module/plugin. I just downloaded and will give it a go.

Edit: I downloaded it and found a specific theme has to be used. That won't work for me since I need other features. This makes integration in the core all the more important.

I know it's asking a lot, but a back and forth integration with Google Maps would be great. If you have a photo in a window by itself, a Google Map should be at its side or the option to open a Google Map (earth or web). Having a locator map at the top of the page would be great too, or highlight the particular little bubble for that photo.

MtnBiker wrote:
Integration with any location service is important. I'm using Panoramio and also want to see where my photos were taken on a map or in Google Earth.

Gallery2 has a Google Maps module and a Google Maps theme which allow you to show the location of album pages (example1) or a photo on a map (currently no example available on my site). You can start Google Earth from Gallery2. Use the LinkItem module which links to a .kml/.kmz-file (example2).

MtnBiker wrote:
Having a locator map at the top of the page would be great too, or highlight the particular little bubble for that photo.

I did exactly this in my previous layout. Due to reorganization of my whole gallery2 I removed it. Send a PM if you want an example .tpl-file (for theme carbon).
Top Secret: Tipps, Tricks und mehr
The Most Secret Gallery2 Treasure: Quick Start Guide

I am confused.... has Gallery 3 been released? Sound like to me everyone is playing around with the SVN.

it isn't, yet

Thanks for the update, Coth.

bharat's picture
Gallery3 isn't quite released yet. We're still working on sorting out a few rough edges in the packaging code and we got a last minute request from SiliconFiend to add a pony which is complicating things because the pony doesn't want to climb into the package! We've been trying to coax it in using sugar cubes and an apple, but no luck yet. Does anybody know if ponies compress well? We might have a larger download than expected :-)
SiliconFiend's picture

Compressing is okay, it's the uncompressing where it gets messy. ;-)

If SiliconFiend gets a pony, I want a new bicycle;)

bharat's picture

Nice to see you guys have decided to move toward more simplicity, ala Zenphoto. I think it's the right way to go. I look forward to seeing just how simple you can get while maintaining a useful feature set. Good luck!