Forgot your password?
typodupeerror
Programming Cellphones IT Technology

Which Phone To Develop For? 344

Posted by kdawson
from the building-a-house-around-it dept.
Rob MacKenzie writes "I have to decide on a mobile phone to develop for. We're building a house with some automation built in, and we want the mobile phone to be able to control certain aspects of it, and retrieve information on what's going on in the house. Our choices are the usual suspects: Apple's IPhone, RIM's Blackberry, Nokia's line (Symbian), any Android phone we can get in Canada, J2ME generic app, or a Web-based UI we would interact with in the phone's browser. What would you choose if you had to go with one? Which exact model? We will be buying a few to develop for, so price is a bit of an issue."
This discussion has been archived. No new comments can be posted.

Which Phone To Develop For?

Comments Filter:
  • Windows Mobile? (Score:5, Informative)

    by Flyskippy1 (625890) on Friday October 24, 2008 @05:22PM (#25503427)

    Why not develop it for Windows Mobile? It doesn't have as many restrictions as an iPhone or blackberry, is well established, is widely available, and has a good sdk.

    Though, I will say that the most flexibility would probably be from a web-based app. Then you wouldn't be limited to a phone. However, it wouldn't be too difficult to make something that could work both on Windows Mobile and desktop Windows.

  • by wandazulu (265281) on Friday October 24, 2008 @05:27PM (#25503505)

    ...and the "easiest" solution is to go the web route. You can determine, based on the browser identifier, what is connecting to your web server and adjust the CSS accordingly. In our app, for example, I use a CSS library from Google Code to make the app look like an iPhone app when I detect it's an iPhone. I use a different CSS file when it's anything Blackberry.

    Your server, therefore, is what should be the controller. I'm assuming you want to connect somehow to things like the air conditioning, lights, etc. The web server can invoke a CGI program, as an example, which talks to whatever serial lines are necessary to control said equipment.

    Even better, you don't need to buy the actual hardware; get XCode and you get an iPhone simulator. Likewise, RIM has a simulator for every freaking model of every phone they've ever released (as well as for the different carriers).

    Total cost to you should be zip for development purposes.

  • Re:I'd go iPhone: (Score:2, Informative)

    by Anonymous Coward on Friday October 24, 2008 @05:28PM (#25503517)

    A little unclear from your post if you are trying to sell an application or if this is for your own house that you are building.

    If you want to sell an application, Apple provides a great distribution mechanism albeit a currently buggy suite of tools to get your application onto the store.

    If it's for personal use, they also provide an ad hoc means for loading applications on specific devices without having to post it to the application store.

    Something to keep in mind is that if you want to develop on the iPhone, you need a Mac OS X Leopard development environment.

  • Re:I'd go iPhone: (Score:1, Informative)

    by Anonymous Coward on Friday October 24, 2008 @05:29PM (#25503553)

    He was referring to the iPod touch, retard.

  • Re:I'd go iPhone: (Score:4, Informative)

    by alexj33 (968322) on Friday October 24, 2008 @05:33PM (#25503611)
    You've got a nice long road ahead of you if you target the iPhone.
    http://www.gizmodo.com.au/2008/09/how_apple_picks_which_apps_make_it_to_the_app_store-2.html [gizmodo.com.au]

    That is, unless it's a flashlight too.
  • by doricee (314885) on Friday October 24, 2008 @05:41PM (#25503705)

    Sorry about the repost, forgot to preview and put up that unreadable wall of text...

    Apple's IPhone, Obj-C and you need an intel mac dev platform + Apple dev license. But if you got those yea it's pretty fun to dev on. Not really the same as the others though.

    RIM's Blackberry, supports generic j2me and has it's own incompatible java api too.

    Nokia's line (Symbian), supports generic j2me.

    Android phone we can get in Canada. java based but not the same as generic j2me.

    J2ME generic app. Preferred if you just want to make the app once and have it support the largest number of devices. (doesn't allow the really cool stuff though)

    Web-based UI. Never tried this since I only work on mobile games.

    The other dev handles WinMo though it seems pretty easy to work with.

    Also keep in mind that Verizon likes it's apps in BREW. (the biggest money maker in the US by far, though At&t is pretty big too)

    And if you're going international, most support various versions of java. (often incompatible though)

  • by Beardo the Bearded (321478) on Friday October 24, 2008 @05:58PM (#25503879)

    Consumer-grade crap is crap and it'll fail.

    Get a real automation system and wire your house up properly. Hell, with what you're spending on your phone "solution", you could easily get some PLC controls and wire up your house so that it will last for the life of your house.

    Here's some less-expensive stuff, but still of very good quality:
    http://web4.automationdirect.com/adc/Home/Home [automationdirect.com]

    Of course, I'm just an EE that works in automation and control. What do I know?

  • by Tetsujin (103070) on Friday October 24, 2008 @07:32PM (#25504889) Homepage Journal

    You can get the phone in Canada RIGHT NOW [koolu.com], you don't have to hack it like an iPhone or beg someone in the USA to send you one like the G1, and it is completely open source so there is no stupid EULA's to get in the way.

    You know, in some ways that phone is real appealing... Particularly the whole "hackable" aspect. In other ways it looks like complete garbage, at both the hardware and software levels... I have trouble these days getting past the lack of a keyboard. I mean, I was a Palm fan until they decided to stop meaningfully improving the OS, so I'm down with pen computing - but I've also been using a Treo 650 for a couple years now, and I use that built-in keyboard all the time. I hate the idea of being without that.

    I would be all over the G1, personally - except I hate the idea of a mobile device that doesn't allow you to develop and install native code. I don't like the idea of a Linux system that can't run "bash", or run the same software I run on my Linux machine at home... And I don't like the whole idea of my phone having to waste cycles converting one instruction set to another. I've had enough of that on the Treo with PACE.

    Of course I recognize the benefits of a virtual environment for sandboxing, and of an API that's really designed for phone use... But to me the point of running Linux on a device is to be able to do Linuxy things with it...

    All this is almost enough to make me turn to Windows Mobile - it doesn't require everything to go through an emulation layer like Android does, its operating software is a lot more mature than OpenMoko, you can get decent hardware for it (sliding keyboards, etc.)... Basically, it's still more of a "portable computer" system adapted to work as a phone (like PalmOS on the Treo) rather than "high-functionality phone" system like Android...

    Why they gotta make this so hard? Android looks great except the whole "Linux appeal" is negated by the fact that you apparently can't actually get at it...

  • Re:Windows Mobile? (Score:3, Informative)

    by Arterion (941661) on Friday October 24, 2008 @07:33PM (#25504891)

    You don't have to buy a copy of Visual Studio to use the SDK. You can compile through the command line tools. It's just harder that way.

    You can also use .NET on Windows Mobile phones, so your code can be portable to Windows and Mono -- which pretty much covers all the bases.

    It is also possible to install a JVM on a Windows Mobile phone, and write your app in Java. Then you could probably use Eclipse, or what have you.

  • by Anonymous Coward on Friday October 24, 2008 @08:31PM (#25505401)

    Windows Mobile is easy to develop for, but Visual Studio will cost you.

    Visual Studio Express is free as in beer (yes, of course you'll need Windows to ru it on, but that's nothing compared to iPhone/iPod Touch requring you to develop on a Mac), and you can distribute apps without going through anything like the darned Apple channel.

  • by Josh Triplett (874994) on Friday October 24, 2008 @08:43PM (#25505515) Homepage

    If you build a web app, it might not be able to take advantage of the phone's hardware, like the GPS. I originally built a web app but bit the bullet and wrote a native iPhone app for this very reason.

    Fair point in general, but for the specific case of geolocation, some upcoming standards will allow pages to access that information if the user allows it.

    https://developer.mozilla.org/En/Using_geolocation [mozilla.org]

  • iPhone (Score:2, Informative)

    by FreeBSD evangelist (873412) on Friday October 24, 2008 @09:06PM (#25505725)

    You guys didn't read the question. He's not asking which platform has the largest installed base or anything like that. He's asking the best way to scratch a personal itch.

    The iPhone SDK running on a OS X Leopard machine beats the development platform of those other phones hands down. The only drawback is if you =don't= want to distribute through the apps store, or Apple rejects your app, you have to buy the commercial developer's license so you can get your own signing key. But you don't have to pay anything (nada) until after you've got your application completed and running in the emulator. Then it's $99 to submit to Apple, or $299 to sign and distribute yourself.

    And, at https://developer.apple.com/iphone [apple.com] are video tutorials, reference libraries, sample code, how to's, tools, etc.

    Make it easy on yourself.

  • Re:I'd go iPhone: (Score:5, Informative)

    by XxtraLarGe (551297) on Friday October 24, 2008 @10:26PM (#25506251) Journal

    Are you implying that developing and testing on a iPod will make the software sellable for iPhone?

    Actually, that's absolutely correct. If you aren't developing an app that has iPhone specific features (camera, GPS or phone), then yes, developing for the iPod touch & the iPhone are the same for all intents and purposes. Quit trolling and do some research.

  • Re:I'd go iPhone: (Score:4, Informative)

    by lysergic.acid (845423) on Friday October 24, 2008 @11:46PM (#25506651) Homepage

    well, Android Market takes 30% as well. according to Google [blogspot.com], developers are required to pay a one time $25 application fee when they register, after which they're free to upload their applications without any need for validation or approval. so instead of having to go through Apple's block box approval process, quality control will be implemented through a collaborative filtering system (user ratings) similar to Mozilla's extensions library.

    it's been stated that developers will receive 70% of the revenue from each purchase, so that's inline with Apple's 30% service fee. though apparently Google doesn't receive any of the money made from Android Market:

    developers will get 70% of the revenue from each purchase; the remaining amount goes to carriers and billing settlement fees--Google does not take a percentage. We believe this revenue model creates a fair and positive experience for users, developers, and carriers.

    so again it looks like the cellphone carriers are trying to get their grubby little fingers on other people's money solely on the basis that they control the proprietary cellular networks the public depends on. well, at least it's good that Google is encouraging innovation and opening the platform to independent developers.

    with the collective weight of the Open Handset Alliance [wikipedia.org] (which is composed of pretty much all of the major players in the mobile phone/smart devices industry) behind the Android platform, it has a good chance over overtaking Windows Mobile and dominating the mobile devices market. i mean, Android has pretty much vertical as well as horizontal integration. they've got all the major mobile carriers, software developers, handset manufacturers, semiconductor manufacturers, and handset manufacturers. the only big names companies that aren't behind Android are Apple, Microsoft, and Verizon. personally, i don't think they stand much of a chance against the OHA.

    Apple gets their iPhone processor/chipset from Samsung and Marvell, both of who are now member of the OHA. and HTC, a major Taiwanese ODM that develops many popular Windows Mobile-based carrier-rebranded handsets has also joined the OHA. we know that their recently released T-Mobile G1/HTC Dream's Qualcomm MSM7201A processors (shared by the Palm Trio Pro) supports Android, so it's likely that other Qualcomm MSM line processors will also run Android. and it's reported that the HTC Vogue/Touch (Vodafone VDA Touch, Okta Touch, O2 XDA Nova, T-Mobile MDA Touch) can also run Android on is TI OMAP 850 processor. so chances are, other handsets based on the OMAP line will also support Android.

    in fact, _all_ of HTC's smartphones [wikipedia.org], which represent a major segement of Windows Mobile handsets, use CPUs designed by other OHA members, including Texas Instruments, Intel, Samsung, Marvell, and Qualcomm. and if the one of HTC's Windows Mobile-based devices already runs Android, then the rest may will likely follow.

    and a look at other Windows Mobile Smartphones [mobile-sg.com] shows that they all pretty much run on the same TI, Intel, Marvell, Qualcomm CPUs. so it seems these OHA members produce the vast majority (if not all) the CPUs used in mobile devices--or at least those currently running Windows Mobile. under these circumstances, i would not be surprised at all if Android starts supporting replacing Windows Mobile as the dominant mobile operating system.

  • by Dan East (318230) on Friday October 24, 2008 @11:51PM (#25506683) Homepage Journal

    I've developed for both Blackberry and Windows Mobile. You can develop for both platforms for free, and do not even have to sign applications. With Blackberry you do have to sign your application to use certain Java classes deemed "secure". It costs $100 for a license allowing unlimited signing. However, you can do full J2ME (plus some BB APIs) for free. Blackberry UI, processing speed and graphics capability is very, very poor. I have recently been experimenting to push Blackberry graphically, and have hit nothing but dead-ends (for example, the native display is 16 bit RGB-565, but all APIs to push raw image data are 32 bit ARGB 8888, so a very slow conversion is done by the system). However if you stick to API-supported rendering (basic font rendering, blitting with alpha channel, simple drawing primitives) then you can do quite a bit with good performance. Just don't expect to be able to do your own bitmap-level rendering in realtime (like rotozoom, bumpmapping, texture mapping, etc). All development must be done in Java.

    Windows Mobile offers a ton of CPU power and RAM (I've ported both Quake I & II for example). Devices are available with 3D accelerated GPUs, touchscreens, VGA-resolution displays, CF, SD, Wifi and Bluetooth (all in a single device even). So as far as raw options in hardware capability and form-factor, Windows Mobile gives you the most choice. If your app will do some really heavy lifting graphically then Windows Mobile is the better choice. You can develop in the widest variety of languages for this platform - C, C++, C#, Java, ARM assembly, Pocket C, and Visual Basic (just to name some off the top of my head). With both iPhone and Blackberry you are restricted to a single language.

    As far as iPhone goes, I've not delved there at all. Things I've heard that concern me are a non-standard programming language, restrictive distribution policy, and whether or not you can simply write and build an app and stick it on your own phone or not without having to sign it or otherwise register it with Apple.

  • by Anonymous Coward on Saturday October 25, 2008 @12:27AM (#25506859)

    Given the larger number of available models, I'd actually choose windows mobile as well... if you're going for a software package you can sell, there are plenty of winmo phones already out there.

    If you're looking for something top of the line to get right now, the Palm Treo Pro is very good, and the hardware keyboard/touch screen combo will probably work well for any controls you're planning to build in your home automation project.

  • by phantomfive (622387) on Saturday October 25, 2008 @02:34AM (#25507535) Journal

    Things I've heard that concern me are a non-standard programming language,

    Non-standard programming language? Come on, if learning a new language puts you off, then you really need to work on your programming skills. What is a 'standard' programming language, anyway? C#? Objective C is 100% backwards compatible with C, and will take you an afternoon to learn. Your much bigger problem will be figuring out the API, since it is significantly bigger.

  • by GenP (686381) on Saturday October 25, 2008 @03:15AM (#25507701)
    Weird, RIM's site says $100 for a signing key, and then $20 on the order page.
  • by AgentPhunk (571249) on Saturday October 25, 2008 @07:49AM (#25508683)

    There is no Mobile development with VS Express. You either need VS 2005 Standard or VS 2008 Professional.

We will have solar energy as soon as the utility companies solve one technical problem -- how to run a sunbeam through a meter.

Working...