MathViz 1.0 for iOS approved and in the AppStore now!!!

MathViz 1.0 AppStore link

Before you ask why it’s $0.99 and not free - I wanted to see if I could get a FireMonkey paid app approved, and I’m very happy to say that I could. And anyone can, of course!

I will leave it at $0.99 for the next couple of weeks, and anyone that wants to "donate" to a lunch, dinner, party or whatever it turns out to be, can do so in the next couple of weeks. After that it will become free for all.

The link above is live, but it will take up to 24 hours for MathViz to be searchable in the AppStores world wide.

Your purchases of MathViz will go to a couple of things - Apple, the IRS and finally some kind of FireMonkey party of some kind - total volume of paid sales and actual payouts from Apple will determine what will happen.

Now that MathViz is available I will use it for blog fodder, webinar fodder, and I will of course publish the source code.

Thanks everyone in advance for playing and giving feedback!

MathViz 1.0 is powered by TExpressionParser - a flexible and fast expression parser for logical and mathematical functions by Egbert van Nes, with contributions by John Bultena and Ralf Junker. Thanks for Egbert van Nes’ explicit permission to use it in a paid app. :)

13 Responses to “MathViz 1.0 for iOS approved and in the AppStore now!!!”

  1. Olecramoak Says:

    Cool!!

    Already bought it. Would easily pay 9.99…

    My firemonkey app is also live in the appstore (free and provides paid content via in-app purchases from parsed storekit thanks to phil hess). Really awesome… Anders, what about publishing iTunes connect downloads data for us as a bonus? Congratulations on the great work!

  2. Anders Ohlsson Says:

    Cool! Have you published anything about using the StoreKit! That sounds great!

    I can publish downloads data. I think it refreshes every 24 hours.

    Next update will be $9.99 - just for you! :) :) :)

  3. Olaf Monien Says:

    How is the custom function feature supposed to work? If I tap it nothing happens.

    Otherwise looks cool :)

    Olaf

  4. Anders Ohlsson Says:

    Olaf: You can edit the function to be any function of x and z. The "Custom function" simply does the same thing as the Enter key on the keyboard if you’re in the Edit box. You can click the "Custom function" button to show the mesh in case you clicked off the edit box.

  5. Olecramoak Says:

    What is very cool about your app is that it’s very fast… My app’s oerformance is a bit slow (use update 4 currently). I’m really curious to see your source code when you publish it… I found canvas refresh to be a bit slow (repaint, refresh, ivalidate) wonder how you managed it to be so fast and smooth… Are tou drawing on a image.bitmap? I have some bad experience with try/except with beginscene and endscene (slow performance)… Will probably learn a lot from your code

  6. Anders Ohlsson Says:

    I bet you the answer is that my app is a 3D form, not a HD form. And I bet you have a HD form. A 3D app launches extremely fast compare to an HD app. My 2D layers are projection Screen instead of Camera. So it’s a 3D application with 2D elements in it, instead of the reverse.

  7. Jens Fudge Says:

    Two things are interesting here..
    StoreKit mentioned by olecramoak, and the fact that 3D is faster than HD.
    Very interesting indeed!

  8. Olecramoak Says:

    @anders: that is very cool and unexpected information. Is there any way I can easily port my project from a HD form to a 3D form?

    @jens: getting the storekit to work was not an easy task. Could parse it easily with phil hess parser, but the framework is not trivial to use. Some of anders components gave me a few useful clues (mainly observers and delegates) that are necessary for storekit callbacks… Many hours of development later, it works like a charm. I sell more than 10 items inside my free firemonkey app on the appstore. If anders would be interested i could send him a portion of my code for future reference to a component.

  9. Olecramoak Says:

    @anders: just out of curiosity, it is possible to change app’s price at any time on iTunes connect, so it would be possible to approve the app as free and them change to whatever price tier seller wanted to. About performance, one of my app’s update got rejected by apple (only tha update, previous version remained on the store) because of poor performance. After some heavy optimizing, it got approved. This got me very scared because may imply on other FM iOS apps. Will try the 3D form alternative ASAP!

    Full review rejection note (Reminder: after optimization the app got):

    "10.6: Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good it may be rejected

    We found the user interface of your app is not of sufficient quality to be appropriate for the App Store. Apps that provide a poor user experience are not in compliance with the App Store Review Guidelines.

    Specifically, we noticed your app has poor and slow performance issues. When the app is launched there is a delay of ten seconds before the user is able to proceed into the app."

    if porting the app to a 3D form (it is a 2D app) is possiblr and give me better performance, will submit it as an update soon. Meanwhile, really excited with current version on the appstore :)

  10. Anders Ohlsson Says:

    @Olecramoak: You can "easily" change an HDForm into a 3DForm by changing the ancestor from TForm to TForm3D. Then you have to view the form as text, make no changes, view as form again, watch all warnings in case they are relavant, and done. If you were using a TViewPort3D for 3D parts, that now goes away. All 2D parts need to go on layers that have the projection set to Screen instead of Camera. Send me a link to your app, and yes, I’d be interested in a sample that uses the StoreKit.

    Also, I didn’t realize you could change the price from Free to Charge. I only had Free apps before, and to submit Charge apps requires contracts and all, so I did that to make sure that they would approve a FMX app. Very cool that they did of course.

    What performance issues did your app have? Were you creating all forms on startup, or on demand? I’m creating all my forms on demand (except the main form). MyEDN (in review) has 7-8 forms and opens in about 2-3 seconds on my iPhone 4.

    BTW, if you do stuff in OnCreate of the main form then the splash screen will be showing the entire time you do. Whatever you can postpone until the UI is open is a good thing.

  11. Olecramoak Says:

    @Anders:

    I only have one form in my app and use layouts (10 of them) to contain each view’s content. It is not a good solution, because it causes startup to be slow. All components are loaded on OnCreate (after optimizing it takes avarage 5.5s on iPhone 4S and 4.8 on iPad 2, and this seems to be Apple’s limit) and still take them some time be displayed when its parent layout becomes visible, like they have not been loaded before. A bit weird.

    I tried to use the multiple-forms approach, as it seems more elegant and better in any ways, but got a "project cannot be parsed" error multiple times on Xcode, so gave up on it. I guess I messed something up when adding new forms to the project. A single form is better in just a few thing: makes easier to handle OnResize eventes (rotating device) and other global events.

    Just tried to convert my HD Form to 3D, but could not do it :( Changed my main form on my unit from TForm to TForm3D. Got a few messages about invalid properties regarding background (gradients) and ignored. Got a fatal error from IDE about invalid .Fill Property. :(:(:( Am I doing something wrong?

    Can I e-mail you the sample StoreKit code? Shoot me some random message (on the unpublished post e-mail) so I have your e-mail address.

  12. Xavier Says:

    @Olecramoak: I am extremly intresting by your porting of StoreKit. can you contact me: contact@ :-)

    @anders: very intresting that 3D form perform better, i may try that tonight (note to self: backup everthing before!)

    @Olecramoak: what’s your app name? i’d be intrested to see a finalized delphi product.

  13. Firemonkey Lab Says:

    Cool, good job!.

    FiremonkeyLab
    http://firemonkeylab.blogspot.com

Leave a Reply


Bad Behavior has blocked 512 access attempts in the last 7 days.

Close