Basic resources for iOS developers

The App Store is full of applications. Most of them are written in the Objective-C programming language, the native language to develop apps for iOS, basically iPhone and iPad. Other options to build iOS apps include JQuery, HTML5, C and other programming languages. There are also websites and platforms to build basic apps by dragging and dropping buttons, labels and images.  However, the native iOS is the best option in terms of performance, management of resources and user experience.

Apple provides lots of resources to help developers build their apps. Native apps are built using XCode, Apple’s IDE (Integrated Developer Environment) which includes tools to build the app’s interface, program the code, simulate the app on a simulator, and test the memory, CPU and resource usage. The apps are programmed using Objective-C, the Apple’s object oriented programming language.

To build an iOS app, developers must use a Mac OS X since other operating systems are not supported. The development tools needed are iOS SDK and Xcode. Both are free of charge and available on the Apple’s Developer Website. These tools allow any developer to build and test it using the iOS simulator, which is part of the iOS SDK. However, to run the app on a real device, developers must pay $99/year, which includes the license to publish unlimited apps in Apple’s App Store.


The basic resources to learn iOS programming and build apps for iPhone and iPad among other iOS devices are:

  • Apple’s Developer Website: the developers website allows to register as an iOS Developer and download Xcode and iOS SDKs. It also includes lots of resources to learn how to build apps, API references, etc.
  • iOS Developer Library: detailed API information. References are classified by resource types, topics, and frameworks. All the information you need is here.
  • Stamford University Course: There are hundreds of courses and tutorials but the iPhone Application Development from Stamford is the most popular and well-regarded course. The video lectures, demos and sample code are available to watch and download on iTunes.
  • Ray Wenderlich’s Blog: this blog, owned by Ray Wenderlick, contains thousands of programming tutorials. The tutorials cover almost all topics and are very easy for everyone to understand and learn.
  • AppCoda’s Tutorials: Blog about iOS programming which includes lots of tutorials and a big community of programmers who share and discuss development tips.
  • Stackoverflow: Any developer knows stackoverflow. It is a question and answer site for programmers. Developers help other developers answering their questions and discussing programming topics and issues.


Besides of these websites, Internet is full of tutorials, blogs, forums and other resources. You only need time and enthusiasm to start building amazing apps for iOS devices. Hands on!


Getting started with Kinect SDK

Microsoft’s Kinect allows a gamer to use his body to play without a controller. But, actually, it is more than a virtual remote: Kinect is a step forward in controlling technology with natural gestures. It allows to interact with a PC without touching  the mouse, keyboard or touchscreen.

The Kinect has a color camera, a depth camera and a 4 microphone array.  Both cameras are used for motion tracking and the multiarray microphone is used for speech recognition.

The Kinect SDK enables developers to create applications that support gesture and voice recognition.There are lots of step-by-step tutorials (and videotutorials), so in this post I will try to summarize the main ones.

Installing the Kinect

  1. Kinect SDK: It includes the drivers to use on Windows.
  2. Kinect Developer Toolkit: Contains code samples and sources to simplify developing applications.
  3. Visual Studio Express 2010: IDE for developing on Windows.
  4. .NET Framework 4: developer platform to build apps for Windows.

For C++ SkeletalViewer samples:

Speech Recognition software:

Kinect SDK Sample Applications

The Developer Toolkit includes applications and samples to provide a starting point for working with the SDK: skeletal and face tracking, speech recognition, the kinect explorer, the shape game… To start using it, you just have to load the project on Visual Studio and start playing.

Creating a new Project

  1. Create a new Windows Based application project.
  2. Add references to the Kinect library by right-click on References menu in the Explorer Pannel.

Starting the sensor

Kinect must be initialized before it can begin producing data for the application. The initializing process consists on three steps:

  1. Enumerate Kinect sensors
  2. Enable Data Streaming
  3. Start the Kinect

Writing the source code

Once Kinect is started and a stream is enabled, the application extracts frame data from the stream and processes it as long as a new stream is available. For each frame of data:

  1. Register an event which fires when data is ready
  2. Implement an event handler
  3. Allocate storage for the data
  4. Get the data

Running the application 

The Visual Studio IDE is also used to compile a project, build the application and run it on a new window. 

Loading and recording data

Kinect Studio is a tool to read and write depth and color streams. It is used to create scenarios for testing and analyze performance.

To start loading/recording data, you just have to run your coded application on Visual Studio and start reading/writing data on Kinect Studio.