Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Split view multitasking for iPad
-
Split view multitasking please 😄
-
Probably won't happen.
While Pythonista is technically fully adaptive, i.e. it could run in split-view mode without changes (that's basically how the iPhone version works), adopting split view unfortunately comes with limitations that make it unsuitable for (some use cases of) Pythonista.
Specifically, when an app adopts split-screen, it is no longer possible to prevent auto-rotation, which makes it unsuitable for most games which typically run either in portrait or landscape orientation, and require the entire screen. As Pythonista is also a tool for developing games and custom UIs that might require a specific orientation, I don't want that behavior.
-
@omz There's a ton of demand for this from people not building games, though, which are about 75% of your users, judging from the forums.
I think if you're really concerned,
scene.Scene
subclasses should get to specifyself.should_run_split
, and they won't be presented in split view if they set this to False. This could work either by:- throwing an error
- simply not being presented, and running in the background anyway
-
There's a ton of demand for this from people not building games, though, which are about 75% of your users, judging from the forums.
I know, but being able to build games is a capability that is important to me.
I think if you're really concerned, scene.Scene subclasses should get to specify self.should_run_split, and they won't be presented in split view if they set this to False.
That's not really the problem. Thing is, it's absolutely not possible to set a fixed orientation for any view in the entire app, if it supports split-screen. If you want to create a motion controlled game, you just don't want the view to rotate constantly, but it's simply not possible to prevent this in any way if the app containing that view supports split-screen at all, even if if it is currently running in full-screen mode.
-
Oh, that is serious. This seems like a pretty big limitation to apps.
-
Welp, Apple's limitations quash a much-requested feature for Pythonista again. I agree with @omz considering the restrictions.
-
Would you able to enable/disable the feature with an app setting? Or is it pre-configured at compile-time.
If that's not possible, could you localize the setting changes and offer two versions in the App Store? I'd buy both.
-
@VibrantJester It's not possible to change this at runtime, it's a key in the Info.plist file that gets bundled with the app, so it's basically hard-coded.
If that's not possible, could you localize the setting changes and offer two versions in the App Store? I'd buy both.
Theoretically possible, but that's just not something I'm going to do, for various reasons.
-
I'm hoping that this might be something Apple addresses in a future version of iOS. It would be really nice to support split-screen in general, but e.g. have an API to take over the entire screen temporarily (in a way that would also allow to control auto-rotation).
-
Just a dumb question ... Couldn't this issue be solved in the template/SDK. Is it possible muck around with plist settings and get it that way? I was wondering about this in general anyway and the answer could be the same for many other things users would like to do but are denied by Apple for various reasons - like true background processing, etc. etc,
-
@wradcliffe Yeah, but I think most users of Pythonista aren't looking to use the SDK at all, ever. I don't know for sure, but my impression is that only a small portion of the userbase actually wants to publish to the app store. I still think the template is a super important thing to have, but I don't know how many people use it all the time. I've used it in the past, but not for publishing to the App Store, just for making a standalone app on my device.
-
@wradcliffe Yes you can change the settings in the template, but then you don't have the full features of pythonista...rather than being a python ide and scripting environment, the xCode tool is just a container for a single app/set of scripts....you don't have the code editor, console, documentation etc... (unless for some reason omz implemented those things as modules that you could utilize in the future but then he will have essentially open-sourced pythonista negating the need to purchase it through the app store, so I don't think this will happen.)
@Webmaster4o I believe you're right that people that publish to the app store are a minority at this point, but a couple thoughts on this in the interest of supporting the pythonista xCode SDK
(BTW i like how that sounds better than xCode template BTW, template implies "just-add-water" where the Pythonista SDK is actually a blank canvas where all that is shown is console output unless you create it, like "Blue Apron" where the ingredients are provided but you actually cook it yourself.):- I think the relative number of people doing this will increase over time as knowledge of this ability spreads throughout the inter webs
- This is a source of new customers for @omz
- I think the Pythonista xCode SDK gives omz brownie-points with Apple because it eases people into iOS development and familiarizes them with the iOS SDK.
- *The Pythonista xCode SDK is not only a tool to publish to the app store, but a way to deploy scripts/apps into standalone applications on your local device. *
-
@Tizzy I think @dgelessus was referring to doing this to support split view multitasking on published apps, not for the code editor.
-
@Tizzy - sounds like we are on the same page in terms of how the template/SDK might be presented to new users. I beginning to think it should be provided with a very simple editor and file browser written with the help of the objc_util module as its "hello world" sample script. Hey - maybe bundle it with Stash and a new notepad.py script text editor.
@Webmaster40 - I think that using this as a way to get functionality that @omz has already implemented but is prevented from deploying is sorely needed. The fact that it can only be used for personal use and may not be able to go to the App Store is an interesting way to sidestep the rules but stay within the spirit of the rules.
One other thing to consider is that this may open the door to attracting the "enterprise" customers. Instead of deploying apps through the App Store they deploy things completely differently and they can decide what is and is not allowed in their own environments. This is controlled by each organizations IT departments. This market could be much much larger then the consumer market and you can charge a whole lot more for a product and also charge for support. I have been thinking recently that @omz should explore alternatives to TestFlight as a way to offer feature to user that Apple would normally disallow. Using TestFlight seems to give him some latitude already in what he can do during beta testing but some of the alternatives seem to give even more latitude. Here is an good link with some info on this: https://www.playtestcloud.com/blog/testflight-alternatives-ios-android
-
@wradcliffe I kind of disagree. I don't think the template should be a replacement for the app (it's free). It serves the purpose of publicly allowing people to build apps with Python, which people could do by reading the public online docs. What people pay for with Pythonista is the ability to write code on iOS, using a feature-rich IDE with a few advanced features.
I don't think the template should become something that can be used to make a version of Pythonista with added features. The template omits the IDE features for a reason, that's not what it's for. It's for packaging apps built with the Pythonista app for publishing on the App Store.
I also disagree with deploying an alternate version of Pythonista off of the App Store, for one important reason. Sideloading apps requires that they're signed by a person with a paid Apple developer license. Apple can still revoke this if @omz doesn't play by their rules, in which case the sideloaded version as well as the App Store version would be pulled from the App Store.
This is why the brief craze around sideloading of f.lux quickly disappeared. It became really popular, and used private APIs. It violated a major App Store rule by using private APIs, and this is one of the rules on the App Store with the clearest reasons behind it. Private APIs are undocumented, and so use can be unpredictable and have lasting negative impacts on the device. By making a display of power, if you will, and revoking the f.lux developers' licenses, Apple discouraged other developers from following in their footsteps and sidestepping the App Store restrictions through sideloading. If they hadn't made this move, there would likely be a larger community of illicit sideloaded apps which Apple would have a hard time staying on top of.
If @omz created a sideloaded version of Pythonista with added illegal features, he'd be on Apple's bad side, and might get his dev license revoked. So I don't really think this is a good idea.
-
@Webmaster4o - I certainly understand your fears about getting Pythonista yanked from the AppStore because an end user figured out how to work around the rules with it. I guess I have been assuming that this would be handled by the normal review process and such Apps would not make it through but that may not be true.
I have to point out that this thread is suppose to be about support for a feature that @omz does not want to allow as a a "standard" feature for Pythonista. He has explained his thinking about this and it makes perfect sense. Having a way for the customer to do it anyway would have a lot a value because the alternative is to just walk away from Pythonista entirely and explore other options.
As we get back on topic - I would like to point out that this thread is the first time I think I have seen @omz discuss his target customer as being a game developer. I knew he was very supportive of using it for game development but thought that it was primarily a workflow automation tool and designed the code base to be leveragable for other apps - thus we have Editorial. Does this mean @omz has a game in mind that he has been working on for years but it is not ready to reveal yet?
-
@wradcliffe Well, maybe not a game ;). I don't think he thinks it's the primary use case, just an important one, which I agree with. The target audience expands a lot once you include gaming. For a lot of young people, game development is far more attractive than workflow automation (trust me, I'm in High School)
-
There is a new term in application software development called gamification. It is the conversion of a normally boring workflow into a game. Programmers that can do this can earn some big bucks since it is not all that easy. You have to know a lot of stuff about a lot of stuff. Read this article for a good perspective. This may be your future career path :-)
-
@wradcliffe ,I said so many years ago, game programmers were being wasted on games. Some of the interesting interfaces these guys could bring to business solutions is mind blowing.
-
This has made its way into the latest beta 🎉