views:

314

answers:

6

I developed a flashcard program a while back for learning Japanese. I've been considering porting it to a cell-phone. What is a good target platfrom? I'm thinking about iPhone, HTC Touch HD (system software: Windows Mobile) or a Nokia (system software: Symbian). Since I know a bit of JavaME, something that runs that would also be cool.

+4  A: 

Here's the most recent market share data. Have you considered building a web-based product consumable by all smartphones with decent web browsers? Sites like x.facebook.com are not OS-specific but are app-like enough to provide a good user experience. Building such a site and charging a subscription would be one approach to serve all markets.

STW
+1 for web. If done right, the experience isn't much different, such as Gmail.
Darryl Hein
@tonylo: It's truee--but I think you're missing my actual suggestion. I wasn't implying that *any* particular OS should be targeted, but rather that due to the diversity of platforms the best approach would be to build a website that *all* smartphones (with decent browsers) could access and charge a subscription.
STW
fair point, comment retracted.
tonylo
+3  A: 

Well the Apple store just celibrated its 1,000,000,000 download the other day, so I would say that the iPhone is the largest and easiest phone market to target. Also the Apple store makes it extremely easy to sell your application (they keep part of the revenue of course).

Perhaps you might like to ask which phone has the largest market share in Japan?

Also I understand Microsoft has plans to start an app store for Windows Mobile.

JonnyBoats
you make a good point; while the other mobile OS'es have more market share than Apple, apple is still at the forefront of pushing application development. The downside is the quick slide to obscurity, and Apple's notoriously late payments to developers.
STW
A: 

Well I would start to find a system / programing language which is available for the top phones on the market.

I think a good go is python for that. Which makes it easy to use large portions of the same code on all of the phones which are going to be supported.

Then I would probably start with the iPhone, because I believe its userbase is still demanding for new toys :)

Creating a webapplication would be another way... but that would mean you need to be online. if you are not using flash or some other possibilities of persistent storage.

P.S.: I would not use javame :) .. I still don't like anything java at all

OderWat
Do any phones use Python as a supported programming language? If you're doing to develop for the iPhone, your choices are: Objective C, Objective C, or Objective C. Pick one.
Barry Brown
Well.. whats about http://www.saurik.com/id/5 then?
OderWat
That's pretty cool, but its legality is in doubt. Apple doesn't allow the installation of third-party libraries or interpreters. It works on jailbroken iPhones, but a Python app is unlikely to get accepted into the store.
Barry Brown
Ok... this makes it pretty unusable for selling legit software. To bad... maybe later...
OderWat
+3  A: 

Since you know JavaME, take a look at developing for Android. It doesn't have a large market share, but at least you'll be able to leverage your existing skills.

You won't be able to find a common language and development environment that works on the majority of phone platforms. Once you select a platform, you're kind of committed to it unless you want to port your app to an entirely different language.

Barry Brown
Android doesn't have a large market share *yet*. Considering it was released in an "in-development" state on a single homely handset and has still managed to pick up 1 million users in fairly decent time I think it's probably going to get quite large.
STW
+1  A: 

A few weeks ago I was reading an article about a product called "rohmobile" that was a custom Ruby framework that run's on a micro ruby web server. It allows you to compile your application against all the popular mobile phones (Apple, Microsoft, Android, BlackBerry, Symbian). It seemed like a very cool idea and it's open source actively under development. The framework comes with a sync soltuion, so you can persist data to the local device using REST/SOAP. As I explored the product a bit more, the only thing that seemed like it would be a pain is the setup of the enviroment(s) needed to compile the code for the various device.... if you could make it past this, then you'd have a solution where you could support a bunch of difference devices with a single code base!

http://www.rhomobile.com/

** I've never programmed in Ruby but the syntax and the demo made it look really simple, since it's really just a local web page running on the micro web server installed on the device! The UI is HTML/CSS based. I think the product is still in Beta...

Just my 2cents~

Zachary
Sounds good. I'll check it out.
Jack BeNimble
+2  A: 

Nokia has started heavily pushing a mobile development platform based on Qt. Nokia sells a LOT more phones than Apple does.

Why write iPhone app #1,000,001 when you'd be lucky to get $500 for your investment?

There's a huge craze around iPhone apps... at this point it's totally unjustified from a developer point of view. (It's great for the users)

Qt is a really amazingly well done C++ platform (Nokia bought it, obviously :). I'm having a good time writing PC apps with it... I plan on buying a Nokia phone I can write Qt apps for soon. At that point, I'll be ditching my old iPhone (original unit, not 3G).

When the SDK came out, I thought the world of the iPhone. I even bought Apple stock. However, no Java & no Flash because Jobs is a control freak is just plain stupid. GPL incompatibility really hurts, too. I'm also not buying a Mac just to develop software for the thing.

darron
Maemo is a pretty sweet system, and if I'm not mistaken Nokia is reworking it from a side-project to the forerunner of their applciations. It's a limited platform right now (mostly just on Nokia N800, N810 if I'm not mistaken) but if Nokia phases out symbian for maemo then it would be a great thing to have a head-start on.
STW