I was never clear on what was going on but I believe that @omz could enable it with the plist change for just the beta but then remove it after the beta. I would argue that beta testers have a stronger need for the ability since we are moving between devices a lot.
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.
Posts made by wradcliffe
-
RE: IOS 8.3 now breaks iFunbox and probably other similar programs
-
RE: SnapSudoku
@ccc - you may be right but at least we can agree that this is just a decision that Apple can make now as part of the deployment process through the App store. By opening up the discussion again - I was hoping that @omz could share what he has learned recently that may change the picture. I think that @omz has formally sanctioned using PythonistaKit framework outside of the template indicates he is thinking of providing it as its own 3rd party shared library at some point. Maybe soon!
-
RE: SnapSudoku
The use of OpenCV has been one of the most requested features for awhile. Directly integrating a third partly library into Pythonista is a huge amount of work so @omz has had to keep it on the request list in order to concentrate on other priorities such as getting Python3 done.
A lot has been done with the ability to load and then access a library of code (a framework) from within Pythonista using the objc_util module. You can load and access most of the Apple frameworks now except that you are still limited by Pythonista permissions (plist).
@omz has stated that he learned some new things that have allowed him to run both Python2 and Python3 as shared libraries of code within the same App. I am hoping that this means that something like OpenCV could also now be tackled as a shared library now. There are others in the forum that have attempted to do this in the past that may know more and weigh in on this. My sense is that it might now be possible to do it for yourself using the current XCode template with the ability to release it to others who own the Pythonista App as a longer term possibility.
I think your idea for a Sudoku app could make this the "hello world" example of how to do this since it is a game. The UI alone shows how to implement an interactive grid if tiles and has been done many times already in Pythonista. Filling in the grid using OCR would be a killer demo IMHO.
-
RE: Python 3.x Progress Update
Example Music Stats.py does not run. Throws an Attribute Error on the NSBundle call. Can be fixed by changing
NSBundle.bundleWithPath('/System/Library/Frameworks/MediaPlayer.framework').load()
to
ObjCClass('NSBundle').bundleWithPath_('/System/Library/Frameworks/MediaPlayer.framework').load()
-
RE: PicEncode
It is not clear to me if you are just trying to use an image as a data container, trying to create a kind of barcode, or are trying to add hidden data into and image. In any case many of the issues your are thinking about are covered in the area of imaging technology called Stegonography. This is the embedding of data into an image and its retrieval from the image after it has gone through various transformations including lossy compression. Let's just say - it is heavily researched and many companies have lived and died implementing various techniques. The most famous one is Digimarc. There are also numerous open source "Stego" projects out there that are worth exploring.
-
RE: Split view multitasking for iPad
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 :-)
-
RE: Split view multitasking for iPad
@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?
-
RE: Split view multitasking for iPad
@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
-
RE: Split view multitasking for iPad
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,
-
RE: Python 3.x Progress Update
This thread is getting really long so I may just start another about the new template you posted to github. I am coming at this with virtually no knowledge of XCode development so my feedback should be taken in that context. At this point I have simply setup for XCode development on a squeaky clean Mac Mini. I read the Reame on the Github site but it had nothing about how to "install" the template. I spent a few days researching this and learned that it depends on a number of factors. So my feedback for now would be to add some text to the Readme to discuss this. I think the Readme should state the 3 or 4 ways to download the package and install it and why you would pick each of the methods. Something along these lines ...
-
Checkout the distribution using XCode source code control and recommend a destination location and then how to do a build using the stock XCode dev environment (not the command line) - then run in the simulator and then deploy to your device.
-
Download the distribution as a ZIP file, unpack it and then move the pieces into their "correct" locations. This one would probably best be done using the command line only.
-
Install the distribution using CocoPod? I have no experience with this yet and don't know what is involved. However - this seems to be one of the most modern methods for keeping the dependencies between all the parts of your App under control and easy to maintain.
-
Other? Maybe document the tools you are specifically using in your development environment as it might be illuminating.
New users of the template may also be wondering what the supplied process does anywhere the result end up. Does it produce universal binaries or only ones targeting IOS. Mac OSX support? etc. I am just looking at this as if this is a SDK offering and that Pythonista is the demo app for this SDK. You have mentioned that at least one developer has taken the framework out of your distribution and put it into another project so this seems appropriate.
-
-
RE: Python 3.x Progress Update
@omz - I think that you should just do a bundle that includes both the 2 and 3 versions but discounted appropriately. This will serve to illuminate new users about the 2 vs 3 issue with Python as a language and show new users how it is the definitive choice on IOS.
-
RE: filenav - a simple file navigator
We need to figure this out since Stash is now a vital component of Pythonista IMHO. I really believe that it should be included with the core package since it is that important to everyday workflow. There are just some many simple things your can do in Stash that could take hours to accomplish in the UI.
-
RE: Python 3.x Progress Update
Congrats on finally getting this project done. I just signed up to beta test and would like to offer help specifically with the template and any feature that directly speaks to users who wish to use Pythonista to write their own Apps for the AppStore.
From a feature perspective:
-
I would like to see the template kept in sync with the build so that developers would get bug fixes as soon as any other user. I would love to hear about why this is such a problem but can surmise that the template project is currently "hand built" or requires a great deal of manual work for some reason. Let's fix that once and for all.
-
I would like to hear about any progress that has been made in supporting integration with third party projects like OpenCV. I have noticed that other development environments support "plug-ins" that seem to be shared libraries and manage to make it through the App/AppStore process just fine. I have no idea yet how they are accomplishing this but I would be happy to research this and report back if we could make it a project to get this done for Pythonista.
I have been thinking a lot about the template and it purpose and future and believe that it is actually a product all by itself. It needs to have a defined purpose and a set of use cases and then offered in the AppStore for a fair price for what it delivers. For anyone using it to do professional level App development you should be able to charge a hefty price and look at paying someone to maintain it for you.
I am going to stop writing now. This is getting too off topic.
UPDATE: I have been syncing up with all the posts from the last 4 days and notice that the template was updated on GitHub at the same time as the 3.x beta - so part of my question may already be answered there. I won't post again until I actually install the new beta and download that template.
-
-
RE: help with PunchThrough Bean Arduino integration
I had no trouble using the sample code to talk to my Light Blue Bean. I had major issues when I tried to extend the script to talk to more then one Bean and do anything that generated a lot of events close together. If you look at the sample script it maintains a reference to a single peripheral so how you extend this to support multiple peripherals is not obvious. There also seemed to be some tricky multithreading issues going on. I verified that the callbacks seem to be fired off on a pool of threads and it was easy to write code that was not safe under these conditions. In any case, I had good luck at least talking to the Bean and reading and writing to parameters.
There are others in the forum that have done some complex coding with single devices that may be able help you but I have not seen anyone else using LBB's. I have not played with it for many months.
Sorry I can not be of more help.
-
RE: Pythonista 2 Release
If you are currently in the beta running under TestFlight you may not see the 2.0 release in the AppStore updates tab. You can get it to show up as an update if you just navigate over to your purchased Apps, find Pythonista 1.5.x, and then hit the download button (cloud icon). Although this causes 1.5 to get downloaded your existing data gets preserved. You will then see the update to 2.0 in the usual updates section and can download and install the new release. So it is like doing a downgrade/upgrade process which is a bit scary but seems to be fine. Worked for me :-)
As @omz says - it is wise to do a backup just in case.
-
RE: Ranting about feature requests.
I think this brings up the topic of dynamic libraries and linking again. Porting these two libraries or potentially solving the issue of supporting both Python 2 and 3 could be made much more "doable" by packing the functionality into a dynamically loadable framework. It seems to be possible now as part of the whole App Extension capability but it is really hard to tell. I spent a bumch of time on stackoverflow reading about the topic and can't find a single example of a project yet that takes it all the way through to publishing an App out to the store. I just find lots of people having all kinds of build issues and then claiming that it worked finally with a list of caveats (like only on IOS8.x, etc.). Here is one sample thread:
Yes - I know this is talking about "embedded frameworks", but this appears to be a form of dynamic framework. It just adds to the confusion for me.
-
RE: Optimisation of GLES update times
@JonB and @Cethric - this seems to imply that the JS runtime system is highly optimized for JSON encoding and decoding. That would not be a big surprise. The new method for transferring the data seems to also confirm that moving all the data in a single blob and with a single call back into python is the best strategy. I was thinking that the send_to_python call could also be running faster if the JSON method is handled via a http POST like mechanism rather then a http PUT. It certainly is interesting.
-
RE: Optimisation of GLES update times
I notice that you added the ability to play with the number of objects that you send back to python using a slider in the Physics pane. There is an obvious hickup that happens in the value of "time to send to python" every so many iterations and the amount of overhead is defenitely quite high. Seems like there would be a benefit to being able to transmit the entire list of objects in single compressed string so that you could just make a single call. The best would be to figure out how to share the list of objects in memory and not transfer it at all, but I doubt there is a way to accomplish that.
-
RE: Optimisation of GLES update times
I do not understand your comment about sendObjectData. I can see were it is called in the JS end of things and see that the timing will depend on the number of world.bodies. I don't see any places were it is called from python. From python all I see is the call to startUpdates using exec_js. I would like to duplicate your results first before theorizing so can you explain how to do the timing tests?