Showing posts with label objective-c. Show all posts
Showing posts with label objective-c. Show all posts

Tuesday, December 23, 2014

Weather for your business?

A beautiful iPhone app before the year end. It is a business analytics app.
In App Store:

Wednesday, October 1, 2014

Directory with extra fun

Employee look up app with fun ideas.

Monday, November 18, 2013

How to get iDevice hardware model

size_t size = 100;
char *hw_machine = malloc(size);
int name[] = {CTL_HW,HW_MACHINE};
sysctl(name, 2, hw_machine, &size, NULL, 0);
NSString *hardware = [NSString stringWithUTF8String:hw_machine]; //e.g. iPhone4,1

Tuesday, October 8, 2013

How to add parallax effect to your apps

UIInterpolatingMotionEffect *interpolationHorizontal = [[UIInterpolatingMotionEffect alloc]initWithKeyPath:@"center.x" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
interpolationHorizontal.minimumRelativeValue = @-10.0;
interpolationHorizontal.maximumRelativeValue = @10.0;

UIInterpolatingMotionEffect *interpolationVertical = [[UIInterpolatingMotionEffect alloc]initWithKeyPath:@"center.y" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
interpolationVertical.minimumRelativeValue = @-10.0;
interpolationVertical.maximumRelativeValue = @10.0;

UIMotionEffectGroup *interpolationGroup = [[UIMotionEffectGroup alloc]init];
interpolationGroup.motionEffects = [NSArray arrayWithObjects:interpolationHorizontal, interpolationVertical, nil];

if([aView respondsToSelector:@selector(addMotionEffect:)]){
    [aView addMotionEffect:interpolationGroup];

Tuesday, September 10, 2013

Experiencing Sencha Touch: VW Dealer app

Sencha Touch, a high-performance HTML5 mobile application framework. We used Sencha to build an iPad application that allows Volkswagen field managers and dealers to show customers everything about VW cars.
Application features:
  • Work offline.
  • Update application data without reinstalling the app.
  • Support multiple events.
  • Capture customer information locally and upload to server later on.
  • Vehicle gallery and videos slide show.
  • Vehicle trim specs, color specs, technical specs, pricing.
  • Vehicle comparison. 
Since this app needs to work with iPad 1st generation, memory management became very important. We spent good amount of time to tweak the app to have small memory footprint. 

The app is being used at places with no wifi. When the application is installed, it downloads all data from a server and stored on the iPad using HTML5 local file system feature. App uses high quality gallery images, so using manifest method would exceed the browser storage limit.

The app itself has a version control built-in so every update is an incremental update instead of re-download all data again.

Customer data are stored on the app using Sencha store data model.

2013 Sep updates: Redesign user interface!

Monday, June 3, 2013

iPhone app: real time video sharing

An native iPhone app prototype that steams camera video between two iPhones. Not very complex, but it took a good amount of research and learning. Major classes are NSOperation, AVFoundation and GameKit.
  • Multi-threading is necessary to prevent UI lockup, so NSOperation is used. 
  • AVFoundation - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer (CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection is the key element to capture video frames from camera. 
  • GameKit peer-to-peer communication via Bluetooth is used to send and receive data between two devices. 
Result was that I was able to reach about 4 frames per second. Did not get to try Game Center peer-to-peer via local WiFi. I believe that will increase the frame rate.

Friday, October 9, 2009

iPhone App iFreak!

My first published iPhone application. You can take a picture of yourself and snap your face into a movie character's body. Add other props on top of it. All elements can be rotate, scale using multi-touch. Give a name for the final character. Post the final image to your Facebook Feed, save to your photo album or send it via email. Of course it has some general information about the movie including photos, trailer and synopsis.

Time spent: 3 weeks
Programming: Cocoa Touch, Objective-C
App URL: