Engineering (3)
Real-World Xcode Project Using Tuist
There's a file in there with the extension proj. This file is what it is about, this file is probably the source of most of the source-level conflicts you will be facing when working on a single Xcode project with multiple people. How often do you intend to quickly merge your work, only to be
Linting Documentation with Vale to Increase Quality & Consistency
Most software developers are familiar with tools to lint their source code. Linting code is the process of checking your code against a defined set of rules to help keep a consistent naming convention, prevent common mistakes, and anti-patterns in other aspects of your code, provided the requirement can be expressed in configuration understood by
SwiftUI Animation: How To Add Facebook Live Reactions to Livestream Chats
An app like Telegram uses fine-grained animations to engage, entertain, and onboard users in many ways. In this article, you will learn how to build and integrate great SwiftUI animations and motion for your iOS apps to provide wow user experiences. You can use the animations in this article in, for example, live video streaming
How to Achieve a 9ms Inference Time for Transformer Models
Interested in Moderation for your product? Check out Stream's AI Moderation Platform! It is crucial for the technology platforms to moderate any harmful content as early as possible. Most modern moderation tools take a few hundred milliseconds to a few seconds to detect harmful content. Often the action against detected harm is taken after the
7 Android Resources To Level Up As a Developer
The development ecosystem is changing so fast. Every day, new tech stacks and solutions are introduced to the community, and some materials are beneficial and reduce many development resources. To be a better developer, you need to not only make an effort to write good code but also keep learning helpful knowledge from excellent resources.
WebRTC IP Leaks: Should You Still Be Worried?
Before getting to the juicy part of this article, you need to understand why WebRTC requires your IP address and how this is not technically a vulnerability as much as a feature of WebRTC. We'll explore: Attack vectors that demonstrate how WebRTC can be exploited The privacy implications of a leaked IP address How to
Using SwiftUI Effects Library: How to Add Particle Effects to iOS Apps
Creating particle animations similar to the iMessage screen and bubble effects in iOS can be difficult. The main reason is that the Core Animation Emitter Layer that allows you to animate, emit and render particle effects is complex to set up and configure due to its large number of parameters. In this article, you will
Becoming A Successful Open-Source Librarian
The open-source software ecosystem is in a constant state of growth. Every day, new libraries and solutions are introduced on GitHub that are designed to accelerate development speed and make our lives as developers easier. Nowadays most companies, especially startups, are highly dependent on open-source libraries. They reduce development resources needed and have been a
How to Integrate Live Audio and Video Into iOS Apps Using WebRTC
When adding live video to your applications on Stream, we recommend checking out our newly released Video API! Using Stream Video, developers can build live video calling and conferencing, voice calling, audio rooms, and livestreaming from a single unified API, complete with our fully customizable UI Kits across all major frontend platforms. To learn more,
Building A Conferencing App With WebRTC: P2P, SFU, or MCU
When dealing with relatively simple real-time data, WebSockets and gRPC have become the go-to mechanisms for most developers. These are relatively simple to work with, and the existing documentation makes building larger applications mostly trivial. When dealing with the WebRTC protocol, however, things are more complicated and nuanced - especially with video and audio. Video
Design Patterns and Architecture: The Android Developer Roadmap - Part 4
We've broken down our 2022 Android developer roadmap into a multi-part series, each covering important Android fundamentals and the current ecosystem. In the last post, we discussed essential elements of modern Android development, including Fragments, App Navigation, Architecture Components, and Android Jetpack libraries. In part four, you'll learn the following six sections of our Android
SFU, MCU, or P2P: What's the Difference Between These WebRTC Architectures?
SFUs are commonly used in VoIP and video conferencing applications. SFUs differ from Peer-to-Peer (P2P) connections, in which each party sends and receives media directly to and from the other party. They are also different from Multipoint Control Units (MCUs), which receive media from all parties and then broadcast it to all other parties. SFUs
Using Xcode: Creating Reusable and Shareable Color Palettes
Having a full range of colors that can be shared and reused in different Xcode projects improves efficiency and workflow because it removes the time wasted in looking for colors that will work together for your projects. Additionally, it ensures consistency of color usage within your apps and projects. Historically, developers and designers create color
Definitive Flutter Painting Guide
"Everything is a widget." Well, yes - but what is a widget? Widgets used in making Flutter apps can themselves be composed of smaller widgets. Most widgets carry some kind of visual component - either defined by themselves or represented by smaller widgets. Unlike native frameworks, Flutter underneath does not use OS views. Instead, Flutter
Why we switched from Python to Go
Updated May 14th 2019 to better reflect improvements to Go in the last 2 years (package management, better performance, faster compile times and a more mature ecosystem) Switching to a new language is always a big step, especially when only one of your team members has prior experience with that language. Early this year, we
Building a Performant API using Go and Cassandra
Introduction Software performance is critical to a SaaS company like Stream and while the majority of our infrastructure is written in Python, we are actively porting portions of our code base to Go. Stream is an API for building scalable feeds and now handles over 20 billion feed updates a month. While Python has been
