20161011_105732

Tap Tap Tap… this thing on?

So here’s my first blog post.

Why do I call this blog ‘1 hour scrums’, one might ask. It’s because I’m going to use this blog to show off some of what I do in the VizLab, and “1 hour scrums” of my personal method of software development. Not all the time, just the times when:

  • There’s a very short deadline.  Like it needs to be done tomorrow.  That’s not a metaphor… first thing in the morning.
  • It’s a software team of just me.
  • It’s something I’m interested in (Virtual Reality, Unity, that sort of stuff)

I keep an Agile mindset.  I work from a backlog of features that’d be nice to have, maybe with prioritization.   As quickly as I can I get a working MVP.   Then I start with the 1 hour scrums.   I go through the regular Agile work cycle, but the feature list I focus on for each cycle is very short.  At the end of each hour I like too have implemented at least one of the features I wanted to add an hour ago.  Working with a game engine, such as Unity really facilitates this kind of rapid development.

Like the project I was doing Monday night.   It’s a video player, stand alone, on a 90″ touchscreen monitor.   I had a list of 40 something Video URL’s, divided up into different categories.   This is going on display at the Atwood Memorial Center for the next few weeks as part of SCSU’s ‘Celebration of Excellence’ er… celebration.

A  year ago my first instinct would have been to with Javascript.  Some students had done simple video carousels in Javascript that read from a common Youtube playlist.  The problem with those is that even imbedding the player in the page exposes some Youtube.com controls.   If you’re trying to keep something in kiosk mode, the youtube player can be a weakness.   Before you know it your Center for Excellence in Teaching and Learning videos have started playing Slipknot.

It needs to be secure enough for extended public display.  It needs to play a set of videos from different online sources.  It needs to support touch interaction.  It needs to group the videos by different categories (Campus, Student, or Community outreach)  If I have time, make it look cool.  (The jury’s still out on whether or not I got that)

For that kind of work there’s nothing better than Unity, at least at this point.    Unity has all the tools built in to do the heavy lifting.  I’m free to concentrate on the layout and behavior of just a few objects.    I snagged the VLC for Unity plugin .   It was 50$ but worth every penny.   It takes a video stream (URL or local in the StreamingAssets folder of your Unity project).   It comes with a few demo scenes with a pre-built UI using Unity’s Canvas UI system.   I had a player, I had a UI with buttons that could control a single hard-coded video.  I also had a list of about 40 some-odd videos from groups all over campus.

First Scrum: Rig a button to start and stop a given video based on the URL.   Maybe 8 lines of code.   Make multiple copies of that button, each with a different URL.  Test, Build, Play.

2nd Scrum:  Create groups of buttons for different categories.  Write a manager to switch between the different groups (another 20 lines of code).  Create Buttons that switch between the groups.  Test. Build. Play.

3rd Scrum: Switch the groups on button presses, arrange the buttons into grid layout objects.   Test. Build. Play.

4th Scrum:  Link buttons to youtube URLS. Test. Build. Play.

Final Scrum  Add some new image sprites to the UI Elements and test and build and play.

Each cycle was about an hour.  One Hour Scrums.

 

 

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *