A Little Side Project I’m Working On

A Little Side Project I’m Working On

In addition to wrapping ongoing projects and coming up to speed on my new job, I’m also working on a few side projects.

Here is a screen shot of something I think is going to be pretty cool. Stay Tuned!

WeReward for Facebook
New Gig

New Gig

Effective today, I’m the new VP of Mobile Development at IZEA.

I’m excited to be joining Ted Murphy and crew.  It’s a great fit, and a satisfying conclusion to six months of collaborating with IZEA on their iPhone, Android, and Blackberry WeReward mobile clients.

Thanks to everyone who has offered support and well wishes during the transition.  It’s going to be a blast.

And to my customers, clients, colleagues, and friends who helped me grow and nurture Sumner Systems Management, Inc. for the past fourteen years plus – thank you.  You’ve allowed me to do amazing things with you, and have a life that is more than I deserve.

Onward and upward.

A Modest Proposal (With Apologies to Jonathan Swift)

A Modest Proposal (With Apologies to Jonathan Swift)

Once again, while working with Android, I’ve been bitten on the backside by differences between devices and how the camera works.

In the latest incarnation, users uncovered a problem where the DroidX camera (using com.motorola.camera) simply stops working. And not just for our app; for all subsequent usage until the phone is restarted.

Simply by taking a picture.

Apparently there is a known issue with the Motorola camera app and marking photos with GPS data.

But here’s the thing – why the hell is it so impossible for Google to simply say, “this is the camera app – use it, or else?”

If I sound frustrated, it is because I am. Camera issues account for 95% of the headaches I have when dealing with Android app problems (the other 5% usually involve memory allocation).

So, borne of my frustration, I make the following modest proposal:

In the future, before certifying a handset as being an Android device, Google should change their licensing to require handset manufacturers / carriers to provide a ROM-identical simulator for every Android device they ship. Running the exact apps that run on the actual device in the wild.

Without having actual hardware on hand, it is impossible – IMPOSSIBLE – to realistically test 100% of a device’s capability.

And when the carrier or handset maker ships a custom camera app, without a physical handset on hand, there is zero hope of testing – and guaranteeing – that an app will work with that particular handset.

It’s a small miracle that more outrage isn’t commented upon. Because it’s certainly out there.

As an Android user, I feel the pain personally. As an Android developer, it is a big point of pride to try and release the best possible software that I can.

But when every handset maker and carrier chooses to pick and choose core peripherals (like camera, video, gps, etc.) that they will support – or not – in a standard – or not – way, it makes the job of creating 99.99% up time, quality software nigh impossible.

At least not without sounding like you’re a whining excuse maker.

It is what it is.

I simply believe that Google must step up and think more of what this is doing to user experience and how app developers are bearing the brunt of the shoddy crap that is coming out of Motorola and the other carriers.

Instead of being concerned with spreading the Android “brand” at the expense of defining what, exactly, it means to be minimally “Android” in  anything approaching a uniform sense.

Changes a’ Comin’

Changes a’ Comin’

I’ll have some news tomorrow.

Watch this space.

Windows Phone 7 Apps – An Update

Windows Phone 7 Apps – An Update

I was fortunate enough to be allowed to be a part of the Microsoft Early Acceptance for Marketplace.

So far, I have submitted ports of my Simple Flash Cards and Mood Ring apps that I had created previously for iPhone and Android.

First pass through, they both failed because I did not include a Tile for when the app is pinned to the Home screen (they could stand to make this a little more obvious, but that one is totally on me).

Mood Ring also was failed on two (2) other points:

  • Hitting the Back button from the first screen should always exit the app, and
  • Hitting the Back button on any screen must return you to the previous screen.

Now, I can think of legit reasons to not do one or both of these. For Mood Ring, I didn’t think it very useful for a user to go back and look at all of their past moods – but that movement within the app should always be forward.

Microsoft apparently thought otherwise.

Anyway, none of these failing issues were huge stumbling blocks and within ten to fifteen minutes new versions were re-submitted.

With luck these two apps should be approved in the imminent future.

Fall in the Land of the Lotus Eaters

Fall in the Land of the Lotus Eaters

Here in Central FL, Fall is more a state of mind than an actual season change.

I mean, the heat does go from the mid nineties to the mid eighties. So there’s that.

Otherwise, it’s like living in the Land of the Lotus Eaters. Time passes, but the season doesn’t really appear to change.

Even so, my internal clock tells me it’s time for Fall. And it brings back many happy memories.

Like remembering the first book I ever checked out from the school library.

Or the huge Maple tree beside my elementary school that turned a bright scarlet red in October.

Halloweens past.

Cool Friday evenings going to football games.

Bonfires.

Living where everyone vacations does have its tradeoffs. I think I need a weekend trip up north to shock the system.

When Your Baby Is The Ugly One

When Your Baby Is The Ugly One

This scenario plays itself out repeatedly:

Company A releases a great new mobile app. Initially, it runs on only mobile OS X.

Users of mobile OS Y decry how epic this FAIL is on the part of Company A, how clueless they are, and how they are totally missing the boat and losing their business.

Wash. Rinse. Repeat.

Trust me – companies don’t go out of their way to NOT service their customers and consumers.

These decisions are based upon market share, money on hand, time to market, and availability of manpower to build product.

In short, it’s business.

For the most part, this script usually translates as: Company A releases an iPhone app, initially. Users of Android, Blackberry, Palm, etc. are unhappy that they are being slighted. They think the company doesn’t value them.

In fact, the company is probably coping with a small set of developers, looking to get the biggest initial bang for their constrained development resources, and has every intention of getting their product on these other platforms, as time, resources, and money permit.

Apple’s ability to allow consumers to discover new applications is superior to what Android and Blackberry offer. I’m sorry. It just is. You can’t browse the Android Market or the Blackberry App World from your laptop to discover apps. You can with the App Store. Therefore, the chances for new consumers to discover, disseminate, and advertise your new app are greatly multiplied by releasing an iOS version, first.

Again, this is a business decision, not a straight-up fan boy love affair.

Yeah – it totally blows to have to wait for something the other cool kids are playing with now (hear that Twitter? Still waiting on “new” Twitter. Le sigh).

This is how I, as a cross platform developer, look at these platforms when trying to design and develop a new commercial product. I’m keeping “religion” (i.e., the relative merits of open source vs. closed source) out of this discussion in the main, aside from mentioning availability of sample code:

Apple:

Pros: Has maximum reach, best application discovery, best user experience with regard to UI and overall integration, highest quality store; customers spend actual money here. Best UI design tool of any of the mobile smartphone environments (Interface Builder) . Easiest to system test code, because you only have 3 basic iPhone models.

Cons: Strict curation can be an impediment to delivery. Wait times for approval have gotten better, but definitely adds friction to the process.

Android:

Pros: Easiest to ship, fastest growing smartphone OS. Lots of open source examples. No curation to get your app in the market, which means revisions and bug fixes happen in “internet time.” The ability to customize AVMs for creating device simulator configurations is the most flexible across all OS SDKs.

Cons: Horrible UI design tool. No application discovery, aside from third party websites. No curation in Android Market means anything goes. System testing is a nightmare, because you have a cross product of dozens of combinations of hardware and OSes that realistically won’t be fully exercised by small developers. The user experience across carriers is inconsistent – anyone who have ever implemented an application on Android that has to use the camera can attest to the variability in operation, quality, and performance. Fragmentation really doesn’t capture how fast this is getting worse rather than better (see: Verizon and Amazon creating their own market, see: carriers installing root kits to frustrate rooting, see: application filtering by carrier).

Blackberry:

Pros: Huge installed base of devices. Market leader in penetration inside of enterprises. Secure. Dozens of software simulators available for testing.

Cons: Worst SDK of any smartphone OS. SDK runs only on Windows (technology release now available for Mac OS X, but no simulators and it works only for directly attached OS 6 devices, which is one: the 9800 Torch). No UI tools, periodWorst developer community of any smartphone OS (no disrespect to the many fine BB developers I have met the past couple of years. But in the main, most of these guys – and they are guys – are usually company drones that I for the life of me can’t seem to find any actual apps that they have written. Prolly cause there’s only 9,000 apps in Blackberry App World, and unless you have a Blackberry Phone with a data plan, you’d never see ’em anyway). Multiple OSes, hardware form factors make unit and system testing impractical for rapid releases. Browser – with the exception of the latest OS 6 release – is the absolute worst of any smartphone. Research in Motion also doesn’t seem to really care about software, except for only the sense that it is needed to operate the hardware. They’re a hardware company first and foremost, and it shows in spades.

Your mileage may vary.

But since the majority of application release scenarios we see play out in the marketplace are iPhone First, Android Second, Blackberry when we get around to it, I don’t think my take differs from those actually doing cross platform development, rather than those opining about it.

Nobody likes to have their baby called ugly.

But when it is, it is.