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

C770b64f01d6b9360b59e8470c2754f4?s=128

Viktor Petersson

April 01, 2020
Tweet

Transcript

  1. The history of how Screenly OSE became the most popular

    digital signage project on GitHub
  2. @vpetersson Before we begin, let's start with a history lesson

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

    into YippieMove • 2011: Blotter • 2012: Screenly • 2018: Screenly turns into Screenly, Inc • 2019: RIP YippieMove
  4. None
  5. None
  6. @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
  7. @vpetersson In a galaxy country far, far not that far

    away...
  8. @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
  9. @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
  10. @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
  11. @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
  12. @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 [...]
  13. @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)
  14. @vpetersson nerd side-note: puppet • ...just don't

  15. @vpetersson Enter the Raspberry Pi

  16. @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?
  17. @vpetersson Porting our player to the Raspberry Pi • Turns

    out it wasn't that difficult • Required some customization and optimization • Most software were available
  18. @vpetersson

  19. @vpetersson

  20. @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
  21. @vpetersson

  22. @vpetersson Screenly Pro

  23. @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
  24. @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
  25. @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
  26. @vpetersson Back to OSE

  27. @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
  28. @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
  29. @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
  30. @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
  31. @vpetersson Questions?