cover of episode Engineering at Discord with Justin Beckwith

Engineering at Discord with Justin Beckwith

2024/12/10
logo of podcast Software Engineering Daily

Software Engineering Daily

People
J
Justin Beckwith
Topics
Justin Beckwith: 本期节目讨论了在Discord领导工程的经验,特别是平台生态系统组织的工程领导工作。他分享了加入Discord的经历,以及Discord作为开发者平台的演变过程。他重点介绍了从基于WebSocket的聊天机器人过渡到基于斜杠命令的模式,以及在保证用户体验和安全性的前提下进行这一重大更改的挑战。他还详细介绍了Discord的Activities平台,包括其技术架构、安全措施、盈利模式以及与其他游戏引擎厂商的合作。最后,他还讨论了生成式AI对Discord平台的影响以及未来发展方向。 Sean Falconer: Sean Falconer作为主持人,引导Justin Beckwith分享了他从企业软件开发到面向消费者的开发者平台的转型经历,并探讨了企业级开发者平台和消费者级开发者平台在开发模式、速度、稳定性以及对破坏性更改的容忍度方面的差异。他还就Discord平台的可扩展性、用户体验、安全性和盈利模式等方面与Justin Beckwith进行了深入的探讨,并对Discord平台在游戏开发和社交互动方面的成功经验进行了分析。

Deep Dive

Key Insights

Why did Justin Beckwith join Discord?

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.

What was the state of Discord's developer platform when Justin joined?

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.

How is building a developer platform for consumers different from enterprise platforms?

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.

What was the first major project Justin worked on at Discord?

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.

What challenges did Discord face when transitioning chatbots to slash commands?

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.

How does Discord balance user-friendliness with developer extensibility?

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.

What is Discord's Activities platform, and how does it work?

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.

What are the security limitations for games built on Discord's Activities platform?

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.

How does Discord's Activities platform impact game distribution?

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.

What are some technical challenges Discord faced with the Activities platform?

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.

How does Discord support niche games and experiences?

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.

What is the future focus for Justin and his team at Discord?

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.

Shownotes Transcript

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).