<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Blog : Mobisoft Infotech</title>
	
	<link>http://www.mobisoftinfotech.com/blog</link>
	<description>iPhone, Android, Blackberry</description>
	<lastBuildDate>Wed, 09 May 2012 03:40:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BlogMobisoftInfotech" /><feedburner:info uri="blogmobisoftinfotech" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Want to a create a successful app? Start with wireframes!</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/NdJ2OojHSEI/</link>
		<comments>http://www.mobisoftinfotech.com/blog/app-development-for-entrepreneurs/want-a-create-a-successful-app-start-with-wireframes/#comments</comments>
		<pubDate>Sat, 05 May 2012 16:17:32 +0000</pubDate>
		<dc:creator>Pritam Barhate</dc:creator>
				<category><![CDATA[App Development for Entrepreneurs]]></category>
		<category><![CDATA[App Development]]></category>
		<category><![CDATA[Requirement Analysis]]></category>
		<category><![CDATA[Wireframes]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1588</guid>
		<description><![CDATA[So you have an idea for the next smartphone app that will change the world? But don&#8217;t know where to start? Here is the answer: Start wire-framing! Yes I know, you might be thinking,&#8221;But isn&#8217;t that the work of the developer? I don&#8217;t know anything about development. I am an idea guy!&#8221; Yes, making the <a href="http://www.mobisoftinfotech.com/blog/app-development-for-entrepreneurs/want-a-create-a-successful-app-start-with-wireframes/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>So you have an idea for the next smartphone app that will change the world? But don&#8217;t know where to start? Here is the answer: Start wire-framing!</p>
<p>Yes I know, you might be thinking,&#8221;But isn&#8217;t that the work of the developer? I don&#8217;t know anything about development. I am an idea guy!&#8221;</p>
<p>Yes, making the wireframes is work of the developer and don&#8217;t worry he will be making detailed ones for sure! But it is important for you also to start with wireframes. And even if you don&#8217;t know anything about development, it&#8217;s most likely that you are an avid user of mobile apps and know in general how things are laid out and how the information flows.</p>
<p>Here are the benefits of having wireframes ready before talking to the developer:</p>
<h2>1. Clear Communication</h2>
<p>When you present the developer with basic wireframes of what you intend to build, it makes for clear communication. It helps the developer to visualize your idea and how you intend to make it a reality.</p>
<h2>2. Wireframes help you to stay focused</h2>
<p>If you will observe the successful mobile apps (especially in their first version) do one thing and they do that one thing very well. When you are starting out, it is very important to focus on the core ideas and stay lean. This will help you to keep the budget low, and get the product early to the market. This way you can get the initial feedback and make changes to your strategy as per the market feedback.</p>
<p>When you start with wireframes, it helps you to separate the core features from fluff. The wireframes will help to find the core thing that your app needs to do, to make the user&#8217;s life easier.</p>
<h2>3. Finding better approaches</h2>
<p>You will be amazed to find out how ideas become more refined once you get down to making wireframes. Wireframes will help you to find the &#8220;one best way&#8221; of doing things out of many ways they can be done. This will certainly lead to a better app.</p>
<h2>4. Wireframes will help you get better quotes</h2>
<p>When you present the developer with a fair requirement specification and a set of good wireframes, you enable the developer to understand your app&#8217;s requirements better.</p>
<p>This way the developer can come back to you with a proper budget which will be required to make the app a reality.</p>
<h2>5. Quicker and cheaper development</h2>
<p>Having a clear set of wireframes reduces false starts and rework. This leads to faster project execution which leads to saving in development costs. This saved amount can then be spent on much needed marketing of your app.</p>
<h2>The Tools</h2>
<p>So you might be wondering, do I need to buy expensive wire-framing software to start creating wireframes?</p>
<p>Not really! In fact when starting out with wire-framing, paper and pencil work the best. Just draw a rectangle and start putting in the details.</p>
<p>If you are more computer savvy, you can use something like powerpoint to make wireframes. If you are on a Mac and want a professional tool for wire-framing then you might want to try, <a href="http://www.omnigroup.com/products/omnigraffle/">Omnigraffle</a>.</p>
<p>So next time a great app idea hits you, you know what to do. Start wire-framing!</p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/NdJ2OojHSEI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/app-development-for-entrepreneurs/want-a-create-a-successful-app-start-with-wireframes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/app-development-for-entrepreneurs/want-a-create-a-successful-app-start-with-wireframes/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=want-a-create-a-successful-app-start-with-wireframes</feedburner:origLink></item>
		<item>
		<title>iOS Tutorial: Custom Speedometer Control</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/t-sRzXJrCNs/</link>
		<comments>http://www.mobisoftinfotech.com/blog/iphone/ios-tutorial-custom-speedometer-control/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 09:24:21 +0000</pubDate>
		<dc:creator>Prashant Telangi</dc:creator>
				<category><![CDATA[iPhone - iPad]]></category>
		<category><![CDATA[Custom Speedometer]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1543</guid>
		<description><![CDATA[Speedometer, Gauge, Speedometer Dial Step 1 &#8211;Start Xcode and create a View based application with name “SpeedometerDemo”. Step 2 &#8212;- Open “SpeedometerDemoViewController.h” and put the following code in it. @interface SpeedometerDemoViewController : UIViewController { UIImageView *needleImageView; float speedometerCurrentValue; float prevAngleFactor; float angle; NSTimer *speedometer_Timer; UILabel *speedometerReading; NSString *maxVal; } @property(nonatomic,retain) UIImageView *needleImageView; @property(nonatomic,assign) float speedometerCurrentValue; @property(nonatomic,assign) <a href="http://www.mobisoftinfotech.com/blog/iphone/ios-tutorial-custom-speedometer-control/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/03/Screen-shot-2012-03-06-at-2.24.20-PM.png"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/03/Screen-shot-2012-03-06-at-2.24.20-PM-159x300.png" alt="" width="159" height="300" /></a></p>
<p>Speedometer, Gauge, Speedometer Dial</p>
<p>Step 1 &#8211;Start Xcode and create a View based application with name “SpeedometerDemo”.</p>
<p>Step 2 &#8212;- Open “SpeedometerDemoViewController.h” and put the following code in it.</p>
<pre class="brush: objc;">

@interface SpeedometerDemoViewController : UIViewController {
 UIImageView *needleImageView;
 float speedometerCurrentValue;
 float prevAngleFactor;
 float angle;
 NSTimer *speedometer_Timer;
 UILabel *speedometerReading;
 NSString *maxVal;

}
 @property(nonatomic,retain) UIImageView *needleImageView;
 @property(nonatomic,assign) float speedometerCurrentValue;
 @property(nonatomic,assign) float prevAngleFactor;
 @property(nonatomic,assign) float angle;
 @property(nonatomic,retain) NSTimer *speedometer_Timer;
 @property(nonatomic,retain) UILabel *speedometerReading;
 @property(nonatomic,retain) NSString *maxVal;

-(void) addMeterViewContents;
-(void) rotateIt:(float)angl;
-(void) rotateNeedle;
-(void) setSpeedometerCurrentValue;
-(void) calculateDeviationAngle;
</pre>
<p>The methods declared are:</p>
<p>addMeterViewContents &#8211; This method is used to add view contents.</p>
<p>rotateIt:(float)angl &#8211; This method is used the set the needle in default position which is 0;</p>
<p>rotateNeedle &#8211; This method rotates the needle.</p>
<p>setSpeedometerCurrentValue &#8211; This method generates random value by which the needle should rotate.</p>
<p>calculateDeviationAngle &#8211; This method calculates the angle of deviation by which the needle should rotate.</p>
<p>Put the following code in the “SliderDemoViewController.m” file.</p>
<pre class="brush: objc; highlight: [28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,127,128,129,130,131,132,133,134,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,158,159,160,161,162,163,164,165,166];">

@implementation SpeedometerDemoViewController
 @synthesize needleImageView;
 @synthesize speedometerCurrentValue;
 @synthesize prevAngleFactor;
 @synthesize angle;
 @synthesize speedometer_Timer;
 @synthesize speedometerReading;
 @synthesize maxVal;

 - (void)viewDidLoad {

// Add Meter Contents //
 [self addMeterViewContents];

[super viewDidLoad];
 }
 - (void)dealloc {
 [maxVal release];
 [needleImageView release];
 [speedometer_Timer release];
 [speedometerReading release];
 [super dealloc];
 }

#pragma mark -
#pragma mark addMeterViewContents Methods

-(void) addMeterViewContents
 {

UIImageView *backgroundImageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320,460)];
 backgroundImageView.image = [UIImage imageNamed:@&quot;main_bg.png&quot;];
 [self.view addSubview:backgroundImageView];
 [backgroundImageView release];

UIImageView *meterImageView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 40, 286,315)];
 meterImageView.image = [UIImage imageNamed:@&quot;meter.png&quot;];
 [self.view addSubview:meterImageView];
 [meterImageView release];

//  Needle //
 UIImageView *imgNeedle = [[UIImageView alloc]initWithFrame:CGRectMake(143,155, 22, 84)];
 self.needleImageView = imgNeedle;
 [imgNeedle release];

self.needleImageView.layer.anchorPoint = CGPointMake(self.needleImageView.layer.anchorPoint.x, self.needleImageView.layer.anchorPoint.y*2);  // Shift the Needle center point to one of the end points of the needle image.
 self.needleImageView.backgroundColor = [UIColor clearColor];
 self.needleImageView.image = [UIImage imageNamed:@&quot;arrow.png&quot;];
 [self.view addSubview:self.needleImageView];

// Needle Dot //
 UIImageView *meterImageViewDot = [[UIImageView alloc]initWithFrame:CGRectMake(131.5, 175, 45,44)];
 meterImageViewDot.image = [UIImage imageNamed:@&quot;center_wheel.png&quot;];
 [self.view addSubview:meterImageViewDot];
 [meterImageViewDot release];

// Speedometer Reading //
 UILabel *tempReading = [[UILabel alloc] initWithFrame:CGRectMake(125, 250, 60, 30)];
 self.speedometerReading = tempReading;
 [tempReading release];
 self.speedometerReading.textAlignment = UITextAlignmentCenter;
 self.speedometerReading.backgroundColor = [UIColor blackColor];
 self.speedometerReading.text= @&quot;0&quot;;
 self.speedometerReading.textColor = [UIColor colorWithRed:114/255.f green:146/255.f blue:38/255.f alpha:1.0];
 [self.view addSubview:self.speedometerReading ];

// Set Max Value //
 self.maxVal = @&quot;100&quot;;

/// Set Needle pointer initialy at zero //
 [self rotateIt:-118.4];   // Set the needle pointer initially at zero //

// Set previous angle //
 self.prevAngleFactor = -118.4;  // To keep track of previous deviated angle //

// Set Speedometer Value //
 [self setSpeedometerCurrentValue];
 }

#pragma mark -
 #pragma mark calculateDeviationAngle Method

-(void) calculateDeviationAngle
 {

if([self.maxVal floatValue]&gt;0)
 {
 self.angle = ((self.speedometerCurrentValue *237.4)/[self.maxVal floatValue])-118.4;  // 237.4 - Total angle between 0 - 100 //
 }
 else
 {
 self.angle = 0;
 }

if(self.angle&lt;=-118.4)
 {
 self.angle = -118.4;
 }
 if(self.angle&gt;=119)  // 119 deg is the angle value for 100
 {
 self.angle = 119;
 }

// If Calculated angle is greater than 180 deg, to avoid the needle to rotate in reverse direction first rotate the needle 1/3 of the calculated angle and then 2/3. //
 if(abs(self.angle-self.prevAngleFactor) &gt;180)
 {
 [UIView beginAnimations:nil context:nil];
 [UIView setAnimationDuration:0.5f];
 [self rotateIt:self.angle/3];
 [UIView commitAnimations];

[UIView beginAnimations:nil context:nil];
 [UIView setAnimationDuration:0.5f];
 [self rotateIt:(self.angle*2)/3];
 [UIView commitAnimations];

}
 self.prevAngleFactor = self.angle;

// Rotate Needle //
 [self rotateNeedle];

}

#pragma mark -
 #pragma mark rotateNeedle Method
 -(void) rotateNeedle
 {
 [UIView beginAnimations:nil context:nil];
 [UIView setAnimationDuration:0.5f];
 [self.needleImageView setTransform: CGAffineTransformMakeRotation((M_PI / 180) * self.angle)];
 [UIView commitAnimations];

}

#pragma mark -
 #pragma mark setSpeedometerCurrentValue

-(void) setSpeedometerCurrentValue
 {
 if(self.speedometer_Timer)
 {
 [self.speedometer_Timer invalidate];
 self.speedometer_Timer = nil;
 }
 self.speedometerCurrentValue =  arc4random() % 100; // Generate Random value between 0 to 100. //

self.speedometer_Timer = [NSTimer  scheduledTimerWithTimeInterval:2 target:self selector:@selector(setSpeedometerCurrentValue) userInfo:nil repeats:YES];

self.speedometerReading.text = [NSString stringWithFormat:@&quot;%.2f&quot;,self.speedometerCurrentValue];

// Calculate the Angle by which the needle should rotate //
 [self calculateDeviationAngle];
 }
 #pragma mark -
 #pragma mark Speedometer needle Rotation View Methods

-(void) rotateIt:(float)angl
 {
 [UIView beginAnimations:nil context:nil];
 [UIView setAnimationDuration:0.01f];

[self.needleImageView setTransform: CGAffineTransformMakeRotation((M_PI / 180) *angl)];

[UIView commitAnimations];
 }
</pre>
<p>addMeterViewContents &#8211; In this method we set and add different images like needle,speedometer etc, with respect to the view frame.<br />
In this method we also move the needle center to one of its end points in order to rotate a needle by a well defined axis and for this we set its anchor points y co-ordinate twice its current y co-ordinate.</p>
<p>rotateIt:(float)angl &#8211; In this method first we find min and max angle by addHoc process and then set the needle in default position which is 0;</p>
<p>calculateDeviationAngle &#8211; In this method we calculate the angle of deviation by which the needle should rotate.</p>
<p>rotateNeedle &#8211; In this method we rotate the needle by the calculate angle of deviation.</p>
<p>setSpeedometerCurrentValue &#8211; In this method we generate random value between 0 and 100 using arc4random function.</p>
<p>Step 3: Save,build and run the project. Now you can see custom speedometer with a moving needle on random generated values, with the value displayed on the label below.</p>
<p>You can download the source code <a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/03/SpeedometerDemo.zip">SpeedometerDemo</a>.</p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/t-sRzXJrCNs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/iphone/ios-tutorial-custom-speedometer-control/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/iphone/ios-tutorial-custom-speedometer-control/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ios-tutorial-custom-speedometer-control</feedburner:origLink></item>
		<item>
		<title>55 million opportunities to make new iPad Apps</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/F-RyPdaxfZw/</link>
		<comments>http://www.mobisoftinfotech.com/blog/iphone/55-million-opportunities-to-make-new-ipad-apps/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 14:26:30 +0000</pubDate>
		<dc:creator>Pritam Barhate</dc:creator>
				<category><![CDATA[Apple - Mac]]></category>
		<category><![CDATA[iPhone - iPad]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Tim Cook]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1536</guid>
		<description><![CDATA[Apple CEO Tim Cook on the 55 million iPads sold to date: This 55 is something no one would have guessed. Including us. To put it in context, it took us 22 years to sell 55 million Macs. It took us about 5 years to sell 22 million iPods, and it took us about 3 <a href="http://www.mobisoftinfotech.com/blog/iphone/55-million-opportunities-to-make-new-ipad-apps/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Apple CEO Tim Cook on the 55 million iPads sold to date:</p>
<blockquote><p>This 55 is something no one would have guessed. Including us. To put it in context, it took us 22 years to sell 55 million Macs. It took us about 5 years to sell 22 million iPods, and it took us about 3 years to sell that many iPhones. And so, this thing is, as you said, it’s on a trajectory that’s off the charts.
</p></blockquote>
<p>(source : <a href="http://www.asymco.com/2012/02/16/ios-devices-in-2011-vs-macs-sold-it-in-28-years/">asymco</a>)</p>
<p>In the Desktop Software Market, for years there have been companies (like <a href="http://panic.com/">Panic</a>) which thrived by creating Mac only software. </p>
<p>If we take the quote by the Apple CEO into presepective, then it becomes plain how big an opportunity this means for software companies who have great ideas for making iPad apps.</p>
<p>Despite of many apprehensions, iPad has proved that it is a device of promise and it has become something that many of us use daily. Each day people open their laptops less and less because iPad is doing more. Still there are many categories of desktop apps, where iPad equivalents are not present or are not as great. </p>
<p>This presents a great opportunity for enterprising and imaginative souls who can come up with innovative ideas for iPad Apps. </p>
<p>What do you think? </p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/F-RyPdaxfZw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/iphone/55-million-opportunities-to-make-new-ipad-apps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/iphone/55-million-opportunities-to-make-new-ipad-apps/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=55-million-opportunities-to-make-new-ipad-apps</feedburner:origLink></item>
		<item>
		<title>HTML5 Geolocation Tutorial : HTML5 Geolocation Example</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/s0uVFIIchIs/</link>
		<comments>http://www.mobisoftinfotech.com/blog/web-programming/html5-geolocation-tutorial-html5-geolocation-example/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 13:38:21 +0000</pubDate>
		<dc:creator>Pritam Barhate</dc:creator>
				<category><![CDATA[Web Programming]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[Gelocation]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1512</guid>
		<description><![CDATA[With HTML5 you can access the geolocation of the user. Browser wise Geolocation Support Internet Explorer : 9.0 and above Chrome : 5.0 and above Firefox : 3.5 and above Safari : 5.0 and above Opera : 10.6 and above iPhone : 3.0 and above Android : 2.0 and above Blackberry : 6.0 and above <a href="http://www.mobisoftinfotech.com/blog/web-programming/html5-geolocation-tutorial-html5-geolocation-example/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>With HTML5 you can access the geolocation of the user.</p>
<h3>Browser wise Geolocation Support</h3>
<ul>
<li>Internet Explorer : 9.0 and above</li>
<li>Chrome : 5.0 and above</li>
<li>Firefox : 3.5 and above</li>
<li>Safari : 5.0 and above</li>
<li>Opera : 10.6 and above</li>
<li>iPhone : 3.0 and above</li>
<li>Android : 2.0 and above</li>
<li>Blackberry : 6.0 and above</li>
<li>Windows Phone7 : Mango and above[<a title="Geolocation in Windows Phone7 Mango" href="http://blogs.msdn.com/b/giorgio/archive/2011/08/07/bing-maps-add-support-for-html5-geolocation.aspx">*</a>]</li>
</ul>
<h3>Detecting Geolocation Support</h3>
<p>You can use the <a title="Modernizr javascript library " href="http://www.modernizr.com/">Modernizr</a> JavaScript library to check if the user&#8217;s browser supports geolocation.</p>
<pre class="brush: jscript;">
if(Modernizr.geolocation) {
	// HTML5 geolocation supported
} else {
	// HTML5 geolocation not supported
}
</pre>
<h3>Using Geolocation with HTML 5</h3>
<p>Here is a small sample you can use to get started with geolocation in HTML5.</p>
<p>If you are testing this locally on your machine, then you will need to use a local web server to run this sample.</p>
<pre class="brush: jscript;">
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;HTML 5 Geolocation Sample Page&lt;/title&gt;
	&lt;script src=&quot;modernizr-2.5.2.js&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;jquery-1.6.1.min.js&quot;&gt;&lt;/script&gt;
	&lt;script type=&quot;text/javascript&quot;&gt;
		var jQ = jQuery.noConflict();

		function useGeolocation(position) {
			var latitude = position.coords.latitude;
			var longitude = position.coords.longitude;

			jQ(&quot;#latitude&quot;).html(latitude);
			jQ(&quot;#longitude&quot;).html(longitude);
		}

		function onGeolocationError(error) {
			alert(&quot;Geolocation error - code: &quot;
                        + error.code + &quot; message : &quot; + error.message);
		}

		jQ(document).ready(function(){
			if(Modernizr.geolocation) {
				jQ(&quot;#geolocation&quot;).html(&quot;is supported.&quot;);

				navigator.geolocation.getCurrentPosition(
  useGeolocation, onGeolocationError);

			} else {
				jQ(&quot;#geolocation&quot;).html(&quot;is not supported.&quot;);
			}

		});
	&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;b&gt;Geolocation&lt;/b&gt; : &lt;span id=&quot;geolocation&quot;&gt;&lt;/span&gt; &lt;br /&gt;
&lt;b&gt;Latitude&lt;/b&gt; : &lt;span id=&quot;latitude&quot;&gt;&lt;/span&gt; &lt;br /&gt;
&lt;b&gt;Longitude&lt;/b&gt; : &lt;span id=&quot;longitude&quot;&gt;&lt;/span&gt; &lt;br /&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<h3>Screen Shots</h3>
<p><b>Success: User allowed the geolocation access</b><br />
<a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/02/HTML5-Geolocation-Success-Example.png"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/02/HTML5-Geolocation-Success-Example-300x188.png" alt="HTML5 Geolocation Success Example" title="HTML5 Geolocation Success Example" width="300"  class="aligncenter size-medium wp-image-1526" /></a></p>
<p><b>Error: User denied the geolocation access</b><br />
<a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/02/HTML5-Geolocation-Error-Example.png"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/02/HTML5-Geolocation-Error-Example-300x139.png" alt="HTML5 Geolocation Error Example" title="HTML5 Geolocation Error Example" width="300" height="139" class="aligncenter size-medium wp-image-1527" /></a></p>
<h3>Example Source Code</h3>
<p>You can download the <a href='http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/02/geolocation-sample.zip'>HTML5 Gelolocation Example source code from here.</a></p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/s0uVFIIchIs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/web-programming/html5-geolocation-tutorial-html5-geolocation-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/web-programming/html5-geolocation-tutorial-html5-geolocation-example/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=html5-geolocation-tutorial-html5-geolocation-example</feedburner:origLink></item>
		<item>
		<title>iOS 5 Core Location</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/WMNs6O0y40o/</link>
		<comments>http://www.mobisoftinfotech.com/blog/iphone/1474/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 13:52:03 +0000</pubDate>
		<dc:creator>pratik.hande</dc:creator>
				<category><![CDATA[iPhone - iPad]]></category>
		<category><![CDATA[Core location]]></category>
		<category><![CDATA[CoreLocation]]></category>
		<category><![CDATA[Google Map]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[GPS iPhone]]></category>
		<category><![CDATA[iOS5]]></category>
		<category><![CDATA[iPhone Google map]]></category>
		<category><![CDATA[Location Tracking]]></category>
		<category><![CDATA[Map integration iPhone]]></category>
		<category><![CDATA[Speed iPhone user]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1474</guid>
		<description><![CDATA[The following tutorial explains the use of Core Location Framework from iOS 5. This application demonstrates use of 1) Core Location to track the location of the iphone 2) Map kit to visualize the location of the iphone 3) It places waypoints on the map after every 10 seconds and 4) Joins those waypoints using <a href="http://www.mobisoftinfotech.com/blog/iphone/1474/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>The following tutorial explains the use of Core Location Framework from iOS 5.</p>
<p>This application demonstrates use of<br />
1) Core Location to track the location of the iphone<br />
2) Map kit to visualize the location of the iphone<br />
3) It places waypoints on the map after every 10 seconds and<br />
4) Joins those waypoints using a black colored line. </p>
<p><strong>Note</strong> : It is suggested to try out the application on the actual device as you cannot simulate location changes on the simulator</p>
<p>The Screenshots below explain how to<br />
1) Create an xcode project using Xcode 4<br />
2) Adding frameworks to the project (Mapkit and Core Location Framework)<br />
3) Adding Delegates (MKMapViewDelegate, CLLocationManagerDelegate, UITextFieldDelegate)<br />
4) Adding the basic UI elements using Interface builder </p>
<p><a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/create_project.jpg"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/create_project-300x202.jpg" alt="" title="create_project" width="300" height="202" class="aligncenter size-medium wp-image-1530" /></a></p>
<p><a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Project_name.jpg"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Project_name-300x202.jpg" alt="" title="Project_name" width="300" height="202" class="aligncenter size-medium wp-image-1531" /></a></p>
<p><a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Add_Frameworks.jpg"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Add_Frameworks-300x187.jpg" alt="" title="Add_Frameworks" width="300" height="187" class="aligncenter size-medium wp-image-1532" /></a></p>
<p><a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Add_Delegates.jpg"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Add_Delegates-300x122.jpg" alt="" title="Add_Delegates" width="300" height="122" class="aligncenter size-medium wp-image-1533" /></a></p>
<p><a href="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Add_Interface_Elements.jpg"><img src="http://www.mobisoftinfotech.com/blog/wp-content/uploads/2012/01/Add_Interface_Elements-300x187.jpg" alt="" title="Add_Interface_Elements" width="300" height="187" class="aligncenter size-medium wp-image-1534" /></a></p>
<p>After this, I have included the header file which contains the properties and IBOutlets for the interface elements.</p>
<pre class="brush: objc;">
// iosViewController.h
// Tracker
// Created by Pratik Hande.
// Copyright (c) 2012. All rights reserved.

#import &amp;lt;UIKit/UIKit.h&amp;gt;
#import &amp;lt;CoreLocation/CoreLocation.h&amp;gt;
#import &amp;lt;MapKit/MapKit.h&amp;gt;

@interface iosViewController : UIViewController &amp;lt;MKMapViewDelegate, CLLocationManagerDelegate, UITextFieldDelegate&amp;gt;{
    // IBOutlets for the results of core location updates to be displayed
    IBOutlet UITextField *latitudeLongitude;
    IBOutlet UITextField *time;
    IBOutlet UITextField *speed;
    IBOutlet UITextField *distance;

    // Core Location Manager for managing location updates
    CLLocationManager *locationManager;

    // Map View for displaying results to a map
    IBOutlet MKMapView *map;

    // An array of way points where pins would be dropped on the map
    NSMutableArray *wayPoints;

    // Timer elements for timing location updates
    NSTimer *stopTimer;
    NSDate *stopTime;
    NSDate *startTime;

    // Total distance form the starting location
    float totalDistance;

    // Location instances to save inetermediate locations
    CLLocation *tempNewLocation, *tempOldLocation;

    // To draw the connecting line between waypoints
    MKPolyline * routeLine;
}

@property(nonatomic,retain) IBOutlet UITextField *latitudeLongitude;
@property(nonatomic,retain) IBOutlet UITextField *time;
@property(nonatomic,retain) IBOutlet UITextField *speed;
@property(nonatomic,retain) IBOutlet UITextField *distance;
@property(nonatomic, retain) CLLocationManager *locationManager;
@property(nonatomic, retain) IBOutlet MKMapView *map;
@property(nonatomic, retain) MKPolyline *routeLine;

@end
</pre>
<p>Implementation explained<br />
In viewDidLoad()<br />
1) We first create an instance of CLLocationManager and provide a delegate for it which is self. 2) We set the desiredAccuracy to 6.0 which indicates the accuracy desired on location horizontally.<br />
3) We set the distanceFilter, which indicates the distance change after which a location update is received.<br />
4) We call startUpdatingLocation method to start receiving location updates.<br />
5) We assign a delegate for map view to self.<br />
6) The setShowsUserLocation:YES shows a blue marker on the map view indicating the current location.<br />
7) The call to setUserTrackingMode:MKUserTrackingModeFollow animated:YES  allows the tracking of location on the map in an animated manner.<br />
 <img src='http://www.mobisoftinfotech.com/blog/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> We also initialize an array for waypoints which would hold the locations on the map which have been marked.<br />
9) Next we create, stop timer for based on a 10 second interval. </p>
<pre class="brush: objc;">
//
//  iosViewController.m
//  Tracker
//
//  Created by Pratik Hande.
//  Copyright (c) 2012. All rights reserved.
//

#import &quot;iosViewController.h&quot;

@implementation iosViewController

@synthesize latitudeLongitude, time, speed, distance, locationManager, map, routeLine;

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = 6.0;
    locationManager.distanceFilter = 6.0;
    [locationManager startUpdatingLocation ];

    map.delegate = self;
    [map setShowsUserLocation:YES];
    [map setUserTrackingMode:MKUserTrackingModeFollow animated:YES];

    wayPoints = [[NSMutableArray alloc] initWithCapacity:30];
    totalDistance = 0.0;

    stopTime = [NSDate dateWithTimeIntervalSinceNow:140];
    startTime = [NSDate date];

    SEL sel = @selector(timerTargetMethod);
    NSInvocation* inv = [NSInvocation invocationWithMethodSignature:
                         [self methodSignatureForSelector:sel]];
    [inv setTarget:self];
    [inv setSelector:sel];

    stopTimer = [NSTimer scheduledTimerWithTimeInterval:10 invocation:inv repeats:true];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
	[super viewWillDisappear:animated];
}

- (void)viewDidDisappear:(BOOL)animated
{
	[super viewDidDisappear:animated];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    if(newLocation != nil &amp;amp;&amp;amp; oldLocation != newLocation)
    {
        tempNewLocation = newLocation;
        tempOldLocation = oldLocation;
    }
}

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{

}

- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
    MKAnnotationView *annotationView = [views objectAtIndex:0];
    id mp = [annotationView annotation];
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([mp coordinate] ,250,250);

    [mv setRegion:region animated:YES];
}

// MKMapViewDelegate
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id )overlay
{
    MKOverlayView* overlayView = nil;
    MKPolylineView  * routeLineView = [[MKPolylineView alloc] initWithPolyline:self.routeLine];
    routeLineView.fillColor = [UIColor colorWithRed:0.0-1.0 green:0.0-1.0 blue:0.0-1.0 alpha:1.0f];
    routeLineView.strokeColor = [UIColor colorWithRed:0.0-1.0 green:0.0-1.0 blue:0.0-1.0 alpha:1.0f];
    routeLineView.lineWidth = 10;
    routeLineView.lineCap = kCGLineCapSquare;
    overlayView = routeLineView;
    return overlayView;

}

//define the targetmethod
-(void) timerTargetMethod
{

    if([[NSDate date] timeIntervalSinceDate:startTime] &amp;gt;= 140)
    {
        [stopTimer invalidate];
        [locationManager stopUpdatingLocation];
        NSLog(@&quot;Time started at %@&quot;, startTime);
        NSLog(@&quot;Time up at %@&quot;, stopTime);
    }
    else if (tempOldLocation.coordinate.latitude == tempNewLocation.coordinate.latitude   &amp;amp;&amp;amp; tempNewLocation.coordinate.longitude == tempOldLocation.coordinate.longitude)
    {
        NSLog(@&quot; Fix location found &quot;);
    }
    else if( [[NSDate date] timeIntervalSinceDate:startTime] &amp;gt;= 19 )
    {
        if(roundf([[NSDate date] timeIntervalSinceDate:startTime]) == 20)
        {
            NSLog(@&quot;First Time Location Update&quot;);
            latitudeLongitude.text = [[ NSString alloc] initWithFormat:@&quot;%g , %g&quot;, tempNewLocation.coordinate.latitude, tempNewLocation.coordinate.longitude];

            float interval = [[NSDate date] timeIntervalSinceDate:startTime];
            int okInterval = roundf(interval);
            NSLog(@&quot;Interval 1 , %d&quot;, okInterval );
            time.text = [[ NSString alloc] initWithFormat:@&quot;%d&quot;, okInterval  - 20];
            speed.text = @&quot;0&quot;;
            totalDistance =  0;
            distance.text = @&quot;0 meters&quot;;
        }
        else
        {
            latitudeLongitude.text = [[ NSString alloc] initWithFormat:@&quot;%g , %g&quot;, tempNewLocation.coordinate.latitude, tempNewLocation.coordinate.longitude];

            float interval = [[NSDate date] timeIntervalSinceDate:startTime];
            int okInterval = roundf(interval);
            time.text = [[ NSString alloc] initWithFormat:@&quot;%d&quot;, okInterval  - 20];
            NSLog(@&quot;Interval 2 , %d , %f&quot;, okInterval , interval);
            if((tempNewLocation.coordinate.latitude == tempOldLocation.coordinate.latitude &amp;amp;&amp;amp; tempNewLocation.coordinate.longitude == tempOldLocation.coordinate.longitude) || tempNewLocation.speed = 0)
                totalDistance +=  [tempNewLocation distanceFromLocation:tempOldLocation] - (tempNewLocation.horizontalAccuracy / 2);
            else
                totalDistance +=  [tempNewLocation distanceFromLocation:tempOldLocation];

            if (totalDistance &amp;lt; 0)
                distance.text = @&amp;quot;0 meters&amp;quot;;
            else
                distance.text = [[ NSString alloc] initWithFormat:@&amp;quot;%g meters&amp;quot;, totalDistance];
        }

        MKPointAnnotation *pa = [[MKPointAnnotation alloc] init];
        pa.coordinate = tempNewLocation.coordinate;
        [map addAnnotation:pa];
        [wayPoints addObject:tempNewLocation];

        MKMapPoint * pointsArray =
        malloc(sizeof(CLLocationCoordinate2D)*2);

        pointsArray[0]= MKMapPointForCoordinate(tempOldLocation.coordinate);
        pointsArray[1]= MKMapPointForCoordinate(tempNewLocation.coordinate);

        routeLine = [MKPolyline polylineWithPoints:pointsArray count:2];
        free(pointsArray);

        if (tempNewLocation.coordinate.latitude - tempOldLocation.coordinate.latitude &amp;lt; 1) {
            [map addOverlay:routeLine];
        }
    }
}

@end
</pre>
<p>Here is the source code for the project. <a href='http://ipaddevelopmentindia.com/wp-content/uploads/2012/01/Tracker1.zip'>Tracker Source Code</a></p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/WMNs6O0y40o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/iphone/1474/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/iphone/1474/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=1474</feedburner:origLink></item>
		<item>
		<title>Lua Programming Tutorial</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/WKnScYfctMY/</link>
		<comments>http://www.mobisoftinfotech.com/blog/lua/lua-programming-tutorial/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 19:24:26 +0000</pubDate>
		<dc:creator>Pritam Barhate</dc:creator>
				<category><![CDATA[Lua]]></category>
		<category><![CDATA[Programming Tutorial]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1461</guid>
		<description><![CDATA[I have written a tutorial about Lua Programming Language. This tutorial is written for programmers who have prior experience with &#8216;C Like&#8217; programming languages such as C, C++, Java or Objective-C. I have tried to keep the description as minimal as possible and strived to make the sample code simple and self explanatory. This should <a href="http://www.mobisoftinfotech.com/blog/lua/lua-programming-tutorial/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>I have written a <a href="http://www.mobisoftinfotech.com/lua-tutorial/lua-scripting-tutorial.html">tutorial</a> about <a href="http://www.lua.org/" title="Lua">Lua Programming Language</a>. This tutorial is written for programmers who have prior experience with &#8216;C Like&#8217; programming languages such as C, C++, Java or Objective-C.</p>
<p>I have tried to keep the description as minimal as possible and strived to make the sample code simple and self explanatory. This should get you up and running with Lua in record time. So you can learn to program mobile games for iPhone and Android with SDK&#8217;s like Corona and Moai.</p>
<p>You can find the tutorial here: <a href="http://www.mobisoftinfotech.com/lua-tutorial/lua-scripting-tutorial.html" title="Lua Scripting Tutorial">Lua Programming Tutorial</a></p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/WKnScYfctMY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/lua/lua-programming-tutorial/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/lua/lua-programming-tutorial/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=lua-programming-tutorial</feedburner:origLink></item>
		<item>
		<title>Key points UI designers should know when designing for iPad</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/4sOSStXo_yI/</link>
		<comments>http://www.mobisoftinfotech.com/blog/iphone/key-points-ui-designers-should-know-when-designing-for-ipad/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 05:55:49 +0000</pubDate>
		<dc:creator>Pritam Barhate</dc:creator>
				<category><![CDATA[iPhone - iPad]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[UI Design]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1442</guid>
		<description><![CDATA[Here are some points UI designers must keep in mind while developing UI for iPAD apps. 1. iPad&#8217;s screen size: 1024px x 768px 2. Status bar height: 20px 3. Screen Space available for the app when running in 1. Portrait Mode: 768px x 1004px 2. Landscape Mode: 1024px x 748px 4. iPad Screen PPI: 132 <a href="http://www.mobisoftinfotech.com/blog/iphone/key-points-ui-designers-should-know-when-designing-for-ipad/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Here are some points UI designers must keep in mind while developing UI for iPAD apps.</p>
<p>1. iPad&#8217;s screen size: 1024px x 768px</p>
<p>2. Status bar height: 20px</p>
<p>3. Screen Space available for the app when running in </p>
<table>
<tr>
<td>1.</td>
<td>Portrait Mode:</td>
<td>768px x 1004px</td>
</tr>
<tr>
<td>2.</td>
<td>Landscape Mode:</td>
<td>1024px x 748px</td>
</tr>
</table>
<p>4. iPad Screen PPI: 132</p>
<p>5. iPad Launch Image Names and Sizes</p>
<table>
<tr>
<th>Filename </th>
<th>Dimensions</th>
</tr>
<tr>
<td>Default-Portrait.png</td>
<td>768px x 1004px</td>
</tr>
<tr>
<td>Default-Landscape.png</td>
<td>1024px x 748px</td>
</tr>
<tr>
<td>Default-PortraitUpsideDown.png</td>
<td>768px x 1004px</td>
</tr>
<tr>
<td>Default-LandscapeLeft.png</td>
<td>1024px x 748px</td>
</tr>
<tr>
<td>Default-LandscapeRight.png</td>
<td>1024px x 748px</td>
</tr>
</table>
<p>6. iPad app icon sizes</p>
<table>
<tr>
<td>Application icon (required for all apps)</td>
<td>	72px x 72px</td>
</tr>
<tr>
<td>App Store icon (required for all apps)</td>
<td>		512px x 512px</td>
</tr>
<tr>
<td>for Spotlight search results </td>
<td>			50px x 50px </td>
</tr>
<tr>
<td>for Settings</td>
<td> 					29px x 29px </td>
</tr>
<tr>
<td>Toolbar and navigation bar icons</td>
<td> 		Approximately 20px x 20px</td>
</tr>
<tr>
<td>Tab bar icons</td>
<td>					Approximately 30px x 30px</td>
</tr>
</table>
<p>7. Photoshop PSD and Vector Templates to get started with:</p>
<p><a href="http://www.teehanlax.com/blog/ipad-gui-psd-version-2/">iPad GUI PSD &#8211; Version 2</a></p>
<p><a href="http://iconlibrary.iconshock.com/icons/ipad-vector-gui-elements-tabs-buttons-menus-icons/">iPad vector GUI elements: tabs buttons menus icons</a></p>
<p><a href="http://www.rawapps.com/849/ipad-gui-kit-in-psd-format-is-here/">iPad GUI Kit in PSD Format</a></p>
<p><a href="http://blog.cocoia.com/2010/iphone-ipad-icon-psd-template/">iPhone / iPad icon PSD template</a></p>
<p>8. <strong>Most important</strong> : It&#8217;s going to be used with touch (fingers not mouse pointer). Hence all UI elements must have at least 30px x 30px room so that they are comfortably touchable. </p>
<p>Also on touch devices, there is no &#8220;mouse over&#8221; effect.</p>
<p>9. <strong>Must read:</strong> <a href="http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html">iOS Human Interface Guidelines</a></p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/4sOSStXo_yI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/iphone/key-points-ui-designers-should-know-when-designing-for-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/iphone/key-points-ui-designers-should-know-when-designing-for-ipad/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=key-points-ui-designers-should-know-when-designing-for-ipad</feedburner:origLink></item>
		<item>
		<title>Alternate App Stores / List of Android App Stores</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/zISrr3EsNYU/</link>
		<comments>http://www.mobisoftinfotech.com/blog/android/alternate-app-store-list-of-android-app-stores/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 21:15:58 +0000</pubDate>
		<dc:creator>ravindra.waghmare</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Alternate app stores]]></category>
		<category><![CDATA[list of app stores]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1433</guid>
		<description><![CDATA[Selling an Android app only on Android Market isn&#8217;t enough to reach wider audience. Developers who want to make the android app successful and increase the downloads in short time frame can choose to target alternate Android app stores. Below are almost all the android app stores available. Releasing your app on all these stores <a href="http://www.mobisoftinfotech.com/blog/android/alternate-app-store-list-of-android-app-stores/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Selling an Android app only on Android Market isn&#8217;t enough to reach wider audience. Developers who want to make the android app successful and increase the downloads in short time frame can choose to target alternate Android app stores.  Below are almost all the android app stores available. Releasing your  app on all these stores may not be good decision, however you can target  some of these markets based on, what the store is famous for? or what  kind of audience does the app store serve?</p>
<p>Nevertheless, the list of alternate android app stores would definitely help you increase your app sales.</p>
<p>Android Market &#8211; <a href="https://market.android.com/">https://market.android.com/<br />
</a> Appia &#8211; <a href="http://www.appia.com/">http://www.appia.com/</a><br />
Mobango &#8211; <a href="http://in.mobango.com/">http://in.mobango.com/</a><br />
SlideMe &#8211; <a href="http://slideme.org/">http://slideme.org/</a><br />
Mobiles24 &#8211; <a href="http://www.mobiles24.com/">http://www.mobiles24.com/</a><br />
AndroidPit &#8211; <a href="http://www.androidpit.com/">http://www.androidpit.com/</a><br />
GetJar &#8211; <a href="http://www.getjar.com/">http://www.getjar.com/</a><br />
Handster &#8211; <a href="http://www.handster.com/">http://www.handster.com/</a><br />
Android Lib &#8211; <a href="http://www.androlib.com/">http://www.androlib.com/</a><br />
AndSpot &#8211; <a href="http://andspot.com/">http://andspot.com/</a><br />
NavTech App WareHouse &#8211; <a href="http://www.nn4d.com/appwarehouse/">http://www.nn4d.com/appwarehouse/</a><br />
AppBrain &#8211; <a href="http://www.appbrain.com/">http://www.appbrain.com/</a><br />
AppCity &#8211; <a href="http://promo.appcity.com/">http://promo.appcity.com/</a><br />
Cisco AppHQ &#8211; <a href="https://marketplace.cisco.com/apphq">https://marketplace.cisco.com/apphq</a><br />
Apitalism &#8211; <a href="http://in.appitalism.com/">http://in.appitalism.com/</a><br />
Appoke &#8211; <a href="http://appoke.com/">http://appoke.com/</a><br />
Bloom Worlds &#8211; <a href="https://bloomworlds.com/">https://bloomworlds.com/</a><br />
Camangi Market &#8211; <a href="http://www.camangimarket.com">http://www.camangimarket.com</a><br />
DJuzz &#8211; <a href="http://m.djuzz.com">http://m.djuzz.com</a><br />
Soc.io Mall &#8211; <a href="http://soc.io/">http://soc.io/</a><br />
YAAM(Yet Another Android Market) &#8211; <a href="http://yaam.mobi/">http://yaam.mobi/</a><br />
AppsLib &#8211; <a href="http://appslib.com/">http://appslib.com/</a><br />
AppPlanet &#8211; <a href="http://www.applanet.net/">http://www.applanet.net/</a><br />
Airtel App Central &#8211; <a href="www.airtel.in/apps">www.airtel.in/apps</a><br />
Amazon App Store &#8211; <a href="http://www.amazon.com/mobile-apps">http://www.amazon.com/mobile-apps</a><br />
Pocket Gear &#8211; <a href="http://www.pocketgear.com/">http://www.pocketgear.com/</a><br />
Docomo Market &#8211; <a href="http://www.docomo-market.info/">http://www.docomo-market.info/</a><br />
Fast App &#8211; <a href="http://www.fastapp.com/">http://www.fastapp.com/</a><br />
Handango &#8211; <a href="http://www.handango.com">http://www.handango.com</a><br />
Handmark &#8211; <a href="http://store.handmark.com/">http://store.handmark.com/</a><br />
mJelly &#8211; <a href="http://mjelly.com/apps/tags/android">http://mjelly.com/apps/tags/android</a><br />
Mobihand &#8211; <a href="http://www.mobihand.com/">http://www.mobihand.com/</a><br />
Mobile2Day &#8211; <a href="http://www.mobile2day.com/">http://www.mobile2day.com/</a><br />
Mobile Apps &#8211; <a href="http://www.mobileapps.com">http://www.mobileapps.com</a><br />
MobSpot &#8211; <a href="http://www.mobspot.com/">http://www.mobspot.com/</a><br />
MPlay it &#8211; <a href="http://mplayit.com/">http://mplayit.com/</a><br />
Samsung AppStore &#8211; <a href="http://www.samsungapps.com">http://www.samsungapps.com</a><br />
Storoid &#8211; <a href="http://storeoid.com/">http://storeoid.com/</a><br />
White App &#8211; <a href="http://www.whiteapp.com/">http://www.whiteapp.com/</a></p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/zISrr3EsNYU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/android/alternate-app-store-list-of-android-app-stores/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/android/alternate-app-store-list-of-android-app-stores/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=alternate-app-store-list-of-android-app-stores</feedburner:origLink></item>
		<item>
		<title>Pricing Strategies for iOS / Android apps</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/IHWCPtaE_CI/</link>
		<comments>http://www.mobisoftinfotech.com/blog/iphone/pricing-strategies-for-ios-android-apps/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 07:04:14 +0000</pubDate>
		<dc:creator>Shailendra Sinhasane</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iPhone - iPad]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Freemium]]></category>
		<category><![CDATA[Google Checkout]]></category>
		<category><![CDATA[iAd]]></category>
		<category><![CDATA[iAds]]></category>
		<category><![CDATA[InApp purchase]]></category>
		<category><![CDATA[Monetization]]></category>
		<category><![CDATA[Payments]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Subscription]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1418</guid>
		<description><![CDATA[Monetization of app: What we realized is that "It could have been great to work on pricing strategy while developing the app" - Mobisoft Infotech]]></description>
			<content:encoded><![CDATA[<p>Mobisoft had a top paid app in a revenue-share model with client. App scaled to # 21 in lifestyle category. Naturally, we were excited to know the numbers &#8211; downloads, paid/free, adv hits etc. Although we made it great in terms of popularity, the earnings were less than expected.</p>
<p>The main reason was not having effective strategy for pricing model of app&#8217;s inApp &amp; subscription purchases. What we realized is that &#8220;It could have been great to work on pricing strategy while developing the app&#8221; i.e. Monetization of app.</p>
<p><strong>Why Monetize?</strong></p>
<ul>
<li>Generate money</li>
</ul>
<p><strong>How?</strong></p>
<ul>
<li>Compulsion Loops, there are ways to draw user back into the app</li>
<li>Engagement, does it have engagement elements that could be monetized, i.e. virtual currency?</li>
<li>Value, is it worth your users’ time?</li>
</ul>
<p><strong>Models</strong></p>
<p>1. In-app purchases</p>
<p>2. Subscription</p>
<p>3. Ads</p>
<p>4. Location-based offerings</p>
<p>5. Social media sharing and aggregation</p>
<p><strong>To do</strong></p>
<p><strong>1. Try various in-app models to find the combination that maximize your revenues</strong></p>
<p>•	<strong>Games</strong>: Subscription based casual gaming package + premium payment for sending best scores</p>
<p>•	<strong>E-books for kids</strong>: read once for free. Pay to read again</p>
<p>•	<strong>Security</strong>: free trial (e.g. 30 days) . Paid license for 1 year period</p>
<p><strong>• Video</strong>: pay per gallery</p>
<p><strong>2. Freemium strategy</strong></p>
<ul>
<li>Strongest marketing play Risk reduction</li>
<li>Developers should be focused on finding consumers who are willing to pay, not trying to completely satisfy free-rider consumers</li>
</ul>
<p style="text-align: center;"><strong>In-App single purchase</strong></p>
<p>Pros:</p>
<p>• This is probably the easiest path to implementation and launch and it&#8217;s straightforward and proven</p>
<p>•	Virtual goods/currency through In-App</p>
<p>Cons:</p>
<p>• No ongoing revenue stream No access to user data &#8211; makes selling advertising difficult.</p>
<p>• One potential workaround is to build in-app surveys, which pushes data back.</p>
<p style="text-align: center;"><strong>Subscription &#8211; I</strong></p>
<p>Pros:</p>
<ul>
<li>Revenue is sustainable</li>
<li>Renew just as other web based subscriptions</li>
<li>Easy extendable as an add-on</li>
</ul>
<p>Cons:</p>
<ul>
<li>Requires user management solution</li>
<li>Requires users to leave the app and visit the publisher&#8217;s website to subscribe</li>
<li>Conversion rate lower than in-app purchases</li>
<li><em><strong>Success</strong> : lifetime value of a subscriber &gt; revenue lost from lower conversion</em></li>
</ul>
<p style="text-align: center;"><strong>Subscription &#8211; II</strong></p>
<p><strong>Apple&#8217;s subscription policy for publishers:</strong></p>
<ul>
<li>Apple still gets a 30% cut of any subscription a reader signs up for inside the App Store.</li>
<li>Publishers can now offer an app subscription for a different price than what they might sell their app for in the App Store.</li>
<li>Publishers can&#8217;t link to an external-to-Apple location that sells a subscription within the app.</li>
</ul>
<p style="text-align: center;"><strong>Advertising</strong></p>
<p>Apple: iAd platform – Adv as an app</p>
<p>Third party : adMob, Medialets etc</p>
<p>Pros:</p>
<ul>
<li>Easier to command advertising premiums and less pressure to live up to metrics</li>
</ul>
<p>Cons:</p>
<ul>
<li>Mobile budgets just aren&#8217;t well-defined</li>
<li>Apple changes strategic decision with third party ad integratio<strong>n</strong></li>
</ul>
<p style="text-align: center;">
<p style="text-align: center;"><strong>Location Based Offerings</strong></p>
<p>Pros:</p>
<ul>
<li>Awesome mobile offerings into a high-fidelity advertising environment</li>
</ul>
<p>Cons:</p>
<ul>
<li>Complexity in integrating these systems</li>
<li>Requires the device be connected to the internet</li>
</ul>
<p style="text-align: center;"><strong>Social, Sharing &amp; Aggregation</strong></p>
<p>Pros:</p>
<ul>
<li>Cost-effective</li>
<li>Viral marketing</li>
<li>Better user engagement</li>
</ul>
<p>Cons:</p>
<p>Getting advertiser support on a product as nebulous as this is challenging</p>
<p style="text-align: center;"><strong>Other payment integrations</strong></p>
<ul>
<li>Paypal API integrations</li>
<li>Carrier billing option – Very easy for users to pay</li>
<li>Virtual credits</li>
<li>Google Checkout</li>
</ul>
<p style="text-align: center;"><strong>Other billing platforms</strong></p>
<p>1 MoVend payment platform</p>
<ul>
<li>Easy integration – Supports Android, BlackBerry, Windows Phone7</li>
<li>Sales Track Better user engagement</li>
</ul>
<p>2 Bango</p>
<p>Supports all mobile platforms including Operator billing</p>
<p>Mobisoft Infotech recommend to work with clients as partners and provide various pricing strategies to monetize their app. It will be certainly helpful to clients to get pricing strategies correctly integrated while the app is being developed rather than working on monetization after app is live.</p>
<p>Thank you.</p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/IHWCPtaE_CI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/iphone/pricing-strategies-for-ios-android-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/iphone/pricing-strategies-for-ios-android-apps/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=pricing-strategies-for-ios-android-apps</feedburner:origLink></item>
		<item>
		<title>Key inputs to avoid Apple’s iOS app rejection</title>
		<link>http://feedproxy.google.com/~r/BlogMobisoftInfotech/~3/ySun5y_iDoc/</link>
		<comments>http://www.mobisoftinfotech.com/blog/iphone/key-inputs-to-avoid-apples-ios-app-rejection/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 06:04:14 +0000</pubDate>
		<dc:creator>Shailendra Sinhasane</dc:creator>
				<category><![CDATA[Apple - Mac]]></category>
		<category><![CDATA[iPhone - iPad]]></category>
		<category><![CDATA[App Rejection]]></category>
		<category><![CDATA[App Review]]></category>
		<category><![CDATA[App submission]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Apple Guidelines]]></category>
		<category><![CDATA[Apple SDK]]></category>
		<category><![CDATA[Appstore]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HIG]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone development]]></category>
		<category><![CDATA[iPhone Tutorial]]></category>
		<category><![CDATA[Objective C]]></category>

		<guid isPermaLink="false">http://www.mobisoftinfotech.com/blog/?p=1413</guid>
		<description><![CDATA[An app idea or product app takes much of time and money investment to get into app world existence. The major hurdle to it&#8217;s success could be Apple&#8217;s review process. There can be numerous reasons for Apple&#8217;s rejections for your app. With our superior knowledge of iOS apps development since the day Apple launched their <a href="http://www.mobisoftinfotech.com/blog/iphone/key-inputs-to-avoid-apples-ios-app-rejection/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; line-height: 23.0px; font: 14.0px Arial; color: #333233} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; line-height: 23.0px; font: 14.0px Arial; color: #333233; min-height: 16.0px} span.s1 {color: #000000} -->An app idea or product app takes much of time and money investment to get into app world existence. The major hurdle to it&#8217;s success could be Apple&#8217;s review process. There can be numerous reasons for Apple&#8217;s rejections for your app. With our superior knowledge of iOS apps development since the day Apple launched their SDK, we are able to gain valuable insights into Apple&#8217;s review process.</p>
<p>This will help:</p>
<p>1. Developers to save their precious time and efforts.</p>
<p>2. Let you plan for a better user experience which is the key reason behind all the app store guidelines.</p>
<p>There are few key points which every iPhone/iPad developer should know when developing an app for Apple devices.</p>
<p><strong>Key things to avoid Apple&#8217;s app rejection:</strong></p>
<p><strong>1. Bugs/Crashes</strong>- The most common reason for any app to get rejected are freezing and frequent crashes. Make sure you test it on multiple devices, different OS versions and specifically under varying network conditions. Peer-to-peer reviews/testing done by developers would certainly help. If your app crashes or doesn’t respond during the app review by Apple’s testing team then it will definitely be rejected.</p>
<p><strong>2. Code Download-</strong> You cannot create an app that downloads and executes code that was not present in the app bundle submitted to Apple.</p>
<p><strong>3. Similar Icons-</strong> The app store 512×512 icon should be same as the app’s 57×57 icon. Even though there is no such direct rule in contract/agreement with Apple, its their store and they make the rules for reviews. If your app’s icon on phone and app store icon do not match, Apple will state having un-matching icons to reject the app.</p>
<p><strong>4. </strong><strong>Network Connectivity</strong><strong>-</strong> You must notify the user if network is unavailable. Just having the spinning busy icon display and a message saying “trying to connect” is against the guidelines. Proper message is needed at all the screens to convey clear message if network is not available after certain period of time. Many developers put their connectivity checks on Apple’s Reachability code, which is using that sample code for the wrong purpose. If you need to get data from a specific server, then try to download some data from that domain.</p>
<p><strong>5. &#8220;Free+Paid&#8221; apps- </strong>Apple reported to few developers that app may get rejected, if it contains visually disabled buttons, prompting the user to upgrade for the full version or displaying the price of full version in the Free version. So, iPhone developers must ensure that they follow all the rules.</p>
<p><strong>6. Consistent Button Images- </strong>If an iPhone developer wants to use Apple’s existing image for his button then see that functions are identical because you can use a standard button in a non-standard way if your app is providing a “immersive environment” so it is better to create your own button. If there are any variations with function then again Apple might reject the app.</p>
<p>It is always advisable for an iPhone developer to use their own custom buttons in the app</p>
<p><strong>7. iOS version support-</strong> If you plan on submitting and app which runs with 3.0 and higher versions, you should be sure that it works perfectly on all the versions from the iOS 3.0 to the most current version. Apple will test it with the latest version to see the potential of the app but if the app fails to prove itself Apple will definitely rejected your app.</p>
<p>8<strong>. Transactions outside The App Store-</strong></p>
<p>Apple do not allow developers to conduct any transaction/business outside the app store. In App purchases are the recommended way to implement these transaction. Recent announcement to allow outside payment transaction with certain restriction and Apple&#8217;s percentage take from money for the same is trickier and would take more time to settle down in business plan of apps sale.</p>
<p><strong>9. Private API:s</strong></p>
<p>Apple strictly reject apps which are implementing programs using Private APIs. Apple has scripts that can scan your app codes for violations. If you want to prevent app rejection from app store make sure you read the developer guidelines carefully before implementing any API marked private by Apple.</p>
<p><strong>10. Popovers-</strong></p>
<p>It is definitely not recommended to launch one popover from within another popover. The iPad Human Interface Guidelines clearly provides this information that only one popover element should be shown onscreen at a time.</p>
<p>There can be many more reasons behind Apple&#8217;s rejection of any iOS app. However, the list provides very obvious ones.</p>
<p>Mobisoft Infotech sincerely wish this post is helpful to all our developer community and prestigious clients to achieve great success with iOS apps launch.</p>
<p>If you have any suggestions/feedback, please send your inputs to info@mobisoftinfotech.com</p>
<p>&amp; for business enquiries : business@mobisoftinfotech.com</p>
<p>Thank you</p>
<img src="http://feeds.feedburner.com/~r/BlogMobisoftInfotech/~4/ySun5y_iDoc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.mobisoftinfotech.com/blog/iphone/key-inputs-to-avoid-apples-ios-app-rejection/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.mobisoftinfotech.com/blog/iphone/key-inputs-to-avoid-apples-ios-app-rejection/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=key-inputs-to-avoid-apples-ios-app-rejection</feedburner:origLink></item>
	</channel>
</rss>

