Singapore iPhone Training – The Pragmatic Lab

For those who don’t know, I took some iPhone development lessons from a brilliant young guy – Sidwyn Koh – last year. He has since went on to create a fantastic app that sold thousands and was even featured on BeautifulPixels.net and in some countries’ Apple App Store.

Sidwyn has recently launched his own startup, aiming to impart more of his knowledge and experience of building iPhone apps to anyone who’s in Singapore. So if you’re interested to pick up Objective-C and wants to learn from someone who’s really capable and inspiring, visit The Pragmatic Lab for more information now.

Speed up your website with CloudFlare.com

Just stumbled upon this amazing free service today.

In their own words:

CloudFlare’s caching moves your static content (images, css, javascript, etc.) closer to the visitor who is requesting them. They have data centers scattered across the network. When someone requests your page, they are able to return images directly from the cache server that is closest to the visitor. They also optimize the network route based on the visitor in order to make the content’s return extremely quick. As a result, they’re able to significantly decrease both bandwidth and the amount of server load returning static files. They do not cache html so if you make changes to the content on your site, the changes will appear immediately.

After implementing CloudFlare on designfission – which is hosted on Arvixe.com. I’ve seen markedly improved page loading times from Singapore.

CloudFlare isn’t just a CDN that distributes content though, it also provides analytics and basic security features like IP or Country based blocking. For the full list of details, visit https://www.cloudflare.com/plans.html.

Taking into consideration that this is a FREE service, and it requires NO code, it’s definitely worth considering trying out CloudFlare yourself.

CodeIgniter 2.0 Tutorial

This is just a short post to help people out there trying to follow the CodeIgniter 1.x tutorials on codeigniter.com.

When you create a Model or Controller class, you should be extending “CI_Model” or “CI_Controller” instead now.

Also, parent::Model does not work anymore and the more generic parent::__construct is used now.

CodeIgniter 1.x:

<?php
class Portfolio extends Controller {
  function Portfolio(){
     parent::Model();
  }
}
?>

CodeIgnitor 2.x:

<?php
class Portfolio extends CI_Controller {
  function __construct(){
     parent::__construct();
  }
}
?>

For those who follow the blog tutorial and see the scaffolding function, that function is deprecated and removed in CodeIgnitor 2.0.

For usable tutorials involving CodeIgniter, take a look at NetTuts excellent series: CodeIgniter From Scratch.

Getting Started with NodeJS

I’ve always wanted to get started with NodeJS after seeing what it’s capable of and finally had the time to try it out! After hitting many stumbling blocks, I’ve decided to write a post about how to get started with NodeJS for beginners.

As I don’t use Terminal much – and installing NodeJS is basically done through Terminal – I faced a lot of problems installing NodeJS. After following the steps, I realised node was not working correctly. It was a frustrating experience for someone like me who have no knowledge of Curl or Terminal to get started with node, which was supposedly a language that is very easy to pick up as it’s actually using Javascript.

Installing NodeJS

I’m only detailing the steps to take on a Mac running Snow Leopard. I can’t guarantee that this will work with other configurations, so for the sake of clarity, do take note!

[Update] This packager does not work in Tiger. It requires at least Mac OS 10.5. :(

Go to https://sites.google.com/site/nodejsmacosx/ to download and install NodeJS and the NPM module.

NPM stands for node package manager, and with this module, it makes installing packages really easy. For example, if I want to install the Express framework, all I need to do in Node would be “npm install express”.

Check if Node is installed

Launch terminal and type in the following command:

node -v

You should get the version of node that is running on your machine. As you can see, I’m running v0.4.8.

Some Terminal Commands and Shortcuts I learnt

While learning how to install Node, I learnt of some Terminal commands and also got to know of a nice little app called iTerm2 which is really a better version of the default Terminal that ships with the Mac OS. You can find out more about the app and what it does better here.

Shortcuts

CMD + K Clears the screen of your previous commands and messages.
CMD + V Pastes a message – so you don’t have to type in everything. ;)
CTRL + C Stops a running program. Note that it’s the CONTROL key and not the CMD key.

Commands

mkdir %dirname% Creates a new folder. Replace %dirname% with the name of the directory you want to create.
cd %dirname% Goes into the specified folder name.
node %server.js% Start running a nodeJS instance. Replace %server.js% with the name of the server javascript file.

Get started with coding

Instead of writing a new tutorial on how to get started, I’m going to post a link to the tutorial I used to get started. Take a read here.

I hope this helped anyone who’s looking to get started with nodeJS.

Nokia Black Box Installation

I built a mini installation in a week with my new developer partner – Noel Chan and colleague Brian Law, and if you’re interested to check it out, do go down to the Nokia Black Box tomorrow. It will be at 30 Maxwell Road and is open from 10am to 10pm.

The installation was built using Arduino, a Sharp sensor, Clickatell’s SMS service and the Flash framework as3glue. When a person passes by the sensor, Arduino reads the data, and transfer it to Flash via serproxy, Flash then will trigger a HTTP call to Clickatell’s web service to send out SMSes to 3 Nokia phones placed on the walls of the event space.

Here’re some pictures of the making of and the event space. Enjoy!

Prototyping
Sensor attached
Hacking the box to fit in everything
All done!
Set up at the event space.
Apps running
Tunes

Analytics and Statistics Tracking for iPhone Apps

After being involved in helping to create Kinetic’s first iPhone Game, I learnt a few things about analytics for iPhone apps that I thought I could share here.

Google Analytics
Tracking iPhone apps is actually very similar to tracking websites using Google Analytics. You attach an event to a button action or a page, and it will be logged down by GA. However, there are some things that GA cannot track, and that is the number of Sales and Upgrades the app has, and from which iTunes Store it was bought from.

iTunes Connect
Although iTunes Connect do provide info like number of sales and upgrades, it does so in a very un-intuitive interface and webapp that sometimes hangs. In short, it’s a torture trying to get something simple from the app. It didn’t take me long to go looking for an alternative, which I found eventually – AppViz.

AppViz
Where iTunes Connect failed, AppViz succeeded to some extent. Using the app, developers can easily retrieve total sales, upgrades and revenue from an iPhone App. All you need to do is put in your iTunes Connect login info, and retrieve the latest data from within the app.

A few months after having purchased AppViz, IdeaSwarm released AppViz 2. Customers who bought AppViz 1 were given a discount coupon to get AppViz 2 at $24 off. AppViz 2 claims to have fixed and introduced new features that AppViz 1 was lacking in. However, having to shell out another $24 for an app which I bought to save me a bit more time with analytics reporting doesn’t sit well with me. I went in search for another app since a few months in the digital sphere nowadays could mean the births and deaths of a few hundred apps. ;)

AppStar 2
The first app that I came up with was AppStar 2. An app that is very similar to AppViz and even allows importing of AppViz data. However the Lite version doesn’t feature automatic iTunes Connect syncing, meaning the developer will still have to depend on iTunes Connect to download the latest reports, then upload them into the app to make them into pretty graphs and stats. At $49.95 for the full version, it was an app that I would come to if I can’t find an alternative.

AppAnnie
After looking at AppStar 2 Lite, I found a reference to a webapp that claims to do everything AppViz and AppStar do – but is free for now during it’s Open Beta. The illustration on the website gave me some doubt at first, but AppAnnie is actually the best app out now that does everything I ever wanted for App Store statistics.

After signing up for an account, all you need to do is enter your iTunes Connect login info and AppAnnie will set out to retrieve the latest reports and data from Apple. Reviews are retrieved on a daily basis and would require up to 24 hours to be in AppAnnie. Statistics are displayed with pretty line graphs with the ability to look at details like:

  • App Details
  • Sales
  • Countries
  • Daily Ranks
  • Rank History
  • Features
  • Events
  • Reviews

AppAnnie will also send an email with a daily report of your iPhone app. What really seperates AppAnnie from the competition though, is the Store Stats features. With Store Stats, developers can view what apps are doing well in a specific country, with options to filter the results by in-app purchases, categories and more.

Distimo Monitor
Thanks Tjimen, for letting me know about this nice little free app. The thing about Distimo that is unique is the ability to pull stats from app stores other than the iPhone app store.

It’s a pretty app that has all the basic features that the other apps have. Setting up my iTunes account was fast and easy. However, the data it loads on first run seem to only from the latest week. A search to see if it can pull data since the app launch proved futile. The app is free and will stay that way forever! Give it a try! :)

Some unique features that Distimo has over its competitors is the ability to add competitors to your app and compare your app against theirs. This is something very useful if you have a KPI to achieve and will keep your team motivated to churn out updates and new features to better your app. :D

Tjimen was also kind enough to provide the following features that Distimo provides:

  • Distimo Monitor tracks Downloads, Revenue, Rankings, Events, Ratings
    and (translated) Reviews.
  • Aggregate or break down by appstore, app, country, device or region.
  • View your charts by day, week, month.
  • Stack your line or column charts.
  • All these parameters can be accessed quickly by saving it as view.
  • Track your competitors ranks by day and see who is winning with the
    Command and Conquer world map.
  • Importing old Apple reports is supported.
  • Exporting all your data is supported.

This is an article that I wrote with my personal experience and the order at which the apps appear are in order of when I tested the apps. Do you know any other apps that does the same but better? Do share in the comments!

10 websites to track new and beautiful apps

I’m a fan of interface design, usability and beautiful things. I love apps, especially free apps. How do I feed my addiction of looking at beautiful apps that has good usability and design? Here’s a list of websites I subscribe to to help me keep track of the latest and best apps. Remember to follow them on Twitter or subscribe to their RSS feeds so you’ll always be updated when a new cool app appears.

Mac.AppStorm
Part of the AppStorm network, Mac AppStorm reviews and features Mac Only apps.

Web.AppStorm
Part of the AppStorm network, Web AppStorm reviews and features WebApps – apps that are within the browser and in the cloud.

iPhone.AppStorm
Part of the AppStorm network, iPhone AppStorm reviews and features iPhone Apps.

Beautiful Pixels
A website that only features beautiful apps. Updates are rare now, but quality over quantity for me. :)

FWA Mobile Of The Day
Part of theFWA Network, FWA Mobile of the Day features mobile apps. Occasional websites make the list, but the apps or sites that make it here are generally worth a look.

WebAppers
Another website that lists only quality WebApps.

SmashingApps
Yet another website that writes about good web apps.

Applaudable
It’s been ages since there’s an update from this one, but when it is updated, it’s usually good.

SuberApps
Another defunct website that used to serve good content. Would love to see more updates again.

It might not be a real list of 10 as some sites are dead or are part of the same network. If you know a site that should be here, leave a comment and I’ll include it.

First Kinect Installation

F&N Kinect Singapore Dance Delight from Kinetic Singapore on Vimeo.

For a change, how about dancers seeing themselves and their moves in a whole new light? An installation was built to wow and delight dancers using the Microsoft Kinect. Dancers are transported into a whole new world of colour and psychedelic fun.

Dancers are transformed into colourful bubbles which react and replicate the dancers’ moves. As dancers groove to the music, sounds will be triggered. Depending on which screen region the dancer move to and trigger, different pitches will be produced, leading to a unique mish-mash of creative sounds and movements. A first of first in many ways, the result is an unforgettable experience for the dancers and the audience.