Archive for January 30th, 2013

On Marmalade and PlayBook development

So… The Marmalade promotion is ending in a few hours. I’m still waiting for my app to get approved through QA, so we’ll see what happens. Cutting it a bit close, but that’s life.

Mainly because my workaround for Marmalade Web not working was to use WebWorks, which… I was only recently told didn’t actually satisfy the T&C of the promotion. So one ‘quick’ app in Marmalade Quick/Lua later, and I hoping to be able to keep the PlayBook.

But OH MY GOD, Marmalade. If you were trying to get me to use your stuff for anything, you have utterly failed at it.

First off, the SDK itself. Er… WTF? I was under the impression that Marmalade Web was part of the SDK. But it doesn’t support the cross-platform nature of the actual SDK, despite BB10 probably having the best HTML5 development toolkit out there? (I know of nothing on Android/iOS that allows you to take a bunch of HTML files, and throw them up as a full app.) Sketchy at best, considering I would have thought there’d be at least some half baked support.

Which leads me to my second point – really crappy code. One example: The publisher in Quick doesn’t sign packages that you request to be published. (leaving aside that yhat hotfix fixes… what, exactly? And how do I download it?)

The inability to sign stuff is really strange, because you’ve got the Test deployment down to a science, requiring author IDs and stuff I had to extract from the debug token bar file. I didn’t have to enter my author ID when publishing stuff from WebWorks. Why can’t you handle this stuff? YOu’ve chained together umpteen dozen other programs, surely you can handle this one.

(For the record, I ended up manually signing the generated unsigned bar file. After correcting the fact that it still set the dev mode flag to ‘true’ in the application manifest.)

My third point is really my second point rehashed – strange error messages:

C:\Marmalade\6.2\s3e\makefile_builder\ --use-temp-extension --verbose=1 C:\Users\kyl191\Documents\testcards\Testcards Lua.mkb_temp --non-interactive --no-make --no-ide --buildenv=WEB --builddir publish_build --use-prebuilt --deploy-only
error: Specified input file not found: c:/Users/kyl191/Documents/testcards/Testcards Lua.mkb_temp
FAILED (error code=2)

I got this when trying the recommended workaround of ‘use the full marmalade 6.2 to sign packages’. As you can see, they have very enlightening error messages. Trivia: That mkb filename was autogenerated. I didn’t select it. The actual filename was Testcards Lua.mkb. Copy and pasting the mkb file and appending _temp like it expected ended up with M6.2 just hitting a folder not found error this time.

Another example: The default project file hits a a file not found error when you try to run it in the simulator. I fixed it by commenting out, of all things, a Facebook library for Android. I ticked the QNX box in the deployment screen, Quick. WTF are you including a Facebook library for a completely different platform?! (Yes. They have an actual Facebook library. Thank you very much for giving us all of 3 methods. You get a half-star because you’re in beta, I’d expect more later, but I’m looking forward to leaving you altogether.)

And fourthly, the docs don’t match what’s actually done. Small things I can understand. But stuff like the contents section referencing node.h, only for the main text of the page to have an entry node.height instead? Mhmm. Fun stuff.

And finally, some of the decisions are TDWTF worthy. The main one that I butted heads with? Guess where the (0,0) pixel actually is.

Most programmers would think upper left, since that’s pretty much the standard. Not in Quick. Oh, no. Here, we have the bottom-left corner be (0,0). Why?

I don’t know, and I don’t care. As soon as my app passes QA, their admin people sort out what’s happening with the PlayBook and everything looks good, I’m done.

That uninstall button has never looked so tempting.

No Comments