Tuesday, May 1, 2012

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. :)


  1. 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. 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. How is the custom function feature supposed to work? If I tap it nothing happens.

    Otherwise looks cool :)


  4. 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. 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. 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. Two things are interesting here..
    StoreKit mentioned by olecramoak, and the fact that 3D is faster than HD.
    Very interesting indeed!

  8. @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. @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. @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. @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. @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. Cool, good job!.


  14. , BlackBerry Messenger looks Very Amazing! I can't wait for this thing to come out on Android! Cool!

  15. You undoubtedly make it appear to be very easy together with your powerpoint presentation even so locate this disorder to get truly something that I do believe I'd personally under no circumstances understand. It kind of feels far too challenging and also substantial to me. My business is taking a look forwards on your own next distribute, I'm going to aim to purchase the hang on to of the usb ports!

  16. Beneficial details. Happy me I discovered your internet site by mistake, and i'm stunned the key reason why the following accident failed to occurred upfront! We bookmarked the item.

  17. Thank you for some other excellent post. Where else may just anyone get that type of information in such a perfect approach of writing? I have a presentation subsequent week, and I am on the search for such information.

  18. I am extremely impressed with your writing skills as well as with the layout on your weblog. Is this a paid theme or did you customize it yourself? Anyway keep up the excellent quality writing, it�s rare to see a great blog like this one these days..

  19. You know therefore considerably in relation to this subject, produced me individually believe it from numerous numerous angles. Its like men and women aren't interested unless it is something to do with Lady gaga! Your own stuffs nice. All the time care for it up!

  20. You know thus considerably on the subject of this topic, made me individually imagine it from so many numerous angles. Its like men and women don't seem to be interested until it's one thing to accomplish with Woman gaga! Your own stuffs nice. Always maintain it up!

  21. I went over this website and I conceive you have a lot of good information, saved to favorites (:.

  22. Hey, only became conscious of your blog post by using Yahoo, determined it's mostly definitely informative. We are destined to be watchful for brussels. I will get pleasure from for those who continue this kind of in future. A great deal of people will be benefited from your publishing. Best wishes!

  23. I am specifying a multi-platform app using XE5 and the app needs to visualize 2D data in a kind of colored map form (temperature coloring on a weather map).
    So I was looking at ways to do that and posted a question in the delphi.graphics forum at Embarcadero a month ago (XE5 multi-device app programming and graphics?).

    Today I got the first reply and it directed me to this blog for further info regarding the source availability.
    Is there any chance that I could have a look at the sources of your graph code?
    I might add that I don't own an Apple device myself, only Android phone/tablet.
    So I have not been able to have a look at your app.

    Bo B.

  24. Beneficial facts. Happy us I ran across your web site accidentally, and i'm stunned the key reason why this specific automobile accident decided not to taken place ahead of time! My spouse and i added that.

  25. Wonderful overcome! I'd like to newbie whilst a person amend your website, just how could possibly i personally signed up for your blog? This account served us a ideal option. We were being a small amount comfortable of the your sent out offered energetic see-through concept

  26. Wonderful put up, very informative. I wonder why the opposite specialists of this sector don't realize this. You should continue your writing. I'm sure, you've a great readers' base already!|What's Happening i'm new to this, I stumbled upon this I've found It positively useful and it has helped me out loads. I'm hoping to contribute & aid different customers like its helped me. Great job.

  27. Hi, personally i think we recognized you went to this site i really came to come back the need? . I will be seeking to to get concerns to increase my site! Perhaps it's alright to use within your thoughts!

  28. Heya i'm in my ballet shoes listed here. I discovered this particular mother board and that i find It actually useful & it helped me away a great deal. I am hoping to make available the one thing just as before and support others just like you taught me to be.

  29. Thank's for this great post!

  30. 255339 sd 6:0:0:0: sdb Attached SCSI diskOct 17 20:35:51 dwarfHPPaviliondv6500NotebookPC kernel: 3598.523216 ses 6:0:0:2: Attached Enclosure deviceOct 17 20:35:55 dwarfHPPaviliondv6500NotebookPC pulseaudio1524: ratelimit.5X donc je prend 3.5X chez moi ça marchepour graver un livecd , selectionne bien: write imageedit: prend la vitesse la plus lenteDernière modification par willcoyote Le 12072010, à 14:28Bah moi je minimum est 3.

  31. Hi there, just became aware of your blog through Google, and found that it is truly informative. I'm going to watch out for brussels. I'll be grateful if you happen to continue this in future. A lot of other people will likely be benefited from your writing. Cheers!

  32. Excellent beat ! I wish to apprentice while you amend your web site, how could i subscribe for a blog site? The account helped me a appropriate deal. I have been a little bit acquainted of this your broadcast provided brilliant clear concept

  33. By chance you cannot attain fantastic objects, accomplish more compact items around a great way. And so I'd like to see to speak about of which usually it’s developing and advantageous things.

  34. I just couldn't leave your web site before suggesting that I extremely loved the usual information a person supply in your guests? Is gonna be back steadily in order to investigate cross-check new posts

  35. Woah that site is extremely good i like looking through your content regularly. Keep up to date the favorable works of art! You understand, numerous folks want about for this data, it is possible to aid these people considerably. Woah that site is extremely good i like looking through your content regularly. Keep up to date the favorable works of art! You understand, numerous folks want about for this data, it is possible to aid these people considerably.

  36. I'll immediately take hold of your rss as I can not to find your email subscription hyperlink or e-newsletter service. Do you've any? Please allow me know so that I may subscribe. Thanks.

  37. What i don't understood is in fact how you are no longer really a lot more well-liked than you
    might be right now. You're so intelligent. You already
    know therefore considerably in relation to this subject,
    made me personally consider it from numerous numerous angles.

    Its like women and men aren't involved unless it is one thing to do with Girl gaga!
    Your individual stuffs excellent. All the time deal
    with it up!

  38. Ciao, fino allanno scorso usavo iap cracker per vedere le
    partite nba.

  39. Greetings! Very helpful advice within this article!
    It's the little changes which will make the biggest
    changes. Many thanks for sharing!