Author Archive

Starting with Titanium and Android

Radu Cojocaru

titanium-appcellerator-androidAppcelerator Titanium is one of the 3 cross-platform mobile frameworks (the other 2 are Rhodes and PhoneGap). Similar to PhoneGap, it exposes devices capabilites through Javascript and you write your app using HTML, CSS and of course, Javascript. What really sets Titanium apart is its user interface API: you can use Javascript to create table views or other specific user interface controls. This leads to the best replication of the native look & feel.

Continue reading

How to get 5 star reviews from your iPhone app’s happy users

Radu Cojocaru

iphone_app_reviews Analyzing how users are prompted to review iPhone apps,  it seems that our apps are more likely to get negative reviews. Here’s why: a user is prompted to rate an app when he deletes it. When the app is deleted, it is pretty safe to say that the user was not satisfied with it, so the review will be a negative one. That’s ok, if the app is not good enough, other users should know that. But what about the good/great apps, the ones that you use successfully and don’t delete. Shouldn’t you be encouraged to leave a review in this case too? That review would probably be a positive one, or at least constructiv (you might say what you would like to see improved).

Read on to learn how we solved this and get the full source code to add this feature to your own app!

Continue reading

How to intercept navigation in a UIWebView

UIWebView is a great control to display formatted text (using HTML language). That text might contain links that you want to intercept in Objective-C and do a specific action (push a new view for example).

You can do this by implementing UIWebViewDelegate protocol…

Continue reading

PHP Mailer with Email Attachments that supports Mac OS X’s Mail

Radu Cojocaru

PHP-mail-script-compatible-with-osx-apple-mailWe needed a server-side script recently to send emails with attachments from an iPhone App. We’ve chosen PHP because we wanted to keep it as simple as possible (we wanted no dependencies).

The emails sent (and attachments) looked good in a few email systems, until we checked with Mac Mail. Check the image at the left to see how it was displayed. Read on to learn how to solve this issue and see the full code for the script!

Continue reading

Rhodes 1.4: Your java bin folder does not appear to be on your path.

rhomobile-rhodesYou might encounter the following error message when working with 1-4-unstable branch of Rhodes:

Your java bin folder does not appear to be on your path.
This is required to use rhodes.

Here is the fix…

Continue reading

Rhom vs. ActiveRecord, ID of Rhodes objects

rhodes-framework-mobile-developmentThe ID of an object (record in a table) is an important piece of information. In most of the situations when we need an object from the database, we search for it using its ID. Moreover, the ID is usually part of the URL of a page.

Given its importance it is worh mentioning a big difference between Rhom (the object mapper in Rhodes) and ActiveRecord (in Rails): in Rhom, the object ID is enclosed in brackets {}. A typical Rhom object ID looks like this: {32034644033132}.

Why is it such a big number?

Continue reading

How-to: AJAX DateTime picker in Rhodes (Rhomobile)

ajax-datetime-picker-rhodesEver desired a method to handle a DateTime picker in Rhodes without reloading the page? The ideal solution would be to tap the datetime input field to popup the DateTime picker, choose a date and/or time and tap ‘Done’. This would automatically display the selection into the input field.

We were able to achieve this using 2 AJAX calls. Read on and get the full code to do this!

Continue reading

jQTouch to make Rhodes Apps feel more iPhone-ish

rhodes-framework-mobile-developmentEven though the iPhone specific CSS is not perfect in Rhodes, it can be easily customized to improve the look of the app and make it similar to a native one. But there’s another important aspect for the look & feel of a native iPhone app: animations (transitions between views) and this is missing in Rhodes.

We tried to fix this by using jQTouch, a jQuery plugin for mobile web development. It provides all kind of animations that you would expect from a native iPhone app: horizontal and vertical slide, flip, pop, fade. You can even create your own animations. It also features swipe detection.

Continue reading

iPhone Audio: System Sound vs AVAudioPlayer

Radu Cojocaru

You want to play a short sound on certain actions (view swipe, data saved, data deleted) and the first question is: what library should I use, System Sound or AVAudioPlayer? Both libraries are fine for playing short sounds, but Apple recommends using AVAudioPlayer.

System Sound Services (AudioToolbox.framework) is a collection of C functions and it can be used to play short sounds of 30 seconds or less (it can also be used to vibrate the iPhone).

AVAudioPlayer class (AVFoundation.framework) provides a simple

Continue reading

SQLite basics: How to get a simple db into an iPhone app

Radu Cojocaru

sqlite-iphone-baseSQLite is a small SQL database engine and it makes a good fit for iPhone apps. You can create a SQLite database and its tables using Base app: http://menial.co.uk/software/base/. Base is a lightweight Mac OS X application.

Continue reading