Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The history of how Screenly OSE became the most popular digital signage project on GitHub

The history of how Screenly OSE became the most popular digital signage project on GitHub

Viktor Petersson

April 01, 2020

More Decks by Viktor Petersson

Other Decks in Technology


  1. @vpetersson WireLoad's history • 2006: YippieMail • 2008: YippieMail pivoted

    into YippieMove • 2011: Blotter • 2012: Screenly • 2018: Screenly turns into Screenly, Inc • 2019: RIP YippieMove
  2. @vpetersson At a glance • Fully bootrapped (i.e. never took

    investment) • Fully distributed since inception (i.e. we were remote before it was cool) • Over a decade of remote • Turns out to be helpful for open source projects too
  3. @vpetersson Skarmverket AB • Joint venture / acquisition • Our

    first exposure to digital signage • Small deployment (~10 screens) • Horrible existing software • Flash, Windows, RDP • 30 days from acquisition to go-live and no software
  4. @vpetersson Market due diligence • Two "buckets" of signage solutions

    • "Black boxes" and commercial (e.g. Brightsign etc) • Hobbyist and open source (e.g. Xibo) • Neither felt like a good fit
  5. @vpetersson We can do better... • Asus EeePC running Linux

    • 3G Modem for connectivity • Software glued together using Bash: • mplayer • ffmpeg • cron • rsync • at • puppet • Total price per unit: ~$300
  6. @vpetersson nerd trivia: `man at(1)` "at and batch read commands

    from standard input or a specified file which are to be executed at a later time." $ at 11:00 AM next fri warning: commands will be executed using /bin/sh at> /usr/local/bin/myscript.sh at> <EOT> job 1 at Fri Apr 3 11:00:00 2020 $ atq 1 Fri Apr 3 11:00:00 2020 a root
  7. @vpetersson nerd trivia: Debian/Ubuntu preseed • Enables for automatic installation

    • Useful for batch automation [....] ### Package selection tasksel tasksel/first multiselect ubuntu-desktop #tasksel tasksel/first multiselect lamp-server, print-se [...]
  8. @vpetersson nerd side-note: cellular modems *suck* • USB 3G/4G Modems

    are unreliable • Required multiple levels of "fallback" • Sometimes required physical power cycle to recover (i.e. unplug/plug back in) • Avoid consuming USB modems directly at any cost. • Use a router. • Positive note: Required me to refresh my Hayes commands (and minicom)
  9. @vpetersson A perfect device for digital signage • $35 price

    point (plus accessories) • Low power draw • Runs Linux • Supports 1080p video playback • h264 video support • What's the catch?
  10. @vpetersson Porting our player to the Raspberry Pi • Turns

    out it wasn't that difficult • Required some customization and optimization • Most software were available
  11. @vpetersson We hit it out of the ballpark • We

    got a ton of interest • Drove a lot of traffic • One of the most popular forum threads on the Raspberry Pi Forum • Screenly OSE is today the most popular digital signage project on Github • Within weeks we had our first commercial request
  12. @vpetersson How Screenly Pro came to be • Screenly OSE

    was great for one screen, but... • Users wanted to manage multiple screens from one interface • Did not want to rely on community support channels • Wanted a turn-key solution (e.g. automatic updates) • Were happy to pay for it • ...Allows us to spend money on OSE
  13. @vpetersson Screenly Pro v1 • Forked Screenly OSE with central

    management interface • Device management was very rough • Scaling was hard • The technical debt from the early days became increasingly challenging to deal with • Yet we managed to scale the system to support thousands of screens and build out a team
  14. @vpetersson Screenly Pro v2 • No shared code base with

    Screenly OSE or Screenly Pro v1 • Incorporate lessons learned from v1 • Don't re-invent the wheel - find partners • Transactional (and automatic) updates • Goals • Commercially managed operating system • "Unified" player with seamless playback • Transitions between assets • Locked down and secure • Full hardware acceleration • Full compositing / future proof
  15. @vpetersson Open Source Community Learnings (1/2) • Open source communities

    can be amazing • Documentation is very important • Try to lower the barrier for new developers • Have good test coverage and automated tests • KISS • Successful open source projects require financial resources (or lots of your time) • Take good care of your contributors
  16. @vpetersson Open Source Community Learnings (2/2) • Stick to popular

    languages and frameworks • Content marketing is important • Partners and integrations are important to drive engagement/users • Don't assume new contributors are familiar with "modern" dev flows
  17. @vpetersson Raspberry Pi Learnings • SD cards *suck* • Raspbian

    requires a fair amount of tweaking • No, your old phone charger is not a sufficient power supply • Lack of RTC can be painful at times
  18. @vpetersson Notes about Raspberry Pi 4 Model B • Was

    rushed out (IMHO) • Still missing some drivers • Some hardware issues • We still haven't fully adopted it