StageCaller 1.3.11 released

jay announcements

new version of StageCaller (iOS)!

so I realized that I screwed up Dropbox support after the Dropbox V1 shutdown last June – I’m not sure why I hadn’t noticed.. but Dropbox works again – I also fixed swipe to stop on iOS10/11… it was a minor problem that I stumbled on for too long – regardless, it works again

I also rebuilt the app to work on iOS 8 – I forget who asked for that, but I did it anyway – StageCaller works on 4gs or better, iPad 2 or better, and iPod gen5 or better – as far as I’m concerned that’s pretty good

to be honest, I really need to rewrite everything in swift… I’m most of the way there, but I keep getting distracted by the Android build (which will move to beta soon) – I’ve written MIDI & OSC in swift and they work pretty well, but I need to seriously think about the app workflow as well as the feature drift from the future Android release

I simply can’t get Apple’s CallKit to work the way I need it to so I can’t simulate calls on par with what I can do on Android… (basically it’ll work once, and then you need to force quit the app… that’s not the user experience I want to provide) – I need to revisit the CallKit problem again with iOS11, but I figure it’ll never work the way I want

updated PathSchedule 9/17/17

jay announcements

I’ve updated PathSchedule with the 9/17/17 schedule update as well as my first pass of updating for iOS11

I’ll need to do a little work to redesign for iPhoneX – oddly the not square corners and the top notch will require some thought as far as design goes…

the good news is that my pipeline that takes the trillium transit data and turns it into something usable works well enough that I don’t need to rewrite everything when the GTFS specification changes

StageCaller Android (alpha21)

jay announcements Leave a Comment

StageCaller Android drifts from the iOS version starting today. I’ve rebuilt how actions work.

Prior to alpha21, we had Sound and Vibration actions. In alpha21 I’ve added in Call actions which act like fake calls to the device.

Vibration actions now require a vibration pattern. Patterns are defined as strings of numbers separated by either a comma, period, or dash (I’ll have to fix this later).

So the following pattern:



  • wait 0 milliseconds
  • vibrate for 500 milliseconds
  • wait 200 milliseconds
  • vibrate for 800 milliseconds
  • wait 200 milliseconds
  • vibrate for 500 milliseconds
  • wait 200 milliseconds
  • vibrate for 800 milliseconds
  • wait 200 milliseconds

Call actions require a ‘caller’ to be setup – which is simply a name and phone number – it can be any number… in fact it can be any text. For the time being I’m also inserting these fake call actions into the device call log. I’m not really sure why. It was just something to do.

So, now that we have Call actions, I’ve removed the ‘swipe to stop’ feature from the action editor and from future development (at least on android – we’ll see what happens with the iOS version when I get around to updating it)

PathSchedule timezone bug

jay thoughts

I never thought about timezones & PathSchedule before – I mean, if you’re using it you’re probably on the east coast…

so, I’m in pasadena and just realized that if my phone timezone is set to anything but EST/EDT you’ll get some funky train schedules. The Trillium Transit data doesn’t contain timezone information (at least I don’t think it does)

regardless, it’s a bug and I should probably come up with a fix for this


jay thoughts

I really need to pay attention to the WWDC talks – I totally missed the one on CallKit this year.

Evidently Apple now allows us to use the iOS call interface for apps (specifically VOIP apps). I haven’t tried it out yet but this could be the solution for a better experience of “Swipe to Stop Action” in StageCaller.

Unfortunately I’m tied up with android for the foreseeable future… so maybe by the end of year…

StageCaller (android) alpha11

jay announcements

alpha 11 released today
– minor improvements to ui
– fixed trigger dialog (actually works now)
– fixed midi bonjour name in settings activity
– added cloud chooser dialog
– fixed google drive download
– minor improvements to backgrounding (cpu wakelock management)

evidently ‘stop action on pickup’ works on more devices that I had thought…

I need to find a way to determine if a given android device has motion detection that works while the app is in the background – unfortunately each device is different and often lies, so I can’t know programatically. Chances are that older devices have motion detection that doesn’t work, but I have no way of knowing without obtaining a large number of android devices

StageCaller (android) alpha10

jay news

Alpha10 of StageCaller is available now on Google Play.

I did a complete rewrite of my midi library – it’s about twice as fast now and seems a lot more stable. Heartbeat (for both OSC and MIDI) is now functional… MIDI auto reconnect is functional but not yet available to the StageCaller UI. I need to rethink how I want to expose MIDI reconnect to the user, I never liked what I did on iOS.

I’m a bit amazed at how poorly notifications and device motion are handled on android…

Implementing StageCaller notifications will require me to write a custom lock screen – I’m not really happy about this, but it’ll allow me to offer some serious customization for the end user – I think… I’m not sure… I’ve never written a custom lock screen.

Device motion on android is an absolute disaster – not only is it different between android device vendors, it’s different within a given vendor. I do most of my testing on an old Samsung s3 (4 years old) – oddly it can’t check motion in the background – it’s not a low power thing, the device thinks its working – it just doesn’t work. The only way to handle this is to write my own motion drivers for each android device… that’s simply not going to happen. Maybe someone has a library I can license.

StageCaller for Android (alpha)

jay announcements

I’m happy to announce the StageCaller for Android alpha program – for those of you brave enough to run a pretty nasty and incomplete alpha on Android 4.0 (api 14) and higher, well… then you’re braver than me

I’ve setup a public alpha on Google Play

Google Play handles alpha/beta pay apps as if they actually cost money – to my limited knowledge, it will look like they are charging you $10 for StageCaller, but they aren’t – yeah, its a little weird. (ignore this – google charges for alpha & beta apps…)

the goal for this alpha project is to get StageCaller for Android running as close to parity with the iOS version as possible – there are numerous things that just plain suck on Android and some features available in StageCaller for iOS may get dropped from Android. After we reach parity, well, then we start the open beta program to shakedown whatever crap is left before pushing to production.

what works:
– Apple MIDI & OSC
– downloading sounds from dropbox (google drive works as well, but the UI I’m using for accessing both is funky and needs to be rewritten)
– creating basic actions

what doesn’t work (yet):
– can’t stop actions via notification or device movement
– emergency stop doesn’t work yet
– backup/restore isn’t written yet
– MIDI auto reconnect doesn’t work yet
– OSC/MIDI probably don’t have network changes well yet
– there’s more I’m sure, but it just depresses me to type it

I wrote my own MIDI and OSC libraries – both were written as proof of concept, but are fairly stable – neither is written for speed at this time, so latency will be higher with this alpha than under iOS

I wouldn’t use this alpha in production – but if you REALLY wanted to I certainly wouldn’t stop you.

anyway – I thank you all for your patience in how long it took me to get to this point. I’m hoping for a production level app before the end of this year.

StageCaller for Android – SOON…

jay announcements

I’m still working out how to use the Google Play Store for alphas/betas of StageCaller – but it looks like July 2016 will be the month of the open alpha of StageCaller for Android – maybe beta… although I don’t think we’ll hit beta before August

I’ll have more info soon on the alpha program… it’ll be an open alpha (I have no interest in maintaining alpha user lists) and we won’t be feature complete with the iOS version for a while – but it’ll be close. I think…

Regardless – I’ve been promising this for 2 years and I finally got around to writing StageCaller for Android – it only took six months(-ish) to write the majority of it

The alpha is going to target API 14 and higher (that’s Android 4+? I think?) – although the underlying MIDI & OSC libraries I wrote support API 8 and higher (Android 2.1+?) – I figure that I’ll do a Google Play Store release for Android 4 and higher, and anyone who wants to run StageCaller on a earlier version can buy a custom APK from me directly – honestly, I have no idea what Android versions people in theater are actually running… but chances are they can upgrade to at least Android 4.x

StageCaller for Android – december update

jay thoughts

I’ve finally had some extra time to write a MIDI client for android (v2.2/api 8 and higher) that works with Apple Network MIDI…

it works well enough that I think I can fast-track an android version of StageCaller that’ll be feature complete with StageCaller for iOS v1.3 by end of march 2016…

maybe earlier, but I doubt it.  I don’t have that much free time.