/yakyak

Desktop chat client for Google Hangouts

Primary LanguageCoffeeScriptMIT LicenseMIT

YakYak

Build Status Known Vulnerabilities

Desktop client for Google Hangouts (not Google Hangouts Chat, which is a different thing)

sshot

(This app is in no way associated with or endorsed by Google)

Install it

We provide prebuilt binaries for macOS, Linux 32 / 64 and Windows 32 / 64. This is the latest release

Check out our wiki for additional installation methods

We love bug reports!

What does it do:

  • Send/receive chat messages
  • Send/receive SMS/MMS (Project Fi / Google Voice) -- basic functionality
  • Create/change conversations (rename, add people)
  • Leave/delete conversation
  • Notifications (using native OS notifications)
    • Toggle notifications on/off
  • Drag-drop, copy-paste or attach-button for image upload.
  • Hangupsbot sync room aware (no bot name, proper user pics)
  • Show inline images
  • Send presence/focus/typing/activeclient to behave like a proper client
  • History scrollback
  • Video/audio integration (open in chrome)
  • Focus/typing indications (mainly a design issue. keep it clean)
  • Offer alternative color schemes
  • Translations in 22 languages so far:
    • English / Portuguese (Portugal and Brazil) / French / Spanish / Czech / German / Polish / Russian / Hebrew / Ukrainian / Slovenian / Korean / Tamil / Romanian / Swedish / Japanese / Italian / Danish / Bengali / Slovak / Turkish / Arabic / Telugu / Finnish /Breton / Simplified chinese
    • We're looking for volunteers to translate the app to new languages

sshot1

sshot2

NOTE

Yakyak may show up as iOS Device and Google may alert you that "some iOS Device is trying to use your account". This is normal as yakyak is an unofficial client and it mimics the behaviour of an iOS device in order to establish a communication with Google Hangout APIs.

Credits

Main authors

Contributors

Developing

This is an open source project. Please help us!

It is written in coffeescript (nodejs) based on hangupsjs using trifl on top of electron (atom shell).

How can you help?

You can improve YakYak in many ways:

  • Core functionality
  • Interface (example: new themes only require choosing less than 20 colors)
  • Bug fixing
  • Translations (new translation only need 117 strings)

Send a pull request, start a conversation with a new issue or participate on a ongoing conversation.

Setup

Requirements:

  • Node.js (v4 or v6)
$ npm install
$ npm run gulp

Continuous build

$ npm run gulp watch

Run it

$ npm run electron app

Build Binaries for Deployment

Supported platforms: Windows (win32), Mac OS X (darwin), Linux (linux)

Suported architectures: 64-bits (x64), 32-bits (ia32)

# Building for all platforms and architectures
$ npm run deploy

# You can also build specific builds by using
#  deploy:<platform>-<architecture>
# example:
$ npm run deploy:darwin-x64

If you have fpm installed (gem install fpm), you can also build RPM, Deb, or Arch packages:

$ npm run deploy:linux-x64:rpm
$ npm run deploy:linux-x64:deb
$ npm run deploy:linux-x64:pacman

note: if you are building Windows binaries in Linux or Mac OS X, Wine (1.6 or higher) must be installed. It also requires a 32-bit Wine installation when building Windows 32-bit binary.

Structure

Location Description
src/ Is where sources live
src/ui/ Holds renderer code (client side)
dist/ Everything is compiled to this directory

Acknowledgement

  • All the users and developers of YakYak
  • "You wouldn't believe" as the 'new message' sound for some platforms and is licensed under CC