Vinay Gaikwad

This user hasn't shared any biographical information


Posts by Vinay Gaikwad

iPhone Open Source Applications

Howdy Everyone..

Here is a Consolidated List of Few iPhone Open Source Applications we came across having interesting, useful and commonly used features that can be reused for Developing Enterprise Level iPhone Applications.

1. openURL helps you launch Maps, SMS, Browser, Phone, and even other applications.

  • Learn basic protocols supported natively by the phone.

Details:
http://www.appsamuck.com/day3.html

2. What is the IP of your iPhone? You may working with a friend or family member and typically you would have them use IPConfig or website to return the IP, however it isn’t that simple on the iPhone.

  • Steps to Building you first iPhone app

Details:
http://www.appsamuck.com/day4.html

3. Reaction Time

Do you know what your reaction time is? Mean RT is approximately 180 to 200 milliseconds to detect visual stimuli.

  • Format strings and work with UIAlertView.
  • Use NSTimer objects to create timers.
  • How to use the random() function.

Details:
http://www.appsamuck.com/day6.html

4. This is a simple application with a very cool effect. It allows users to load the Flickr KML file in to Google Maps on the iPhone. This will show push pins on the map for photos that have been recently geotagged on Flickr.

  • Learn how to have code run before your application really begins by using the awakeFromNib event.
  • Learn more about “Utility Applications” for iPhone with XCode.
  • Learn how to call Google Maps from your application.

Details:
http://www.appsamuck.com/day8.html

5. This is a simple application with a very cool effect. It renders a dynamic snow shower with a single flake image.

  • Call use animations in your application.
  • Timer and random number generator.
  • Quartz animations.

Details:
http://www.appsamuck.com/day9.html

6. Where Am I!

Most of us know where we are at any given moment. But few of us know our exact longitude, latitude, and altitude.

  • GPS access to longitude, latitude and altitude.
  • Event delegates.
  • “Utility Applications” for iPhone with XCode.

Details:http://www.appsamuck.com/day10.html

7. Are your walls straight in your house? A plumb-bob or a plummet is a weight with a pointed tip on the bottom that is suspended from a string and used as a vertical reference line.

  • Basics of using the Accelerometer.
  • Use of UIImage, UIImageViews, and Rotation Transforms

Details:
http://www.appsamuck.com/day11.html

8. Enjoy everyone’s favorite mobile search engine without the Navigation bar and the toolbar.

  • How to embed resources into a UIWebView (very useful for embedded help files).
  • Enable user interaction.
  • Navigate to a mobile web site.

Details:
http://www.appsamuck.com/day13.html

9. Rain, rain, go away, will it come back another day? ZipWeather allows you to look up weather conditions by ZIP Code.

  • Basics of downloading data with NSURLConnection.p
  • More use of the UIWeb View.

Details:
http://www.appsamuck.com/day15.html

10. World Tour is an iPhone application that will help you keep track of when the iPhone Tech Talk World Tour is coming to town.

  • How to use opacity with images.
  • Use of rotation transformations.
  • Create “animation wallpaper” and tile images.

Details:
http://www.appsamuck.com/day16.html

11. Homeland Security Advisory System is an iPhone application that will alert you to US Department of Homeland Security Advisories.

  • Basics of downloading data with NSURLConnection.

Details:
http://www.appsamuck.com/day18.html

12. Wondering why your ears are popping? Mobile Altimeter allows you to track your altitude.
GPS access to altitude information.

Details:
http://www.appsamuck.com/day19.html

13. LavaFlow is an iPhone application that plays a seamless looping video. This creates an entertaining “screen saver” like effect.

  • Use of MPMoviePlayerController.
  • More about “Utility Applications” for iPhone with XCode.
  • How to loop a video

Details:
http://www.appsamuck.com/day26.html

14. iPhone face detection Application
Details:
http://github.com/beetlebugorg/PictureMe/

15.MobileMe A MobileMe web scraper that exposes Apple’s Find My iPhone service to the command line. This allows you to programmatically retrieve your phone’s current location and push messages (and an optional alarm) to the remote device.

Details:http://github.com/tylerhall/sosumi/

16. SpyPhone

This project shows the kind of data a rogue iPhone application can collect.

Details:http://github.com/nst/SpyPhone/

17. WordPress for iPhone

Details:http://iphone.wordpress.org/

18. Star Rating components for iPhone like in AppStore or Youtube

Details:http://code.google.com/p/s7ratingview/

19. S7GraphView

Details:http://code.google.com/p/s7graphview/

20. Mover

  • Add a photo, video or contact to Movers table?
  • Then slide it off the edge of the screen with a flick.
  • Mover will transfer it to an iPhone near you, connected via Wi-Fi or Bluetooth.

Details:http://apps.open-libraries.com/mover/

21. NatsuLiphone

NatsuLiphone is a simple Twitter client for iPhone/iPod touch.
It’s based on NatsuLion for Mac OSX.

Its goals are the follows:

  • Easy to use for Twitter light users
  • Handy for mobile usage

Details:http://iphone.natsulion.org/

22. google-reader-iphone-sync

  • Sync your google reader items with your iPhone for offline viewin

Details:http://github.com/gfxmonk/google-reader-iphone-sync

23. AppSales-Mobile

App Sales Mobile allows iPhone developers to download and analyze their daily and weekly sales reports from iTunes Connect

Details:http://github.com/omz/AppSales-Mobile

24. HP Calculator Emulator for the iPhone

HP Calculator Emulator for the iPhone
Details:http://code.google.com/p/hpcalc-iphone/

25. iphone-google-maps-component
A component that you can add to your iPhone application to access all basic features of Google Maps (similar to Android’s MapView). It uses a UIWebView in the background to load the HTML/Javascript version of Google Maps, and offers a set of Objective-C methods that mimic a subset of the original Javascript methods for controlling the map. It currently supports setting the center location and zooming & panning using the touch interface.

Details:http://code.google.com/p/iphone-google-maps-component/

26. ZXing :Multi-format 1D/2D barcode image processing library with clients for Android, Java

ZXing (pronounced “zebra crossing”) is an open-source, multi-format 1D/2D barcode image processing library implemented in Java. Our focus is on using the built-in camera on mobile phones to photograph and decode barcodes on the device, without communicating with a server. We currently have production-quality support for:

  • UPC-A and UPC-E
  • EAN-8 and EAN-13
  • Code 39
  • Code 128
  • QR Code
  • Data Matrix (‘alpha’ quality)
  • PDF 417 (‘alpha’ quality)
  • ITF

Details:http://code.google.com/p/zxing/

27. TouchCode - JSON, XML parsers and more for iPhone

  • TouchCode is a repository of iPhone and iPod Touch source code, including TouchJSON, TouchXML and more:
  • TouchJSON is parser and generator for JSON implemented in Objective C.
  • TouchXML is a lightweight replacement for Cocoa NSXML cluster of classes. It is based on the commonly available Open Source libxml2 library.
  • TouchHTTPD is a Cocoa HTTP server designed to be embedded in Cocoa applications.

28. Text-to-Speech (TTS) C libraries for iPhone
Details:http://wiki.monotouch.net/HowTo/Interop/Interopping_with_Open_Source_Text-to-Speech_%28TTS%29_C_libraries__for_iPhone.

29. Iwebkit
Iwebkit is the revolutionnairy kit used to create high quality iPhone and iPod touch websites in a few minutes and is based on an LGPL license. In the first 4 months of it’s existance the pack has greatly evolved from a basic idea to a project that has reached worldwide fame!
iWebKit is a file package designed to help you create your own iPhone and iPod Touch compatible website or webapp. The kit is accessible to anyone even people without any html knowledge and is simple to understand thanks to the included tutorials. In a couple of minutes you will have created a full and profesional looking website.

Details:http://www.iwebkit.net/

Hope some of them Help..!!

Keep peeping for new additions on the list!!

iPhone Open Source libraries

Hello to all iPhone Developer Community Buffs!! Here is a consolidated list of the few frequently used and useful Open Source Libraries. Why waste time in coding when something is already implemented!

Libraries:

1. Three20

Three20 is a collection of iPhone UI classes, like a photo viewer, and general utilities, like an HTTP disk cache. Here is the list of components available in Three20

Photo Viewer

TTPhotoViewController emulates Apple’s Photos app with all of its flick ‘n pinch delight. You can supply your own “photo sources”, which works similiarly to the data sources used by UITableView. Unlike Apple’s Photos app, it isn’t limited to photos stored locally. Your photos can be loaded from the network, and long lists of photos can be loaded incrementally.

Message composer

TTMessageController emulates the message composer in Apple’s Mail app. You can customize it to send any kind of message you want. Include your own set of message fields, or use the standard “To:” and “Subject:”. Recipient names can be autocompleted from a data source that you provide.

Web image views

TTImageView makes it as easy to display an image as it is in HTML. Just supply the URL of the image, and TTImageView loads it and displays it efficiently. TTImageView also works with the HTTP cache described below to avoid hitting the network when possible.

Internet-aware table view controllers

TTTableViewController and TTTableViewDataSource help you to build tables which load their content from the Internet. Rather than just assuming you have all the data ready to go, like UITableView does by default, TTTableViewController lets you communicate when your data is loading, and when there is an error or nothing to display. It also helps you to add a “More” button to load the next page of data, and optionally supports reloading the data by shaking the device.

Better text fields

TTTextEditor is a UITextView which can grow in height automatically as you type. I use this for entering messages in Facebook Chat, and it behaves similarly to the editor in Apple’s SMS app.

TTPickerTextField is a type-ahead UITextField. As you type it searches a data source, and it adds bubbles into the flow of text when you choose a type-ahead option. I use this in TTMessageController for selecting the names of message recipients.

HTTP disk cache

TTURLRequest is a replacement for NSURLRequest which supports a disk cache (NSURLRequest can only cache in RAM). It has some other nice features too. HTTP posts are as easy as supplying a dictionary of parameters. The TTURL loading system can also be suspended and resumed at any time, which is a great performance helper. Network threads often fight with the UI thread, so you can suspend the network any time your app is momentarily graphically intensive.

URL-based Navigation

TTNavigationCenter is for those grizzled old web developers like myself who want to organize their app by “pages” which can be displayed by visiting a URL.

Your view controllers can simply register URL patterns that they handle, and when those URLs are visited the controllers will be created and displayed. You can also register generic actions that are called when a URL is visited.

TTNavigationCenter also persists and restores the full path of navigation controllers and modal view controllers, so your users can quite the app and come back exactly where they left off.

More details on:
http://github.com/facebook/three20

2. MajicRank 1.3

Here is a list of the features that this version, 1.3 adds:

* Adds historical graphs
* Stores all archives by AppID
* Reduces file size of stored archives
* Allows entering AppID with search preference over name
* Auto detects and fills in app ID when app name is entered
* Allows re-ordering of apps list
* Fixed a bug where deleting an app while editing it’s title caused a hang
* About box allows resizing, should now be viewable on low-res displays
* Adds latest date run to status text when update is complete

More details on:
http://148apps.biz/majicrank-13-released-adds-historical-graph/

3. Facebook connect Library for iPhone

* Seamlessly connect their Facebook account and information with your iPhone app
* Connect and share experiences with friends who also use your iPhone app
* Share user information and actions on your iPhone app with friends on Facebook

Details:
http://developers.facebook.com/connect.php?tab=iphonehttp://wiki.developers.facebook.com/index.php/Facebook_Connect_for_iPhone
http://wiki.developers.facebook.com/index.php/Facebook_Connect_for_iPhone

4. MGTwitterEngine ‚ Twitter from Cocoa

MGTwitterEngine is an Objective-C class which lets you integrate Twitter support into your Cocoa application, by making use of the Twitter API. The entire API is covered, and appropriate data is returned as simple native Cocoa objects (NSArrays, NSDictionarys, NSStrings, NSDates and so on), for very easy integration into your own application.

More details on:
http://mattgemmell.com/2008/02/22/mgtwitterengine-twitter-from-cocoa

5. Route Me

A slippy map library for the iPhone.

Fast! Completely written in objective-c using CoreAnimation. Runs like the built-in app.

More Details on:
http://code.google.com/p/route-me/

6. Core Plot

Core Plot is a plotting framework for Mac OS X and iPhone OS. It provides 2D visualization of data, and is tightly integrated with Apple technologies like Core Animation, Core Data, and Cocoa Bindings.

More details on:
http://code.google.com/p/core-plot/

7. RegexKitLite

This document introduces RegexKitLite for Mac OS X. RegexKitLite enables easy access to regular expressions by providing a number of additions to the standard Foundation NSString class. RegexKitLite acts as a bridge between the NSString class and the regular expression engine in the International Components for Unicode, or ICU, dynamic shared library that is shipped with Mac OS X.

* Uses the regular expression engine from the ICU library which is shipped with Mac OS X.
* Automatically caches compiled regular expressions.
* Uses direct access to a strings UTF-16 buffer if it is available.
* Caches the UTF-16 conversion that is required by the ICU library when direct access to a strings UTF-16 buffer is unavailable.
* Small size makes it ideal for use in iPhone applications.
* Multithreading safe.
* 64-bit support.
* Custom DTrace probe points.
* Support for Mac OS X 10.5 Garbage Collection.
* Uses Core Foundation for greater speed.
* Very easy to use, all functionality is provided by a category extension to the NSString class.
* Consists of two files, a header and the Objective-C source.
* Xcode 3 integrated documentation available.
* Distributed under the terms of the BSD License.

More details on:
http://regexkit.sourceforge.net/RegexKitLite/

8. CHDataStructures.framework

is an open-source library of standard data structures which can be used in any Objective-C program, for educational purposes or as a foundation for other data structures to build on. Data structures in this framework adopt Objective-C protocols that define the functionality of and API for interacting with any implementation thereof, regardless of its internals.

Apple’s extensive and flexible Cocoa frameworks include several collections classes that are highly optimized and amenable to many situations. However, sometimes an honest-to-goodness stack, queue, linked list, tree, etc. can greatly improve the clarity and comprehensibility of code. This framework provides Objective-C implementations of common data structures which are currently beyond the purview of Cocoa.

The abstract data type protocols include:

* CHDeque
* CHHeap
* CHLinkedList
* CHQueue
* CHSearchTree
* CHSortedSet
* CHStack

The concrete subclasses of NSMutableDictionary include:

* CHLockableDictionary
* CHOrderedDictionary
* CHSortedDictionary

The concrete subclasses of NSMutableSet include:

* CHLockableSet
* CHOrderedSet

The concrete subclasses of CHLockableObject (which don’t have a protocol) include:

* CHMultiDictionary

More Details on:
http://dysart.cs.byu.edu/CHDataStructures/

9.ResKit

A library for testing resolution-independent iPhone OS applications.

ResKit simulates varying device screen sizes by resizing and moving your application’s main window. It supports scaling down the simulated device so more of the screen can be seen at once.

Details:http://github.com/jtbandes/reskit/

10.Sintaxi/PhoneGap

PhoneGap is a development tool that allows web developers to take advantage of the core features in the iPhone, Android, BlackBerry, and Symbian with a unified JavaScript API

API

Device

Exposes properties of the phone, such as its device ID, model, and OS version number.

Location

Gain access to the Latitude / Longitude of the device, and depending on the type of device, the course, speed, and altitude.

Accelerometer

Monitor the accelerometer on the device to detect orientation, shaking and other similar actions.

Contacts

Query the phone addressbook to read the users contacts.

Orientation

Read the device layout orientation, e.g. landscape vs portrait.

Camera

Brings up the camera or photo browser on the phone to allow the user to upload a photo.

Vibrate

Triggers the vibration alert on the phone, if it is supported.

Sound

Play sound files (WAV, MP3, etc).

Telephony

Trigger and activate phone calls.

Details:http://github.com/sintaxi/phonegap/

11.Askit Framework
ASKit is an easy to use library for your iPhone applications. ASKit provides AppStore styled table views

ASKit Overview

  • ASTableViewController: Instead of subclassing UITableViewController, you’ll subclass ASTableViewController. This is where most of the work is done.
  • ASTableViewCell: This replaces UITableViewCell
  • ASHeaderView: Provides the gradient header that you can find when viewing a single app in AppStore
  • ASFooterView: This is the footer that AppStore shows your iTunes account in.
  • ASInfoCell This extends ASTableViewCell and should be used for various information messages such as “No Items” and “Loading” (it also contains an activity indicator for loading messages
  • ASSectionHeaderView: This is for table sections, you must return a view when using ASKit and not a string, otherwise it you won’t have the correct theme.
  • ASTableViewCellLabel: Use this instead of UILabel while adding to an ASTableViewCell so the shadows are handled correctly when a cell is selected

Details:http://github.com/enormego/askit/

12.ElementParser

ElementParser is lightweight Cocoa Framework (usable on the iPhone) to provide easy access to XML and HTML content.

Details:http://github.com/Objective3/ElementParser/

13.InAppSettingsKit

This iPhone framework allows settings to be in-app in addition to being in the Settings app

Details:http://github.com/futuretap/InAppSettingsKit/

14.Accelerometer-Helper

Accelerometer utilities for iPhone, including trigger sensitivity and time lockout between events

Details:http://github.com/ars/accelerometer-helper/

Hope it helps few, if not all of the aspiring iPhone developers.
The list will be updated as and when we encounter a new useful Open source library!
So keep Track.
Any addition to the list is Welcome!!

iPhone Development: Everything You need to know!

Came across an Useful article ,which will surely help in knowing anything and everything about iPhone Development to Start with.

Read it!

Worth a read!

Getting Started to the START!!

For doing anything Big, important thing is to start…and here is one thing you all can try to overcome the fear of getting started for iPhone development.
A traditional “Hello World” Application.Same thing told differently!!

We will term it as Hello World Project

Starting Xcode
1. Click on the search icon in the far right corner of your desktop to show the spotlight search field.

1

2.Type ‘Xcode’ and hit ‘Enter’.

2

3.The application menubar on the desktop will be replaced by Xcode menubar.

3

Creating a ‘Window-based Application’

1.In the xcode menu choose File > New Project

4

2.Here select ‘Window-based Application’ and click on the ‘Choose…’ button. On the next screen select the location for you project and specify the name of the project. In our case we will use ‘HelloWorld’ as the project name.

Note:Xcode will create a new directory at the specified location with the name of the project and it will automatically generate the basic source files for you

5

3.Here you will see the Xcode editor window. The files in the project are grouped together in the left sidebar under various ‘Groups’. Please note that these are logical groups presented as folder, they don’t reflect the exact folder structure under your main project directory.

  • Classes

6

Here there are two files one ‘.h’ – header file and one ‘.m’ ‚Äì implementation file. In Objective-C the source files are denoted with ‘.m’ extension instead of regular ‘.c’ extension.

  • Other Resources

7

Here there is ‘.pch’ ‚Äì Pre-compiled Header file and the ‘main.m’ file. This file contains the main() function of the program which is the default entry point for all C programs.

  • Resources

8

The ‘.plist’ file is XML file which contains the settings for your iPhone application such as the name of the main icon file of the application, etc.

The ‘.xib’ is an interface builder file. This file is also called as ‘Nib’ file. This file contains the definitions of the various UI elements which you can create in Interface builder with VB style ‘Drag & Drop’ approach.

  • Frameworks

9

This group contains the inbuilt frameworks referenced by your project.

  • Products

10

This group contains a ‘.app’ file. It is the application bundle of your project which you will distribute.

Running the Application

At this point your application is ready to be built and run. Just hit the ‘Build & Go’ button on the Xcode toolbar to run your application. It will launch your application in the iPhone simulator.

11

As you can see iPhone Simulator launches your application and presents a blank window. You can terminate the application by clicking on the rounded square button near the bottom of the iPhone.

Adding a Label to the Main Window

1.Return to the Xcode editor by clicking on the Xcode icon in the ‘Launchpad

12

2.’Under ‘Resource’ group double click on the ‘MainWindow.xib’ file to open it in interface builder.

13

Here you will be presented 2-3 windows depending upon what was open in the previous run of the interface builder, but typically you should see at least one window as follows:

14

Here you can double click¬† on the fourth item ‘Window’ to bring the ‘canvas’ for you window, which look like as follows:

15

After this if the ‘Library’ window is not open you can open it by using Tools > Library menu option form ‘Interface Builder’ menu. This library window contains the ‘controls’ which you can put on your window.

3.Here scroll around the ‘Library’ window to find the library window. And drag and drop it on the window canvas.

1617

4.Double click on the label and type ‘Hello World. Use ‘Command + S’ to save the file and hit ‘Command + R’ to run the project. You should see following result in the iPhone simulator.

18

So get Started!!

Corona , SDK in Making..

How many of you have found programming in Objective C, a complex task for iphone Development?

For those Answering, ‘Yes’, here is a simple option available now.

For those answering‚ ‘No’, and find programming in objective C simple, this can just be a more simpler option;

Ansca Mobile, a start-up founded by engineers with experience at Adobe and Apple released the Corona 1.0 Software Development Kit (SDK), a tool for rapid iPhone application development.

The Corona SDK has been in limited beta testing for several months. It aims to provide a simpler way to iPhone development, the sort of developers who use Flash today instead of using Objective C which is the primary language Apple uses for software development.

Available for $99 per year and as a free 30-day trial, Corona is set to replace somewhat complex Objective C with a lightweight, reflective, imperative, scripting and functional programming language named LUA.

Lua is widely used in the video game industry. Apart from games, Lua has been used in many applications, both commercial and non-commercial.

Like Flash, Corona is an effective tool for creating 2D games and graphically-oriented apps.

Corona does not charge any per-app royalty or impose any branding requirement.

Corona currently facilitates iPhone app creation, but Ansca says that support for other smart phone platforms is in the works.

Programming in Corona is done using the Lua language, which is used extensively in Adobe’s Photoshop Lightroom software, in embedded systems, and for scripting in games.

Lua is not only relatively easy to learn but it’s also lightweight. According to the company, the minimum size of an iPhone app built with Corona is 300 KB, compared to 8 MB for Adobe’s Flash CS5 beta (which can generate iPhone app builds from Flash content) and 10 MB for Unity 3D iPhone Basic.

This matters because apps greater than 10 MB cannot be distributed via the iPhone’s built-in App Store; they can only be made available through the iTunes App Store. Apps under 10 MB thus have greater distribution potential.

Corona still has few limitations: Native iPhone Controls and in-app purchase support have yet to be implemented. It is nonetheless a fast, capable development tool that has already helped a handful of apps get into Apple’s iTunes App Store.

Considering the time it would save for iPhone application Development, shifting to Corona might just be the need of hour.

So, be ready to Learn LUA!

FAQs:

http://www.anscamobile.com/faq/

iPhone Si(E)mulator!!

Just Came across an innovative product which is overcoming the Developers limitation on iPhone application development in Xcode.

Ever Imagined testing GPS and Accelerometer feature for iPhone application even for minor changes in your application, you are left with no other option than to test on Device itself.You cannot test it on the iPhone Simulator.

Here comes iSimulate from vimov to your rescue. It is a useful utility for developers to test their applications which employ GPS and Accelerometer on the iPhone Simulator. Lots of time saved between installs right!!

iSimulate is an application which you download and install on your device to send Accelerometer and GPS details to the app running on the iPhone Simulator. The app must of course embed the iSimulate library to be able to receive those details. All it takes to install the iSimulate app on your device, embed the library in your application and start using it.

The newer releases of iSimulate even support video streaming. You can actually see the game or app on your iPhone or iPodTouch even though it’s running on the iPhone Simulator. This enables you to provide very accurate touches to the Simulator. This is a giant leap forward from it’s first days where you had screen filled with Accelerometer graph to simulate touches!!

But iSimulate is no exception for limitations:
Due to technical restrictions, iSimulate does not send touch events for the following UIKit objects (as well as any object based on them): Keyboard, UIScrollView (including MKMapView), UIPickerView and UITableView. All of the other UIKit objects receive all touch events. There are no limitations on OpenGL-based applications.

Still the advantage it has overrides the limitation that you no longer have to repeatedly install applications on provisioned devices for every little change, which will save you considerable time. Installing a 20MB application on a provisioned device takes about 36 seconds, while it takes only 6 seconds to run it on the iPhone Simulator.

It might just save enough Development time depending on the application!!

FAQs:http://www.vimov.com/isimulate/faq/