What is the intended audience?
Gallery was originally intended for individuals to share private photographs on a Web site, including operators of Gallery web sites and also anybody they allow to upload pictures.
What exactly does it do, and what makes it unique?
Gallery is an easy-to-use program that makes the process of uploading and displaying photos and movies on a Web site fun and easy for anyone. Written in PHP, it's highly customizable, can display photos in a slide show, has sophisticated user permissions built in, and is easy to install (no HTML or PHP experience is necessary). In addition, Gallery has a very active and friendly support base, which has evolved into a large, welcoming online community.
Gallery is not only an application but it is also a web service: We publish the specification to the protocol we designed (and constantly improve) to programmatically manipulated the Gallery server. So far, three other applications and scripts are available, and several more are being developed by other teams.
How did you get started?
In May of 2000, Bharat's wife went to India and came back with a camera full of digital images that we wanted to share with our family. I put the images up on my Web site and wrote a simple Perl script to quickly display them. As I added more photos I realized that I needed more features and I decided to use this as an exercise to learn PHP. Chris Smith (who also had a digital camera and a Web site) got interested in this, so we created a SourceForge project so that we could collaborate. Before I knew it, other random people started downloading and playing with it (and filing feature requests and bug reports).
How many people do you believe are using your software?
Google shows 17,000 links, but we believe there are more than that. It's hard to evaluate. We're aware of over 200K unique URLs that have probably had a Gallery install at one point or another. A conservative estimate is in the 75K to 100K range. We get 1-2K downloads a day, so if even a small percentage of those people use and keep the product then the numbers add up quickly. Fewer people have installed Gallery Remote than the full Gallery software set.
What gave you an indication that your project was becoming successful?
I prefer to think of Gallery as the perpetual underdog. It has many of the elements of a successful project, but there is so much more that we can do with it. But a few things happened that made me realize that other people considered it to be successful:
What has been your biggest surprise?
Bharat: It never ceases to amaze me how much people love this product. Because I've spent so much time fiddling with the guts of the program and dealing with all the crazy mistakes we made in the process of growing the product, I have a hard time not seeing its flaws. But the wonderful thing is that it works and is really effective, and for a lot of people it fills a really important need.
Beckett: I'm surprised that such a large number of people have stepped forward to help the project. People visit the site every day just itching to help other folks sort out problems, bringing up wild ideas to push the envelope, or just to say thanks to the developers. The outpouring of time, ideas, and assistance from so many people is just wonderful, but something I never would have expected. That said, I joined the project for this exact reason. I loved what I saw, and wanted to know what I could do to contribute.
What has been your biggest challenge?
Pierre-Luc: Doing any work for my day-job when a Gallery Remote bug or feature request comes through: I have an almost physical need to launch my IDE and test/fix/add the feature.
Beckett: The biggest challenge is finding enough time to devote to the project. I often find myself at my day job thinking about what needs to be done for Gallery that evening. Gallery is a small project with big goals, and could keep us all busy 24-7 if we had the time. It's hard to tell myself every evening, "Beckett, it's 3 am. Enough Gallerying for tonight. You have to be up for work in three hours."
Bharat: It's been incredibly challenging to get the right people onto the team so that we can grow the project. For a long time, I was the bottleneck that every major change had to pass through and so things progressed slowly. In a given day, I'd spend my time answering 20-30 messages in the mailing list, another 5-10 personal emails, fending off instant messages, and then I'd get to spend a total of 30 minutes working on actually advancing the product or improving some aspect of the website. If I ever took time off from all the communication, I'd fall so far behind that it would take me days to dig myself out.
However, slowly over time we managed to attract a very smart and dedicated team that has taken on many of these difficult (and sometimes undesirable) tasks and gotten them off of my plate. We recently restructured the project so that responsibility and authority is divided up amongst a core team. This has allowed me to get off of the critical path for every little thing and focus on development of Gallery 2.0, which is a complete rewrite of the application.
What are you most proud of?
Bharat: I think I have my proudest moments when I witness other people having conversations about Gallery without me. Seeing people meeting in the forums or on IRC, discussing the product, coming up with ideas and implementing them is thoroughly satisfying. To me, it demonstrates that this project has grown beyond its initial boundaries and has become durable in its own right.
Pierre-Luc: The fact that all my family and friends use Gallery and Gallery Remote to share their photos with other people they know. And stumbling onto a Gallery built by someone I don't know.
Beckett: I've had several dads-to-be send me frantic emails saying, "Help! My first kid is being born tomorrow morning and I need to get the photos up by tomorrow morning! Can you make it happen?" Not only did they all get a gallery up and running in time, but several of them still keep me posted with new photos. Better than sending photos over email, their online galleries have become scrapbooks, or continuing stories, for everyone to see. Gallery has given so many people like this a means to creatively express what's important to them. Stories like that give me a huge amount of satisfaction, and drive me to keep working on the project.
Why do you think your project has been so well received?
Andrew: Gallery has so many things going for it. First, we have an excellent product that does its job very well. It can be used in so many different ways for so many different jobs and for so many different people. I also believe we have one of the best support nets in the open source world. We really do have some of the best people helping in the forums and working to help people get their Gallery running the way they'd like.
Beckett: For the growing number of people with personal Web pages who want to show off their photos, Gallery fits their needs perfectly. On top of this, the user support and customization community is very active, interactive, and friendly. When someone needs help or has an idea, people are there to help and are constantly willing to help improve the project.
Where do you see your project going?
Joan: Next on the list of enhancements are voting/rating of photographs, ecards, and email updates about album changes. And then it will all be swept aside for Gallery 2.
Beckett: Gallery v1 was a small personal project that unwittingly got big. Gallery 2, the next generation Gallery, has been completely rewritten from the ground up, and improves almost every aspect of what is already a wonderful piece of software. Gallery has been fully internationalized, and modularized, which will allow new features or new looks to be added quickly and easily. We want to add support for camera-enabled cell phones, so people can send photos directly to their galleries from their phones, and plan to have Gallery evolve to let people be creative with as little hassle as possible.
How can others contribute?
Beckett: Join us in our forums and tell us how you'd like to get involved. We're looking for PHP developers, Java developers, user interface designers, and graphic designers.
Pierre-Luc: Currently, I'm looking to expand the team of people who work on Gallery Remote and related tools. Right now I'm by myself on that part, so I tend to lag behind the new features that are implemented in the server piece of Gallery. I need Java developers, and at least one PHP developer who is not afraid to work on a SOAP or XML-RPC API that exposes the services of the new Gallery 2 core.
Andrew: As the support team lead, I'm always glad to see experienced Gallery users helping out in the forums. While we have very good moderators, there seem to be more forum posts with each day. Having other experienced Gallery users around the forums is never a bad thing.
Do you work on Gallery full-time, or do you have another job?
This is a side project for all of us, but we spend numerous hours (10-20 per week) supporting and developing this project.
How do you coordinate the project?
Originally, Bharat and Chris were the sole developers, and progress was slow at times, and entirely dependent on their amount of free time. In the past year, we've added a slew of new developers, and the project development has been divided up, with tasks delegated to the sub-groups. While the core development team does most of the direct code writing, bug finding and testing often comes from individual users, and many of Gallery's most exciting features have been contributed by outside users.
What is your development environment like?
The development team uses a variety of Unix and Windows servers and desktops. We encourage variety because it helps us to find portability problems early on in the process. Various members use tools that include IntelliJ IDEA for Java development and nedit when coding in PHP or writing docs in XML and XSLT.
If you could change one thing about the project, what would it be?
Bharat: I wish that back when Gallery was installed on less than a thousand sites, I realized just how large this project was going to get. If I had better vision at the time, I could have spent a little more time on design and come up with an architecture that wouldn't require a complete rewrite.
Beckett: Of course, if we could all quit our day jobs and work on Gallery, that'd be a dream come true! More realistically, we're hoping to strengthen the core development team in order to streamline all of the tasks at hand. We've started this process in the past year, with great success, but hope to turn our core members into a more efficient and productive group, leading to more concurrent and independent development, while maintaining our high coding standards. As Gallery grows in project size and userbase size, we want to be able to keep up and keep delivering as demand for new features and support increases.
Gallery v1 is in the process of being internationalized. The next large milestone will be the alpha release of Gallery 2.0, which has been under steady design and development for over a year. It removes all of the limitations seen in Gallery v1, and promises to set the standard for online photo management software, be it commercial or open source. Gallery Remote 1.1 will come out shortly, with a much improved UI. Development on 1.2 will start immediately after that to support not only uploading pictures, but manipulating pictures and albums already on the server.
Project Name: Gallery
Background of leaders:
Name: Bharat Mediratta
Occupation: Software developer for VA Software, working on SourceForge Enterprise Edition
Education: BA in Computer Science from Colgate University
Location: Menlo Park, CA (USA)
Name: Beckett Madden-Woods
Occupation: Electrical Engineer
Education: B.S., Cornell University
Location: Pasadena, CA (USA)
Name: Pierre-Luc Paour
Location: Paris, France
Quote about SF.net
SF.net is a phenomenal resource for new projects. I do not exaggerate when I say that Gallery would have faded into obscurity were it not for the extensive features that it provides.
Would there be as much creativity in Open-Source without SF.NET? Hard to say. But there would surely be less diversity: while big projects like Apache, Linux and Mozilla have their own infrastructure, the thousands of smaller projects such as Gallery would have to rely on ad-hoc and fragile infrastructure. And the small projects are where the majority of people who work on Open-Source as a hobby can be found.
SourceForge.net manages our project, and delivers it to our users, so we can focus on writing code and listening to our users. In a small development group, we have limited time and resources. SF.net helps a small development team like ours maximize its productivity.
Why did you place the project on SF.NET?
At first we primarily needed revision control and bug/feature tracking. SF.net fulfilled these basic needs while providing a nice framework for other aspects of the project, like file releases, news articles, etc. By being an SF.net member, we're also telling the world that we believe in the power open source to produce quality software that solves someone's needs in the best way possible.
How has SF.NET helped you?
SourceForge.net is an essential part of our project. We use it to manage the codebase, issue releases and host downloads, track bugs and feature requests, and to deliver news to users. All of these essential tasks would require huge overhead and time commitment by us, and having it all taken care of allows us to focus on improving the code and adding new features. In addition, SF.net raised the visibility of Gallery. Hosting our project there made it very easy for people to find us.
The number one benefit of SF.NET for your project is:
Infrastructure. The framework SF.net provides enables us to focus on actually developing software instead of maintaining bug trackers, file releases, news articles, and revision control systems. The reliable CVS server allows the developers to stay in control of the code. Without it, it would be almost impossible to coordinate development between so many people.