All Projects → SamsungInternet → Snapwat

SamsungInternet / Snapwat

Licence: mit
Photo/video doodling app for the web - a progressive web app demo

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Snapwat

Vue Firebase Starter
boilerplate of vue/vuex/vue(x)-router, with sass/prerendering, muse-ui, and firebase/firebaseui
Stars: ✭ 43 (-30.65%)
Mutual labels:  pwa
Snapdrop
A Progressive Web App for local file sharing
Stars: ✭ 10,173 (+16308.06%)
Mutual labels:  pwa
Bikedeboa
A (Progressive) Web App to find, map and review bike parkings in the cities of Brazil.
Stars: ✭ 54 (-12.9%)
Mutual labels:  pwa
Pwa Workshop Angular Firebase
Build a production ready PWA with Angular and Firebase! This workshop consists of multiple steps for producing a PWA by transforming a regular web app - Ionic Conference App into a PWA, finally deploying it to Firebase.
Stars: ✭ 45 (-27.42%)
Mutual labels:  pwa
Capacitor Plugins
Official plugins for Capacitor ⚡️
Stars: ✭ 49 (-20.97%)
Mutual labels:  pwa
Vue Pomo
A progressive web app for the Pomodoro Technique, built with Vue 2.0, Vuex and Firebase.
Stars: ✭ 51 (-17.74%)
Mutual labels:  pwa
Elm Hn Pwa
Hacker News as a PWA built with Elm
Stars: ✭ 43 (-30.65%)
Mutual labels:  pwa
Ng Toolkit
⭐️ Angular tool-box! Start your PWA in two steps! Add Serverless support for existing projects and much more
Stars: ✭ 1,116 (+1700%)
Mutual labels:  pwa
Amplify Js
A declarative JavaScript library for application development using cloud services.
Stars: ✭ 8,539 (+13672.58%)
Mutual labels:  pwa
Pgtune
Pgtune - tuning PostgreSQL config by your hardware
Stars: ✭ 1,078 (+1638.71%)
Mutual labels:  pwa
Pwa Module
Zero config PWA solution for Nuxt.js
Stars: ✭ 1,033 (+1566.13%)
Mutual labels:  pwa
Reason App Shell Starter Kit
A simple App Shell starter kit that you can use to get started building your PWA with ReasonML & ReasonReact.
Stars: ✭ 49 (-20.97%)
Mutual labels:  pwa
Opencart
Free PWA & SPA for OpenCart
Stars: ✭ 50 (-19.35%)
Mutual labels:  pwa
Pushkit
All the required components to set up independent web push notifications 🎈
Stars: ✭ 45 (-27.42%)
Mutual labels:  pwa
Yinyue
🏖Version Of Progressive Web App ( Serverless )
Stars: ✭ 57 (-8.06%)
Mutual labels:  pwa
Openui5 Pwa Sample
How to build a progressive web app (PWA) with OpenUI5.
Stars: ✭ 43 (-30.65%)
Mutual labels:  pwa
Navi
Open Source Project for Grow with Google Udacity Scholarship Challenge - Navigation app using offline first strategy and google maps api - To get started please refer to the README.md - CONTRIBUTING.md and the project Wiki
Stars: ✭ 51 (-17.74%)
Mutual labels:  pwa
React Adventure
⛰ React high-ending architecture & patterns ready for use. Made for big and small projects. PWA Ready.
Stars: ✭ 62 (+0%)
Mutual labels:  pwa
Prestashop
Free PWA & SPA for PrestaShop
Stars: ✭ 59 (-4.84%)
Mutual labels:  pwa
Laravel Vuejs.com
Laravel and VueJs Blog, using Laravel nova, GraphQL, NuxtJs, Apollo and ...more
Stars: ✭ 54 (-12.9%)
Mutual labels:  pwa

snapwat?

snapwat is a demo to showcase Progressive Web App capabilities. The app lets you doodle and add emojis on top of photos or your live camera feed, then save and/or share your creation!

A snapwat

Disclaimer: Snapwat is a product of a learning process for me (I'm sharing that as I go) and it's a work in progress. It shouldn't be seen as a best practice guide (yet)! For a best practices guide for getUserMedia, see: developers.google.com/web/fundamentals/native-hardware/capturing-images/

How to use it

  • First, choose whether to use/take a photo, or switch on your camera.
  • You can tap 'Tools' to switch between the pencil (default), brush and emoji stamp.
  • Tap 'Options' to set the pencil/brush colour and size. Draw over the photo/camera view as you wish.
  • For emojis, select one from the emoji menu and touch on the photo/camera view to stamp it as a sticker.
  • Tap and drag an emoji to move it around. Pinch an emoji to resize it.
  • When you're ready, press the 'next' arrow. The snapwat will be displayed.
  • Tap and hold / right-click and choose your device's Save / Download option to save the image. (Unfortunately it doesn't seem possible right now to download the generated file automatically across mobile browsers - more about that here).
  • Or press the 'Tweet' button and share it directly via the Twitter API. (It will request read/write access for your Twitter account, but it will only ever be used to share your snapwats with your permission. It uses hello.js with their default auth proxy).
  • Be sure to share your beautiful creations with the world, hashtag snapwat!

Browser Support

So far I have tested it in:

  • Samsung Internet for Android
  • Chrome for Android
  • iOS Safari (until v11 introduces getUserMedia support, you can use input type="file")
  • Chrome desktop

For known issues, see the Issues tab.

If you spot other problems, please file an issue (or even better a PR!)

Tech

This demo is intended to be as lightweight as possible. However, it would be a shame to avoid all modern tooling and lose out on the latest syntax and JS bundling. So, I'm using Babel to transpile the JavaScript and rollup for module loading.

The WebRTC adapter is used to polyfill the latest MediaDevices promise-based API.

It uses Web Manifest to enable home screen installation and a service worker for offline use. (Yes, you can take a snapwat on an airplane!)

Local development

As usual, the best place to begin is:

npm install or yarn

Then to transpile and combine the JavaScript:

npm run build*

(This just runs the rollup commands for the app source code and the service worker script).

To run the app:

npm start*

Or you can use any static web server for the public directory - it's all just front-end.

To watch for changes (in a separate terminal):

npm run watch*

(This just uses watch to rebuild the JS when a change is detected in the src directory).

*NB. You should be able to replace npm with yarn here, but it's not working with yarn v0.15.1. Sounds like it should work once this gets released.

Snapwat the name

Snapwat is called Snapwat because it's a snapshot with "pwa" in it - for Progressive Web App. Also, it's abbreviated to SW, like Service Workers. Good eh? It's pronounced "snap what?" to rhyme with snapshot. Any resemblance to other social apps is purely coincidental...

Further reading

Credits and Thanks

Contact

Please tweet me or email: peter dot oshaughnessy at gmail dot com.

Licence

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].