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

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:

0,500,200,800,200,500,200,800

says:

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)

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

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…

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

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.

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

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

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.

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