Blog

Jump inside the show

What it means to develop in the open

- by Lux

By John Luxford, CTO & Cofounder - Flipside

Developing in the open means taking the open-source concept of release early, release often and applying it to a commercial product. It means updating users frequently and transparently. It means showing your unfinished work, listening to and learning from your users, and adapting to their feedback.

For us, it meant putting a Flipside Studio update out on average around twice per month since launching into Early Access in March, 2018. That’s a lot of updates.

Some updates are just a bunch of bug fixes. Others include new features or new sample content to show what’s possible with Flipside. And often, we’re balancing Flipside updates with other things that help keep our company afloat, such as helping our customers with various aspects of their shows.

Why we chose to develop in the open

In hindsight, I’m not sure we had a choice. Flipside is a really big idea (and nowhere near being fully realized yet), and to get from here to there at some point along the way you have to have something to show. A product for people to use. Preferably one they find valuable today, even if you know it’s still just one part of some larger vision.

So when we felt we had an MVP of the first usable part of that vision, we put Flipside Studio out into the world. Followed a few months later by the second part of that vision, our Flipside Creator Tools plugin for Unity.

While we’re often thinking years ahead when we think of what these products are going to grow into, it takes discipline to ground yourself in what it does for users today. Having a community of users tell you what they think of your stuff is a great way to get grounded to the reality of providing tangible value today.

We didn’t know how hard it was going to be

I’ve run various open-source projects over the years, and I still maintain a few smaller ones on the side. So I knew users can be brutally honest.

But it’s harder to take that brutal honesty when you also know it’s going to take a long time to be able to satisfy their wants or needs, and that’s closer to the reality of Flipside than my past open-source experience.

Open-source users can also sometimes fix things themselves, so there's often less need to do everything yourself. And most open-source software is a volunteer effort.

But the big reason things take longer with Flipside is in large part due to the fact that it is an order of magnitude harder to make a multiplayer virtual reality TV studio than it is to make your average web app (Flipside has an extensive web back-end, too).

Taking feedback

Feedback is an interesting beast. It's often terse, even when it's not harsh. Many people prescribe a solution without fully describing the problem they're having. Many people ghost after the first terse suggestion, leaving no opportunity for clarification. And feedback is inherently given without knowledge of your other goals or long-term vision for your app.

But without taking feedback seriously, your long-term vision is almost certainly going to be out of touch with reality. So it's very important to listen carefully. It's also very important to drill down to root causes and assimilate the feedback with the larger context you have for your app.

Doing so will mean the difference between tacked-on features and features that fit more coherently over time. That doesn't mean they'll be perfect out of the gate, but they'll make sense in the context of both your users' goals and your own.

Fostering community

Fostering a community around your software is time consuming work. It can also conflict with other areas of your life, especially for an app like Flipside that many people are only going to use outside of 9-5 hours.

We've also made a lot of mistakes in that process. We scattered our community across various social media sites. We provided a roadmap that users couldn't contribute to. And when the team gets too busy and starts to feel overwhelmed, we tend to drop off in community participation. And the truth is, you have to be present in your community or it says you don't care.

The key is to learn from your mistakes and find better tools or processes. Like encouraging a centralized place for the community to chat on Discord. Or using Trello for our roadmap so users can make suggestions, comment, and vote.

Not everyone on your team is going to want to participate in the community, for a variety of reasons, and forcing them to do so isn't going to work. It can also seriously impact their productivity in other areas. But it's super helpful for users to know they can @mention or DM one of us for help and we'll at least get you in touch with the right team member.

For our team, we're too small to have any one person dedicated to community management (along with social media, marketing, and the umpteen other hats we regularly share), but we try to make sure one or two of us are regulars on Discord, and we make a point not just to get back to people, but also to champion our users and their creations whenever we can through our social media.

How developing in the open made our app better

Users see your app differently than you do. They see it strictly in terms of its usefulness to them. At various times, you might see your app as everything from your baby, your livelihood, your dreams, or that thing that won't let you sleep. But none of that makes your app better. It only clouds your ability to see your app for what it truly is.

Users, on the other hand, know what they want to accomplish through your app. And we're just fortunate enough that some will tell you when it isn't working for them. Good app design isn't about getting your users to do something you've designed for them to do, it's about helping them do something they want to do.

It's a small distinction, but there's an important lesson in it: The best user experience is one where the user is able to forget about the tool and just do the thing.

As a developer, it's tempting to think that that makes your job less rewarding, that your work being less visible diminishes it, but that's not true. The output of your users is what your app makes possible, and that's a stronger source of inspiration anyway.

Users being honest keeps you seeing your app clearly. It keeps you honest with yourself about your app. That's why even though users being brutally honest is one of the toughest parts about that relationship, it’s also one of the best parts. Your app and your business need brutal honesty, and you’re often less likely to get it from someone the closer they are to you.

So while it’s been hard at times, it’s also given us a steady push that has allowed us to watch our app take shape in ways it never would have without them. That’s something special.

In retrospect, I don't think we could successfully develop Flipside in any other way, and we're very grateful for our community, their encouragement, their honesty, and their patience. We're in it for the long haul, and we're going to need the ongoing support of a community not to burn out along the way.

Here's a little video reel we made to celebrate what our amazing community have been creating in Flipside:

 

Flipside Update #30 - Save your setups

- by Lux

Please note: This update is only available for those who are part of our multiplayer beta. If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here. We're working hard to quickly get these updates back into the general release branch so everyone can enjoy them, but that's still an update or two away.

Save your setups

Save multiple versions of your setup of any set, letting you jump back to that configuration at any time.

To save a setup, look on the underside of the Sets or Set Builder palettes and press the Save Setup button.

To go back to a saved setup, go to the My Sets category of the Sets palette and grab the setup you want to restore.

A saved setup consists of:

  • The set
  • The sky
  • Prop placements
  • Actor marks
  • Camera placements
  • Slideshows, teleprompters, and other show tools

Smoothing on all characters

Previously, Flipside Studio would smooth movement on playback and for remote users over multiplayer, but not for the local user. This lead to jittery movement in live streams.

With this update, all characters have the same smoothing applied, regardless of where they came from.

Other fixes and improvements

  • Set configuration storage was overhauled to fix cases where the settings could be too large (e.g., on sets with many props)
  • Fixed multiplayer prop interactions when multiple users are in ghost mode
  • Desktop switcher usability and consistency improvements
  • Added support for Google Drive's new shared link format in slideshow links
  • Fixed cache path name conflicts in Google Drive slideshow links
  • Fixed animations not always getting triggered on playback
  • Fixed highlighting on UI visibility and ghost mode buttons on both camera switchers
  • Fixed cartridge finishing loading when inserted while syncing in the background
  • Improved snapping of objects to surfaces in Set Builder mode
  • Fixed issues with ghost mode over multiplayer
  • Improved timing calculation for remote user data in host recordings
  • Privacy and security improvements in our API


 

Flipside Update #29 - Background sync, thumbs, fingers, and more

- by Lux

Please note: This update is only available for those who are part of our multiplayer beta. If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here. We're working hard to quickly get these updates back into the general release branch so everyone can enjoy them, but that's still an update or two away.

Background sync

Since we've spent more time doing larger productions, we discovered that a lot of time is wasted just waiting for a new take to upload to the cloud. When you have 5 people in VR, that wasted time adds up for everyone.

For that reason, we built a new background sync feature so that you're free to keep creating while your previous takes sync up quietly in the background. You can even continue to play them back, add roles, and star them too. It all syncs up in the end.

Thumb and finger improvements

Today's update improves how thumbs sit in an idle state to make them feel more natural. We also fixed a bug that was overriding the spacing between fingers, so now you can adjust your finger spacing to feel more natural for your characters in your model's Avatar Mapping settings in Unity.


Note that this is one part in a series of improvements we're making around more natural hand movement and interactions.

Multiplayer reliability improved

We made a big improvement to our multiplayer back end that should improve reliability for those users who were previously having trouble connecting. Even if you can't connect directly via peer-to-peer, you should automatically be connected through our new low-latency global relay service.

Other fixes and improvements

  • Fixed a bug causing characters to appear small when switching from Ghost mode into a character.
  • Added a fade to the tunnel effect when rotating the world in Ghost and Set Builder modes.
  • Fixed a bug causing character changes not to work on playback.
  • Fixed a bug causing props not to appear over multiplayer when one user is in Set Builder mode and the others aren't.
 

Flipside Update #28 - Take a seat

- by Lux

Please note: This update is only available for those who are part of our multiplayer beta. If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here. We're working hard to quickly get these updates back into the general release branch so everyone can enjoy them, but that's still an update or two away.

Characters can sit on chairs

Characters now have the ability to teleport into chairs and be positioned correctly. The teleporter will snap to the chair to indicate a seat you can sit in. This works whether you're physically standing or sitting. Your head height will be adjusted so your character is in the correct sitting position.

It also works regardless of the character size, so tiny characters will automatically adjust forward and their legs will dangle off the seat, and large characters will adjust to squat in smaller seats. 

Sitting currently works with the built-in prop chairs, but most seats you see in sets won't work until the sets have been updated with our new Chair component in the latest version of the Creator Tools. The Chair component will let you that. 

Note that there may be issues with the bone structure of certain characters that makes them sit incorrectly. Reach out in our Discord community if you need help fixing one of your characters.

Teleport to actor marks

Actors will also see the teleporter snap to actor marks as well as to the new TeleportTarget component in the Creator Tools, so you can create snap points anywhere you like that actors can instantly snap to with their feet and head pointed in the right direction for the shot.

Star takes to keep track of the good ones

We've added the ability to star takes that you want to keep track of. Press the star button and you'll see a star icon appear on the cartridge and on the back panel when the cartridge is loaded.

You can also click the star icon when you're browsing your takes to toggle between all takes and only the ones you've starred.

Guests now see each other in the collaboration sidebar of the Friends panel

Guests can now see the same list of connected users that the host could see, so everyone can see who's in the scene together, and also have the ability to disconnect themselves.

Smooth world rotation in build and ghost mode

Previously, when you rotated the world with two hands in build or ghost modes, Flipside would snap the rotations every 45 degrees to keep users from feeling simulator sickness. Thanks to VR Tunnelling Pro, we're now able to offer smooth world rotation, which we feel is a much improved experience.

Other fixes and improvements

  • If a new character or set has been uploaded to the dashboard, you can now select it in Flipside Studio and it will reload the updated version from the server.
  • Switch desktops in the Desktop Mirror by triggering events in the Creator Tools.
  • Prop elements built into sets remember their positions between sessions when they're moved around.
  • Fixed a bug that could render takes unplayable if a take is removed while it's loading.
  • Fixed a bug that broke the Play button on the in-VR camera switcher.
  • Fixed a bug in grab interactions in ghost mode playback.
  • Fixed a bug that was reducing the slideshow audio volume.
  • Fixed a bug that was throwing the teleprompter out of sync in multiplayer.
  • Fixed button presses over multiplayer for ButtonElement components in the Creator Tools.
  • Fixed issues with props being held at start of playback for multiplayer users in a recording.
  • You can now start recording a new role midway into a take's playback instead of always starting at the start. The character will pop in at the time you started recording.
  • Several performance improvements.
 

Flipside Update #27 - Character improvements, reduced save times

- by Lux

Please note: This update is only available for those who are part of our multiplayer beta. If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here. We're working hard to quickly get these updates back into the general release branch so everyone can enjoy them, but that's still an update or two away.

Character improvements

We've made several improvements to our characters this round:

  • Improved eye movements, which could become too exaggerated on some characters.
  • Reduced arm stretching to feel more subtle.
  • Added slight stretching to legs to reduce instances of feet raising off the floor.
  • Improved hand positioning and feel.


This is the first part of a series of character improvements that we have in the pipeline. We will continue to release improvements as they become stable.

Other fixes and improvements

  • Fixed re-downloading takes right after they're uploaded, cutting save times by over 50%.
  • Fixed slideshow incorrectly playing first video on playback.
  • Fixed a mouth movement regression in the Flipside Creator Tools. Click here to download the updated version.
 

Flipside Update #26 - Multiplayer improvements

- by Lux

Please note: This update is only available for those who are part of our multiplayer beta. If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here. We're working hard to quickly get these updates back into the general release branch so everyone can enjoy them, but that's still an update or two away.

Multiplayer improvements

With this update, Flipside's multiplayer connection routing is now using an all-new backend that will automatically scale to handle larger numbers of users, and does a better job routing peer connections through firewalls.

Microphone input fix

We fixed a bug in our microphone input that affected a few of our users since the last update which caused input to fail and lip syncing to stop working.

Note: After this update, if your microphone is not picking up or the lip syncing isn't working on any characters, click the settings icon in the bottom of the desktop camera switcher, then go to the General settings tab and select the correct microphone input device. Flipside should remember your input setting after that.

Bug fixes and other improvements

This update contains a number of smaller changes too:

  • Fixed camera cutting over multiplayer.
  • Hosts now share their teleprompter script with guests when they connect over multiplayer, just like their slideshow slides.
  • Fixed a teleprompter controller button issue causing buttons to press twice.
  • Fixed resetting PropElement objects (props that are built into sets) on resets.
  • Added a ResetProps() option to the FlipsideActions component in the Creator Tools so set designers can trigger scene resets through custom interactions.
  • Fixed a case where set configurations weren't being updated for guests joining over multiplayer if the guest was already on the same set.
  • Added missing neutral blend shape setting to the Creator Tools.
 

Flipside Update #25 - Multi-monitor desktop mirror, microphone input setting, and more

- by Lux

Please note: This update is only available for those who are part of our multiplayer beta. If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here. We're working hard to quickly get these updates back into the general release branch so everyone can enjoy them, but that's still an update or two away.

Desktop mirror multi-monitor support, embedding in custom sets

The desktop mirror feature that lets you bring your desktop view into Flipside now supports multiple monitors via a setting in the General settings tab.

It can also now be embedded directly into your custom sets using the ScreenElement component. This means you can do things like build a computer into your set whose screen reflects what your actual desktop is showing. Pretty neat stuff!

Note: You'll need to update to the latest version of the Creator Tools to see the desktop mirror option in ScreenElement.

Switch microphone inputs in the General settings menu

Tired of restarting Flipside to switch microphone input devices? Now you can switch in-app by clicking on the settings icon on the bottom of the desktop camera switcher, going to the General settings tab, and selecting your Microphone Input Device from the list. Change should happen automatically when you select a new one, and your preferences will be remembered for next time!

Bloom filter

We've added a setting to enable our first filter effect, Bloom. You'll find it under the settings icon in the desktop camera switcher under the Output tab, alongside the OBS settings.

Bloom Off
Bloom On

Use the slider to compare a shot from our Winter Cabin set with bloom on and off.

Other fixes and improvements

  • Slideshow waits for first "next" to play if first slide is a video.
  • Fixed UI layered-elements on characters so they stay on the UI layer.
  • Fixed slideshow and teleprompter bug that caused a VR headset to appear at (0,0,0).
  • Fixed teleprompter save errors.
  • Fixed issue with position resetting when jumping back into a character and placing you on the ground on sets with no NavMesh.
  • Fixed error disconnecting all users at once.
  • Fixed issue with correct playback when adding additional parts to a recording.
  • Fixed issue with Unity timelines restarting properly on playback.
  • Fixed issues with Ghost mode and mode switching over multiplayer and in playback.
  • Ghost parts are now shown as ghost cards on the recordings palette.
  • Renamed "Creatures" character category to a more general "Fantasy", matching sets.
 

Flipside Update #24 - Ghost Mode and a ton of bug fixes

- by Lux

Please note: This update is only available for those who are part of our multiplayer beta. If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here. We're working hard to quickly get these updates back into the general release branch so everyone can enjoy them, but that's still an update or two away.

Go invisible with Ghost Mode

You'll find our new Ghost Mode button on both the desktop camera switcher or the in-VR camera switcher. This will make your character invisible so you can play director without getting in the way of the shot, or animate props by grabbing them and moving them around. Ghost Mode also has the ability to move the world around and scale it up or down by grabbing it with one or two hands, just like Builder Mode.

Clearing sets got a little safer

It takes work to get a set setup exactly how you like, and it should be hard to accidentally undo all that work. That's why we've added a confirmation step whenever you use the "Clear All" and "Reset to Original" buttons on the underside of the Sets palette.

Additional bug fixes and improvements

We've also made lots of smaller improvements throughout the app. These include:

  • Added whitelist of components allowed to be used on sets and characters.
  • Improved foot distance calculation to fix bow-leggedness.
  • Fixed cases where imported props that were deleted online could cause a set to fail to load
  • Fixed "clear all" and "reset to original" on sets over multiplayer
  • Improved error handling when a sky is not found
  • Auto-retries multiplayer connections if disconnected unintentionally
  • Clear sent invites when you leave Flipside to prevent stale invites being received
  • Fixed order of notifications so most recent invites appear at the top and new ones appear at the top as well
  • Fixed recalling menu with the right hand on Vive returning it near the left hand
  • Disabled menu show/hide on Oculus running through Steam so teleprompter controls can be used
  • Handheld camera remembers its direction between uses
  • Active camera light working over multiplayer
  • Fixed issue with 360 video uploads generating black previews and thumbnails
  • Fixed issue preventing interactions from recording on larger sets
  • Fixed issue with OBS settings storage
  • Fixed issue with changing sets with a recording inserted causing the new set not to fully load
  • Fixed Twitch chat panel being ungrabbable and made in-app instructions clearer
  • Moved Twitch chat panel to UI layer like the other Show Tools
  • Fixed issue with unloading a recording cartridge while still loading
  • Fixed link to YouTube videos in slideshow
  • Various performance optimizations


 

Flipside Update #23 - Desktop mirror, looping 360 videos, many fixes

- by Rachael Hosein

Please note: This update is only available for those who are part of our multiplayer beta.  If you're looking to collaborate on a show or just want some of the other goodies, sign up for the multiplayer beta here.

See your desktop in Flipside (experimental)

We've had a lot of requests for this and although it's still in experimental/we're-still-working-out-the-kinks mode, we wanted to get it into your hands as soon as possible. You can now view your desktop in Flipside - that means you can stream whatever is on your desktop (local videos, whatever you have pulled up on the internet, etc.) in your Flipside show.

Follow these steps if you want to try out this feature:

  1. On the 2D switcher, click on the Settings icon, select the General tab, then for the Desktop Mirror in Show Tools option, choose "Desktop Mirror Enabled".  
  2. In Flipside, go to the Set Builder palette, select the Show Tools category and pull the desktop viewer from page two of the show tools into your set.

Important notes:

  • If the app crashes when you load the Show Tools menu, restart Flipside and disable the Desktop Mirror.
  • The desktop mirror will not mirror your desktop over multiplayer. Others will see their desktop mirrored instead of yours.

Learn more about the Desktop Mirror in our Show Tools documentation.

Looping 360º video skyboxes

If you didn't know, Flipside supports 360º video skyboxes...and now they loop!  So don't worry if your skybox video isn't long enough. We've got your covered :)

Example set added to our Creator Tools

In the Featured category of the Sets palette, you'll notice a new Creator Tools Example Set. This set walks you through the different functionality you can add to your Flipside set through the Flipside Creator Tools.

You can also download a version of the Creator Tools that contains the example set so you can reference how we set things up. If you're a Creator Tools pro already, don't worry, you can also download a slimmed-down version that doesn't include the examples.

Important note: Unity has issued a security notice, so our Creator Tools users should upgrade to Unity version 2017.4.22f1.

A new way to file a bug report and access support

Everyone in the Flipside community has been so great with helping us iron out issues and bugs. Thank you! To make things a little easier, when you encounter something a little wonky and need support, you can click on the Settings icon on the 2D camera switcher, then go to the Support tab to file a bug record that includes everything we need to help solve the problem.

Important notes: 

  • Make sure to report the problem before you restart the app so we can get the output log associated with the issue (restarting the app will wipe the output log).
  • The camera switcher in VR needs to be closed for the 2D camera switcher to be visible on your computer monitor.

Bug fixes and improvements

  • You can now receive multiplayer invites without being in Flipside. Just hop in and you'll get a notice with the invite in your Notifications panel when Flipside loads up!
  • Audio sync on playback fixes.
  • When your first slideshow slide is a video, the back button on the slideshow controller now takes you back to the start of the video.
  • Issues with prop scaling during a multiplayer collaboration have been resolved.
  • Fix to objects that could become ungrabbable in a multiplayer collaboration.
  • Improvements to character neck movements.
  • Improved positioning and movement of feet and legs.
  • Fixed issues with booting all collaborators when only one collaborator was disconnected.
  • Added an OBS settings tab to set your connection info, and added authentication support so you can keep your Flipside connection to OBS secure.
 

Flipside Update #22 - Seeing yourself and beta bug fixes

- by Lux

While this is primarily a bug fix update for our multiplayer Beta branch, we did sneak one new feature in:

See your character while acting

When in character, you'll now see a ghost-like outline of your character, so you can see exactly where your hands and body are positioned. Here's what it looks like.

We experimented with a lot of possible solutions to this problem, which was made a lot more complicated by the fact that we don't control how most of our characters are made. Other solutions like just showing your body directly would fall apart with larger characters like our elephant, whose trunk being visible got in the way of seeing what you're actually trying to do.

This solution should work automatically with all custom characters, but if you spot any that don't work well, let us know on Discord. This is also the first step towards more improvements we have in development for characters.

Bug fixes and improvements

We also made the following bug fixes and improvements that should make things feel better across the board:

  • Flipside no longer waits for everything to load before you can begin
  • Improved caching of texture images
  • Improved Vive tracker support
  • More error checking when importing custom props
  • Improved collisions on hands in playback
  • Fixed switching sets in director mode
  • Fixed hand issue when switching in and out of puppet mode
  • Fixed various issues with imported cameras
  • Improved foot orientations for some custom characters
  • Improved behaviour of grabbing objects
  • Improved placement of feet using hip width and leg length

For details on what we're working on next, check out our roadmap!

 

Older posts »

Check out some other amazing content #madeinflipside

We're here to help!

If you can’t find the info you need on our support page, send us a message.

If you are already a Flipside creator and have a feature request or feedback, please submit it through the Creator Community.

Please enter your name.
Please enter a valid email address.
Required.
Please enter a message for us.