Announcing: Slashdot Deals - Explore geek apps, games, gadgets and more. (what is this?)

Thank you!

We are sorry to see you leave - Beta is different and we value the time you took to try it out. Before you decide to go, please take a look at some value-adds for Beta and learn more about it. Thank you for reading Slashdot, and for making the site better!

The Headaches of Cross-Platform Mobile Development

samzenpus posted about 3 years ago | from the hard-stuff-is-hard dept.

Programming 197

snydeq writes "Increased emphasis on distinctive smartphone UIs means even more headaches for cross-platform mobile developers, writes Fatal Exception's Neil McAllister, especially as users continue to favor native over Web-based apps on mobile devices. 'Google and Microsoft are both placing renewed emphasis on their platforms' user experience. That means not just increased competition among smartphone and tablet platforms, but also new challenges for mobile application developers. ... The more the leading smartphone platform UIs differ from one another, the more effort is required to write apps that function comparably across all of them. Dialog boxes, screen transitions, and gestures that are appropriate for one platform might be all wrong for another. Coding the same app for three or four different sets of user interface guidelines adds yet another layer of cost and complexity to cross-platform app development."

Sorry! There are no comments related to the filter you selected.

eh (2, Insightful)

Anonymous Coward | about 3 years ago | (#38757128)

I'd personally call them migraines.

If you're gonna do it, do it right (5, Insightful)

s73v3r (963317) | about 3 years ago | (#38757134)

If you're gonna do cross platform app development, at least make the effort to follow the platform's UI guidelines. As an Android user, nothing irks me more than having an app with the iOS icons and navigation buttons simply copied over. I'm sure the same is true for users of other platforms.

Re:If you're gonna do it, do it right (-1, Redundant)

TheCouchPotatoFamine (628797) | about 3 years ago | (#38757198)

what you're saying is, you'd like a UI *different* then your platform, so long as it's consistent? or are you saying that it MUST work along with your platform? at least with HTML apps, i guess people expect less (consistency).

as far as not liking iOS metaphors in your android env (happy honeycomb android tablet owner here), id say that's just a lot of QQ....

Re:If you're gonna do it, do it right (4, Informative)

s73v3r (963317) | about 3 years ago | (#38757308)

No, I want people writing apps for my platform to be following the platform's guidelines. It's not going to kill them, and it makes the experience better for everyone.

Re:If you're gonna do it, do it right (1)

TheCouchPotatoFamine (628797) | about 3 years ago | (#38757344)

well then... sounds like a problem for tool-makers (jquery mobile auto adapting, perhaps?) then app-makers...

Re:If you're gonna do it, do it right (0, Informative)

Anonymous Coward | about 3 years ago | (#38757364)

the tools are available, lazy programmers don't use them.

Re:If you're gonna do it, do it right (1)

adamgolding (871654) | about 3 years ago | (#38757758)

What are the tools?

Re:If you're gonna do it, do it right (-1)

Anonymous Coward | about 3 years ago | (#38757518)

It's THAN, not then, you insufferable sack of cum.

Re:If you're gonna do it, do it right (4, Informative)

thegarbz (1787294) | about 3 years ago | (#38757864)

In theory maybe, but in practice the phone's UI is an open canvas for developers.

There's no way of writing code that is portable between iOS and Android. If for no other reason than the different programming languages, there's also capabilities and methods used on one system which are not appropriate for the other. I.e. iOS typically places a back arrow on the top left of the screen, Android devices typically have a dedicated back button on their phones.

The problem is we expect apps to perform consistently on our platform. This requires the design guidelines for the platform are followed.

Realistically given how you need to recode your app in a different language there's no reason a developer shouldn't simply adjust their app in the process to meet the design guidelines.

Re:If you're gonna do it, do it right (1)

hitmark (640295) | about 3 years ago | (#38758484)

Is the back button there pr app in iOS, or OS provided like in Android (either hardware, or optionally, as one move to 4.x, software)?

If it is OS provided in both, i am not sure i see the problem. Unless one worry about putting a in app ui element confusingly close to a OS element.

Re:If you're gonna do it, do it right (2)

Darinbob (1142669) | about 3 years ago | (#38758438)

Too many youngsters who've never encountered "portability" concepts before? Are we going to get yet another push for a one-world-os just so people don't have to think so much?

Re:If you're gonna do it, do it right (-1)

Anonymous Coward | about 3 years ago | (#38757558)

Excuse me king Potato. Do you mind if I toungepunch you in the fartbox?

Re:If you're gonna do it, do it right (0)

Anonymous Coward | about 3 years ago | (#38758154)

Do you not know how to read? He wants the UI the same across all apps of his device, meeting the UI guidelines set my Google for Android.

Re:If you're gonna do it, do it right (1)

Anonymous Coward | about 3 years ago | (#38757540)


That's not how cross-platform apps work. Cross platform apps (see Adobe) have a consistant UI, no matter what they run on. Some exception may be taken to make it align with the underlying OS's visual theme system, but that's usually limited to the "titlebar" piece of the application and not the menus.

Re:If you're gonna do it, do it right (2, Insightful)

Anonymous Coward | about 3 years ago | (#38757654)

And nothing irks me more than users of any system expecting everything to work exactly to same with all the bells and whistles attached. F-ME for being a web developer that's had to deal with the nightmare that was (and sometimes still IS) IE 6 and the fucking "it doesn't work on my iPhone."

Sometimes, for production time purposes, and the rampant demands (re: bitching) of users, we have to take fucked up shortcuts to make things get done.

Re:If you're gonna do it, do it right (2, Insightful)

Anonymous Coward | about 3 years ago | (#38758756)

Please spare us your software entirely in future then.

lol, cry more, noob (0)

0xdeadbeef (28836) | about 3 years ago | (#38757154)

It isn't hard to learn another UI API. They're all fundamentally the same.

Re:lol, cry more, noob (4, Interesting)

TheCouchPotatoFamine (628797) | about 3 years ago | (#38757302)

well.. not strictly true. IIRC iOS and android are both converging on (or already have) a view-based hierarchy... the way god intended. Personally i hate the signal-and-slots or win32 methods versus the DOM/events methodology - even if HTML's take on it is a little sprained... however, when i look at iOS, i see the DOM/event pattern, just without the xml (for the programmer, anyway, it's right there in the NIB..)

Re:lol, cry more, noob (1)

Anonymous Coward | about 3 years ago | (#38758404)

well.. not strictly true. IIRC iOS and android are both converging on (or already have) a view-based hierarchy...

Yeah, it's taking a while though, since they have to wait until they can count all of their overlapping patents on each little trivial addition, launch a barrage of lawsuits at each other, and settle out of court.

srsly (0)

Anonymous Coward | about 3 years ago | (#38757522)

Numbnut UI designers get paid good money to put together some interfaces, and then complain that "it's too hard"?

Have some cheese with that whine. Or, even better, quit your job: start living an honest life and stop taking your bosses' money, you lazy boob.

One app to make, multiple to purchase (5, Insightful)

phikapjames (811889) | about 3 years ago | (#38757190)

The one thing that irks me a bit about this whole situation is them complaining that they just can't write the code once and have it work across the different platforms, yet I'm still required to buy the same software separately on each platform. In my mind, you justify the cost to make it work for that platform by selling it on the specific platform. My opinion would probably be different though if I was able to buy the app once and not have to pay on each separate platform.

Re:One app to make, multiple to purchase (-1, Troll)

sosume (680416) | about 3 years ago | (#38757326)

But this is the way the prick in the turtleneck wanted it to be!

Re:One app to make, multiple to purchase (-1, Offtopic)

Ethanol-fueled (1125189) | about 3 years ago | (#38757714)

I do have breaking news from the mobile world - I have completed the first successful translation of the only written instance of the archaic Bix Nood dialect! You saw it here first, and this is the original text scripted into the tablet:

...mup da doo didda po mo gub bidda be dat tum muhfugen bix nood cof bin dub ho muhfugga

And its translation to English:

...but the shrew did no more good business being. That dumb motherfucking bitch knew of bein'a dumb ho, motherfucker.

From that, we can assume that the scribe was documenting a conversation with a friend about his troubles with women.

Advice (4, Interesting)

ackthpt (218170) | about 3 years ago | (#38757230)

Keep it simple, Stupid

I'm developing an app which can be run cross-platform and/or mobile. Turned out to be a giant nightmare when looking at user experience on a tablet or smartphone. So .. I bailed on anything whizzy and went back to finding the basic html and javascript to get things done -- look and work consistently on multiple platforms and also be visible in sunlight (something a lot of apps fail miserably at.)

Re:Advice (1)

s73v3r (963317) | about 3 years ago | (#38757320)

Here's the thing: Is your thing a website, that I access through the browser, or is it an app I purchase (or just download) in the platform's market? If it's the first, then ok. If it's the second, then that will just suck ass.

Re:Advice (0)

Anonymous Coward | about 3 years ago | (#38757534)

It's been my experience that you have a lot more control if it's a phonegap wrapped native app, than a browser app.

Re:Advice (0)

Anonymous Coward | about 3 years ago | (#38757656)

All phonegap apps I've ever seen have looked like shit, run like shit and been voted as the shit they are. Phonegap is a crutch for people who can't code worth a damn, to help them spread their shit around.

Re:Advice (0)

Anonymous Coward | about 3 years ago | (#38757670)

Agreed. I've been hunting and hunting and hunting for an example of a truly good phone gap app. Still hunting.

My experience differs from yours. (4, Informative)

tlambert (566799) | about 3 years ago | (#38758614)

It's been my experience that you have a lot more control if it's a phonegap wrapped native app, than a browser app.

My experience differs from yours.

In my experience, phonegap provides JavaScript extension based access to information local to the phone without any controls on its use by a third party, by subclassing UIView and then going to a web page. This includes but is not limited to location information, any history files you have, your contacts, and anything else available to a sandboxed application.

If the software isn't intentionally malicious in the first place, the app developers tend to suck off all your information into their database with no malice, but with about as much thought to security as you would expect from someone who was unable to limit themselves to uploading only the information relevant to the running of the application. That is to say, very little.

Given the lax security already apparent, the sites that show up in the UIView are typically changed by malicious third parties in order to trigger redirection to a site that does then pull the information off for malicious reasons. Whether that's because the originating site's phonegap App web page was attacked through one of any number of security holes which the app developer already proved themselves incompetent to protect against through their use of phonegap in the first place, or it's done via DNS cache poisoning, links in forums in the applications, or a dozen other ways isn't important. What's important is that everything that phonegap exposes to JavaScript is now exposed to the malicious third party.

I understand the reasoning behind phonegap. It unfortunately doesn't apply in an unsafe world.

I hope that people who would perhaps want to use phonegap understand the security implications, and the fact that if you're caught using it, you get kicked off the Apple App store for exposing those APIs to third parties whose URLs happen to get displayed in the UIView on your web site, for whatever reason.

-- Terry

Re:My experience differs from yours. (2)

xombo (628858) | about 3 years ago | (#38758838)

PhoneGap still imposes the security model that other applications support. For instance, you can inform users that it collects GPS data and Address book or forgo support for that plug-in entirely. They support this both with manually building it via the Android tool chain as well as through PhoneGap Build service. Reason being is that the API for PhoneGap is just communicating with native code underneath to access things like GPS and address book, requiring the permissions model all other Android apps use.

Re:Advice (4, Interesting)

thegarbz (1787294) | about 3 years ago | (#38757892)

So you're coding in the most inefficient way for each device to run your app then?

I feel for you. Your problem has been experienced by many who don't wish to rewrite that Objective-C app in Java, don't want to maintain two packages on different platforms without common bugs, and don't want to re-design your app so that on iOS it has a back button in the top left while on Android it obeys the hardware back key.

However before you continue I suggest you look at the ratings of apps on each market that are written in the way you're suggesting. Inconsistent with the native UI of the platform makes the app look .... cheap. An app that runs in HTML / JS is inherently incredibly slow compared to a native app which further upsets the user experience.

If you want to write a 5star app you'll likely need to abandon any hope of cross platform compatibility and simply code from the ground up for each platform.

Re:Advice (1)

DaleCooper82 (860396) | about 3 years ago | (#38758144)

So, how do I use your app/read data while offline? In airplane for example? Roaming users will kill you for extra costs, etc...

Re:Advice (-1)

Anonymous Coward | about 3 years ago | (#38758244)

Aaand another idiot advising us to... surprise, surprise... dumb things down.

Just because you gave up, doesn't mean others don't strive beyond the horizon.
I speak from experience here. I'm the one they call when "it can't be done". I did web applications in 1999. AJAX in 2002. (Yes, the API didn't exist yet.) 3D games on the web since a year ago.
Yet still this is what I consider "inside the horizon".

What I strive for now, is a native Haskell OS for mobile phones that goes completely in the opposite direction from all the dumbed-down and pointless bling UIs of these days.
Can't be done?

That's why I'm doing it! Can't be done YET.

Simple = BAD. Horribly bad. Crippling bad.
Because it makes things *less* efficient. Or in your primitive language: "harder".
And efficiency is the original goal you forgot about in your own quest to oversimplify things because you got no spine to say no to the retards who are too lazy to use their brains.

I hope you're going under, you piece of shit.

The Cloud (-1, Offtopic)

Anonymous Coward | about 3 years ago | (#38757262)

I created my own iCloud when iFarted.

The past repeating itself? (0)

Anonymous Coward | about 3 years ago | (#38757264)

The splintering of the smartphone market seems to be almost identical to the splintering of the Unixes in times gone by. I wonder what it will take to "unite" them - perhaps the rise of another Microsoft? Perhaps some flavor (or flavors) of Linux will rise to the occasion. Or, perhaps right now there is a young Finnish college student writing a new OS even as I type...

Re:The past repeating itself? (3, Insightful)

viperidaenz (2515578) | about 3 years ago | (#38757390)

I wonder what it will take to "unite" them

Nothing. They dont want to be united. The "app" ecosystem is a competitive advantage for the OS. If all the apps are available for all the platforms, its no longer an advantage. Where do you think the "There's an app for that" slogan came from?

HTML5 & Weever Apps (3, Interesting)

Anonymous Coward | about 3 years ago | (#38757288)

In the meantime, cross-platform, easy-to-develop HTML5 app frameworks are showing astonishing growth. In the least week alone we've seen three new Javascript + HTML5 frameworks released. And while it take consumers some time for consumers to get wise to the AOL-like 'we are the only (mobile) web' branding that Apple has established - the marketing advantages of one app that works across all touch phone and tablets and is actually affordable is pretty undeniable today - especially as web-app technology continues to mature.

At Weever Apps (disclaimer, I'm the lead designer) that's the goal: disrupt the expensive, case by case, walled garden model and produce useful apps that actually meet the end-goals of most organizations. We started as a couple of not-for-profit oriented programmers that just couldn't stand how bad the current mobile/web/app situation was out there - our clients couldn't afford a proper mobile experience for their constituents, and that pissed us all off...

Today, we've grown. We've hooked into amazing, established open-source web technologies like Wordpress, Joomla! and Drupal, created an open API and new RSS spec (RSS3 for semantic/web relationships, find it on github) and basically proven that web innovation can outpace mega-companies - we know this, because we're doing it and winning over former native-app clients. And are *web* apps are still affordable, useful and *accessible* to the at least 3/4 of companies that haven't 'gone mobile' today because of a combination of cost, utility and just sheer confusion with all the per-platform options out there.

Check out "Why I make web apps" by our lead programmer Rob Porter:

Or just get a free app at http://weeverapps.com if you're interested. We're new and still adding lots of features - but I can confidently say that we're proving that there are better ways than the status quo to add value to the web and mobile - and we're not the only ones doing it. :)

The Horror: Competition (2)

yeltski (1438587) | about 3 years ago | (#38757290)

This is most horrible! Interfaces are competing for usability and user experience and you target one platform at a time and pay attention to detail and nuance at that!

Re:The Horror: Competition (1)

Anonymous Coward | about 3 years ago | (#38757852)

Making money isn't as easy as it was a few years ago when you could just release your iFart app and be a millionaire overnight...

Not that bad (1, Interesting)

t00le (136364) | about 3 years ago | (#38757312)

Check out LiveCode Runtime Revolution and you'll quickly dismiss this complaint, it has support for almost all desktops, tablets and mobile phone platforms. Write it once and it compiles for the platform in native code.

We use the hell out of it for the reason discussed above, not to mention that it allows you to build attractive cross platform products.

Re:Not that bad (1)

viperidaenz (2515578) | about 3 years ago | (#38757422)

Can't Apple reject your app if it has been written in or translated from anything but Objective-C?

Re:Not that bad (2)

t00le (136364) | about 3 years ago | (#38757486)

Apple can reject your app for any reason they seem fit, whether right or wrong. We have written a handful of apps that are on the market with RunRev, three were approved without issue and two were rejected.

Re:Not that bad (0)

Anonymous Coward | about 3 years ago | (#38758082)

If you not writing you app in C C++ or Objective C then don't even bother.

Re:Not that bad (3, Informative)

tlhIngan (30335) | about 3 years ago | (#38758370)

Can't Apple reject your app if it has been written in or translated from anything but Objective-C?

It's not a rejection criterion anymore. Apps can be coded in any language (including Flash), with the exception that no external code may be downloaded. C++ was always accepted, but JavaScript, Flash, C# are all acceptable.

The general method is to stick all your core logic in a C++ module and then interface to that the UI code. Then cross platform porting involves rewriting the small UI core. Obj-C can call C++ objects trivially (native function call). For Android, it's done through JNI, but supported via the NDK. For Windows Phone, it's a bit more difficult since the core may need rewriting in C#.

iOS encourages MVC development, and doing it properly means it can be trivially ported.

Thank You (4, Insightful)

SuperKendall (25149) | about 3 years ago | (#38757658)

As an iOS developer, I heartily thank you for continuing to use cross platform development solutions that leave such a wide gap for someone to come along and write a better native app.

Re:Thank You (-1)

Anonymous Coward | about 3 years ago | (#38757694)

Shut up, faggot.

Re:Thank You (0)

Microlith (54737) | about 3 years ago | (#38757834)

Ah look. It's the Apple Zealot who refuses to acknowledge that it is entirely possible to have good software that is cross platform.

Re:Thank You (1)

jo42 (227475) | about 3 years ago | (#38757950)

it is entirely possible to have good software that is cross platform


Re:Thank You (1)

Microlith (54737) | about 3 years ago | (#38757984)

Well that's cute. Show me how it's impossible?

I think expecting a rational, well explained response from you is asking too much.

Re:Thank You (1, Insightful)

Anonymous Coward | about 3 years ago | (#38757992)

The only cross platform apps I've seen that I'd consider "good" are games, and they're unique because they typically have entirely custom UIs.

Re:Thank You (1)

ceoyoyo (59147) | about 3 years ago | (#38758000)

If it's possible I haven't seen it. Got any reasonably common examples?

A non-trivial app(lication) is worth customizing the UI for each platform - it's not that difficult compared to the value of the app. Microsoft does it for Office, Adobe does it for all their applications. If your app is so trivial that it's not worth redoing the UI... well, it's probably crappy anyway.

CODE can certainly be cross platform, and very good. Entire applications can be cross platform and decent, but they're never as good as the real thing.

Re:Thank You (2)

Penguinisto (415985) | about 3 years ago | (#38758258)

You can get away with it if you build a custom UI with a solid cross-platform language/API geared for UI work (Qt stands out as an example on desktops - not sure how good it is in the mobile realm), or you can get away with good results if you write your own UI from scratch.

OTOH, trying to write for one platform's little UI esoterics (even if you're trying to avoid them), then trying to graft all that onto another platform? Yeah, that'd end up leaving a gap 10 miles wide in most cases.

Like you said - it's possible, but the vast majority of developers - both amateur and pro alike - don't frickin' bother beyond 'good enough', and the results usually leave plenty of room for improvement, which a single-platform native developer can take advantage of.

Re:Thank You (3, Informative)

t00le (136364) | about 3 years ago | (#38757874)

A huge portion of our applications now are enterprise class crm solutions, so easy portability to multiple platforms is something we offer as a courtesy. There is always an officer or VP that must be that special snowflake that requires Apple support, even though the other ten thousand people use Linux or Windows.

We have Amazon EC2 services and simply need front ends for access, manipulation, reporting, etc. We have little to no need to have really amazing, shiny and pretty interfaces. Between ICS and iOS 5.x we have almost identical user interfaces with nice transitions and pleasant looking graphics. The thing that matters is speed of access to S3 buckets and read/write access to EC2 clustered databases. The nice thing is we can compile to Linux, Windows, almost all mobile platforms and have almost identical user interfaces. Instead of spending copious amounts of time on one platform, we create portable interfaces that are nice, fast and compile on just about anything, even the magical over hyped/marketed products. :)


Re:Thank You (1)

darthium (834988) | about 3 years ago | (#38758820)

As an iOS developer, I heartily thank you for continuing to use cross platform development solutions that leave such a wide gap for someone to come along and write a better native app.

Wouldn't this kind of tool be a rebuttal? Check the video, a full fledged ERP developed originally for Windows, executed on Android (also on Linux and MacOSX, iOS is next, AFAIK and with the same ease for the developer) without need of rewriting, using a tool called 'Velneo'. http://www.youtube.com/watch?v=iXluV5jvmc0 [youtube.com]

Re:Not that bad (0)

Anonymous Coward | about 3 years ago | (#38757732)

You mean the LiveCode whose Android support is pre-release? Wow, I'm sure it works awesome. And no Blackberry or Windows Phone support? Sweet!

Fucking shill. There are some decent cross platform tools out there, but Livecode is not one of them.

Why don't... (0)

uranus65 (837545) | about 3 years ago | (#38757336)

...Google and Apple merge already and get it over with.

Re:Why don't... (0)

Anonymous Coward | about 3 years ago | (#38758150)

That would be awesome news for Google, but what will Apple get from that merger?

Re:Why don't... (0)

Anonymous Coward | about 3 years ago | (#38758250)

A lot of spyware!

BEND OVER AND TAKE IT - Our Owners (-1)

Anonymous Coward | about 3 years ago | (#38757346)

Carlin - The Real Owners Of America

"The real owners are the big wealthy business interests that control things and make all the important decisions. Forget the politicians, they're an irrelevancy. The politicians are put there to give you the idea that you have freedom of choice. You don't. You have no choice. You have owners. They own you. They own everything. They own all the important land. They own and control the corporations. They've long since bought and paid for the Senate, the Congress, the statehouses, the city halls. They've got the judges in their back pockets. And they own all the big media companies, so that they control just about all of the news and information you hear. They've got you by the balls. They spend billions of dollars every year lobbying  lobbying to get what they want. Well, we know what they want; they want more for themselves and less for everybody else."

"But I'll tell you what they don't want. They don't want a population of citizens capable of critical thinking. They don't want well-informed, well-educated people capable of critical thinking. They're not interested in that. That doesn't help them. That's against their interests. They don't want people who are smart enough to sit around the kitchen table and figure out how badly they're getting fucked by a system that threw them overboard 30 fucking years ago.

"You know what they want? Obedient workers  people who are just smart enough to run the machines and do the paperwork but just dumb enough to passively accept all these increasingly shittier jobs with the lower pay, the longer hours, reduced benefits, the end of overtime and the vanishing pension that disappears the minute you go to collect it. And, now, they're coming for your Social Security. They want your fucking retirement money. They want it back, so they can give it to their criminal friends on Wall Street. And you know something? They'll get it. They'll get it all, sooner or later, because they own this fucking place. It's a big club, and you ain't in it. You and I are not in the big club."

"This country is finished."

Just do it! (0)

Anonymous Coward | about 3 years ago | (#38757352)

Shirley, we can just get together to agree on an abstracted standard api to sit on top of each platform or the compiler or ide or writing bindings for a few languages or something?

When we have the standard, the community will help write any code needed, mostly starting with the most popular urgently needed stuff.

Everyone wins. All the consumers get more apps. The businessés get work done for free and the developers can work more efficiently.

The beautiful open source world of computing is really enabling exiting new technologigal advances for all of humanity at an impressive rate!

Oh, wait...

So? (4, Informative)

slapout (93640) | about 3 years ago | (#38757360)

Success requires effort. Nothing new here.

Re:So? (1)

Herkum01 (592704) | about 3 years ago | (#38757618)

... and standards do not define success only consistency!

Re:So? (1)

thegarbz (1787294) | about 3 years ago | (#38757906)

And success is often dependant on consistency. People favour apps that are predictable, familiar and easy to use.


genemang (2549306) | about 3 years ago | (#38757488)

I like Sencha Touch because it's a true "application" and has a full robust architecture. JQuery Mobile is not as robust, but it too is a good alternative. I've already written two mobile apps using Sencha Touch, and didn't have to pay these OUTRAGEOUS 30% fees to these greedy walled garden monopolies. Mobile Web Touch Application Javascript HTML5 frameworks are the way to go for applications that can feasibly be written using them. For games, you are SOL. For LOB apps, it's a no-brainer to use Sencha Touch.e

yeah, and...? (3, Insightful)

DynamoJoe (879038) | about 3 years ago | (#38757500)

So platform diversity is great until you have to code for it? I'm not seeing a problem.

You mean I have to actually WORK??! (0)

Anonymous Coward | about 3 years ago | (#38757552)

Sounds like a lot of Generation Y whining.

Follow proper MVC development and save time (5, Insightful)

hsmith (818216) | about 3 years ago | (#38757562)

I built a rather extensive commercial App on iOS. By abstracting the data/business layers well, when going to android it was as simple as writing a lexer to convert almost all the code. What took me 1000 hours of development took 8 hours to port over.

The only thing that was really required was writing the UI, which was targeted for Android.

Re:Follow proper MVC development and save time (0)

Anonymous Coward | about 3 years ago | (#38758050)

Thank you! This is the right way to do it.

Re:Follow proper MVC development and save time (1)

darthium (834988) | about 3 years ago | (#38758790)

I built a rather extensive commercial App on iOS. By abstracting the data/business layers well, when going to android it was as simple as writing a lexer to convert almost all the code. What took me 1000 hours of development took 8 hours to port over. The only thing that was really required was writing the UI, which was targeted for Android.

Could you comment about the tools (IDEs, DB) you used? Thanks in advance.

Welcome to the internet 20 years too late. (0)

Anonymous Coward | about 3 years ago | (#38757564)

Think "crossplatform-moblile-development" is the first to deal with competing businesses? Never developed actual HTML for the web then?

Duhhhhhh.... (1)

theshowmecanuck (703852) | about 3 years ago | (#38757566)

It's a pain in the but to write code for two different operating systems that have their own look and feel. Duh! And I suppose the guy who wrote TFA thinks he's a boy genius for figuring this one out. And what is this fucking Einstein going to hit us with tomorrow? Newsflash: The Sky Is Blue! Must be a slow news day. Oh, and send the boy genius back to journalism school till he figures out what 'news' is.

It's ALWAYS been this way... (1)

Anonymous Coward | about 3 years ago | (#38757574)

I've been doing mobile development for 11 years starting with Palm and it's always been this way. Although there are some third parties who say they have development platforms that work across multiple devices, the truth is if you want a real native app that looks right for the mobile platform you have to code the UI from scratch for every platform. You can try to do something more generic like a generic web interface, but it just isn't going to have the pizzaz an avid user of the platform expects. This is simply the way it is.

Re:It's ALWAYS been this way... (0)

Anonymous Coward | about 3 years ago | (#38758536)

The money must really be good. As a mobile developer you must know that all your blood, sweat and tears will become irrelevant within a few years, if not months. Why not spend your limited lifespan on something which will hold its value for longer?


Anonymous Coward | about 3 years ago | (#38757604)

unless the invention is a horde of flying penises, who cares?

Charlie Brown, age 30, anally inserts football (-1)

Anonymous Coward | about 3 years ago | (#38757620)

Brainwashing song:

I want to get away I want to get away

if you watch that 70's show and family guy and maybe even friends, the illuminati HAS YOU.. don't follow the white rabbit.. IT'S A TRAP! The inverse is true, the Matrix's red pill is SATANIC.

It's a reverse psy movie and you never even saw it coming!
same with fight club and the saw movies, all programming you to divide and fight against each other in order to "MAN UP".

You are washed by lies, care of the Illuminati.

And you know what else irks me? (3)

R3d M3rcury (871886) | about 3 years ago | (#38757638)

All these people speaking different languages. I mean, like, the French have a different word for everything! It means I have to have hire somebody who speaks some stupid language if I want to sell my software to them. Why can't we just have one language--English, obviously, since that's what I know? It would make my life a whole lot easier and I wouldn't have to spend money translating my software and adjusting dialog boxes for those damn foreigners!

And don't even get me started on Unicode!

In case you're missing it, the above is sarcasm. But it leads into an interesting point. How many times have you heard someone complain about having to deal with someone on the other end of a support line for whom English is not their native language? About having to dive through some weird accent in order to understand what they're saying? It makes customers not want to call their support line, right?

Similar thing here. I want an application that speaks the language that the OS developers have defined and that I have learned by using countless other apps. While, ultimately, it's about what your app does, if I have to choose between an app that has a native interface and one that does not, I will choose the native interface. Just like if I have choice between speaking to Ken in Minnesota or Pruthvij in Delhi, I'd probably choose Ken (at least until I discover that Ken doesn't know his ass from his elbow).

Want a write-once run anywhere app? Make it a web app. I use plenty of those on my iPhone.

Whatever (1)

cshark (673578) | about 3 years ago | (#38757718)

We've been doing cross browser development for years. This is pretty much the same thing. Only without the ability to copy and paste things in the ui itself. I'm still waiting for these mobile platforms to catch up to where webtv was a year after microsoft purchased them.

Time for a third party to step in... (1)

paxundae (1031998) | about 3 years ago | (#38757720)

Adobe is trying to do this with Flashbuilder 4.5+. Write once, compile native for all platforms. They'll even take care of trying to make basic art assets (buttons, etc.) look appropriate. Does it work yet? Eh...sorta. But it's a good idea in the current mobile environment, and a potentially lucrative niche to be in.

Re:Time for a third party to step in... (1)

dredwerker (757816) | about 3 years ago | (#38758678)

I thought flash was about to die for the mobile.

This is is why i used phonegap for my app. Then a previous comment suggests that phonegap is a liability. arggggh

And? (1)

gman003 (1693318) | about 3 years ago | (#38757742)

Cross-platform desktop development is no picnic either. I once had to write a simple computer hardware check script - figure out what's in the machine, check against a list of programs, then spit out some XML. Came out to ~200 lines of Perl code for the Mac version, and ~150 lines of C for the Windows one. Not a single line of code was the same. Did I complain?

Well, yeah, I did complain, but more about how retarded Microsoft's APIs are than about having to rewrite stuff.

I'm also working on a video game in my free time. Currently runs on Windows and Linux, may add Mac to it soon. Had to do quite a bit of tweaking to make stuff work, even though I was using cross-platform libraries. Didn't really mind - making it run on Linux actually forced me to fix several potential problems (Arch's GCC seems to default to more warnings and errors than Cygwin's GCC).

Re:And? (1)

antifoidulus (807088) | about 3 years ago | (#38758136)

Of course Microsoft must be incompatible for the sake of being incompatible, for instance the only one of the "big 3" OSs that doesn't support pthreads(and thus a whole bunch of otherwise cross platform C code) is....drumroll please....Microsoft!

Now that C support in Android is getting better and better, it is completely possible to write the bulk of your program in cross platform C/C++, and only have to add in the UI hooks for the individual platforms. Of course this leaves out WP7, but really, with a comically low market share, who gives a shit out that ugly, buggy pile of puke? (i.e. a Microsoft product)

Re:And? (1)

hitmark (640295) | about 3 years ago | (#38758492)

Never mind things like ALT+number is tab change in Linux Firefox, but CTRL+number is what is needed in Windows...

Solving the same problems three different ways (1)

gsiarny (1831256) | about 3 years ago | (#38757788)

Slashdot's designation - "from the hard-stuff-is-hard dept" - and some of the comments here suggest that it's trivial, whiny, or both to complain that writing good code for multiple mobile UIs is difficult. Perhaps that's so, but that's hardly the whole story.

Some programmers may see the UI as the necessary-but-uninspiring gloss over the more interesting, more important core functions of a program, and resent having to apply the gloss more than once. But even if a well-designed UI is an integral part of your vision, having to solve the same set of UI problems in multiple incompatible ways may not be as interesting as solving a conceptually fresh problem. Since UI libraries include some of the more fiddly and arbitrary portions of a platform's API, it's not surprising that programmers would dislike having to code more than one. It's not the difficulty that frustrates, but the multiplication of idiosyncratic difficulties which admit only of incompatible solutions.

Mobile? (4, Insightful)

slasho81 (455509) | about 3 years ago | (#38757818)

This should have been: The Headaches of Cross-Platform Development. It's not just a mobile thing. Today, if you're developing any kind of client-facing software then it's not just Android vs. iOS vs. WinPhone vs. BlackBerry. It's also PC vs. Mac vs. Linux. with IE vs. Chrome vs. Firefox vs. Opera. And of course, all of these on different devices with difference capabilities, most notably different screen sizes and input methods, and deployment options. So much wasted time and effort.

We were on the right path with webapps for a while, but then suddenly native apps became all the rage. The worst "feature" by far of native apps is they have to be installed - the deployment issue is practically gone with webapps, but contained apps let you charge people for installation, so we went back to that.

I pray HTML5 manages to become a capable and dominant platform for the sake of both users and developers.

Re:Mobile? (5, Insightful)

ceoyoyo (59147) | about 3 years ago | (#38758046)

Webapps are like cross platform apps, but on top of that they're crammed into a medium that was never meant for them, so instead of being just non-ideal they truly suck.

The only people who like web apps are the ones who don't have to use them (managers) and people who liked the idea of being able to get their e-mail anywhere, before everyone started carrying smartphones with... a native e-mail app.

Re:Mobile? (1)

Anonymous Coward | about 3 years ago | (#38758138)

Wrong, Slashdot is my favorite shitty web app

Re:Mobile? (2)

FlyingGuy (989135) | about 3 years ago | (#38758130)

ahhh yes do I reply or do I mod... Damit!

I pray HTML5 manages to become a capable and dominant platform for the sake of both users and developers.

You may pray but your prayers wont be answered. Well they might, but I seriously doubt it. The problem with whole web thing is that it is stateless. It is really as simple as that. There are tons of kludges to try an imitate a statefull connection but they are all hap hazard and only barely effective. The other problem are actual data aware components. Sadly even html5 does not address this. There should be a control type that accepts a mask like almost every U/I control built into every OS be it, windows common controls or its equivalent on a mac. There should be grid controls that handle data sources directly.

Sadly none of what is really needed is there. There should be a mode to simply ignore CSS and have things all X,Y addressable and don't act like you are trying to re-paginate a word processing document every time the window is re-sized. The most successful company thus far at leveraging every bit of the capabilities of a browser is sales force and I am here to tell ya there stuff looks pretty rough around the edges.

What needs to happen is that the DOM needs to be fundamentally redesigned to a true object api that instantiates controls and what not. A great example is the OWL api.

Re:Mobile? (1)

TheCouchPotatoFamine (628797) | about 3 years ago | (#38758220)

You know, I'm not ready to go public, but I've made a solution for html that does present an actual stateful app feel while keeping all the best of css, etc. And just what you outlined. It is possible. Out soon...

Re:Mobile? (2)

aztektum (170569) | about 3 years ago | (#38758558)

Until wireless carriers stop nickle and diming for data, apps are going to be the way of the foreseeable future.

Install all you want on wifi, it keeps data tx/rx needs smaller while on the go.

Just give me cross-platform libraries, and be done (1)

Anonymous Coward | about 3 years ago | (#38758030)

Seriously, how hard is it to just offer cross-platform APIs?
OpenGL ES is a shining example.

And those J2ME APIs for location, sound, input, etc. (Somebody should keep the API but make them native.

That’s the trick: Don't try to develop your application cross-platform. Abstract that into proper platform-independent APIs .
(That doesn't mean minimalism. It means feature detection, and offer the choice to not run the thing if the hardcare can't do it, or emulate the missing parts if it still can. Like: If it doesn't have a compass, you can't use it. But if it doesn't have EAX but the CPU/GPU is strong enough you could just emulate it.)

Xamarin Monotouch and Monodroid. (2, Interesting)

Anonymous Coward | about 3 years ago | (#38758118)

This seems to work pretty well across platforms. Fast native compilation to binary same as C++ (NO JIT) via LLVM on both Android and iOS. Full access to the native API's. A pretty nice generational partially copying gc. XNA and OpenGL across all platforms. Full source debugging and profiling on all devices and simulators.

Only problem is that full binary compilation breaks some standard libs that depend on using the JIT, some occasional bugs, and I'd personally prefer to see the device API wrapping fully open sourced along with the rest of the base platform. Overall not bad though.

A big pain for vertical and enterprise app guys (0)

Anonymous Coward | about 3 years ago | (#38758422)

If you work for a company that sells apps to non-small businesses (say 20 + employees/seats), you want to have a mobile feature so that the boss can keep an eye on things (sales, cash, purchasing, etc) from his phone. Only you gotta allow that there are lots of different phones and you can't tell all those people what kind of phone to buy. So you want to do them all, but your programmers are mostly old COBOL guys or such who are just discovering that there is anything beyond run-of-the-mill business app UIs.

1. Create cross-platform mobile gui development tools

2. Profit!

The Heart Of The Problem (0)

Anonymous Coward | about 3 years ago | (#38758458)

The heart of the issue is that our current software landscape on smart phones, tablets, PCs and pretty much everything is incredibly fragmented. Having to cater your programming to each platform is wasteful and while it might employ a lot of young people looking for programming work today is an unacceptable long term solution.

There are some things Apple does right and one of them is enforcing a uniform standard across their platforms. However, their method of locking down this standard is not acceptable.

We need the uniformity of the cathedral with the heart of the bazaar. In practice I think this means constantly creating OPEN STANDARDS (as opposed to Apple's closed standards) and refining standards not just for things like HTML but for interfaces of phones, software applications, operating systems. POSIX is a good example but was never taken into the modern age. You might say that there is a great resistance by companies about this and I would agree. It wont happen overnight be we need to start talking about it and talking about why our current situation is shitty instead telling someone that they're a noob for using an inefficient cross-platform solution (I'm looking at you 0xdeadbeef)

Oh please (2)

trevdak (797540) | about 3 years ago | (#38758486)

I work at a mobile technology company. While our focus is more on WAP and shortcode stuff, we do a number of applications for iPhone, android, windows mobile, and blackberry. You know why it's not a headache? Because everyone involved knows to treat each version for each OS as a whole new piece of software. You rewrite the UI from scratch according to what works best with the phone, recycle the web services, and charge the customer for each app on each platform.

No, you want a nightmare? Imagine you had to write one app that compiled and worked on an Android, iPhone, windows phone, and blackberry. Then you're dealing with the headaches of a web developer.

More platforms, more jobs. (0)

Anonymous Coward | about 3 years ago | (#38758544)

As a computer science student, I think this is good news. More platforms, more jobs.

evolution (0)

Anonymous Coward | about 3 years ago | (#38758616)

Difference means evolution. Developer should understand that any sandard means halt for development. We need living market which means there are many different platfroms. We need standards too but not monopoly like MS. If we need a standard platfrom, it should be open because that allows some market economy. Now MS is using its closed Windows monopoly to kill competition from mobile too.

...users continue to favor... (0)

Anonymous Coward | about 3 years ago | (#38758624)

[...], especially as users continue to favor native over Web-based apps on mobile devices.

http://xkcd.com/285/ [xkcd.com]

Write (nearly) once (1)

oever (233119) | about 3 years ago | (#38758662)

At the moment the best alternative is the write the application in OpenGL ES or HTML5. The choice depends on the type of application. Both will need a small wrapper on each platform. PhoneGap is a good choice if you go with HTML5.

I'm not sure how viable the OpenGL ES option is for Windows Phone, but then I personally loathe that platform anyway.

As for look and feel consistency, look at Angry Birds to see that that is not needed at all.

fail = not designing correctly to start with (1)

ardiri (245358) | about 3 years ago | (#38758740)

cross-platform development is not hard.

the issue is when a developer focuses on one platform; utilizes special functionality and then says "oh.. i need to support that platform to". this is purely a design problem; not an industry problem. if you know, you need to support multiple platforms - one key word.. ABSTRACTION. separate platform code from business logic. that way; when you need to add a new platform, you have a small layer of abstraction to implement appropriately.. games are easier, as UI isn't an issue - but you can do the same with business applications (hint: standards, HTML5 et al).

i've been doing cross platform development for years, always laugh at comments on how difficult it is. if developers were not so trigger happy to get coding; they could simply design/architect their solutions better and there wouldn't be a problem at all. the great thing about my games/apps - i can add a new platform without modifying a single line of the application code itself. implement abstraction layer - select target.. compile.

dealing with complexities of distribution models on different platforms (ios, mac, windows, linux, webos, playbook, windows phone 7).. thats a PITA.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?