Some more tweaks

  • Webhooks now fire in serial, so if multiple hooks for the same registration or ticket fire together, they’ll be sent to your web service in the order they were fired. Bam, bam, bam.
  • It’s the teeniest of tiniest updates, but what’s a changelog without those? Country select fields on tickets now display as a Selectize select, with type to search. Payment forms have had this for a while, so it’s just a catch-up tweak.
  • If we supported multiple languages (do we? don’t we?), then if the customer placed an order in one language, and then assigned a ticket to a colleague, then the ticket will show by default in the language it was ordered in.
  • When you connect a Stripe account, the Business Name of the Stripe account will show up. This will save a LOT of future confusion if you connect multiple Stripe accounts under the same email address.

New UI shipped weeks ago, but stuff is still being fixed

  • We added totals to the daily digest email. They now show you what your ticket sales/activity was like the previous day, but they also give you a summary of your all time sales and totals. This was was requested by Des Traynor. When Des says jump, you generally look at him weirdly. When Des says “I think you should have this feature”, you implement the feature.
  • Fixed a bug with the “void ticket” form appearing incorrectly after a ticket had been voided
  • Continuing the existential theme (hi Mr. Sartre), if we had a super-customizer tool, it would now respect custom variables a bit more, in addition to showing a preview of text-based emails, and if we supported multiple languages, you would now see both your email and your receipt in the language that you registered in, and if you were using the widget with multiple languages, you could pass locale as an option to set the language. Too bad we don’t have any of those features. That said, if we did, you most definitely would be able to specify terms and conditions in multiple languages. If only we had a terms and conditions feature.
  • Reports now show a tax-type breakdown as well as a revenue breakdown. Gold-dust when Mr. Taxman is screaming at you for ALL THE NUMBERS.
  • The Tito widget now supports Tito.instance … although undocumented as yet, this is super-fantastic, because it means that you get to control how the widget gets launched. Tito.instance takes a success callback, with the widget object as an argument, so for example, something like this works: Tito.instance('ultimateconf/2013', success: function(widget){ $('a.load-widget').click(widget.load) }) … the possibilities are endless. As a brief aside, this was implemented to support allowing the widget to be loaded by an onclick event of an area tag within … wait for it … an IMAGE MAP. They still exist.
  • Tickets added manually no longer incur a fee. Bye bye revenues, hello fairer pricing.
  • Before you archive a ticket, you will now be politely told that it also archives any attendees that registered using that ticket. Don’t say we didn’t warn you!
  • Some really old bugs that were fixed months ago got marked as fixed in our bug-tracker.
  • AAAAaaaand the big news: we implemented webhooks properly! You can now specify multiple endpoints, so if you have multiple services that you’d like to integrate with, go right ahead. You can also choose the events that you’d like each webhook to service (whoop!) … we’re still missing some documentation for certain endpoints. If you use, you’ll also find a handy “Test Webhook” button on tickets and registrations. We’re so close to being the most awesome ever.
  • Also: the above update came with fledgling (tweet tweet!) Slack support. zOMG! Just add a Slack incoming webhook URL to one of your endpoints, and select the registration.finished event, and any time someone registers for your event, you’ll get a message in the Slack room of your choice. The future is now!

Schrödinger’s Cat Edition

  • We’ve changed the default URL for passing a discount code through to an event page. Where once it was of the format, we now also support: It’s the cream of the crop.
  • Fixed a bug that rendered the navigation bar useless if you changed the URL of an event while setting it up. Bugs like this are embarrassing.
  • Fixed a bug that incorrectly showed a cancelled ticket as “Unissued” on the customer screen.
  • If a customer started an order and then clicked on “X” to cancel the order, they would be presented with the confusing options: “Cancel” or “Ok”. Now, the technical minded of us know that this is a standard JS alert dialogue and that pressing “Ok” means “Yes, cancel”, and pressing “Cancel” means “Cancel cancelling”. But of course not all of us should be expected to know that, and now the labels that appear are “No” and “Yes, cancel this order”. Small fix, much better.
  • Getting all existential again, if we had a feature that allowed customers to add upgrades to their ticket, those upgrades would now appear on their public ticket page.
  • We recently implemented Selectize, a rather delightful library to improve the user experience of select boxes. If a credit card was declined during a transactionn and collecting a billing address was enabled, the country select would regress back to a regular old select. That is now no longer the case.
  • Our recent UI changes brought a “public” and “secret” toggle to show and hide a ticket. But when you toggled, the list on the left wouldn’t update, leading to a Schrödinger-style situation where at a glance a ticket could be both public AND secret at the same time. With this update, the list item stays in sync and if your ticket were a cat, there would be no doubt about its mortal situation.
  • Following on from Schrödinger’s cat, the same applies to editing a ticket, so that if you change the name or the price, the list will be updated inline. Welcome to the world of fake two-way data-binding.
  • New signups were not being added to Intercom until they returned to Tito, or refreshed the page. Since we want to provide the best support in the world, this wasn’t ideal. Intercom still doesn’t support Markdown anymore.
  • There were more updates, but they’re not quite done yet.

The March of post-new-UI fixes and updates continues (in April)

  • We had some favicon issues. It wasn’t personal, but the Rails asset pipeline really didn’t want anyone to see the favicons. We’ve done a deal with Fastly, the asset pipeline, and what seems like infinity different sizes of Apple Touch icons, and it seems like everyone is happy now.
  • Since we don’t have an officially announced API, we definitely didn’t add some missing attributes to the registrations and tickets endpoints, and we couldn’t possibly have added an endpoint for individual tickets.
  • Because the API doesn’t exist, there’s no possible rational way that we included refunds in the registrations endpoint, because there was no registrations endpoint in the first place.
  • Our API is the best of all possible Tito APIs, whether it exists or not.
  • The tracker item with this description If you void a ticket, and then choose to refund it, the refund form should be pre-selected to do a partial refund, and it should be the value of the ticket just refunded, and the confirm dialogue should _not_ ask to void the ticket that's just been voided. was fixed.
  • Our on-boarding was a little over-zealous when on-boarding people who had been invited to an existing account. No longer will they be asked to start from scratch.
  • Speaking of purely-metaphysical features, if we had a pay-by-invoice feature, the option to not include a PO number field would now be available.
  • A bug in Reports was double-reporting Tito fees since our upgrade to use Stripe’s application_fee feature. Stripe reports the application_fee as part of all of the fees in a payment, and we were reporting those fees as well as our own. This has now been fixed.
  • Some progress has been made on being able to customize the emails that Tito sends. Watch this space.

More additions to the epic April bugfix spree of 2015

  • Organizers can now update the billing address / company name of orders right from the Tito admin (this isn’t really a bug, but it bugged a lot of people, so we’re taking credit internally for it as a feature, but listing it here as a bugfix.)
  • A bug with the textarea autogrow plugin we use would cause textareas to grow to twice their expected height to comedic and clown-levels of annoyance. Fixed now.
  • Fixed some missing data in beta API, and added a ticket show endpoint. This is not the API you are looking for. It doesn’t exist yet.
  • User team Role no longer sees event revenue figures or reports
  • When processing a refund, instead of processing immediately when the Process button is hit, a confirmation step now appears, verifying how much to refund. We thought we did refunding well, but after some discussions with some customers, we have a lot of work to do on refunds. Panic and stress are the last things you want to feel when you are processing a refund. Apparently somebody once refunded 8 tickets by accident. We can do better. We will do better.

See you next time, folks!


Post new UI bug roundup round 2

  • decided to add a bit more personality to bug changelogs
  • because why not?
  • If you connected a payment option to your account and then created a ticket on an event, you’d get a silly message saying that you hadn’t connected a payment option, even though clearly you had. Now you get a nice hint to say that you need to hook it up.
  • For about a year, we’ve used the word “Survey” on one ticket edit screen and the phrase “Additional info” on another one. Nobody ever told us about this inconsistency until just recently. It has been rectified now.
  • The labels on the “Event Start Date” and “Event End Date” were ambiguous, leading to making users think. They have been disambiguated so users can think less.
  • Even though we’re based in Dublin, Ireland, Tito favours US-English as its development language, for many reasons, not least a host of US-based customers. Pending plans to introduce a British-English (rather) option, we have changed the word “organiser” to “organizer” (with an accent, but only when you say it) on our confirm page.
  • If you clicked on “Show question responses” on mobile, a dashboard would be shown, but there was no way to actually see the responses. We realise the irony of this, and apologise. It’s fixed now.
  • If you added someone manually, specified a price, and then tried to search for them, they did not appear. We modified the search to take account of this strange limbo state.
  • For the last 6 months, it’s been possible to optionally add a company name to an order. The same is now true of individual tickets. Now that we have a company name field on all of our top level objects, we are now enterprise ready.

Post new UI bug roundup

  • fixed a bug causing an error when team members were invited to an account
  • fixed a bug where textareas looked like text fields, causing confusion about use of enter vs shift-enter for submitting forms
  • fixed a bug where was being repeated in URLs
  • fixed a visual bug where cancelled tickets were not being displayed as cancelled correctly
  • Added and removed date-pickers. Tito never had date-pickers because date pickers suck. Date pickers still suck. We will rectify this.
  • tidied event deletion UI a bit
  • clarified the button to access an invoice from “Download invoice” to “Download refund receipt”
  • fixed inconsistencies between confirm dialogues when creating and editing tickets
  • fixed an issue where discount codes weren’t being validated when using tito-button
  • fixed an issue where links using the beta Terms & Conditions feature weren’t opening properly

Event organizer admin updates

  • admin is now more responsive (mobile-friendly AND feels snappier)
  • modernised visual look and feel
  • step-by-step setup
  • introduced account section
  • introduced home page listing all and recent events
  • added support for teams
  • added support for ticket descriptions
  • added ability to pause and resume ticket sales
  • added activity histories
  • fixed bug where page title wasn’t updating correctly
  • added confirmation dialogues
  • Added dashboard quick links
  • Added dashboard ticket filter
  • redesigned order show screen
  • redesigned ticket show screen
  • added ability to export as Excel
  • added advanced export options to allow choice of encoding types