it has been a long time

It has been a long time since I have written anything here. What I have I been up to with my free time?

Well, I have a few videos on using GameSpark on GameSalad:

And one about using inMobi on GameSalad for Tizen:


Gamehouse and QuickLua

The nice people at MadeWithMarmalade are running a promotion with gamehouse where if you integrate their game network promotion api you win money and a Marmalade license extension. There are some stiff requirements (at least for me and my apps) to get the incentives, but I decided to integrate a couple of my apps just to see what it was like (and because I am on vacation with nothing to code). What I found out is that unlike most tap or impression exchanges, gamehouse will show your app thousands a time a day for free (at least during their beta period).

Two of the apps I integrated gamehouse with are written in C++ (what all the instructions are written for), but one of my app I used Marmalade’s Lua api. What follows is how I got the gamehouse extension working with my Lua project.

1. Download the gamehouse Marmalade extension from here:

2. Once the sdk is unzipped copy the gamehouse folder to the extension folder inside your marmalade folder. In my case that is: C:\Marmalade\7.1\extensions.

3. Modify your project .mkb to include the gamehouse extension in the sub-project section. Your subproject section should look like this (unless you have added other projects):

s3e-data-dir = resources
app-icf = ‘resources/common.icf,resources/app.icf’


4. Download the files located here:

Place the header file in the header folder. On my machine it is located here: C:\Marmalade\7.1\quick\include.

And the source file here: C:\Marmalade\7.1\quick\source

5. Modify quickuser.mkf located here: C:\Marmalade\7.1\quick

By adding  the two files you just added. It should look something like this after your changes.

includepath .


#Gamehouse c++ files.

6. Modify quickuser_tolua.pkg also located here: C:\Marmalade\7.1\quick by adding the reference to the header file. Your file should look something like this:

// Mark-up in header files
$cfile “quickuser.h”
$cfile “include/CGGameHouse.h”

7. Run the quickuser_tolua.bat file. According to the documentation it should be located here: C:\Marmalade\7.1\quick. Unfortunately I have not seen it in a few releases. If you don’t have it either copy it from the same folder but the 6.4 install (the last version that had it for me).

8. At this point you can either open the quick_prebuilt.mkb or any of your Quick project in Visual Studio and compile it using the x86 Debug target.

9. From within your Lua project now you should be able to initialize gamehouse by calling:


and request the display of the ad by calling:


10. Remember to add the required items for the particular platform you are deploying it to. For example for Android you need to add the required activity to the android manifest file. Instructions can be found in the gamehouse integration document found in this thread:

That is all, if you run into problems let me know and I’ll try to help. I am back to bill paying work after the new year.

InMobi and ad size support for IwGameAds.

If anybody has bothered (highly unlikely) to download and install any of my games in Blackberry Appworld they would have noticed that at times you will get an ad that takes over the entire screen of the game. This happens even if you are in the middle of playing the game. Unfortunately until this point IwGameAds did not have a mechanism to be able to request an ad size. With some providers like mmedia this is not a problem because you define the size with you define the slot.

Again I have made changes to IwGame to support ad sizes. These are the first batch of ad sizes supported: 168×28, 216×36, 300×50, 300×250, 728×90, 320×480, and 320×50. Up to this point I have only tested and modified (where needed) 2 providers: mmedia and Inneractive. With these code changes I have also added InMobi (was not supported in the original version of IwGameAds). I couldn’t find a way to specify ad size in mmedia, and it isn’t necessary since you can specify it on their portal. All these words is just to say that the ad size functionality is now supported for InMobi and Inneractive. As I test and update the other providers, I will make sure to add the ad size option. You can keep track of what providers I have tested by looking at the read me on gitHub. This change meets my current needs, but I realize that it would be more useful if you can specify the ad size per slot. I plan to make that change as soon as time permits.

Example 1: The ad size of 300×50.






Multiple AppId support for IwGameAds.

I have used IwGameAds for a while (I didn’t write the original code). One of the great things of using it with Marmalade  is that you can write your code once and ads appear everywhere you deploy it.

I use 2 ad providers, and I usually set up the platform as Android since IwGameAds only supported 1 appId per provider. This meant that whatever device is presenting the ads, it would always shows up as Android on the ad console. It also meant that such as ads for Android games would show up on Blackberry devices.

I made some small changes to the code to accommodate multiple appids per provider. You can get the version with my changes in my repo.

To add the extra appIds you can do it when creating the mediator:

Example 1:

// Create Inner-active ad party and add to the mediator

CIwGameAdsParty* party = new CIwGameAdsParty();

party->ApplicationID = “Default when it doesn’t match any of the others.”;

party->IOSAppID = “iOS AppId”;

party->BBAppID = “ONX based blackbery devices App Id.”;

party->AndroidAppID = “Android App Id.”;

party->WP8AppID = “Windows Phone 8 App Id.”;

party->Provider = CIwGameAds::InnerActive;


Example 2: Not all the appIds have to be provided it would just use the default when the others can’t be found:

CIwGameAdsParty* party = new CIwGameAdsParty();

party->ApplicationID = “Default when it doesn’t match any of the others.”;

party->IOSAppID = “iOS AppId”;

party->WP8AppID = “Windows Phone 8 App Id.”;

party->Provider = CIwGameAds::InnerActive;


Example 3: You can also use it without a mediator:




Self Hosted WordPress – Smart Kids’ Apps

Since I last wrote, I have created one Tic-Tac-Toe with Zoo animals app and so far have it in multiple stores (but that is a story for another day).

In the process of trying to figure out how I could get more exposure for my app, I found many sites that feature app reviews. I looked at a few, and decided why not try to create one for myself (in typical Adrian fashion).

From the beginning I wanted to use a content management system, since I don’t have the time to recreate the wheel. Doing a search on Google will show dozens in every platform and development language imaginable.

I was one of the original testers for the 1and1 PHP/MySQL servers in North America. And as such, I have a very generous plan for very little money. I have used it in the past to host many websites, including my wife’s very successful parenting board (at its peak it had hundreds of uses and thousands of pages servered an hour).

After spending half a day looking at PHP/MySQL options I came across Redaxscripts. Fast, slim and nimble; it is very impressive. While looking at their performance charts WordPress was second or not far behind every test. Couple that with the fact that I couldn’t find many full fledge templates available for Redaxscripts: I decided ultimately to use WordPress.

Since this blog that you are reading is hosted on, I decided to do the same for the Smart Kids’ Apps blog. I soon found that for some of the things I wanted to do it would not be possible or too expensive to do them here. This is especially true since I am already paying for a hosting package at 1and1.

I have known people who have done self hosting WordPress sites, so I figured how hard could it be. I went to the site downloaded the installer, configured my hosting provider, bought a domain, bought a template (i am not a designer), downloaded a few plugins and in little over four hours in 2 days I had the site up and running.

The Smart Kids’ Apps site might not be perfect, but it took me a fraction of the time and effort than the last time I tried to do something similar (I was in love with Ruby on Rails a few years back).

What have been your experiences with self hosting WordPress? Have you tried anything else?

2 days with my HP TouchPad

Let me start by saying that I loved Palm. I had a few of the first palm including the first wireless palm. I would love going to garage sales and using my palm to look up the prices of items on the web. It was big, had an antenna that you would have to slide up, and it was extremely slow.

I looked at the Pre when it first came out, but ultimately ending up buying an iPhone when it was time to switch phones.  I love my iPhone, and for that matter both the first generation iPad (@mamasnark has one), and my second generation iPad. I have never owned a Android device (although I would love to). So this review (if you can call it that) is based on my observations and mostly comparing it with the iPad, and a little on the blackberry (since I also own a blackberry touch device).

I bought the device for $149 during the fire sale last weekend. The device feels solid although slightly cheaper than both generation iPads. It is mostly made of plastic, and not metal and glass. I don’t know if it is due to the cheaper construction, but I feel that it is less likely to break (I broke an iPad 2 by dropping about 2 feet). So far I have only dropped it 2 times (well the kids dropped it once), and both times the chunk of plastic has not even shown a dent. It is much thicker than the iPad 2, but I don’t have a problem holding it.

So first the bad news and then I’ll go into the parts I like:

1. It takes a much longer to start, and in general it feels a lot slower than the iPad 2. It sputters at time on random web pages, scrolling, and other activities. It is worse on some applications. For example the only useful twitter is extremely slow. Sometimes you get an sign that it is working and you wait, but other times it just freezes. The freezing gets worse as the day progresses which forces you to restart the device (and wait the longer restart times).

2. The tapping seems less precise, and I have not figured out a way to scroll through the letters of a word. I end up tapping 3 or 4 times to get the cursor on the correct place, and sometimes navigating to the wrong place because I tapped the wrong button.

3. The choices of applications are rather limiting. I don’t really care if there is only one choice, but there are applications I use on my iPad that have no equal on the touch. Words with Friends, Chess with Friends, Netflix, Time Warner Cable and an ePub reader are all missing (and many others). The first four are nice to have I guess, but not having a ePub reader means I can’t read any of my tech books on it or read books I have download from the library.

4. Although it promises the entire web (since it does Flash), it is not necessarily true. Many major sites don’t render correctly, and a lot of flash content doesn’t seem to run or runs very slowly. For example tried to listen to some clips yesterday on NPR and was not able to use the web widgets to control the volume. I understand this is not HP’s fault, they can’t control what people do on every website, but I don’t have the same problem on any of my computers with the same widget.

5. The front camera does not seem to take pictures. Just videos for Skype. I did see an app to take pictures, but it isn’t free (I’ll probably end up buying it).

Now the good news:

1. It tries to keep all your data together. It searches across all your items, and not just things on your device (it is configurable). So it will search Facebook, Twitter, WordPress, your local files, and files on your all at the same time. It will sync your contact and calendar across all the devices and sites if you want. It will also notify you of changes on all sites or local files. It will let you know that somebody left a comment on Facebook. I guess iOS does the same thing, but webOS does it all in one place instead of constant modal notifications.

2. Although the browser isn’t perfect it is nice to be able to see some flash content.

3. You can store files locally on the device, and you are able to move files from internet web sharing applications into the device (it comes with 50gig of It will open those files if the app to open them is available. For example I am able to drop a word document on my account, and then open it on my webOS device. Once downloaded on to the Touch, I don’t even have to be online to view it.

4. HP now sells accidental damage replacement insurance for $50.


At $149 dollars (for 32gig) or $99 (for 16gig) it is a great piece of hardware. If I were buying just one device and without being able to view ePub documents I would probably purchase a Nook Color instead (you can even install Gingerbread if you get bored with the custom android). At the original price with the current software available, I would have bought an iPad or an Android tablet instead.


Doing something useful with my domains.

It has been over 10 years since I have held (and I can’t honestly say that I have ever had a purpose for the .net/.com domains, other than one of them hosting my e-mails. At one point I uploaded a collection of pictures to a postcard flash-based display widget (no other words to describe it). I love taking pictures of flowers, and at the time I thought the postcard display was very neat (I think I still do). I was not able to see my postcard flowers on my phone or iPad, since sadly Apple doesn’t support flash on iOS devices. I thought of looking for or writing a similar application in HTML5, and at the same time I was wondering where I would write my random thoughts about technology that I was playing with.

Originally my blog in the .org domain was going to alternate between me talking about wine (go and read my ignorant wine rantings if you want) and talking about technology. I just didn’t feel it was right for me to talk about wine on one post (something I know very little about), and then switching over and talk about technology in the next.

So here we are. I am now pointing both .net and .com domains to this blog. I have removed the flash-based postcard picture display widget (it is actually still there if you look hard enough). The wine blog stays where it is, and I plan to write in this one only about my tech musings.