PDA

View Full Version : Microsoft tries to get iPhone developers to port their apps ...


MacBytes
Aug 2, 2009, 09:37 PM
http://www.macbytes.com/images/bytessig.gif (http://www.macbytes.com)

Category: Microsoft
Link: Microsoft tries to get iPhone developers to port their apps to Windows Mobile (http://www.macbytes.com/link.php?sid=20090802223733)
Description:: none

Posted on MacBytes.com (http://www.macbytes.com)
Approved by Mudbug

ct2k7
Aug 2, 2009, 10:00 PM
I've ported an app over.

windywoo
Aug 2, 2009, 10:50 PM
Stupid article. If the coders are competent they will want to port it for the challenge. If the coders are greedy they will want to port it for the money. There is no good reason to remain Apple exclusive unless your app absolutely requires iPhone features.

Windows already has tonnes of applications for it, and the developers didn't seem put off by the huge range of hardware for it. In fact, I would guess that most of the apps are developed by companies that are already cross platform. The iPhone didn't suddenly create an influx of programmers and all of them wanted to program in XCode.

vettori
Aug 3, 2009, 01:41 AM
There is no good reason to remain Apple exclusive unless your app absolutely requires iPhone features.


I don't agree. I think I will never port my apps to another platform. First because I think that the iPhone is really the best smartphone and will be for a long time. It has a great programming sdk and a good language.

Second, porting will be costly. And last, there's no comparable app store yet.

But, even if it was simpler, I think I'll stick with the iPhone.
I know it can sound stupid but the iPhone is the iPhone :)

sushi
Aug 3, 2009, 01:57 AM
Why not develop for multiple platforms? Some developers are iPhone centric just as others are Windows Mobile centric. However, some choose to develop cross platform so that their app is available on all platforms.

Maybe I am missing something, but it seems okay to me for iPhone developers to develop for other platforms and vice versa.

vettori
Aug 3, 2009, 03:24 AM
Maybe I am missing something, but it seems okay to me for iPhone developers to develop for other platforms and vice versa.

Probably it is, but we don't live of money only; to me programming on the iPhone and have been in app store since the day one is a "honor" and with my small contribute I'd like to make the iPhone better than the other not porting my apps to other platforms.

It's like Apple that keeps its OSX only on macs, just on my smaller smaller smaller scale ;)

sushi
Aug 3, 2009, 07:12 AM
Probably it is, but we don't live of money only; to me programming on the iPhone and have been in app store since the day one is a "honor" and with my small contribute I'd like to make the iPhone better than the other not porting my apps to other platforms.

It's like Apple that keeps its OSX only on macs, just on my smaller smaller smaller scale ;)
Please don't misunderstand me.

Kudos to those developers who are Mac OS X and/or iPhone/touch only. Fantastic for them.

I just don't see why it is a big issue if someone develops cross platform. That's all.

OllyW
Aug 3, 2009, 07:15 AM
I just don't see why it is a big issue if someone develops cross platform. That's all.

As they say, don't keep all your eggs in one basket. ;)

ct2k7
Aug 3, 2009, 08:18 AM
They're less restrictions on Microsoft's stance to applications being released. The reason for an App Store would be to have overall control over what applications are there, which doesn't make sense for Microsoft.

Now, I've ported a few apps ot Microsoft, and I'm glad not to have to go through an approval process which is becomming more stringent.

cwt1nospam
Aug 3, 2009, 03:15 PM
The reason for an App Store would be to have overall control over what applications are there, which doesn't make sense for Microsoft.
Of course it doesn't make sense for Microsoft. They don't care that people using Windows Mobile a year or two from now will likely need to run AV software on their phones. Heck, they'll probably sell it to them! :eek:

Michael CM1
Aug 3, 2009, 04:13 PM
I'm not a developer at all, but from the headaches I had *trying* to learn how to program, I would probably be one of those people who doesn't see the need for developing for every platform. Apple seems to be the top dog in mobile apps right now, so sticking there for a small developer seems to be smart. But if others love the challenge of developing for multiple platforms, go for it.

I don't know that I have ever seen a Windows Mobile phone outside of a store display, so I'd be asking Microsoft, "who exactly uses this and does it suck as much as Vista?"

raremage
Aug 3, 2009, 09:41 PM
And last, there's no comparable app store yet.


If you ask me, this is the biggest issue. I don't want to have to build a channel, that's what iTunes is for us. When MSFT has a similar capability, we'll look at porting.

qingren
Aug 3, 2009, 10:47 PM
new technologies bring us happy ,but alao trouble

SFStateStudent
Aug 3, 2009, 11:31 PM
What app developers will be attracted to their platform? Which are they wanting, apps that are FREE or the ones that cost $0.99 or more? Do they really care? :eek:

loslosbaby
Aug 4, 2009, 01:31 AM
Comparing iPhone OS to WinMo is silly. Even Marketing Types don't make that mistake!

To sell in WinMo you have to support processor types, memory footprints, and locales. Work it out, its heinous.

Now, don't get me for an Apple Fanboy, no sirree...I like my iPhone but I'm all business.

There are many many more winmo people out there, but, the cost to access that market is really really high, just for testing alone! To be serious about it, it would be many times (5x? 10x? more expensive to access than the iPhone market).

For iPhone, you have to test with three OS's...and handle the lack of a microphone/speakers in some cases.

One screen to rule them all, and in the UI bind them...

That's it.

G.

vettori
Aug 4, 2009, 08:15 AM
Please don't misunderstand me.
I just don't see why it is a big issue if someone develops cross platform.

I don't think it is an issue. If one want to develop for multiple platform it's ok.

However Apple has built a so great platform and pervasive frameworks that to port an app that it does more than showing an image could be very hard.

That said for me remains the "I'm an Apple guy" thing, so unless I really need it I will not develop for other platforms.

loslosbaby
Aug 4, 2009, 11:48 PM
I don't think it is an issue. If one want to develop for multiple platform it's ok.


Well, its not that easy.

Are you familiar with the Model-View-Controller concept? It breaks up the core information engine from the way its looked at.

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

If we were making (let's say) a checkers game, the only part you could really port would be the Model part, the part the knows about spaces, what pieces are on them, and the rules about how the pieces move, and the consequences of the move. The Model is totally abstract. It can be written to be portable-ish, kinda.

"Kinda" means that its still a re-write. The reason is that the iPhone doesn't use a language that is available on WinMo, or WinXX anything, Objective-C.

http://en.wikipedia.org/wiki/Objective_c

Parts of Objective-C programs look a lot like C, but, in its core, its totally different. C has very little high-level support for complex data like you'd find in C++'s Standard Template Library or the many libraries available to Java for instance.

Example: Strings in C are just not really there. They are the source of most of the security problems (underrun, overrun, smashing) you read about. These problems are basically impossible in Objective-C and Java, and C++ if you use STL.

So, if you have a loop, that counts something, or, oh, geez, a sound processing program that has a core part that does signal analysis and volume manipulation, gosh, that part would port.

A game? No way.

On iTunesU, Stanford has a series about programming the iPhone. One of the aux. episodes, called "From Upstart to Startup" featuring Jessica Kahn of Tapulous describes that for them to put their game (Tap Tap Revenge) on other machines besides iPhone, it was a total re-write.

iTunesU Stanford Stuff: http://itunes.stanford.edu/

Sure, Tapulous knew what they wanted to do, they had some bits and pieces, but the graphics, input, actual graphic images, sounds etc., all had to be re-done.

Think about it:

- 11 CPU types
- 4 Memory foot prints
- 4 different WinMo versions (5, 6, 6-refresh and now 6.5)
- 35 different graphics resolutions
- 4 different input types (keyboard, keyboard + touch screen, touchscreen, and EM touch like iPhone)
- Don't forget some windows mobile computers run CE!

...oh and don't forget about all those locales. Multiply each factor by the other and you get a good idea of what testing is like.

On the same iTunesU series they have the guy that wrote Tweetie for mac and iPhone both and he talks about adding locales himself like "oh, no big deal, people volunteered to do the translation and I put it in myself. I paid 200$ for a Japanese localization". Having been a windows developer, and knowing what Resource Bundles mean (more testing) I say, ...

"Wow,...why bother with WinMo."

Android is a similar mess. Pre, for now, is pretty singular, but, for their survival, don't count on it.

iPhone is a closed system, just like the game consoles are. MS has hit it out of the park (except for hardware problems costing them 1.7B$) on the 360 and rules the world in consoles now, because its a closed system and it tries to do a limited function. MS has it so right on 360, and so wrong on windows. WinMo is just even more messed up

Windows right now is where Netware was in 1990...totally dominant, the standard, all programmers are coding for it because its the stuff, and its totally obsolete. DLL's? Drive letters? The Registry Gameshow? You know, "hey, let's roll it back and see if it works..." fun fest. Reboot for everything?

DLL's by themselves exist as a monumental embarassment to the company. The date back to 20 megabyte hard drives in 1988, and, make software not only insecure, but totally untestable.

Back to handhelds: I have had handhelds from the HP200LX onwards...newton, Palm everything (even the VII crap-puck wireless bogotron) and have had the Treo 650, 700m, Symbol Palm scanner, it just goes on. All of them were junk except for the 200LX and the early B&W palms.

They've all been junk because of junk OS's and the total chaos it was for developers (like me) to learn yet-another-OS-and-graphics-model. The closed world that iPhone is, now that the OS is feature-rich, is refreshing.

Its Apple's game to lose now on handheld.

G.

vettori
Aug 5, 2009, 02:16 AM
Well, its not that easy.


Hey have you read the following lines on my post :rolleyes: ?

:p

Buzz Bumble
Aug 5, 2009, 02:24 AM
Same old news - Microsoft can't actually do anything themselves, they have to copy or steal everyone else's work and ideas. :rolleyes:

BongoBanger
Aug 5, 2009, 04:47 AM
Same old news - Microsoft can't actually do anything themselves, they have to copy or steal everyone else's work and ideas. :rolleyes:

You do realise that there were apps for WinMo about five years or so ago and most of the commercial apps for the iPhone - games excluded - are ports of the equivalent WinMo/S60 apps, right?

loslosbaby,

DLLs aside, I agree with a lot of what you say. That said, I don't think MS will be looking to design new aps and port them wholesale to pre WinMo 6.5 versions. I also beleive that they've set design standards for future WinMo 6.5/7 handsets which should cut down the hodge podge of variation that exists now and make design easier.

The problem with closed unitary systems is that once something better comes along then it's screwed. There would, after all, be little point in developing for the iPhone if it has been replaced as the smartphone of choice within the general populace.

In ither words; don't put all your eggs in one basket.

BenjyD
Aug 5, 2009, 06:40 AM
Well, its not that easy.

Are you familiar with the Model-View-Controller concept? It breaks up the core information engine from the way its looked at.

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

If we were making (let's say) a checkers game, the only part you could really port would be the Model part, the part the knows about spaces, what pieces are on them, and the rules about how the pieces move, and the consequences of the move. The Model is totally abstract. It can be written to be portable-ish, kinda.

If you're serious about portability you'd write the core of your app in portable C/C++ and then have a thin platform-specific UI layer on top of it. You can abstract away most of the platform differences through some kind of portable platform library that exposes the system functionality you need in a platform-independent way.

It's not like you can't compile C/C++ for iPhone, you only have to use Objective C for the system API related stuff. I think something like 90% of the code in the app I work on runs unchanged on everything from iPhone to Windows Mobile or Linux.

loslosbaby
Aug 6, 2009, 01:04 AM
If you're serious about portability you'd write the core of your app in portable C/C++ and then have a thin platform-specific UI layer on top of it.


That sounds like a good idea, under the "generally acceptable practices" type of thing.

One caveat: Can't use C++. C++ is a no-go on iPhone.


You can abstract away most of the platform differences through some kind of portable platform library that exposes the system functionality you need in a platform-independent way.


I believe you, and I've used two different commercially-available libraries to do the same thing, but, I'm not aware of one that exists at this time. Me personally, I'm no super guru about GUI and have no idea of someone has made the Universal Translator between OpenGL ES and whatever DirectX -13.666 version that WinMo is using.


It's not like you can't compile C/C++ for iPhone, you only have to use Objective C for the system API related stuff. I think something like 90% of the code in the app I work on runs unchanged on everything from iPhone to Windows Mobile or Linux.

Notes:
- Can't use C++
- Gotta use ObjC for the utility, system, network and many other parts.
- If Tapulous, a company with 15x resources that I have doesn't or can't do it, then, I'm not gonna try.

I'm a programmer sure, but, I'm a business man first. I don't see a definitive and addressable market.

I led the team the designed GraphOn's thin client, the first (and only since) remote desktop display client that works over low-bandwidth. Initially it was only X windows, but, it worked (awesome) over a 14.4 modem line. The remote desktop clients these days pound DSL into the ground...yuck.

We had to support Win16 and Win32, and had to support Solaris, SunOS, HPUX (two kinds), AIX, SGI, linux (two kinds) and DGOS.

I'm tellin' you, that was only a medium-sized test matrix. The test matrix for WinMo is quite a bit bigger, and, I'm just not gonna bother.

G.

ob81
Aug 6, 2009, 01:36 AM
I wish this would get fully adopted. Some of the apps are getting pretty ridiculous. A bigger audience across multiple platforms for an app may convince some developers to put a little bit more time and thought into their product.

BenjyD
Aug 6, 2009, 03:34 AM
That sounds like a good idea, under the "generally acceptable practices" type of thing.

One caveat: Can't use C++. C++ is a no-go on iPhone.


You can compile C++ files just fine in XCode and link them. You have to hide them behind a C interface, but it saves rewriting all the C++.

Edit: I hadn't realised that you could use C++ in Obj-C files if you use a <a href="http://developer.apple.com/iPhone/library/referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/index.html">.mm</a> suffix on the file.


I'm a programmer sure, but, I'm a business man first. I don't see a definitive and addressable market.


Sure, that's the main problem: is it really worth porting from the biggest market to a smaller (in terms of app sales), fragmented market like WinMob? If you didn't plan from the start to write a portable app then it's going to be really expensive to port.

roach
Aug 6, 2009, 10:32 AM
Sure, that's the main problem: is it really worth porting from the biggest market to a smaller (in terms of app sales), fragmented market like WinMob? If you didn't plan from the start to write a portable app then it's going to be really expensive to port.

Wow...this is the same issue Apple is having in trying to convince developer to port their apps to its desktop OS. Apple also does this and went as far as creating bootcamp. And I am not suprise if all of Apple's strategy is base on linking as closely to Window so it will be able to make it easier for developer to port Window apps...in term of adapting PC hardware (Intel) and alterning its OS.

Now, imagine if Winmo created something like bootcamp to run iPhone apps on its Winmo...Fanbois would be up in an uproar!

loslosbaby
Aug 7, 2009, 03:49 AM
You can compile C++ files just fine in XCode and link them.

I was shocked to hear that same thing in the CS193P Stanford iTunesU podcast (vol 2). I used ObjC since the NeXT days but stopped gosh, in 93? In an important way, ObjC predates actual C++. But, then homeboy said that Java has multiple inheritance, ...LOL


If you didn't plan from the start to write a portable app then it's going to be really expensive to port.

THAT is the trick: if you write it from the start to be portable, then you have a chance, especially keeping the core (engine) part of (e.g. a game) "playing the same" even if it can't look the same.

Portable programming is almost a lost art, with linux having defeated all forms of UNIX and 95% of linux running on 32bit x86, what's to port?

Sigh, this all makes a hacker feel old.

Yeah, so, I'm praying for a phone-equipped apple tablet device only as big as will fit in my back pocket of your average blue jeans. That's the one I want...well, I'd like a ruggedized version with barcode scanner too (read: Intermec style, like the C50 perhaps).

Well, then, there'd be the panasonic toughbook version of a macbook too...

Sigh.

G.