Yule Ball Ticket Swapping by the numbers:
# of people asking for a ticket: 75
# of people who posted extra tickets: 13
# of swaps brokered: 15
I definitely attribute these larger-than-ever numbers to some great marketing help from the Ignite Boulder crew; as soon as tickets sold out, they were sending people my way. This boon didn’t come without challenges, however.
Occasionally at Ignite events, the emcee will ask by show of hands (and hollering) how many of the audience is attending their first Ignite event. Shockingly, the response is typically 25–30%, which surprises me given the size of the venue weighed against the size of Boulder, all taken against the number of familiar faces I anecdotally experience at each event.
With the added users from so much great publicity by @IgniteBoulder on twitter, I expected swaps to be going gangbusters as soon as the first “Extras” were posted. This was not, in fact, the reality. SnapEngage bug reports and confusion outnumbered swaps 5:0. I went looking for the issue. But first, a note on how and why I use Facebook for authentication: Since Ticket Swap is more of a trust-based network than any sort of escrow service, I felt it was important to prioritize “Friends” and “Friends of friends” who were looking to acquire a ticket over strangers. But I don’t exclude strangers, since it’s likely that you’ve already checked with your network if you need to unload an extra ticket.
The added influx of new users from around Boulder had uncovered an interesting problem with one of my ActiveRecord queries: A User with NO existing Facebook contacts in the Ticket Swap system would end up finding zero friends needing tickets, and also zero strangers needing tickets. No wonder everyone was confused!
To date, Ticket Swap has grown organically out of my own personal network; tweets and Facebook posts and friends of friends. Because of this, everyone who has signed up for previous Ignites always had at least one friend in the system (either me, or one of my supportive friends who had used it before), so this bug had never presented. I got it sorted out, fired off reminder emails to people who had posted… and things were pretty smooth from there.
I’ve got a lot of notes for ways to improve the user experience for Ignite 25, and I’ve got a survey out to everyone who signed up during Ignite 24. Thanks to everyone who posted an extra ticket, and many thanks to the Ignite Boulder organizers for the continual support!
 ActiveRecord (or Postgres, one) doesn’t like asking for ids ‘not in’ an empty list:
@friend_matches = Need.unmet.where(:event_id => @extra.event_id).where('user_id IN (?)',friends) @other_matches = Need.unmet.where(:event_id => @extra.event_id).where('user_id NOT IN (?)',friends)
So if ‘friends’ is a collection of Ticket Swap Users who are in the current_user’s Facebook network, it will be , which ends up sending a NULL to the database. Oops.