« Privacy is Important | Main | What the Upcoming Google Reader Changes Mean for FeedDemon »

Wednesday, October 12, 2011


Feed You can follow this conversation by subscribing to the comment feed for this post.

I've heard this a lot from mobile devs, and to be honest it's one of the things that attracted me to give it a go :)

It sounds silly to enjoy "development is hard again" but it's hard in a lot of non-code-related ways as well as the languages being more restricted than when developing for desktops :)

"I've been developing desktop apps for so long that I just assumed I could keep adding feature after feature and option after option without worrying that I'd tax the system." - This is one of the things developers do that consumers don't understand.

People buy a computer and install SuperCoolApp 2010 and it runs great. Then in a few years they upgrade to SuperCoolApp 2014 and the machine slows to a crawl. The consumer has no idea why, they just assume the machine is getting old. What they don't understand is that many developers get lazy and assume the target machine is relatively new so they don't worry about taxing the system. But when someone isn't using the newest hardware the system can't handle it and it creates a really bad experience for the user.

More developers should work on creating tight, streamlined code that will run well on all systems, not just the latest stuff. As you say "Keep it simple, keep it uncluttered, and keep it focused." Words to live by.

Wow, I guess PowerGREP won't be getting an iPhone port :)

But, seriously, I think you can see the same things at work with Windows 8, where they are going back to things like performance, memory consumption, etc. that they had not taken as seriously for about a decade or so... simply because they now have to get it to run on mobile devices that can't afford to run extra CPU cycles or put extra memory on board that they don't need if they're going to have good performance and battery life.

There is all kinds of academic research going on around software optimizations that can reduce power consumption... very interesting, and the desktop will see benefits from all of this, too, in the form of smaller, faster, and quieter machines.

It would be helpful if you write about your experience or lessons you have learnt while creating the mobile apps. Hopefully the lessons which you have learned will be helpful for other mobile developers like me who can learn it from your blog post.

To be honest, I've recommended this since my first project before Windows CE shipped in 1995. You had to deal with limited memory, three different CPU types that handled memory differently, and since it was all native... well, it made me a much better engineer.

And continues to pay off in WP, iOS, and Android. Even where memory can be handled for you, you have to be very, VERY conscious of the device.

Oh, and if you don't already have hardware for each platform, grab some off eBay: I've found that what screams fast on the emulator doesn't really hold up on the actual device... while they aren't the cheapest devices to buy, it can save a ton of bug reports.

Of course, you'll be fine in the wild - your code always has been!

The comments to this entry are closed.