Pragmatism in the real world

Writing an API with Swift 3 on LinuxPresented at Codemotion Berlin, October 2016

Apple has open sourced Swift, their new programming language, so you can now use it on Linux servers. Swift's static typing, concise syntax and speed make it a good language for all types of server-side software including APIs. In this session you'll learn how to build an API in Swift 3. We'll cover the key concepts around HTTP request-response resource APIs, including accepting and generating the correct content type, routing, authentication and also returning errors appropriately.

Designing the M in MVCPresented at Software Architecture, October 2016

We all know that the M in MVC stands for model, but what does that actually mean? Domain-driven design helps us map our software to the business requirements of our clients, but it can be quite hard to understand. In this talk I explored the fundamentals of Domain Driven Design and showed how to apply it to the design and implementation of the business logic of your application.

5 features of a good APIPresented at Software Architecture, October 2016

Everyone is writing APIs from micro-services through to full applications, but what makes a good one? In this session we’ll go back to the basics and look at what I consider to be five of the more important architectural features that you should think about when creating an API. These are the features that ensure that your API plays well with HTTP and, more importantly, make your API a delight to maintain and work with. I want you to ensure that your API is a good HTTP citizen, while also providing developer-friendly features like thoughtful error handling and documentation.

5 features of a good APIPresented at PHPWM user group, October 2016

Everyone is writing APIs from micro-services through to full applications, but what makes a good one? In this session we’ll go back to the basics and look at what I consider to be five of the more important architectural features that you should think about when creating an API. These are the features that ensure that your API plays well with HTTP and, more importantly, make your API a delight to maintain and work with. I want you to ensure that your API is a good HTTP citizen, while also providing developer-friendly features like thoughtful error handling and documentation.

Slim: The PHP micro frameworkPresented at PHPNW, October 2016

Slim is a PHP micro framework that enables you to write powerful web applications and APIs. In this talk, I will show how you can easily write great web sites with it. We will look at how Slim's middleware system leverages the PSR-7 HTTP request and response definitions to create easily understandable and flexible applications. We will cover application setup, routing and the relationship between actions and middleware. By the end of the session, you will be equipped to create Slim applications yourself.

Guzzle: Extraordinary HTTP clientPresented at DrupalCon Dublin, September 2016

Accessing web services from your application is a key requirement and the best HTTP client library for PHP is Guzzle, which happens to be included with Drupal 8. Learn how Guzzle makes accessing APIs a breeze – we'll cover how web services work and then how Guzzle makes it easy for us to send and receive the data we need, including working with Authentication. We'll also cover the PSR-7 standard Requests and Responses, and how Guzzle makes them easy and effective to use in your own applications including the powerful middleware system.

Guzzle: Extraordinary HTTP clientPresented at PHP Surrey user group, September 2016

Accessing web services from your application is a key requirement and the best HTTP client library for PHP is Guzzle, which happens to be included with Drupal 8. Learn how Guzzle makes accessing APIs a breeze – we'll cover how web services work and then how Guzzle makes it easy for us to send and receive the data we need, including working with Authentication. We'll also cover the PSR-7 standard Requests and Responses, and how Guzzle makes them easy and effective to use in your own applications including the powerful middleware system.

A rant about error handlingPresented at REST Fest UK, July 2016

Most APIs are usable when everything works, yet it's when something goes wrong that an API's true colours show through. In this talk, I will discuss what I consider to be the minimum viable error response for a competent API, through the lens of a real-world example of possibly the worst I have ever seen…

(Lightning talk)

5 features of a good APIPresented at REST Fest UK, July 2016

Everyone is writing APIs from micro-services through to full applications, but what makes a good one? In this session we’ll go back to the basics and look at what I consider to be five of the more important architectural features that you should think about when creating an API. These are the features that ensure that your API plays well with HTTP and, more importantly, make your API a delight to maintain and work with. I want you to ensure that your API is a good HTTP citizen, while also providing developer-friendly features like thoughtful error handling and documentation.

Getting started with Slim 3Presented at PHP Cambridge user group, June 2016

Slim is a PHP micro framework that enables you to write powerful web applications and APIs. In this talk, I will give an overview of the upcoming version 3 of framework and show how you can easily write maintainable applications with it.

We will look at how Slim's middleware system leverages the new PSR-7 HTTP request and response definitions to create easily understandable and flexible applications. We will cover application setup, routing and the relationship between actions and middleware. By the end of the session, you will be equipped to create Slim applications yourself.