explaingit

yakyak/yakyak

3,762CoffeeScriptAudience · generalComplexity · 2/5Setup · easy

TLDR

YakYak is an unofficial desktop app for Google Hangouts built with Electron and CoffeeScript, giving macOS, Windows, and Linux users a native window for Hangouts conversations with OS notifications and SMS support via Google Voice.

Mindmap

mindmap
  root((yakyak))
    What it does
      Desktop Hangouts client
      Native OS window
      SMS and MMS support
    Features
      OS notifications
      Image sharing
      22 languages
      Color schemes
    Tech
      Electron framework
      CoffeeScript
      Node.js and npm
      Gulp build
    Platforms
      macOS
      Windows
      Linux
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Get a dedicated desktop window for Google Hangouts conversations without keeping a browser tab open

USE CASE 2

Receive native OS notifications for new Hangouts messages on macOS, Windows, or Linux

USE CASE 3

Send and receive SMS and MMS via Google Voice or Project Fi from your desktop using YakYak

USE CASE 4

Build and package YakYak as an installable app for your Linux distro including RPM, Deb, or Arch formats

Tech stack

CoffeeScriptJavaScriptElectronNode.jsnpmGulp

Getting it running

Difficulty · easy Time to first run · 5min

Google may send a security alert about an iOS device signing in, this is expected behavior, not a security issue.

No license information is mentioned in the repository's README.

In plain English

YakYak is an unofficial desktop app for Google Hangouts, the chat service Google offered before shifting users toward Google Chat. It runs on macOS, Windows, and Linux, and gives you a native desktop window for your Hangouts conversations instead of needing a browser tab. The app covers the main things you would do in Hangouts: sending and receiving messages, creating or renaming group conversations, adding or removing people, and deleting conversations you no longer need. It also handles basic SMS and MMS for users on Google's Project Fi or Google Voice service. Images can be shared by dragging and dropping, pasting from the clipboard, or using an attach button. Native OS notifications are included and can be toggled off. The interface supports 22 languages and offers alternative color schemes. One thing the README flags: YakYak identifies itself to Google's servers as an iOS device, because it uses the same internal API that the iOS Hangouts app uses. Google may send you a security alert about an iOS device signing in. This is expected behavior and not a sign of a problem. For anyone who wants to install it without building from source, prebuilt files for all three operating systems are available on the GitHub Releases page. Additional install methods including package managers are documented in the project wiki. The project is written in CoffeeScript, a language that compiles to JavaScript, and runs on Electron, a framework that packages web technologies into desktop apps. Developers wanting to contribute can set up a local build with Node.js, npm install, and a gulp build step. The README also covers how to build distributable packages for specific platforms and architectures, including RPM, Deb, and Arch Linux packages.

Copy-paste prompts

Prompt 1
How do I install YakYak on macOS without building from source using the prebuilt release file?
Prompt 2
How do I build and run YakYak locally on Linux using Node.js, npm install, and the gulp build step?
Prompt 3
Why does YakYak trigger a Google security alert about an iOS device signing in and is it safe to ignore?
Prompt 4
How do I enable or disable desktop OS notifications for new messages in YakYak?
Prompt 5
How do I build a distributable YakYak package for Debian or RPM-based Linux using the build scripts?
Open on GitHub → Explain another repo

← yakyak on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.