Hacker News new | past | comments | ask | show | jobs | submit login
Get good at iPhone app development (marco.org)
33 points by danw on Aug 20, 2008 | hide | past | favorite | 30 comments



This is a topic I am thinking about in the recent days. A lot have been written about the platform being closed, approvals to the App Store, about being at mercy of the Apple overlords, etc., etc.

But anyway...it seems to me that iPhone app development is starting to be a golden mine for some time...the possibilities are much broader comparing to the desktop or even web 2.0 app market. Many little apps, which didn't make sense on desktop can become a success on the mobile phone. It's not a bad idea to try the stuff and upload something, what do you guys thinks?


I really can't see much of a downside to at least trying your hand at an app. We know the money is there, even for simple apps, so I say go for it. then again, I'm biased :)


I wish there were some Android devices in the wild.

Google Android was so much easier to write to than the iPhone.

I love the type safety Java gives you compared to Obj-C. Stepping through gdb trying to figure out why something threw an NSException is no fun, especially if the stack keeps getting busted.

And IntelliJ is light years better than XCode, if feel clunky moving around in Xcode.

Unfortunately the users are on iPhone, so no choice. Tho the controls and animations are gorgeous on the iPhone. [UIView beginAnimations:nil context:NULL]; is cool as heck.


I have to say that Java is much more easy to develop for than Object C.

But, android api is really not elegant at all. They did a really bad job in keeping a tight api, which is powerful at the same time. They just kept adding stuff to it. (the 0.9 version is improved).

While the iPhone Api is more elegant, and the frameworks are well designed. Also the visuals of iPhone are way superior.

What sucks about iPhone is the language, Object C. It is really much harder than the Java implementation. Plus it is missing some functionality, mostly on purpose, while android lets you access a lot more on the phone, camera, adress book, etc...


>People are paying for good apps. As in, they’re giving you money in exchange for software.

You gotta hand it to Apple on the market creation side of things.

No one pays for music. No one pays for small consumer software. Micro-payments don't work. It's as if that stuff doesn't affect them.


I've been thinking the same thing, which is why I attended iPhoneDevCamp2 in SF (great event), and will soon be working full time on an iPhone app.

And yes, having a C background does indeed help the learning curve.

If anyone is interested in kicking around iPhone app ideas (I've got one which would be worth applying for the next YC funding round), or just exchanging Cocoa Touch programming pointers, send me an email (see profile).


If you had to guess, what sort of app could you make with your skills right now?


" If all of your previous experience is in dynamic languages like PHP or Ruby, Objective-C is really going to hurt."

I sort of disagree. Knowing C would help in some situations, but not knowing it shouldn't be a deal breaker.

Objective-C is really a high level dynamic language built on C, so some of the low level-ness of C shows through (objects are actual pointers, etc).

But the Cocoa APIs are like something you would expect in a dynamic language.


try doing anything really advanced in iPhone, and you wish you new C really well. Sure, Object C has some facilities, but when I wanted to do sockets, low level C /BSD sockets were the best. Ditto for pthreading, and a host of other facilities that come from the BSD undepining of OS X.

You can mix C and Object C pretty well, even in the same source files, while if you want to use C++, I think you have to give up using Object C.

People coming from dynamic languages will be at a great disadvantage, since they are used to all the facilities that come from using these languages.

I really think that iPhone app development, is the kind of development that separates boys, from real developers. Anybody get a PHP web app, or a Ror page going on in a couple of weekends, not so with mobile client development. It takes a lot of patience to get where you want.


Minor correction (a pet peeve of mine): it's Objective-C, not Object C.

You can actually mix C++ and Objective-C. I would only recommend that if you have some existing library or something that you must use in an Objective-C application.


> I really think that iPhone app development, is the kind of development that separates boys, from real developers. Anybody get a PHP web app, or a Ror page going on in a couple of weekends, not so with mobile client development. It takes a lot of patience to get where you want.

Ah!


Just curious, are there really many companies hiring iPhone developers? Because it seems to me the iPhone would not be a good target for enterprise applications, because of the distribution model. If I model a business process on the iPhone and make my company depend on it, I don't want Steve Jobs to be able to pull the plug on it any time he fancies.


So I figure this is as good of a place as any:

fyi, i messed with the sdk and have a fairly wide background in C and objective C. Is anyone looking people to help with code or to co-author an idea you have? Respond or email.


I'm interested. I have a strong web background as well as low level experience. Drop me a line nf at wh3rd dot net.


Yeah, taking the plunge!

Edit: If nothing else, concentrating on Obj-C and Cocoa for a few months is a solid way to land a development job related to technologies that are ahead of any other platform.


How is a language without garbage collection ahead of any other platform? It feels more like a plunge back into the stone age.


Why should I willingly be a sharecropper on Massa Steve's NDA-ridden land when I can maintain much more freedom and control on the web?


One possible answer: you can make more money and with lower risk.

edit: and quicker.


To play Steve Jobs's game I'd have to buy a Mac, an iPhone, a developer program license, and possibly an Apple Developer Connection membership. I'd also have to spend the time to learn Objective C and the iPhone environment. Together that's a substantial amount of time and money I'd have to make up for before I wind up ahead.

How is there lower risk?


If you already have an intel Mac and an iPhone or iPod touch, you're looking at only $99 for an individual developer license.

I didn't have a device, so add the price of an 8Gb iPod touch.

It seems you're overlooking the psychological factors at work in the app store. It's very, very easy to buy apps. This is so much easier than being noticed on the web-at-large.

For the same price as a Starbucks coffee, people will buy your app just to see what it's like. It's throwaway money, to them. The amount of marketing you'd have to do to get that response for shareware or trial-ware is much greater.


Despite my reservations, isn't it true with something like the App Store that you can make money literally while you sleep? Go to sleep, sell some software with precisely zero effort, wake up a little richer, without having to handle payment?

That is cool.


Just like you can with advertising on the web you mean?


Anyone with half a brain (and therefore with any money in their pocket) uses Ad Block Plus, don't they?

I don't understand advertising and I don't want to. Selling a useful piece of software seems much more classy and straightforward.


No they don't. Anyone with a brain sees advertising as a useful service to them. It's extremely lucrative also. Yes there's a very small subset of society which puts hands over ears and don't want to listen, maybe they also don't have a TV... but it's a minute percentage.

How do you find out about new products, gadgets, websites, things going on? Advertising. It might be blatent in your face advertising, or it might look to you to not be advertising, when in fact it is.

If you don't want to understand it, great! All the more cash for those that do :)

Also, if you think ad block plus actually stops you seeing all the numerous types of advertising on the web, you're quite mistaken.


I don't have a TV. What a waste of time.

I find out about new products and gadgets from sites like this. Is HN an advertising hub?

I never see pay-per-click text ads or banner ads, that's for sure. I also avoid webcock blogs, so I mostly steer clear of shameless "viral" marketing trying to subtly promote services and products.

You can take your ad money and keep it. You don't need to be condescending to me, especially when you can't spell common words like "blatant" correctly.


"Anyone with half a brain (and therefore with any money in their pocket) uses Ad Block Plus, don't they?

I don't understand advertising and I don't want to. Selling a useful piece of software seems much more classy and straightforward."

Your original response wasn't condescending at all?

"I never see pay-per-click text ads"

Sorry, but that's absolutely wrong. How do you know which links are paid for and which ones aren't?

How do you expect to sell anything to the average person (Who watches TV by the way), if you never watch TV? Apart from some shows being pretty interesting, other mainstream shows are a great way to gain insight into how things become popular.

Thanks, and I do enjoy the money :) If you want to make money, learn about advertising.


It's also really trivial to get past adblockplus, and show users adverts that they cannot block, or even better, offer people using adblockplus a degraded experience - for example refuse any support requests from adblockplus users, or just refuse entry to the site.


That's no different than any other consumer-focused software. Easier in that you don't have to setup a payment gateway, but you'll also be 26% less rich for that perk.


Because you can, er, "make $$$ fa$t", as the saying goes.


Apple's iPhone platform is an authoritarian government like Singapore (since they have control). However, there are benefits to centralized control.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: