Xero Dev Conference 2018
Our day started off early (well, developer time, it was around lunchtime) as we boarded a flight set for Auckland. A quick flight and Uber led us to a much needed coffee stop at a Café called La Cigale, located just up the road from the Xero offices where we spent the next hour reading Flipboard *ahem* I mean working.
We arrived at the Xero offices early and were directed to a waiting area whilst the registration desk was set up. Fellow developers soon filed in and we joined en masse to grab our name tags and get settled in. Whilst most of us stood around pretending to be absorbed in our phones and avoiding eye contact; the Xero team proactively approached us, introduced themselves, and took the time to find out where we were from and what we did—awesome! It was great to put a face to the people we had worked with on various issues over the past couple of years, and we got to meet a few new Xero developers that had recently joined the ranks.
First up was the keynote talk from Craig Hudson, the country manger at Xero. His talk was focused around the Xero ecosystem and how Xero was only a small part of what businesses need. The consistent theme here was how important developers were to the ecosystem, and how Xero is actively promoting the development of apps and putting app suggestions in front of their users.
Dan Young, the head of development, was up next. He ran us through some general stats and improvements to the API, and also how his team is tracking with product developments.
Main updates to the API discussed:
- History & Notes.
- Over 3,000 bugs fixed in the past 12 months.
- New and improved NodeJS SDK.
- OAuth 2.0 support nearing completion.
- Revamp of a new Expenses API.
I was personally glad to hear of the transition to OAuth 2.0 which should make authenticating with Xero's API simpler. Dan mentioned they are working on a seamless transition from OAuth 1.0a to OAuth 2.0. From memory, the main idea was for Xero to send back an OAuth 2.0 token during the token refresh process, which would allow existing applications to continue working without interruption.
We were also shown the promotional video for this years XDHax hackathon. If you're a developer reading this blog, I highly recommend putting together a team and entering! There's some cool prizes up for grabs and some amazing opportunities for the winners.
At this point Kaye, the MC of the event, began asking the crowd a series of questions that ended with "Keep your hand in the air if you're name's Josh". With three of us still with our hands in the air, it suddenly dawned on me what was happening—I'd lost my phone—and it was about to be returned. Sure enough, amid laughter from the audience, I was returned my phone—which was lucky, as I'd just had it replaced after running it over 3 weeks prior!
My moment of fame on Twitter.
Getting started with the Xero API
Grace, a new Xero developer evangelist, presented this talk. She went over the basic process of creating and connecting a Xero application to an organisation, the different types of applications and then some performance and best practice tips. Even though I've had a reasonable amount of experience in this department, I thought it was a great primer and an excellent talk for someone that had only been working at Xero for three weeks!!
Key points from this talk:
- Private applications are for single organisations, and don't use access tokens. Public & Partner applications use access tokens, with Public tokens expiring after 30 minutes. Partner tokens also expire after 30 mins, but can be refreshed for an additional 30 mins.
- Access tokens should be refreshed before each request as a best practice principle.
- API requests are rate limited to 60 per rolling minute window.
- Make sure your app handles errors appropriately.
- Make use of `if-modified-since` headers or pagination to reduce API calls and avoid rate limits.
Grace presenting "Getting started with the Xero API" talk.
Our AWS journey + The app we built for HAX
The following two talks were presented by the lead developer at Unleashed, and then Regan Ashworth (a semi-retired Xero developer evangelist).
Unleashed offer an inventory management product that directly integrates with Xero via a marketplace app. Their talk was about their experience moving from VPS hosting to cloud based servers (AWS). The most notable takeaway was the considerations taken into account when moving to cloud based servers. They'd had trouble scaling their VPS to meet demand, resulting in system down time and frustrated customers. Moving to the cloud solved the scalability issues, but had the downside of no dedicated account manager or person to contact in emergencies.
Regan Ashworth, the Product Manager at Xero (and retired developer evangelist), was up next to present a very entertaining talk on an app he and his team built for the XDHax challenge. The app consisted of an interface where a "spend alert" could be set, and an alert text message was sent when the spend threshold was exceeded. Regan demonstrated how they utilised 2Factor authentication via SMS which was done in the app set up process, and explained how they'd used webhooks to notify their app of when a bill was entered into Xero. A scenario was then staged of a bill being entered into Xero above the app's spend threshold. Lo and behold, after a short pause, an SMS was sent to Regan's phone notifying him of a bill exceeding his spend threshold. Very cool!
The Xero API is your ticket to world domination - Quote of the day
Final Keynote, Panel & Wrapup
The final series of talks were presented by Nick Houldsworth, the Executive GM, and then a panel consisting of top Xero personnel. Nick took us back in time and went through the history of events that eventually led to the rise of platforms that give SaaS companies the opportunity to sustainably grow customers through partners. The main theme here being that Xero is the platform at the centre of their ecosystem; with developers, customers & advisors working together to build and grow new products.
A panel was then set up and Kaye asked a couple of questions before opening up to the floor. Unfortunately I missed quite a bit of what was said—due to the mic being very quiet—but from what I gathered, the panel essentially talked about their experiences, insights and lessons learned from working within the Xero ecosystems, from their various positions.
Ending the conference was a wrap-up consisting of pizza, beer (soft drinks for those inclined) and good discussions with other developers and the Xero team. Overall it was a fantastic event that was run smoothly with quality talks and speakers. I thought it was a great opportunity to meet the Xero team face to face and to gain insights into their day-to-day operations (plus sneak in a few API suggestions!).
If you're thinking about attending the developers conference this year or in the future, I have two words for you: DO IT!
- Over 3,000 API bugs fixed in the past 3 months.
- Webhooks are now in production and work with the Contacts and Invoices endpoints.
- Xero is moving offices in Auckland to a 6,000 sq. ft. building with a shared working space for app developers.
- Big focus on bringing Xero, developers, advisors and it's customers together to build apps and solutions.
- XDHax is back for 2018! Further details can be viewed at https://xdhax.devpost.com/.