Live data from Hacker News

It's Insanely Hard to Make a Kick-Ass iPhone App

georgesaines.com

41–50 of 93 posts

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#41

> the reason why developers are shackled to Objective C is to make sure processes finish in human time, and this is fundamentally a performance bottleneck in mobile hardware. This is completely false. You can get good performance with high level languages like lisp. It doesn't have to look like C to be fast and to be possible to optimize it well. The whole "writing low level code is faster" mentality is WRONG for 99%…

The whole "writing low level code is faster" mentality is WRONG for 99% of apps.

I read this a lot but I don't know where it comes from. For me, 'fast enough' in terms of subjective performance of an application is 'as fast as the current performance benchmark on that platform'. Anything less implies the developer has taken short cuts and creates a bad impression. On mobile devices even more so.

Sure, if your app can be neatly divided into broad sections of performance critical and non performance critical code, then you can save the C for the bottlenecks. But it's hard to know ahead of time where those bottlenecks will be, nowadays even more so with highly interactive mobile apps. Look at all the trouble Google have had making Android scroll smoothly for example.

In a marketplace where users will dismiss your app immediately over tiny glitches and pauses, I'd be inclined to write everything in C++ other than the Objective C stuff.

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#42
post #29

"For a generation of coders accustomed to limitless managed memory, high-level programming abstractions, and thousands of deeply functional opensource libraries, mobile is a step back to the Byzantine world of Commodore 64s." This made me chuckle. Maybe if you define "generation" as "this year's college output" then you might be right, but if we're talking "generation" as in the past lifetime of software development…

C64s weren't so bad. I remember reading an interview with, I think, Geoff Crammond (author of the class Stunt Car Racer) where he said the C64 (in comparison to the Amiga) was the last machine where you actually could know every last trick about the hardware and keep it all in your head.

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#43

Are there many examples of iPhone apps that are simultaneously (and somewhat objectively): (1) beautiful, (2) easy to use, and (3) useful, that still don't go anywhere? I've been trolling around the app store for awhile trying to understand the market and what I see are tons of novelty apps, fugly apps (by anyone's standards), buggy apps, and apps that break usability in all kinds of ways. And judging by the lack of…

I been a completely self sufficient iOS developer(i.e I make a living from selling my own apps) for the last 3 years and I can't disagree with you.

When I initially started 3 years ago maybe you could get by with just meeting 2 of the 3 criteria you mentioned. My apps at the time were useful and easy to use, but not really beautiful.

The free version of one of these apps was getting about 400-500 daily downloads. After a much needed UI update (and one to the corresponding paid version) daily downloads jumped to more than 3000 a day. No promos, no divine Apple intervention, just Polish Polish Polish.

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#44

Are there many examples of iPhone apps that are simultaneously (and somewhat objectively): (1) beautiful, (2) easy to use, and (3) useful, that still don't go anywhere? I've been trolling around the app store for awhile trying to understand the market and what I see are tons of novelty apps, fugly apps (by anyone's standards), buggy apps, and apps that break usability in all kinds of ways. And judging by the lack of…

I would say my puzzle game ( http://itunes.apple.com/gb/app/combination/id300288142?mt=8 ). It got good reviews from people who played it, a good review on ArsTechnia ( http://arstechnica.com/apple/reviews/2009/04/minireview-comb... ) and was 99 cents. I only sold a couple of hundred, and after months of trying to get more publicity and sales I gave up and made it free.

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#45

Are there many examples of iPhone apps that are simultaneously (and somewhat objectively): (1) beautiful, (2) easy to use, and (3) useful, that still don't go anywhere? I've been trolling around the app store for awhile trying to understand the market and what I see are tons of novelty apps, fugly apps (by anyone's standards), buggy apps, and apps that break usability in all kinds of ways. And judging by the lack of…

I have $420 revenue from 285 sales (started $3, dropped to $1) in 6 months from my side project. http://itunes.apple.com/us/app/alcohology/id437180278?mt=8.

Getting attention is hard. Ridiculously hard. Insanely, impossibly hard. I couldn't get a review from a single website. I submitted the app to dozens of review sites, food/drink blogs, and tech blogs and didn't get a single response. Actually, that's not true. I got responses from app review sites that wanted me to give them money in exchange for a review.

I made a trailer that has gotten 2,700 views (http://www.youtube.com/watch?v=Ctsk1QVs8OI). Almost all hits came from a video a friend and minor internet celebrity made for me. His video has 14,000 views. http://www.youtube.com/watch?v=rFn6eW2Kb0g

I fully admit my app is a niche app, but I think it's worth more than $420. Sites like Gizmodo have run "Best Cocktail Apps" and Apple regularly lists "Martha Stewart Cocktails" in Staff Favorites for iPad. It has approximately 12 total recipes but lots of high quality, high res images.

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#46

> the reason why developers are shackled to Objective C is to make sure processes finish in human time, and this is fundamentally a performance bottleneck in mobile hardware. This is completely false. You can get good performance with high level languages like lisp. It doesn't have to look like C to be fast and to be possible to optimize it well. The whole "writing low level code is faster" mentality is WRONG for 99%…

And yet iOS still seems justified (based on its competition) in eschewing garbage collection to avoid stuttering; iOS apps that display a lot of data routinely have to go to surprisingly annoying lengths to maintain 60fps[1]; there are several different runtimes that promise to let you write iOS apps in various high level languages (Flash, JavaScript, C#, etc.) but invariably most of the demo apps are laggy or buggy (and games often ship with much higher hardware requirements than the norm for the platform, which probably affects battery life as well).

The C family sucks, but it's not nearly as clear as you imply that there's a better realistic alternative.

[1] http://blog.atebits.com/2008/12/fast-scrolling-in-tweetie-wi...

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#48

Are there many examples of iPhone apps that are simultaneously (and somewhat objectively): (1) beautiful, (2) easy to use, and (3) useful, that still don't go anywhere? I've been trolling around the app store for awhile trying to understand the market and what I see are tons of novelty apps, fugly apps (by anyone's standards), buggy apps, and apps that break usability in all kinds of ways. And judging by the lack of…

I have $420 revenue from 285 sales (started $3, dropped to $1) in 6 months from my side project. http://itunes.apple.com/us/app/alcohology/id437180278?mt=8 . Getting attention is hard. Ridiculously hard. Insanely, impossibly hard. I couldn't get a review from a single website. I submitted the app to dozens of review sites, food/drink blogs, and tech blogs and didn't get a single response. Actually, that's not true. I…

This may sound harsh, but, from the screenshots, your app would fall in the fugly category. On the cocktail screen, you use a bunch of fonts and clashing colors. At first look, I thought the "Tall" text thingy is a slider for glass size. It isn't.

Compare with the Martha Stewart app. It is extremely polished and the photos look gorgeous.

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#49
post #28

> the reason why developers are shackled to Objective C is to make sure processes finish in human time, and this is fundamentally a performance bottleneck in mobile hardware. This is completely false. You can get good performance with high level languages like lisp. It doesn't have to look like C to be fast and to be possible to optimize it well. The whole "writing low level code is faster" mentality is WRONG for 99%…

How is Objective-C a lot better than C++? What do you mean by "the software game industry is wrong too"?

1) Objective-C is a very dynamic (think Smalltalk), less cluttered and more nicely designed language than C++, that can just as easy fall back to plain fast C.

2) For writing applications, desktop or mobile, nothing in the C++ libs ecosystem comes close to Cocoa/Touch.

3) For the task under discussion (iOS apps), it's the standard that get's 100% of official support from Apple, C++ is not.

Re: It's Insanely Hard to Make a Kick-Ass iPhone App

#50
post #29

"For a generation of coders accustomed to limitless managed memory, high-level programming abstractions, and thousands of deeply functional opensource libraries, mobile is a step back to the Byzantine world of Commodore 64s." This made me chuckle. Maybe if you define "generation" as "this year's college output" then you might be right, but if we're talking "generation" as in the past lifetime of software development…

I don't think it's a lamentation over framework per se, but rather a step back from the web-hysteria of a few years ago, where you can pretty much, with a lot of elbow grease (aka Perl) tie together component A with component B and feed it into component C to do something cool/wicked/useful, where they're all giant open source projects. Think of all the crazy things we did pluggin ImageMagick into PHP backed by giant…

"""Think of all the crazy things we did pluggin ImageMagick into PHP backed by giant MySQL instances."""

While I agree those were easy to use, I can't think of any crazy/cool things from that era websites.

Most of the cool/useful/nice web stuff is from the Ajax/fast JS/jQuery etc era of late.

"""I recently pulled in some image recognition libs to my app, and it's an extreme struggle keeping a large, legacy, C++ lib from exploding all over a mobile device. We really are stepping far, far, back from the previous trend of writing code as if the metal they run on is but a detail."""

It was never "but a detail", it was just that web development is seldom CPU/Memory-bound. Mobile development in the main is.

Also, if you were trying to do a competent 3D game engine, back in the same era you did PHP/MySQL stuff, you'd see that the PC metal was not "but a detail" at all.

It's also a little contradictory to lament about how easy it was to "plug ImageMagick into PHP backed by giant MySQL instances" and then compare it to the difficulty of not only programming for a mobile device, but also "pulling in some image recognition libs to my app".

Not only you're attempting something much more cpu intensive and difficult than using ImageMagick/PHP for web development, something that could have been just as difficult if not more so back in your web days, but you also try it in a device with less memory/cpu. Something's gotta give, right?

That said, nothing stops you writing plain apps for mobile that just do the same stuff you did on the web. There are plenty of frameworks that basically provide you with a browser view and let you do stuff (Platinum, etc).

Post reply on HN