Speaker

Masahiro Aoki

Masahiro Aoki

Founder of OpenCI, Ex IBM, Ex- CTO, and Current Flutter Engineer and Technology Advisor – Blending a rich tech background with a passion for shaping the future of open-source innovation.

Tokyo, Japan

Actions

After graduating from the International Christian University (ICU), I ventured into entrepreneurship, co-founding a startup and serving as its CTO. My journey then led me to IBM Japan, where I took on the role of a Flutter Tech Lead in a major maritime company's business improvement project. Post-IBM, I'm now actively engaged in supporting startup development and spearheading the OpenCI project.

Area of Expertise

  • Information & Communications Technology

Topics

  • flutter
  • Dart
  • CI/CD
  • OpenSource
  • Firebase

Building Your Own Flutter CI/CD with OpenCI: A Sustainable and Open-Source Approach

**Abstract:**

In this session, explore how OpenCI, a predominantly Dart-written, open-source CI/CD platform for Flutter projects, enables developers to build a personalized and environmentally friendly CI/CD environment. OpenCI stands out not only for its self-hosting capabilities but also for its commitment to sustainability by facilitating the use of second-hand Macs, such as those with broken displays yet operational OS, further reducing electronic waste.

I will start with an introduction to OpenCI, highlighting its open-source nature and the benefits of being developed in Dart, which ensures ease of use and community-driven enhancements. Following this, I will navigate through a comprehensive tutorial on self-hosting OpenCI, providing participants with a step-by-step guide to deploying their own CI/CD pipeline using their Firebase project and an Apple Silicon-equipped Mac.

The session aims to delve deep into the advantages of using OpenCI, from setup intricacies to its impact on improving Flutter development workflows. I will discuss how OpenCI's sustainability practices not only contribute to a greener planet but also offer cost-effective solutions for developers.

**Objectives:**
- Gain insight into OpenCI's foundation, emphasizing its open-source development in Dart and the implications for Flutter development.
- Learn the practical steps for self-hosting OpenCI, including the utilization of second-hand Macs to create a cost-effective, eco-friendly CI/CD environment.
- Master the deployment of OpenCI for enhancing the efficiency and quality of your Flutter projects.

This talk is tailored for developers keen on embracing automation in Flutter development, those interested in sustainable tech solutions, and anyone looking to contribute to or leverage open-source tools for better CI/CD practices. Join us to discover how you can leverage OpenCI for a faster, high-quality, and environmentally conscious development cycle.

Building Real-Time Audio/Video Apps with Flutter and WebRTC

## Summary:
This workshop will guide participants through the process of developing real-time audio and video communication applications using Flutter and WebRTC. It covers from the basic to advanced concepts across various platforms including iOS, Android, Web, and desktop environments (Linux, Windows, macOS). Attendees will gain hands-on experience and a deep understanding of integrating real-time communication technologies seamlessly across platforms.

## Session Details:
### 1. **WebRTC Fundamentals and Cross-Platform Integration**:
- Detailed explanation of WebRTC components such as STUN/TURN servers, ICE, Signaling, and SDP.
- Discussion on how to implement these components within a Flutter environment across different platforms.
- Overview of different communication architectures: P2P, SFU, and MCU:
- **P2P (Peer-to-Peer)**: Direct communication between two clients, suitable for small, low-latency interactions.
- **SFU (Selective Forwarding Unit)**: Intermediate server that receives multiple media streams and decides which to send to each participant, optimizing bandwidth and scalability for larger groups.
- **MCU (Multipoint Control Unit)**: Server that mixes multiple media streams into a single stream before sending it to participants, used for large-scale broadcasts where all receive the same feed.

### 2. **Platform-Specific Integration Techniques**:
- For iOS: Integrating CallKit and PushKit for enhanced communication experiences.
- For Android: Utilizing ConnectionService API and FCM to manage incoming communication effectively.
- For Web and Desktop: Addressing specific challenges and implementing notifications and background operations.

### 3. **Practical Demonstration and Interactive Learning**:
- Step-by-step building of a WhatsApp clone using `cloud_firestore` for signaling and `flutter_webrtc` for media transport.
- Interactive quizzes to reinforce learning and validate understanding at each key stage of the application build.

### 4. **Production Services and Pricing Models**:
- Comparison of major production-ready WebRTC services such as Agora, LiveKit, and Sora.
- Analysis of their features, benefits, and cost structures suitable from startups to enterprise-level implementations.

### 5. **Implementing Comprehensive Testing Strategies**:
- Demonstrating how to set up unit, widget, and integration tests within a Flutter project.
- Exploring best practices for ensuring the quality and reliability of real-time communication apps.

## Key Learning Outcomes:
1. **Comprehensive understanding of WebRTC and its application in Flutter across different platforms**.
2. **Skills to implement advanced audio and video calling features**.
3. **Ability to select and manage cost-effective production services for scaling real-time communication applications**.
4. **Enhanced problem-solving and application testing skills through interactive and practical learning approaches**.
5. **Insight into securing communication applications and ensuring privacy compliance**.

Masahiro Aoki

Founder of OpenCI, Ex IBM, Ex- CTO, and Current Flutter Engineer and Technology Advisor – Blending a rich tech background with a passion for shaping the future of open-source innovation.

Tokyo, Japan

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top