Skip to content
Shawn Bow edited this page Mar 27, 2015 · 81 revisions

OpenFlint wiki will stop to update, all stuffs have been moved to http://openflint.org.

Overview

Flint is an open source technology which enables discovery, launching and communication between multi-screen devices. DIAL protocol is implemented in Flint to provide the sender app on mobile devices (Phone, Tablet, Laptop etc.) to discover and launch the receiver app on big screen. Multiple communication mechanisms (WebSocket, Sockt.IO, WebRTC etc.) can be introduced into Flint between sender apps and receiver apps. You can integrate [Flint SDK](API Libraries) into your mobile or web app to fling your content across multiple platforms (Android, iOS, HTML5 etc.) onto the big screen. Matchstick dongle is the first reference product based on Flint technology, and it is also an open source project to allow developers to build up their own Matchstick dongle.

Fling Daemon is the core service of Matchstick. Currently a CoffeeScript based flingd-coffee is ready for development and test. The Fling Daemon is ready to use if you already have a Matchstick dongle connected to your Wifi network. Or if you do not have a Matchstick dongle, you can download it on your laptop. Right now Fling Daemon can work on Mac OS and Ubuntu with Firefox or Chrome browser installed.

For laptop users, please install Nodejs and CoffeeScript at first, and then get Fling Daemon source code and run:

# Install nodejs and coffee-script before running fling daemon
wget http://nodejs.org/dist/v0.10.30/node-v0.10.30-linux-x64.tar.gz
sudo tar xf node-v0.10.30-linux-x64.tar.gz -C /opt/
echo "export PATH=/opt/node-v0.10.30-linux-x64/bin:\$PATH" >> ~/bash.rc
source ~/.bashrc
sudo npm install -g coffee-script

git clone git://github.com/openflint/flingd-coffee.git
cd flingd-coffee; npm install
# export RECEIVER_CONTAINER=firefox if you want to use Firefox as receiver app browser
./bin/flingd

Hello World app is only one line:

# Launch the Hello World, and stop in 30s
curl -X POST -H "Content-Type: application/json" \
-d '{"type": "launch", "app_info": {"url": "http://openflint.github.io/hello-world-sample/index.html", "useIpc": false, "maxInactive": 30000}}' \
http://localhost:9431/apps/~HelloWorld

Architecture

Flint Architecture Chart

  • Sender app can discover and launch apps on receiver devices with DIAL server.
  • After receiver app launched, we provide a reference WebSocket based communication mechanism between receiver app and sender app
  • 3rd party can also use their preferred real time communication protocol

To Develop Your Flint App

  • [Developer's Guide](Developer Guide for Flint)
    • [Web Sender](Web Sender App Development)
    • [Android Sender](Android Sender App Development)
    • [iOS Sender](iOS Sender App Development)
    • [Receiver Apps](Receiver Apps Development)
  • [API Libraries](API Libraries)
  • [Flint Protocol Docs](Flint Protocol Docs)
  • Flint
    • [Developer's Guide](Developer Guide for Flint)
      • [Web Sender Apps](Web Sender App Development)
      • [Android Sender Apps](Android Sender App Development)
      • [iOS Sender Apps](iOS Sender App Development)
      • [Receiver Apps](Receiver Apps Development)
      • Chromecast App Porting
    • [API Libraries](API Libraries)
    • [Flint Protocol Docs](Flint Protocol Docs)
  • Matchstick
    • [Flashing Instructions](Flashing Instructions for Matchstick)
    • [Build Your Matchstick](Build Your Matchstick)
    • [Flashing Your Build](Flashing Your Build)
    • [Setup Your Matchstick](Setup Your Matchstick)
    • [Setup USB Mode](Setup USB Mode for Matchstick)
    • [Supported Media](Supported Media for Matchstick)
Clone this wiki locally