6 ms·
Why I develop for iOS
- eulo 15y agoShould be titled, "Why I think I'm better than web developers". Gosh iOS devs love themselves, they seem to ooze ego. Incoming downvotes...
- chriseidhof 15y agoI think there are a lot more difficult problems getting solved in web development (e.g. in Big Data, scaling, etcetera) than in iOS development. I meant to say that it's harder to get started.
- kingofspain 15y agoIt's simple to whack up a HTML page with "hello world" printed bold on screen, yes. But then it's also pretty simple to do the same on iOS. If you want something quality then suddenly you have HTML, CSS, Javascript, PHP/Ruby/Python/Java, server tweaking, cross-browser hassles, graceful fallbacks and whatnot to deal with. It'll always be easier to create a crappy website than a polished iPhone app. Not that I want to get into an argument about which is easier/harder. iOS is much harder for me but I have a 12 year head start with webdev.
- econgeeker 15y agoThe pain of doing web development for a maze of twisty browsers, all alike and incompatible makes iOS a "superior" choice in the sense that it means less headaches. For me, it doesn't really matter which is easier or harder, but which has the best return on invested pain. I am working on some solutions to get web pain down for our particular area of the industry, and as a result, I think the web may have a positive return on the amount of pain it causes. (FWIW, of course iOS has pain too, everything does, just using this as a measure of the relative joy vs. hassle of doing what's needed for business reasons, vs. hassle of having to deal with painful technologies metric.)
- beaumartinez 15y ago> Cross-browser hassles, graceful fallbacks. You don't have to make your web app compatible with every browser ever released—know your target audience. You can develop only for Mobile Safari—and, with a bit of effort, make your app run on Android, desktops, and even Lynx as well if you want.
- blub 15y agoBig data and scaling are networking problems, which are indeed hard. Networking doesn't have to be done in a browser at all however... Web development is strictly what happens over HTTP and it's not as difficult as several developers have made it out to be in this topic. The parts that are difficult are so because of poor tool support or weak libraries (browsers, JS).
- deleted 15y ago[deleted]
- xradionut 15y agoAlternatively it could be called, "Why I pick low hanging fruit". :)
- tomelders 15y agoI'm a web developer. I didn't read it like that. I did't even realise there was an iOS/Web dev divide....?
- econgeeker 15y agoAll good reasons. My reasons are: -- The Apple frameworks are first class. In the past 20 years, there has never been a set of GUI frameworks that I've seen that was anywhere near as good as things are in iOS right now. (I've not looked at android, but it being based on Java doesn't fill me with hope. A lot of what makes CocoaTouch work so well is due to Objective-C.) -- You can write an app once and have it run on iOS on the iPhone, the iPod touch and the iPad. This is really great. No phone outsells the iPhone, no tablet outsells the iPad, and there doesn't seem to be any competition for the iPod touch. This means "cross platform" or, across the spectrum development is really easy. In fact, with some tools you can include Mac OS X in the mix, though it isn't as trivial as doing an "iPad Port". -- The above means that you have the largest addressable market for your software. It is true that this market is also the one that is more likely to buy software. But, while people talk about android as a "platform" it really isn't, from the developers point of view. Android ships on phones with keyboards, and much of its volume is on phones that really are just feature phones that can run apps. IOW, they are low end cheap phones sold for little, or given away for free to people who use them only to make calls and whose design is such that you can't really do a modern iPhone style touch app for them. Or if you can, it involves a lot of porting. IF the phone doesn't have a touchscreen, it doesn't matter if it's android or not, you have to do another port. -- Apple has proven to be a trustworthy partner. People like to complain about Apple and make them out like they don't treat developers well, but they really do. All of the reviews (and the one rejection) from the Appstore review team have been fair. Apple pays on time and reliably. Apple sells software world wide and supports addressing a worldwide market easily. Apple's terms are consistent and they keep expanding and improving their market. As someone whose business is selling (rather than writing, though I do all of our development, the software is worthless if it isn't sold) having a good market is really critical to success. -- The consistency of the platform means that we can have free apps or very low cost apps and not be buried in support requests. I think this is really underestimated. On other platforms, either you're ignoring the customers, or you're dealing with innumerable bugs that show up on a particular model of device. You don't have that fragmentation or variation on the iOS platform, and you can therefore afford to do real customer support.... though most customers contacting us are telling us how much they love our apps rather than complaining about problems. -- Apple keeps giving us really news stuff to play with. They don't have fundamental problems they have to address (like androids fragmentation) and when they do give us something where they're behind (like iCloud) when they deliver it is generally a first class implementation. I'd wish there was more sample code for iCloud but they took their time and did it right, and I appreciate that. Of all the platforms I've developed for this has been the best so far. So, while there might be some financial advantage to developing for android as well, I don't really see it. Here's the costs that keep me off of android: -- Maintaining separate port of our software would be too much. One set of source code for all platforms keeps us working on new features and moving the ball forward, not maintaining a another code base. -- As I mentioned, we'll be able to add Mac OS X to our single code base, and that's nice. Where we're likely to have to do a separate port is the web. I'm much more interested in doing a web app for our customers, because then I can point everyone to it-- android users, palm users, windows phone 7 system home plus users, etc. If I'm going to support an incompatible platform, its going to be the web. -- Java. Frankly, at one time Java was my favorite language... but having worked with Objective-C, erlang and other languages, I've grown to hate it. It is ... bureaucratic, for lack of a better term. Like nails on a chalkboard now. -- I don't see the market there for apps. The quality of the market in which we'd sell, and the quality of the customers doesn't seem like it would produce a worthwhile return on our investment. Sure, angry birds can do well, but that's a different kind of situation, that app is a phenomenon.
- tzury 15y agoDear author, (OP as well) It is not clear from your website what type of applications you have developed so far for iOS which make it hard to "judge" your choice whether or not you were right about choosing native over HTML5. But I wish to remind us all that those two can, and in many cases should be combined. If we take Google iPad suite or Twitter formal client, they are iOS apps which render content through the webkit object. If your app deals with data which resides on the web, and with loads of it, perhaps rendering the presentation layer in HTML5 is not a bad choice as your "elite-ios-wiling-to-pay" customers are indifference about it, while at the same time, you can win the other market (Android).
- econgeeker 15y agoTaking twitter for example, it is rendering content in a native app when you're looking at tweets. The content is delivered in json (or whatever) standard format and rendered in native controls, namely tableViewCells. Webkit is used if you look at a web page... but otherwise it is native. The flexibility and quality you get by taking web "content" via json (rather than HTML) and rendering it natively is a huge win. I don't see android customers paying for websites wrapped in an app anymore than I see iOS users paying for it, actually less. Of course if you're making SaaS such as base camp then you can do native clients on either platform.... and sell them successfully... while selling a specialized web browser (That just gives you the base camp website in WebKit) wouldn't likely fly.
- alexobenauer 15y agoMost often webkit is being used because that's how you put multiple formatting styles in one UI component. It's the recommended by Apple way to do it. UILabel and UITextView will only be one font. You can't type this, then italicize the date. Instead, you just use UIWebView, pass it the string of html that formats your text the way you want, and you're off.
- flyosity 15y agoThe only part of Twitter's native apps for iOS that use a UIWebview are when rendering a single tweet since in that specific use case, it's simpler and faster to render links that way rather than deal with rendering it via Core Text. Every other screen in the app is natively drawn. I don't think Twitter's app is a particularly good example. > "elite-ios-wiling-to-pay" customers are indifference about it They are? Are you just throwing that out there or is there some research you can back that up with? In my experience, from watching users use hybrid applications (that is, native app shells around web content) they're perplexed about why things look "a little wrong" and the scrolling is "not as fast" as other apps. Note: I design/develop Mac & iOS apps.
- slowpoke 15y agoYou need to do memory management, need to work with design patterns, learn a new language, and more. While he does raise some valid points (with which I still disagree, but then again I wouldn't be caught dead on anything by Apple, so I'm biased too), this is plain and simply nonsense. Assuming someone knows neither Objective-C nor any language (including HTML) for web development, the learning curve is probably about the same. Web development wold probably even be harder, since you need to deal with much more than 'just' Objective-C.
- bignoggins 15y agoCan we all just agree that to be good at any technology, it is pretty darn hard? But I've done enterprise Java/.NET, web development,and iPhone development. If we are talking about what is easier for a beginner to pick up (some HTML/CSS/JS with something like Rails or Django backend), I would definitely recommend web development over Java/.NET/Obj-C.
- nanijoe 15y ago..I feel a little differently. The thing that just drove me crazy when I first tried to learn web development (with rails) is that every so often, I would need to make a detour, and go learn some other technology (css, javascript, prototype, html,http etc) . Granted, that experience may have helped my learning curve for objc; But when I was learning to program for the iphone, I was up and running before I even fully realized that cocoa was different from objective c. Of course, I cringe when I look at objc code I wrote early on, but guess what? The people who purchased those apps know nothing about the underlying code.
- MrScruff 15y agoIt's considerably easier (IMO) to get started in web development than in iOS development. Web development has a fairly gentle learning curve and I personally know a bunch of people that started their careers hacking in php. iOS development has a gentle learning curve if you already know C, which even some CompSci graduates don't nowadays. I don't think this was intended as a put down, it's just a fact that there are a ton of ways to put together a simple web app and some of them are very accessible.
- itssoobvious 15y agoMoney. That's your reason.
- chriseidhof 15y agoYes, most definitely. I have significant experience in web development, functional programming and iOS development. iOS development is by far the easiest way to make money (see also the low hanging fruit comment by somebody).
- alexobenauer 15y agoThere's plenty of reasons I choose iOS, that this poster shares. Knowing exactly what screen sizes you're developing for is huge, and there being only 1 or two can really help you make a polished UI. (For example, compare the Facebook app on android and on iPhone.) Also the culture of quality is something I enjoy. Reducing this post to your one-liner makes some assumptions. Money will always be a big factor, yes, and if that's what you meant, then great, but those other reasons are also big reasons for developing on iOS.
- darthpanda 15y agoThat's my reason and I'm certainly not ashamed by it even if there are a few starry-eyed fools here on this board. I program for money. Not to be on the cover of hipster hacker. I program with passion to the best of my ability, for money.
- bignoggins 15y agoDisclaimer: I'm a full time indie iphone developer. I'm an iOS developer for one reason: it is the best platform if you want to start your own business and keep writing CODE. Apple takes care of distribution, payments, marketing (via features and top lists), and some legal issues (you get a default ToC with every app). What this means in practice is that I spend roughly 80% of my time actually in the code, which is significantly more than the numbers I've seen quoted for web businesses. Writing code makes me happy. Dealing with angry customers, SEO, hosting issues, and the plethora of other things that web businesses have to deal with does not. I see a lot of posts on HN where someone tries to make several hundred dollars a month on a webapp. Speaking from experience, you can literally throw just about anything on the app store and it will make a couple hundred a month. If you are seriously looking to make some side income, and potentially even quit your job, I don't think there is a better option than iOS development right now.
- ashconnor 15y agoWould you say that saving all of that hassle is worth the 30% you give to Apple?
- bignoggins 15y agoFor a one-person startup where my time is more limited than my money? Absolutley. 30% is not unreasonable compared to what you would pay a distributor and a publisher for shrink-wrapped software. Even then you would have to manage several stakeholders instead of just one. Visibility is also something Apple gives you if you are fortunate. Once your app hits the Top 100 charts or gets featured sales just take off like a rocket. I've been featured 3 times and while getting an Apple feature is rare, your chances are significantly improved if you have something unique and polished.
- forgottenpaswrd 15y agoIt amazes me how much people prefer to have 100% of NOTHING to give someone 30% for handling most of the distribution problems. Apple App store has been just barely profitable-just break even for a long time. It takes time and money to maintain it. It lets you access millions of people overnight. Not so easy to do for an startup.
- xradionut 15y agoApple isn't trustworthy if you don't fit into their future profit and marketing plans for the consumer market. Try selling an astute CIO on Apple and they will point out Cupertino's history of abandoning and screwing enterprise customers and partners. There's more platforms to develop for than just mobile.
- sanj 15y agoThis article raises a point about getting paid. I haven't seen any solid approaches (other than SaaS) about getting paid with HTML5 apps. Between your source (effectively) being available to the public and no clear way to do "mini" payment ($0.99), it limits what a indepedent developer could bootstrap with.
- aphexairlines 15y agoRegarding mini payments, what about Google Checkout for the chrome web store? If Checkout accounts are the same as Android Market accounts, you have lots of people with credit cards on file already for 1-click payments.
- bignoggins 15y agogoogle checkout doesn't have nearly the same traction as iTunes. That's why android apps sell significantly less despite having a larger install base than iOS.
- trezor 15y agoI hear this claim quite often, but I have yet to see it documented. I'm not saying you are wrong, just asking if you have some link to a study supporting this argument or anything similar.
- bignoggins 15y agoThe android sales numbers for apps are public (the range of sales anyway). I have a top selling iPhone app and it's fairly easy to compare with the top selling android apps of the same rank and see that the sales are an order of magnitude off. Also I've talked to many developers for android and iOS and they say the same. iOS sales are often an order of magnitude higher.
- aphexairlines 15y ago> The iPhone and iPad are the high-end of the smartphones and tablets. I don't think that's true anymore. The iPhone is often heavily subsidized by carriers to the point of being cheaper than other smartphones -- in Japan, for example, it costs zero yen and its data plan is further subsidized to be the cheapest in the country. Also, aren't most of this year's hyped tablets (whether Android ones, or webOS, or BlackBerry) more expensive than the iPad?
- talmand 15y agoTo be fair, just because something costs more doesn't necessarily make it the high end of that product niche. Design and build quality has to be factored in as well.
- aphexairlines 15y agoSorry if I misinterpreted, but I think he was implying that the iPhone and iPad are more expensive when he says the users are "willing to pay more money for a better experience."
- garron 15y ago"but it is a lot harder to come up with new ideas." I would like to start with it, but the above statement keeps me out. I'm still thinking about what to start with.
- bignoggins 15y ago> The iPhone and iPad are the high-end of the smartphones and tablets. I don't think this is the reason that the app store prints money as much as the 300+ million credit cards that iTunes has.
- againwiththe 15y agoas you can tell from these posts, only a few lucky people actually can make money from the App Store. I only see one in fact... 'bignoggins'. Anyone else have success? I know I haven't even covered the $99 subscription, so to me it's a scam.
- robjohnson 15y agoI couldn't agree more. I started programming because of the iPhone. (There's a longer story about my difficulties of going from zero-knowledge to publishing my first app, but that's for another day.) The platform is so polished and ubiquitous, that it gives me a sense that any app I write could potentially have a significant impact on the users. Since I've begun my programming knowledge quest, I've done a tiny bit of web development, but nothing is more satisfying than opening up Xcode to start something new. The tools, frameworks, simulator, IDE, polish, feel, etc. are just so incredible.
- darthpanda 15y agoI have a much simpler reason - there's money in it. Besides, stick around long enough and you realize it's not the language or platform, it's the process behind the creation that deserves the most focus. Strive for perfection in that and you'll get much greater return on your mental investment.
- deleted 15y ago[deleted]
- tylerneylon 15y agoI think the time for indie iOS developers as real contenders has passed. Yes, indie developers can still make great apps, but it's no longer realistic to compete with the production quality that is often seen in the top 10, or even top 50 on the app store. If you really want to work with a small team, you absolutely need a great designer who's as invested in the app as you are. I suspect that in the near future (if not already), even a great coder / designer team will have trouble competing with the distribution and marketing advantages of larger names.