Hello from LiveChat for Developers
With the start of 2017, we assembled a new team at LiveChat. We’re happy to introduce ourselves as LiveChat for Developers Team.
The past four months were really busy for us. I’d like to share a few bits on what we accomplished so far. If you’re curious about how LiveChat takes care of developers, join me for a little journey.
Story time
Over the last 16 years, LiveChat has grown into a full-blown online communication SaaS software for a wide variety of industries. It’s a truly mature product packed with numerous features, advanced infrastructure and wonderful human support.
Our servers handle over 14,000,000 chats per month from over 140 countries and dozens of industries. With over 19,000 customers, we’ve literally seen thousands of use cases.
Every single LiveChat implementation brought us closer to understand our customers’ needs. We’ve worked hard to address them all but there is always a risk of leaving someone out. And that really kept bugging us.
You see, we’ve got over 60 successful integrations, a handful of well-documented APIs and highly skilled technical support. We’ve been working together with partners and experts to craft the best possible implementation experience. However, we felt as if we were missing something.
Time to act
Thanks to close connections with our customers, we can deeply understand the mechanics of online communication. We’re also a power user of our own software – from the very beginning, we believed in dogfooding. This allowed us to clearly see the current limits of our APIs and core product features.
And this is where the developers come in. Through our actions as the LiveChat for Developers Team, we will empower developers to do more, more easily.
So far LiveChat allowed the developers to:
- Customize the chat window experience with custom CSS and JavaScript API,
- Extend the functionalities of the product with integrations and custom webhooks,
- Interact via REST API to pull data in & out of the system,
- Embed Chat Widget within your iOS and Android apps.
We’ve seen plenty of impressive customizations and elaborate use cases of our APIs. Sometimes the sophistication of those solutions was overwhelming. Although we already provide a number of ways to integrate with LiveChat, we feel the need to go even deeper. We will make the process of customizing, extending and interacting with the LiveChat ecosystem even smoother.
Let’s face it: we need to open up LiveChat even wider and work even harder. There are massive amounts of dreaming power waiting to be freed. We’d love to shape the online communication together with you.
My 8 years experience building a single product tells me this: every company that communicates with their customers has slightly different needs. **The only right version of LiveChat will never exist.**This is why we’re focused on making LiveChat more adjustable. Many companies, such as Salesforce, Zendesk, Twilio, proved it to be the right strategy. We’re in the same boat.
– Bartosz Olchowka, CTO at LiveChat
We want to turn LiveChat ecosystem into a perfect workshop for developers and partners, where they can craft all variety of online communication products and experiments. To make this happen, we need to focus on several different aspects.
The space
Whenever you work on something, you simply need a space. For woodworking that would be a table or shed. For a developer, it’s a bit more abstract: the system infrastructure. It needs to be** extendable, **organized and reliable.
One of the key aspects of providing the ground for developers is breaking up your service into tiny pieces. With many small parts, it’s easier to assemble new products and services. Even if we break up the monolith a bit, it’s still not enough.
Take one of those thousand pieces puzzles. They are composable, but no matter how hard you try, there is only one working composition – the final picture defined upfront by the manufacturer.
The key challenge is to provide pieces that fit together while keeping them independent of each other. The composition should be the art of a developer, not the pieces provider. Then, and only then the really interesting opportunities arise and the environment becomes extendable.
Crafting a composable architecture is a tough and everlasting challenge. Take a look at any open source project, dig through the posted issues and see for yourself. True openness and flexibility have to go with reliability and ease of use. Fighting for one often fails for others.
To keep the right balance and tackle all those problems, we had to organize our knowledge and tighten our teamwork. It’s dead simple:** if we want to create a flawless developer experience, we need to live by one ourselves**. We’ve got Andrzej Samek running errands on defining and maintaining the software quality within LiveChat – see the recent post on Event Storming technique and stay tuned for more.
We’re also true believers in the quality of the service. The infrastructure has to be reliable in terms of uptime, responsiveness and general maintenance. We believe that lasting business relationships are built on mutual trust. Despite a huge customer base, we’re still focused on keeping our customer satisfaction at highest levels.
So we have our workspace. But there is no point in running an empty workshop – to free up developers’ creativity, you have to provide some building blocks to play with.
The pieces
Everything is made of pieces. We just defined them to be composable and mutually independent. What does a piece actually stand for at LiveChat?
Let’s say an e-commerce company suffers a low conversion rate in their checkout process. They want to reach out to their customers right before they leave the site. They need to set up a chat widget for the cart page and provide agents with visitors’ cart content. They also want to push successful customers to a dedicated CRM and create fully customized reports.
This use case could be done with the composition of following pieces:
- Basic LiveChat implementation with Chat Widget and Agent App,
- JavaScript variables providing information on the cart,
- Webhook integration pushing customers data to the CRM,
- REST-API queries preparing a report of the sales.
The piece is anything that comes handy while solving a certain problem. It could be the chat_ended webhook, chat widget method or REST-API query. Our job is to provide as many building blocks as possible. Recently we introduced the Agent App Extension – a fully customizable sidebar within the LiveChat Agent App. We’ll make sure to deliver more pieces soon!
We’ve got our workspace and building blocks – what’s next? We all know the success of LEGO. It’s pretty wild that simple bricks can be used to build up the most complex structures. Moreover, you’ve probably never seen a single word of the LEGO instruction. How did they craft this catchy developer experience with almost no words?
The resources
It’s pretty obvious – some say that a picture is worth a thousand words. But does it translate to the software world? Well, usually it does. Both in the case of LEGO and software worlds, you learn through resources as well as the trial and error. The right mixture of those two usually results in a good developer experience.
The obvious and critical source of truth is thorough documentation of all the available interfaces. We know the pain of going through complex docs and dead code samples. For the last few years, we hosted our docs in Wordpress. Honestly, performing updates and keeping it clean was a depressing activity.
That’s why we moved to a simple Github-based content management system with markdown formatting syntax. This solution has three major benefits:
- the source of the content is public and welcomes pull requests,
- the content itself is separated from the visual layer,
- the entire site is static, thus fast and easily maintainable.
The docs are crucial, but nothing cheers up developers better than a playful example. We crafted two sample apps to help you lift off with our recent project, the Agent App Extension. It turned out to be a great way of providing a smooth start of development. We’re planning to prepare more of this taste.
Stay tuned if you’d like to know more about how we manage our docs – there is a post on that coming soon!
The community
Back in the day, I was really into microchips and electronics. I remember being blown away by the idea of hackerspaces. To put it simply: hackerspace is a community-driven workspace where people with common interests can meet and collaborate.
This is a good example of how the community helps to build any type of business. The more people gathered around a certain problem, the bigger potential to create new value. In the end, it’s the community that builds up the solutions based on given resources. So it is people who are building the product with the help of tools, documentations and market needs.
For the last 16 years, LiveChat has been helping people all around the world to grow their businesses. Here I am, blown away again, this time by the amounts of quality feedback and knowledge coming from LiveChat customers.
We do our best to give back as much as we can by sharing what we learned every day with blog posts, podcasts, ebooks, all variety of tools and the best possible online communication software. Now, with LiveChat for Developers, we’re moving a step further and shaping a space for you to meet and collaborate.
Let’s deploy together
So far LiveChat was building a sophisticated space shuttle, that brought many businesses to the moon. As for now, we’d love to see you building your own spacecrafts, shuttles and satellites with LiveChat!
As LiveChat for Developers Team we’re on the mission to make our infrastructure simple, composable and powerful. We’ll ship it with dedicated developers accounts, coming within next months. We’ve started with fresh Developers site along with a new Blog and Project pages. We’ve launched a new way of integrating with LiveChat: Agent App Extension. A new Docs site with the public source was deployed.
There is so much more I’d like to tell you! Stay tuned, LiveChat for Developers Team is working hard to bring a brand new developer experience to the table.
PS: If you have any questions, insights or feedback – please fire away at developers@livechat.com or find me on Twitter.