My wife is a wedding photographer. We asks our couples to list the photographs that they want us to take. I'm trying to come up with a procedure that would minimize the time needed.

For instance, Bob and Alice each have parents, and one or two siblings, and other relatives. They want all sorts of combinations of people in pictures. One each of Bob with his mom, dad, brother, sister, brother and sister, mom and dad, Alice's parents, Alice's sisters, cousins, nephews, nieces, etc. Usually between 20 and 40 different groups of perhaps 10 to 20 people.

What I'd like to write or find is a software package that takes in all the people, and all the groups, and gives me an order that would minimize the different people coming and going. Does anyone know of such a program? What would be the best algorithmic method to make one? Directed graphs or trees?

Thanks in advance for your help!

  • 10
    \$\begingroup\$ You are trying to come up with a technological solution to a social problem. This is doomed to failure. \$\endgroup\$ Jun 19, 2016 at 10:04
  • 1
    \$\begingroup\$ Do them in the order in which the clients ask you to - chances are that they've already put a bit of thought into this \$\endgroup\$
    – user2189
    Jun 20, 2016 at 1:57

5 Answers 5


You are trying to write software to make wrangling drunk people, shooting people of vastly different ages, and people who either have a strong desire or no desire at all to be a part of the pictures at all; easier to do? I want to stop you right there.

Your best options aren't software related. They start with setting expectations with the couple at the initial consultation, reinforcing that with each contact, having a set amount of minimum time in your contract to capture necessary formal shots, and finally by being in charge the day of and knowing how to effectively manage groups of people. Additionally you can bring a second shooter/assistant to help with larger weddings.

Finally, I'd encourage you to stop the practice of asking the couple's for a shot list. Those images rarely sell when it comes down to it, they take a ton of time, and in my opinion are just plain boring to capture. Instead, ask couple's for any shots they consider must haves, for example of the bride and her aunt she hasn't seen in many years. This sets the expectation that those are the must have shots not 60 different family formals.

If you find out that a couple does want each and every formal combination, the best practice I have found is to take the largest group photo first, and start taking away as few people as possible for each successive shot. Don't take small group formals first. Also consider ages, don't make the most eldest join for a shot, get pulled out, and back in a bunch of times.

I could go into more detail but this has already gone far beyond the scope of "software to achieve this". Just understand that technique, preparation, and experience can alliviate most of the issues on this topic.


I will answer from the perspective of a software writer, and someone that was recently married.

First, as dpollitt mentions, you're not gonna get any software that will make illogical people act in an ordered and logical manor. You're at a party. People will be happy, sad, both, angry, drunk, snobbish, smelly, loud, timid, and just about everything in between. Getting a piece of software that does any kind of process requires the consent of the group. And you're not going to get even close to consent. It's likely you won't even get the group to agree on what consent means.

Now, from our side (as a customer, and people will have different opinions as customers), we told our photographer, we want such and such a shot (like walking down the aisle or getting out of the limo). Then we said we wanted structured family shots.

What our photographer did, was work with us and the venue. He made sure that as soon as the ceremony was over, before anyone even had a chance to move enough to get out of their seats, the staff brought in drinks and appetizers, and basically created a kind of blocking wall that kept everyone in the same area. Then he got the formal pictures. The entire process was done in about half an hour. For our part we instructed the bridesmaids and groomsmen to quietly tell everyone to hang on for pictures. Then we outright banned cameras of any kind. The only way you were going to get a picture is if you worked with our photographer. We also instructed the maid of honor and the best man to work with the photographer, and "pre-fetch" anyone that had wandered off.

Lastly, we instructed the "key people" (parents, and family leaders, etc.) to spread the word that this photographer needs to get through some "scripted" shots, then whatever they wanted all they had to do was ask him.

All in all, our process was smooth, our photographer was awesome, and it was a great experience.

The KEY things our photographer did to make that happen, was work with us. He suggested strongly that we move things around and have the appetizers and drinks act as a wall. He told us what needed to be done, and then let us find out how. Most importantly, when the time came, he took command of the situation. He was quite, polite, and firm. We knew he was going to do this, he told us, so we backed him up. "But I don't want to take a picture like that." was responded to by me or my wife with, "This guy is a pro, you will do what he says, that's why we hired him." That kind of team work kept the party moving and the pictures being taken, and it was a wonderful experience.

So my advice to you is:

  • Play the people, setup some kind of distraction so they're not all just waiting in line like some horrible high school dance.
  • Work with the bride and groom, tell them what to expect. They have a lot of power on that day. Use it to your advantage.
  • Work with bridesmaids and groomsmen. Remember they're kinda the staff of the wedding. Use them as such. It's part of the deal.
  • Try to find some way to make "your" pictures more valuable. My wife and I banned cameras (our photographer was shocked). That was our (really my) rule. I didn't want 100 crappy shots on Facebook. But you don't have to go to that extreme. Just make it so that people feel like "Well if I want the X shot, I need to wait my turn/work with the photographer." Maybe this can be the "only" shots of the dais. Or with the "big lights" etc. etc.
  • 2
    \$\begingroup\$ "Then we outright banned [guest] cameras of any kind." [We told our guests,] "This guy is a pro, you will do what he says, that's why we hired him." Wow, way to go. If my friends treat me like that, I quickly realise that they're not actually my friends. Have a nice life. \$\endgroup\$ Jun 19, 2016 at 10:09
  • 4
    \$\begingroup\$ Weddings usually have a lot more people then just your friends. We didn't have to tell our friends anything. Drunken barely seen members of two families and some of their unknown "+1s"... \$\endgroup\$
    – coteyr
    Jun 19, 2016 at 10:52
  • \$\begingroup\$ @DavidRicherby, if all the formal photos are then done in 20 minutes and everyone can then do what they want, it is worth it. \$\endgroup\$
    – Ian
    Jun 20, 2016 at 9:01
  • 1
    \$\begingroup\$ @DavidRicherby, if it's the outright ban on cameras, then you have to understand that our friends are our friends and instantly understood why we didn't want cameras. If it's the "no you will do what this guy says" then again our friends are our friends and not only understood the reason but agreed with it and helped to facilitate it. The primary concern in both cases was not friends but the family members on both sides that didn't know us, and there +1s. \$\endgroup\$
    – coteyr
    Jun 20, 2016 at 13:06
  • \$\begingroup\$ Plus it's all relative where friends are concerned. If we had said everyone must be naked and wearing a top hat, it's likely that our friends would be of the top hat wearing naked crowd. The point (in this answer) is to make the photographer pictures more valuable. Maybe cameras banned in a church, or maybe the only shots of the dais. Maybe the best lighting, or anything else. The point is to stress to the guests, that the photographer has the best shots and you really want to work with them. \$\endgroup\$
    – coteyr
    Jun 20, 2016 at 13:09

Here's a different approach that seldom works because people are people, and the Bride & Groom are people, but it works quite well when people do what they say they will.

Long ago our US imported MD (Telecom Auckland) established a "junkyard dog" principle where a client in a workflow was entitled to approach managers in the work path over solutions to problems with getting things done. This was resisted in all the ways one may expect and goes against traditional approaches - but I liked the terminology, so borrowed it.

I tell the B&G that I don't know their guests, friends, family. My job is to take photos. Having a list of what is wanted is a start, but I find that no amount of shouting , cajoling, kind words or rolling on the ground throwing tantrums gets Aunty May and Uncle Zach to the (right place in) the church on time when it's their turn to be photographed. So ...

I advise them to appoint two "junkyard dogs" - one from each side of the family. Each needs to know or be able to identify all people involved on their side of the family. They need to be assertive and not easily ignored. Polite and softly spoken are bonuses if they can be achieved without diluting their purpose.
Their job is to take the wanted-photos lists, identify the people involved, and ensure that they are delivered to the right place at the time to the photographer.
Essentially everyone that I've suggested this to, with explanations of why it's desirable, think it's a great idea and say that they will do it.
Even with ongoing reminders, very few people have ever managed to nominate people for this role. In cases where it has been done it works far better than semi-un-structured chaos.

People very seldom leave enough time between wedding & reception to allow enough time for photos. The time after the service gets filled with greetings and congratulations and "can we just have a photo's with ..." - from those who are not going to the reception AND with those who are.

I suggest that church to reception time needs to be longer than most people allow. Few listen.

So - I ask if "bride and groom + xxx" photos can be taken at the reception for those attending. In many cases this works. Some need to leave early but in many cases there is time for selecting a suitable area and cycling people through. As long as the B&G realise that his is the sole opportunity to get these important photos it usually works well.

And, not a software in sight :-).

  • \$\begingroup\$ I'm not certain about calling them 'junkyard dogs' but you must have some one (or two) people who know all the players and whose responsibility is to get them there for the images. \$\endgroup\$ Jun 21, 2016 at 18:01
  • \$\begingroup\$ @The_traveler As dpollitt said, it can involve "... wrangling drunk people, shooting people of vastly different ages, and people who either have a strong desire or no desire at all to be a part of the pictures at all..." . Add coteyr's "People will be happy, sad, both, angry, drunk, snobbish, smelly, loud, timid, ... any kind of process requires the consent of the group. ... It's likely you won't even get the group to agree on what consent means." -> You need someone that's pugnacious tenacious effective and irresistable. If the correct people are in the photo and smiling you've won. ... \$\endgroup\$ Jun 21, 2016 at 23:44
  • \$\begingroup\$ ... obviously that's a bit on the rough side. If they can also be polite charming smiling and winsome as well, so much the better. A cross between a Bosnian ambassador of the late 1800s and a junk yard dog ? :-). \$\endgroup\$ Jun 21, 2016 at 23:45

What would be the best algorithmic method to make one?

Spoiler alert: all people are not created equal when it comes to organizing the order they go into pictures.

If you have any children, you probably want them in the early pictures. Young kids are... well let's just say not as good at posing for formal pictures. So even if you can optimize the order somewhat, you need to include this factors like this.

Or perhaps grandparents have mobility problems. Etc.

And don't even get started trying to analyze families with divorces or family... issues.

Instead, have the wedding couple prepare a list of family shots they want and give it to you in advance. A spreadsheet format can work for this (easily accessible to other families). You could prepare a template sheet and send it out to your customers, too.

And last, which no one has mentioned - instruct the wedding party to have someone who will:

  1. Have a copy of the list (you can provide this)
  2. Read out names for current and on-deck pictures

Regardless of how optimized your order is, without a plan to execute it on the actual day you will have a mess. A prepared list and facilitator to call out names of current and "on deck" people will be considerably better for streamlining the picture flow than any algorithm will ever be.


I thought it might be interesting for a different take on this question.

This actually seems like a variation on the Travelling Salesman problem, which I'm sure most people here will know, is a very difficult problem (NP-Hard).

As far as I can tell, you have a set of distinct elements (people), and a list of states (groups) that they need to be in. You need to find the shortest route between the states that visits them all. (sounding familiar?)

The main difference is the distance function, which in this case I think Levenshtein distance would work appropriately. (Difference between two strings, however this does take into account order of elements as well.) You could also use some other variation of shortest path.

If order isn't an issue, you could just the number of 'operations' between each state. So this is just the number of people that need to move.

As per your question, this is an undirected graph.

I can't really think of an abstraction or reduction that would solve this in another manner. Depending on the number of groups of people, it could be possible to work out an optimal solution, but any more than 20 or so and you're waiting a long time for this to finish.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.