Blog

  • posted by mark
  • on July 2, 2013
We recently ran into an error with Titanium Appcelerator where an app built for Android would work fine when using a development version, but when packaged for release it failed to install on an actual device, simply failing with the message "Application not installed". What became even more puzzling is that the error appeared when the apk file was packaged on 2 machines, but when we built it on a third it worked. The difference? Java 7, specifically jarsigner. The first two machines had JDK 7 installed, but the third was still running 6. After some research, it turns out ...
  • posted by mark
  • on Nov. 20, 2012
We're proud to announce the introduction of our new same day mobile application service! Do you have a mobile version of your existing website or web based application but would like to give your users an app on their phone and get listed in Google Play and the Apple Store? Well now you can, and it couldn't be more simple. All you need to provide is the URL for your existing mobile site and a high quality (min 128x128) icon and we'll provide you with an installable application for both Android and iOS which you can then ...
  • posted by mark
  • on Nov. 15, 2012
During the recent development of an Android application using Titanium Appcelerator, we needed to bring in support for AdMob. Fortunately there's modules out there to make this easy (the ones I used can be found at https://github.com/appcelerator/titanium_modules), but unfortunately after importing this module into our project, I hit a major stumbling block on my development platform (Xubuntu Linux). On building the app I got clobbered with this message: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize'). After Googling around for a while chasing this error, I found many ...
  • posted by mark
  • on Sept. 25, 2012
Here's a useful snippet for PHP developers looking to generate random strings or passwords of varying length. The example below includes numeric and uppercase alpha characters but if needed you can add additional characters to the $chars variable.
function generate_random_string($len) { $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; mt_srand((double)microtime() * 1000000); $str = ""; for($c = 0; $c < $len; $c++) { $str .= $chars[mt_rand(0,strlen($chars)-1)]; } return $str; }
To use it, just call the function with the length of the string you would like to generate.. e.g:
$string = generate_random_string(8); // Returns a string of 8 characters $string2 = generate_random_string(32); // Returns a string of 32 characters
  • posted by mark
  • on Sept. 7, 2012
Every modern web application gets busy from time to time, whether it be with background AJAX calls or simply just generating an unusually complex page, and you need to let your users know that it's doing something. A good way of doing this is to display an animated loader with a faded background to disable the busy area. Depending on what's loading you might want to do this over your entire page, or you might just want to fade out a single component or small area. There's a few plugins out there to do this for you ...