Justin was drawn to Discord because of its vibrant developer ecosystem and the opportunity to work on a consumer platform for the first time after a career in enterprise software.
When Justin joined, Discord already had a thriving developer ecosystem with developers building chatbots, slash commands, and rich presence features. The platform was core to the product and inspired developers to extend its functionality.
Consumer platforms require faster velocity and adaptability, as they need to react quickly to user demands and trends. Enterprise platforms, on the other hand, prioritize stability and long-term roadmaps with minimal breaking changes.
The first major project Justin worked on was transitioning chatbots from listening to every message to using slash commands, which improved scalability and privacy while maintaining feature parity for users.
The main challenge was ensuring that users didn't lose any functionality during the transition. Discord had to provide a structured system that felt familiar and user-friendly while improving privacy and scalability for developers.
Discord allows developers to build creative experiences, even if they don't look perfect, as long as they don't compromise the out-of-the-box user experience. The platform provides structured tools like slash commands to ensure consistency and ease of use.
The Activities platform allows developers to build HTML5 JavaScript games that can be embedded within Discord. These games can be played in voice calls or text channels, with Discord handling the social infrastructure like voice, video, and chat.
Games are restricted to web-based technologies (HTML5, JavaScript) and cannot expose users' IP addresses. Discord proxies all communication to ensure security and prevent direct user-to-user or user-to-developer interactions.
Discord provides a fast path to users and distribution for game developers, making it easier to reach a large audience. The platform also offers social features like voice and video chat, which enhance the gaming experience.
The main challenges included ensuring a seamless user experience within a chat app, securing the iframe environment to prevent data leaks, and optimizing performance for web-based games to run smoothly on both desktop and mobile.
Discord attracts communities of interest, allowing niche games and experiences to thrive. Developers can build apps that cater to specific communities, leveraging Discord's social layer to create unique, engaging experiences.
The focus is on improving the Activities platform, making it easier for developers to build high-quality games that feel native to Discord. This includes enhancing social interactions, performance, and user experience for embedded games.
Discord) is a popular communication and streaming platform that was originally launched in 2015. It was first popularized in the gaming space, but its user base has grown to include a broad array of communities, businesses, and social groups.
Justin Beckwith) is the Director of Engineering at Discord. He leads engineering for the Platform Ecosystem organization and has played a pivotal role in developing Discord’s Embedded App SDK. Justin joins the podcast with Sean Falconer to talk about leading engineering at Discord.
)Sean’s been an academic, startup founder, and Googler. He has published works covering a wide range of topics from AI to quantum computing. Currently, Sean is an AI Entrepreneur in Residence at Confluent where he works on AI strategy and thought leadership. You can connect with Sean on LinkedIn.
Please click here to see the transcript of this episode.)
Sponsorship inquiries: [email protected])
The post Engineering at Discord with Justin Beckwith) appeared first on Software Engineering Daily).