Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We're a team of developers working on some PC applications. But we have also witnessed a trend in the market towards writing more and more mobile sites and mobile applications.

Is it time for developers to shift to mobile programming?

share|improve this question

closed as not constructive by Walter, thorsten müller, GlenH7, BЈовић, Matthieu Dec 17 '12 at 18:02

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I have a laptop with wireless internet. That's pretty mobile. Maybe the question is, when will mobile hardware be able to run desktop apps? – JeffO Jul 30 '11 at 13:20
or another way of putting it: when will all desktops end up running web apps instead of native ones? (see Windows 8 for details :) – gbjbaanb Jul 30 '11 at 13:36
As soon as Xcode is an iPhone app? – mouviciel Dec 17 '12 at 10:39
@mouviciel phonegap could help you out – ott-- Dec 17 '12 at 12:13
up vote 6 down vote accepted

No ~ Web and desktop applications are here to stay

Mobile phone development will not be replacing either desktop or web development for the foreseeable future. I do see a further shift away from what was traditionally thick client desktop applications towards more rich web applications or cloud computing.

Mobile phones will be an extension to this paradigm rather than a replacement.

Trial mobile phone development

Unless you are happy with a complete paradigm shift. I would recommend that you pick up both iPhone and Android development in conjunction with what you do currently. Most independent software development companies are now picking up mobile phone development as an addendum to their current skill sets to give a value added experience to their clients.

The cost of re-skilling your staff and learning new development frameworks and idiosyncrasies of each of the platforms can be challenging to say the least. However not impossible. That would be up to you to decide how best to go about it.

share|improve this answer
Do you have any evidence to support your claims? – this.josh Jul 30 '11 at 7:07
Evidence based decision making in the same sentence as Mobile, cloud and ixxxx? I think the only evedence needed here is a history lession in misplaced IT predictions. – mattnz Jul 30 '11 at 9:24
@this.josh Do you have any evidence to support your claim that he needs further evidence to support his? I see desktop PCs and notebooks all over the place. People are not going to work on 5'' screens all the time. – quant_dev Jul 30 '11 at 11:51
@this.josh - Since it will take years to convert my company's current desktop software and no one has started on it, I guess we're safe for awhile. – JeffO Jul 30 '11 at 13:17
@quant-dev I made no claim. I attempt to make evaluations based on evidence. I don't know of another rational method. – this.josh Jul 31 '11 at 3:18

What happens with mobile vs. desktop applications is not the same as with web apps vs. desktop apps.

Actually, if you watch Microsoft PDC, Google I/O or other events, they all agree that we are moving forward client-server architecture.

<tl-dr> While it was not possible to have a rich interface of an application in, say, 1998, it is possible today when we have the required techniques (AJAX, Silverlight, in a few decade: HTML5, etc.) to be able to build those apps, and when the customers have a required context (fast internet, permanent connection, highly optimized browsers when it comes to JavaScript, GPU enabled browsers, etc.) to be able to use those applications. This does not mean that all desktop applications will destroy themselves automatically on October, 19th of 2016¹, but it means that there is more room for online applications like GMail and less place for desktop apps that require installation, maintenance, support for multiple systems and OS versions, etc. </tl-dr>

The situation with mobile devices is different. It's not "we have desktop on one hand, and mobiles on other hand", but rather "we have a multitude of devices like mobiles, PDA, tablets, laptops, desktops, etc., and we must target them all".

This means that if you're a company which builds websites, you can't tell: "We build websites for desktops, and we also build websites for mobiles". You rather say: "We build websites which are compatible with all devices including smartphones", like you say "We build websites which are compatible with the five most used browsers".

This being said, today, we are unable to target everything at once. Most websites have a fixed layout for desktops/laptops, and a separate layout for mobiles. This is because:

  • Mobiles rarely have a fast internet connection and a good connectivity (remember, desktop PCs in 1998?),
  • Mobiles have low performance CPUs and GPUs (remember, desktop PCs in 1998?),
  • Mobiles have low screens (remember the times when you had to target 800×600 for a website?).

If you follow the logic, on one hand we will see the improvement of hardware and connectivity of smartphones, and on the other hand, we will be able to design interfaces fluid enough to adapt themselves to the size of the screen, from a tiny screen of a smartphone to a huge TV screen.

That's why you don't "switch" to mobile development, but it's a good idea to learn how to develop applications which can be used on those devices too. Like you haven't "switched" to Google Chrome when it appeared, but you had (and you still have) to check if your website is compatible with IE7 to IE9, FF3 to FF5, Opera, Safari and... Chrome.

¹ The date is purely hypothetical. Any resemblance to any real date is a coincidence.

share|improve this answer

Ask a marketing expert - I think this is called "distribution channel strategy" or something like that.

If you have an old desktop app that you can monetize on a second time, do it. (What do you think about this analogy... it's a bit like a movie-company selling its new movie first by bringing it into theatres, then selling dvds, then selling it to TV stations, then on-line distributors, then internationally). This article explains what I mean Hollywood's Profits, Demystified - this article even goes one step further... a company can post a loss due to not breaking even w.r.t. development costs (e.g. for the movie, or for the PC app) but compensating it with wins for porting it to mobile platforms and doing some accounting tricks to masquerade the profits.

In the end, it is an individual decision...nobody else around here knows (if it would be feasible for the legacy software you have in your "solution portfolio").

share|improve this answer

A lot of companies are starting to jump on the mobile market. But it can often go hand in hand with desktop or web development.

If you're developing a website it may be time to look if you can provide an interface for it through a mobile specialized website. You can provide a subset of your regular website.

It's often an extra way to provide information when your users aren't able to use a PC. It's all on top of your existing apps.

share|improve this answer

It will never be the sole computer for everyone. In the distant future, there will be no distinction. The hardware devices will take many form factors (laptop, hand held, ear bud, projector for monitor, wireless keyboard and toe controlled mouse) but they'll all run the same opperating systems and apps. Your 'desktop' client app may have a mixture of centralized code and dynamically loaded local code seamlessly working in harmony on different devices, servers and networks. The refrigerator will keep your food an your data cool.

My guess is, we'll all still be sitting in a chair when we're using our IDE.

share|improve this answer
'they'll all run the same opperating systems' Do you mean that the distinction will be invisible to the user, or that one company will have a monoply? – this.josh Jul 31 '11 at 3:26

If it is right for your applications, then the answer may well be yes.

This might give you a new distribution channel, or may give you an edge over your competitors.

But I don't think this is a "yes or no" question.

Analyse whether this will help your application, do market research, don't just do it for the sake of doing it.

share|improve this answer

If you develop for mobile you have to focus on the users needs because the display space is limited. This increases quality.

share|improve this answer
Taken from Human-Computer-Interaction – User Dec 17 '12 at 12:38

Not the answer you're looking for? Browse other questions tagged or ask your own question.