Over the next few weeks or months, as I search for my next role, I'm hoping that I'm going to have a few conversations. The purpose of this post is to clarify what I can bring to any company that is considering employing me and what I'm looking for in my next role. TL;DR / Exec Summary What I'll bring : See my LinkedIn profile . In particular, my time at Nexmo (acquired by Vonage) and my more…
The first version of this post was published on the PostHog blog on September 30, 2021 Developer Relations exists and is executed in different ways at almost every company. Our Developer Relations journey at PostHog has just begun, and we still don't know exactly what it will look like in the medium term. But we can still assess what our needs are going to look like and formulate a plan to seed,…
Listen to the audio version on Descript 🔉 It's been just over eight months since I left Nexmo/Vonage, where I'd been for over four years, and I'll admit to having spent a few hours reflecting upon my decision to leave. It's also that time of year when many people seem to get a new job and change companies so now seems like a good time to share some advice and some of my experiences. When…
In the first post in the series we covered discovering real-time data within your systems and applications. In part two we went through the use cases for your real-time data . In this final section we’ll cover the how : how to describe, publish & consume real-time data from your systems and expose the data so that you can build real-time features. The main steps we’re going to cover are doing the…
This is the first part of our real-time data series. The second part in the series covers use cases for your real-time data . In the Discovering Real-Time Data in Your Apps post I covered what is real-time and discovering the real-time data within your existing apps. In this second post I want to cover ways in which you can use the real-time data that you have now identified within your apps.…
Real-time notifications, data visualisation, communication, collaboration… Whether the aim is to improve user experience or to facilitate the management of your infrastructure, the ability to collect, process, and deliver data in real-time is critical. Every application has real-time data, but turning this data into useful functionality requires three steps: Identify the points within a system…
This was originally written by me and published on the Pusher blog What is Real-Time? – it’s a question that is asked a lot. It’s a fundamental question that I’m sure many are curious to get a definition for. And many a developer that’s worked with embedded systems may have even been annoyed when they hear “real-time” in the context of the Web or the Internet applications. So, to clarify things…
When I tweeted my availability back on January 8th 2016 I wasn't sure if it would have any reach. But thanks to an amazing network of peers, and a popular post on Defining Developer Relations , I've ended up having lots of conversations with very smart people about potential opportunities. As I reflected on the past year, and discussed developer relations with others, it became very clear that I…
The number of companies looking to build developer relations teams is on the increase. But what developer relations means to each company tends to differ; some hire advocates and some hire evangelists, some are looking to market to developers and others see devrel as key to capturing feedback and to the success of their product. How do you know the roles and activities that will work best for your…
There are lots of real-time frameworks which exist to allow us to build real-time features and functionality into our apps. However, I often see developers who are excited about discovering real-time framework X and then proclaim "now to find a use for it". Every single application has real-time data and every single application could benefit from real-time features driven by that data. So I felt…
So, you want a real-time API. Where do you start? You're convinced of the benefits of a real-time API and know what data you want to make available through it. But you've probably got a number of questions playing on your mind: What method do I use to expose the data? Do I increase the allowed polling interval of my REST API? ( Please don't ) or offer HTTP Long-Polling, HTTP Streaming and/or…
I like retrospective-style posts. When writing them I get to look back at the things I've done and am often surprised, pleased and encouraged to improve. I also enjoy reading retrospective posts of others, particularly from those who are doing similar things or those that I look up to and learn from. Hopefully the majority will forgive the indulgence of a personal retrospective and a few - like me…
Back in February 2014 I wrote a list of 10 predictions for realtime web technologies in 2014 (well, it was 10 and 2 bonus items). In this blog post - sorry it's not 1 year on - I'll review those predictions and provide my thoughts on whether they were correct or not. Here's how I feel I did with the 10 predictions: 5 Correct ✔ 3 Partially correct ¯\ (ツ) /¯ There's evidence to suggest trends…
Many tout WebSocket as a long awaited transport technology for realtime communication on the web. For many years developers have hacked around with HTTP to try and achieve “realtime push” (a.k.a. server push), where the server "pushes" data to the client. WebSocket was the solution that was born out of the requirement to provide a standardised solution to replace the hacks. But some solutions are…
The callback has been invoked, the Promise ☀ fulfilled. I'm super-excited to be rejoining Pusher to head up evangelism and developer experience. This leaves a BladeRunnerJS Developer Evangelist role vacant so please get in touch if you're interested. ☀ This is a play on words. Rejoining wasn't planned. Rejoining Pusher When I left Pusher back in June 2013 I said it was the best job I'd ever had.…
It’s interesting how I used to always talk about the Real-time Web and Real-time Web Apps but now it really does need to be Real-time Internet Apps because IoT (The Internet of Things) now means we need to think beyond what we would traditionally class as Internet technologies. In this latest talk I cover realtime web technology communication paradigms and use cases for 2014 and beyond. I also…
For completeness the article is now available in full below and will be updated over time. The State of the Componentised Web blog post is now available on the Future Insights blog. If you’re interested in attending FOWA London you can use the coupon code “BRJSFOWA15″ when signing up . Introduction The idea of building applications out of a number of independent components isn’t anything new. But…
Nearly two months in, I thought I'd publish 10 realtime web technology predictions for 2014 based on how it developed in 2013 and the trends I've seen so far this year. I've added two additional bonus predictions for good measure. Note: I came up with most of this list at the start of the year. I've only just got around to expanding upon the details now. Before I go into the predictions: if you're…
I recently did a short interview with Future Insights . As part of that my talk from FOWA 2013 was published. Future Insights stopped operating so content for their accounts, including their YouTube, has been lost forever :( So, if this interests you, you'll need to read the blog posts. I've also written up my talk in three parts: Part 1: Background, Benefits & Use Cases of Realtime Part 2:…
In the previous parts of this three part series I covered: Part 1: History, Background, Benefits & Use Cases of Realtime Part 2: Fundamentals of the Realtime Web & Realtime Web Functionality . The FOWA 2013 Choosing your Realtime Web App Tech Stack video On to part three... In this final part ( sorry for the delay ) I'm going to cover how you should approach choosing your Realtime Web App Tech…
In part 1 of this 3-part write-up from my talk at FOWA London 2013 I covered the History, Background, Benefits & Use Cases of Realtime . In this 2nd part I'm going to provide details on some fundaments about realtime web technology and an overview of the basic types of functionality that they offer. Part 1: History, Background, Benefits & Use Cases of Realtime Part 3: Choosing your Realtime Web…
This is part 1 of a 3 part series on Choosing your Realtime Web App Tech Stack . It's based on the talk I recently gave at the Future of Web Apps. Part 2: Fundamentals of the Realtime Web & Realtime Web Functionality Part 3: Choosing your Realtime Web App Tech Stack For some time I've seen FOWA as one of the biggest web conferences around. So, when Future Insights approached me to talk at FOWA…
I quite frequently see posts on StackOverflow about how to add realtime functionality to a PHP application, or to build a realtime solution with PHP. And I'm increasingly getting emails asking the same. So, here's what I feel the current state of Realtime Web Technology is for PHP: The solutions for PHP alone are very limited . There is a framework called ReactPHP on top of which Chris Boden has…
On Monday we published our first BladeRunnerJS (BRJS) blog post . It provides an overview of what BRJS is, why it was created and why it's being open sourced. We saw a nice spike in traffic and I was thinking about ways I could try to sustain that. I decided not to take any action (e.g. submit for consideration in JavaScript Weekly) for two reasons; we'd publish plenty more posts over the coming…
Over the past three weeks I've had the opportunity to investigate modern web development tools and I feel a little bit like a kid in a sweet shop. Firstly, I'm excited to be here. Secondly, there's so much to choose from. In the past you may have been able to pick up a selection box containing a few pre-defined dev tool options. Now, there are so many technologies and tools available it's like…
Around 3 months ago I made the very difficult decision to leave Pusher . After just over 2 years I'm leaving behind what - up until now - has been the best job I've ever had. In this post I'll cover what's been achieved while I've been at Pusher, why I left and what I'm going to be doing next. Achievements Over the past 2 years Pusher has achieved a lot and I believe I've made a good contribution…
Feature image by Sean Loyless I've been to quite a few conferences over the last couple of years (46 conferences and events, by my count). Converge Conference was something different. Although a tech conference, the focus in the talks I saw was most definitely on soft skills and experiences, and not really on the tech. This was highly refreshing. There were 3 talks in particular that resonated…
Inspired by the first two talks at #stacked13 by Mike Taulty and then Maarten Balliauw I thought I'd jump straight into Windows Azure Mobile Services and build an a realtime collaborative synchronised todo list . I'd do this based on the Get started with data in Mobile Services HTML guide . I would then and host it on a Windows Azure web site . Update: Sorry, I haven't renewed my Azure Mobile…
First I'd like to emphasise that this is a blog post on how and not why . The why comes down to the judges. So, thanks Judges! Secondly I'd like to thank Rob Dunfey for the idea and for providing additional motivation - I'll dig deeper into this later. Finally: what am I going to cover? As the title suggests, I want to cover the how . What that means is: The Idea Solving a Real Problem The…
For a long while now I've not been getting as much out of Twitter as I used to. There's too much information to take in. I've long said that Twitter is throw-away. If you miss something then it doesn't matter. If it's important then I'll see a retweet or pick up the information from somewhere else. This is wrong . Just because it's not being retweeted by everybody it doesn't mean it's not a…
I'm on the "What Developers Want" panel at the Business of APIs Conference London , arranged by Mashery . I'm also giving a lightening talk on my take on "What Developers Want". Video streaming by Ustream Unsurprisingly I believe they wany the APIs to offer access to their data in Realtime. Here are the details: What Makes An API Awesome? We now have a better idea than ever before what is required…
A couple of days after the WebSockets panel at HTML5DevConf in San Francisco I gave a talk at TwilioCon . We were asked to try and cover a big topic and focus on a few key points. Since the conference was for Twilio, a telephony cloud service, we wanted to cover something that both incorporated Twilio and realtime web technologies such as Pusher. The topic we therefore decided to cover was How the…
On October 16th 2012 I sat on a HTML5DevConf WebSocket panel along with Ilya Grigorik from Google, Matt DeBergalis from Meteor and Peter Moskovits from Kaazing - the panel was chaired by Frank Greco , also of Kaazing. Here are the notes, in a pretty raw format, from the event. A more curated write-up can be found on the Pusher blog . Where does WS affect current web infrastructure the most? The…
It's too broad a statement to say that absolutely everybody is your customer. But, you actually never know if the next person you speak to could be a potential customer so you should treat them that way. Treat them the way you would want to be treated no matter the roles you are currently in. Let me explain. The Thank You Economy I'm recently back from a holiday and during that time I picked up…
I can't believe it! I left University to take my first job 11 years ago. During that time I've worked in finance, e-learning, GIS and SEO/digital marketing. Although I've had some interest in these sectors my real interest was just the technology, with a passion for realtime web technologies. I now work for Pusher and can focus almost entirely on realtime web technologies and the application of…
A couple of weeks ago I attended HackLDN for the 2nd time. The focus of the event is very much to create something with real business potential. I completely understand the reasoning behind that and back the idea. But, if everybody had an idea and everybody wanted to work on their own project, to create a company, then there would be a lot of one-man/woman teams. We need people to go along to have…
I'm attending Hackathon London this weekend. Normally I help each team at the event but don't get too involved in individual projects. This time things might be different. In 2006 David Beckham was dropped from the England squad by Steve McClaren. This wasn't a footballing decision, it was to try and stamp his authority on the team and show he was his own man. It massively backfired. I saw this an…
In my recent talks I always give realtime collaborative code editing as a great example of collaboration. As far as I know Cloud9 are the first to add this features to an online IDE (I've heard such a feature has been available in desktop IDEs for a while). They use socket.io for their solution, which isn't a surprise since they're big on node.js. The recent mail-out must have really driven some…
I recently gave a my Realtime Web Apps in the Wild talk at Fluent Conference in San Francisco. It's a pretty big event with some impressive and well-informed speakers, so it was great to be part of. Slides: You can find the slides from the talk in the mode which controls the second screen application here: The slides also contain links to the demo videos for the appropriate slides, identified by…
I've just finished giving my presentation on HTML Web Apps in the wild at HTML5DevConf . The Wifi stood up so hopefully the second screen experience really helped to demonstrate how realtime web technologies, and of course Pusher can be used to enhanced interaction and engagement within applications. You can find the slides, 2nd screen app and the slides in "controller mode" via:…
I can't believe it, but I've now been working for Pusher for a year. It's been an exciting year both in life and in business - and it's great when you spend a lot of the time working on something you are really interested in. So, I thought I'd push out a post covering the things that I've done this year along with a few thoughts. A Developer Evangelist? I'm a strong believer that we are much more…
Really pleased to see my realtime commenting system blog post appearing on Smashing Magazine . The post took a reasonable amount of time to write but I really like the way that the application is built from near-scratch and is progressively enhanced, first with AJAX and then realtime web functionality. Big thanks to Bryce Wilson of zendit.com for putting the HTML5, WebSockets (connectivity) and…
Update My opinion, indicated in the comments below, is now: Comet is an umbrella term for all the old HTTP-based hacks and is a phrase we want to get rid of. WebSockets are where we want to be; browsers and beyond. Below is the old post covering my original opinion: "WebSockets or Comet" I’ve been thinking about writing about this frequently used statement for a while, and I’ve seen a few comments…
Over the weekend I attended the Code Africa hack weekend which was organised and hosted by The Times . The event saw developers, designers, journalists and entrepreneurs come together to try and form ideas and build prototypes over one weekend. My main takeaways from the event were a much better understanding of the state of technology in Africa, how technology can be used to help the people…
I started writing this right after the jQuery UK event but have only just found time to finish it off sitting in Stansted airport at 7am. jQuery is a funny thing; it's made JavaScript coding easy for advanced developers and accessible to web designers, and you could even say that the web designer role has very much changed because of it. It's made web interfaces much richer and interactive. But,…
Realtime location tracking Poll (I'm sure they'll introduce WebHooks soon) the Vodafone API and push realtime updates to a map. A better Betfair Ok, you probably won't be able to build an app that's better than betfair. But using our API in conjunction with Betfair you'll be able to build a realtime betting system. The questions is: can you get realtime data from Betfair? Things like realtime…
When data is being delivered to web applications the chances are that you'll be displaying that data within the user interface (UI). In order to do this you need to find the element in the Document Object Model (DOM) and then update it. Whilst the performance of web browsers is improving all the time DOM manipulation can still be costly (use up time and resources) if you are pushing through a lot…
I gave a presentation yesterday at Edinburgh techmeetup . A big thanks to Dale Harvey for inviting me to talk and to all the attendees for taking the time to attend, listen and interact. Aaron Bassett also gave a good talk on Avoiding Integration Hell so I'd recommend you follow him for more info. Here's a direct link to the "Web Browsers & the Realtime Web the past, present & future" slides . And…
The real-time web started off by just being "cool"; a quirky and fun space to be in with lots of "cool" technology. People weren't sure whether it was just a fad, stimulated by hype. The value it delivers in the form of customer engagement, interaction, collaboration and the opportunities it can provide by being real-time is now much clearer, and consequently the benefits of using real-time…
A couple of hours ago I was on a on the 'The Right Place At The Right Time: How The Real-Time Web Influences The "local" World' panel at the Local Social Summit . The panel was organised and chaired by Sebastien Provencher and also included RyanMacJones , Dave Ambrose and Stefano Diemmi . Here's the information about the panel and my thoughts on the questions that were asked. Description The rise…