Smart Phone GPS Quality
December 29, 2010 by dave@kiwiluv.com · Leave a Comment
These guys are pushing smartphone GPS capabilities to their limit. The typical consumer may not notice, but there’s a wide quality variation among iPhones and Android devices…check it out on David Lokshin’s blog. He’s uncovered the dirt that Steve Job’s will never speak of…
MonoTouch iPhone Development
November 7, 2010 by dave@kiwiluv.com · 1 Comment
In general, and this is not a universal truth, but in most cases products with obnoxious monkey’s in their logos are pretty good. Despite this hard to dispute observation, I have been reluctant to try MonoTouch out. MonoTouch is a development enviornment for iPhone which allows you to develop in C#/.NET.
Recently, some respected colleagues prompted me to give it a shot. I didn’t need much motivation aside from their assurances that it didn’t suck, because after years of trying to peacefully coexist with Objective C, I’m about ready to give up. When OS X came out, I recall thinking “Cool…now I can teach myself to program for this…what fun.” Then I cracked open the Objective C book and had to be put on oxygen. This is my impression of Objective C…
Yep, NeXT took C, a perfectly serviceable computer language and grafted alien DNA into it to make it Object Oriented. Ever see the Telepod accident in the movie “The Fly” that produced Brundlefly? Objective C is the computer language equivalent.
My next confession is a difficult one to make. I like C# and .NET. I’m comfortable with C# having been a Java developer back in the 90′s when Java was cool and not funded by the Yahoo Toolbar (what’s up with that Java?) and spent a few years doing ASP.NET. C# was a very skillful ripoff of that highly successful, but aging, language. All in all, a decent language. Yes, I make fun of .NET developers, having been one myself, but the thought of coding for iPhone in C# rather than Objective C (shudder) had a lot of appeal. So off I went to download MonoTouch.
Installation
I thought a good first step would be to install it. I don’t read instructions, so I downloaded the trial package, installed it, then could not find it. Eventually I realized that MonoTouch requires separate downloads of the Mono SDK and MonoDevelop IDE. Probably should have read the instructions, but eventually I got everything installed. MonoDevelop 2.4 elected to annoy me by informing me that a new version was available…which prompted me to download MonoDevelop 2.4. I went through that about 8 times before I caught on….
On to the Code
With everything installed, I decided not to stray too much from the introductory tutorial. It is a bit out of date, but hopefully not too many pitfalls. I was presented with an easy to follow create solution wizard.
Hitting the ‘OK’ button caused it to crunch and grind and produced the following code framework.
using System;
using System.Collections.Generic;
using System.Linq;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace HelloiPhone
{
public class Application
{
static void Main (string[] args)
{
UIApplication.Main (args);
}
}
// The name AppDelegate is referenced in the MainWindow.xib file.
public partial class AppDelegate : UIApplicationDelegate
{
// This method is invoked when the application has loaded its UI and its ready to run
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
// If you have defined a view, add it here:
// window.AddSubview (navigationController.View);
window.MakeKeyAndVisible ();
return true;
}
// This method is required in iPhoneOS 3.0
public override void OnActivated (UIApplication application)
{
}
}
}
I can actually read this…because it’s not Objective-C!
Building the UI
The wizard had created a MainWindow.xib file. Double clicking on it launched the old, familiar Interface Builder. The tutorial prompts you to create a button and label on the blank window and wire them to the app delegate handlers. I won’t go into it as we’re focusing on MonoDevelop, but it’s done in the usual way for iPhone development.
Adding Behavior – First Glitch
We have our connections to the UI elements, but not much is going on now. The tutorial makes the following statement…
“We are going to create two class outlets in the application delegate. Each outlet that we create in the user interface will be reflected as a property in a partial class in the MainWindow.designer.xib.cs file.”
Hmmm…mine didn’t. I don’t have references to my new button and label objects anywhere in the C# code, so needless to say I can’t proceed to adding any behavior. Remember what I said about reading the instructions? The installation section of the MonoTouch documentation also said this in large friendly RED letters:
“* You MUST install the latest release of Mono before installing MonoTouch“
Bummer…I was really hoping to blame the tool rather than my own stupidity…:(.
Adding Behavior – Next Try
Here we go again. After reinstalling the MonoTouch package AFTER having installed Mono, I recreated my steps from before with the new solution name RTFM. EUREKA! Just kidding, the %#$%!^* still didn’t work! Still highly motivated to avoid Objective-C at all costs, I re-read the various installation commentaries for both Mono, MonoTouch and MonoDevelop and found this critical, but well hidden, pearls of wisdom again in large friendly RED letters.
“* You MUST use the MonoTouch version of MonoDevelop from the above link, or the version from MonoDevelop’s built-in updater, since it may contains fixes that are not in MonoDevelop 2.4.”
There’s no easy way of determining if you have installed MonoDevelop 2.4 or MonoDevelop 2.4 iPhone enabled. I followed the link from the MonoTouch page and reinstalled MonoDevelop. I created RTFMPartDeux and…gasp…something was different. Like Groundhog Day…different is good. The MainWindow.xib.designer.cs file was in a heirarchy under MainWindow.xib!
Sure enough, when I retraced my steps the MainWindow.xip.designer.cs file created references to my button and label objects which I could use to add some behavior in the ApplicationDelegate.
Adding Behavior – Finally!
Ok, with all my prior screw ups rectified, I added the following handler to the app per the tutorials instructions.
int ntaps = 0;
button.TouchDown += delegate {
label.Text = "I have been tapped " + (++ntaps) + " times";
};
This time, building and running it worked fine with the finished masterpiece looking like this…
The Verdict
Too early to tell, but I’m impressed so far. All of the problems I encountered were self inflicted so I can’t really blame MonoTouch for anything other than having instructions which are not idiot proof (I’m an exceptional idiot). Now that I’ve got an app that counts upward when you hit a button, I will implement a gene sequencing application to reverse engineer the human genome complete with 3D molecular rendering to see if it really is a solid solution.
My only reservation at present is any hidden quirks that would not surface after man weeks of development. I’ll be test driving this a bit more in upcoming days to stretch it’s capabilities a bit and see what I find.
Wired Magazine iPad App
May 28, 2010 by dave@kiwiluv.com · Leave a Comment
The Wired app for iPad is flying of the iTune’s store’s virtual shelves. I plan to download it this afternoon and have it entertain me through the Memorial Day weekend here in the US. We’re starting to work on iPhone/iPad development and I’m having trouble making peace with Objective-C (more on that later). My issues with the technology aside, this is becoming a remarkably active space for cool applications. This video has me wondering if I’ll ever read a print magazine again.
Android Beats iPhone in Market Share
May 14, 2010 by dave@kiwiluv.com · Leave a Comment
For the first time, NPD’s reported that Android has taken over 2nd place from the iPhone in market share in the US smartphone market. Market share computations are fertile ground for fanboy battles, but obviously all the hot new Android phones hitting the market are giving Android some serious traction. So, now it’s…
- Blackberry (not for long I suspect)
- Android
- iPhone
I see more and more corporate users with iPhones these days so I’m pretty sure Blacberry’s days are numbered. If The Windows Phone 7 devices are as cool (and un-Microsoftesque) as they appear the landscape’s going to change radically. Can’t wait.
Check out the full NPD report:
This Just in From the Dept. of I’ll Believe it When I See It – iPhone 4G
April 20, 2010 by dave@kiwiluv.com · Leave a Comment
Please please please let it be true!
iPhone 4 – Post Hype
April 10, 2010 by dave@kiwiluv.com · Leave a Comment

Apple has been pretty busy. Hot on the heels of the much hyped and very beautiful (but useless?) iPad comes the announcement of iPhone OS 4. We do software development for Android and iPhone and some of our products definitely work better on Android because of some of the features that have been missing from iPhone 4.
But first the suck. Here’s what we didn’t get:
- Flash support in Safari. No surprise there…Steve wants Flash’s head on a pike outside his office in Cupertino.
- An iPhone for Verizon. While the rest of the planet uses GSM, Verizon’s CDMA network in the little backwater of the US still has the best performance and coverage.
- Ads. Oh wait…we did get those. Crap.
- Backward compatibility. iPhone OS 4 is only possibly compatible with the iPhone 3G and iPod Touch Second Generation. Why? The hardware simply isn’t as capable. On the positive side, at least you’ll get ads on those platforms…woo hoo!
The big news is ads. Just kidding. The big news is that iPhone 4 will support multitasking. In some ways, the Apple applications like Mail and Messaging always did, but third party developers were not permitted to use the secret sauce making this possible.
Another nice thing is a file system/folder structure. This will allow better organization of documents and will eliminate the need for application developers to implement their own faux-file system within the application.
Apple has also beefed up some applications, added an iBook reader and various other miscellaneous things that we don’t really care about, but you might. All in all welcome changes. The folks at Gizmodo have the complete rundown here.
Compelling, but I’m not about to run out and get an iPhone until I don’t have to use it on the AT&T network. Still, as a developer multitasking alone is enough to keep me writing code for this phone.
And best of all…ads!
Android Gains Mobile Market Share
April 6, 2010 by dave@kiwiluv.com · Leave a Comment
Another Chart of the Day from Silicon Alley Insider.
Nice to see and good for you Android. My prediction? Android will continue to creep up. Microsoft will level off or increase with the introduction of the Windows Phone platform. The iPhone will keep going strong, especially if the rumors are true of a Verizon iPhone launch this year. Who are the losers? Sorry RIM and Palm…I think you’ll have the short end of this stick.
Full SAI post here:
http://www.businessinsider.com/android-gains-more-subscriber-share-2010-4
Gowalla vs. FourSquare from AppJudgement
April 3, 2010 by dave@kiwiluv.com · Leave a Comment
Here’s a head to head review from AppJudgment of the two leading location-based social apps for smartphones.
Geodelic for Android and iPhone
April 2, 2010 by dave@kiwiluv.com · Leave a Comment
Most of the applications out there to help you find something still suck. Geodelic is the first one I really liked. This app is available for both iPhone and Android and provides a categorized carousel view of businesses near you. So, if you just landed in Bratislava and want to find the nearest Pizza Hut (good luck with that by the way), just fire up Geodelic (assuming you iPhone or Android works internationally…iPhone should be fine) and select the restaurant category.
I must admit that there is some overlap with our first product and this one, but I have to give kudos where they are due. This application is very good and if you want to have one on your phone that works well for finding a variety of businesses, this is my pick.
Have a look at the review on AppJudgement from the folks at Revision3:
Geodelic…keep up the great work and I forgive you for having a PHP site. If traveling in Bratislava, please get some real food.
iPhone on Verizon?
March 30, 2010 by dave@kiwiluv.com · Leave a Comment
Please say it’s true…
http://news.cnet.com/8301-30686_3-20001453-266.html?part=rss&subj=news&tag=2547-1_3-0-20
Every year, we are taunted by rumors of an iPhone on Verizon. The iPhone is a device, which through it’s sheer awesomeness can overcome the burden of a mediocre network. Now, yet again, it’s coming to Verizon.
Let us all pray to the gods of mobile devices that this is real this time!





