Anatomy of Google Chat apps - Architecture

Anatomy of Google Chat apps - Architecture

Introduction to Google Chat Apps Architecture

Overview of the Video

  • The video introduces five architectural options for creating Google Chat apps, presented by Chanel, a Developer Advocate at Google.
  • This is the first in a series of three videos focusing on the anatomy of Google Chat apps, which consist of a service and app logic.

Components of Google Chat Apps

  • A Google Chat app includes two main parts: the Chat app service integrated with Google Chat and the app logic implemented in code.
  • Developers can use various libraries and tech stacks for their app logic, with web services being a common implementation method.

Common Architectural Options

Web Service Implementation

  • Using web services allows integration with remote services via HTTP; suitable for most use cases, especially publicly available apps on Google Workspace Marketplace.

Apps Script Integration

  • Implementing logic entirely in Apps Script offers speed and simplicity, automatically handling authentication and making data access easy within Google Workspace.

Handling Firewalls

  • If an app's logic is behind a firewall, using Google Cloud Pub/Sub can help manage message subscriptions from Google Chat while still utilizing HTTP for communication.

Advanced Integration Techniques

Dialogflow Integration

  • Integrating Dialogflow allows natural language processing capabilities, enabling users to interact without needing specific commands.

Webhooks Usage

  • Webhooks facilitate asynchronous messaging into specific chat spaces but lack user interaction capabilities; best suited for simple alerts like server notifications.

Choosing the Right Architecture

Key Considerations

  • When selecting an architecture, consider factors such as target audience, resource access needs, and conversational patterns to implement.

Example Scenarios

  • For a vacation planner app accessing team members' calendars, Apps Script is recommended due to its seamless integration with Calendar APIs.
  • For a financial analytics app intended for public release on the Marketplace, using web service implementations like Google Cloud Functions is advisable for scalability across domains.

Conversational Patterns in Chat Apps

Types of Messaging Patterns

  • Synchronous messaging involves one-to-one responses from the chat app based on user messages.
  • Asynchronous messaging allows two-way communication where multiple follow-up messages can be sent after an initial acknowledgment (e.g., monitoring requests).

Alert Systems

  • One-way alert systems send notifications to chat spaces without allowing user interactions; ideal for operational alerts.

Conclusion & Further Learning Opportunities

Engagement Invitation

  • Viewers are encouraged to comment on which architectural option they would like more detailed tutorials about.

Additional Resources

Video description

In this video we will discuss the different architectural options you have when creating your own Google Chat apps. We also will touch on what to consider before choosing a service architecture. Chapters: 00:00 - Intro 00:30 - Service architecture 00:58 - Web Service 01:45 - Apps Script 02:21 - Cloud Pub/Sub 02:51 - Dialogflow 03:26 - Webhooks 04:02 - What to consider Watch more videos from this series! Anatomy of Google Chat Apps - Basic Interaction : https://youtu.be/6q_96tyXwOc Anatomy of Google Chat Apps - Advanced Interaction: https://youtu.be/AS1TN3WYlyI Check out the Google Chat for Developers documentation: https://goo.gle/dev-docs Try out the Card Builder to create card messages: https://gw-card-builder.web.app/ #GoogleChat #GoogleWorkspace #ChatApps