When I think about building software, I think about the long term benefits of the software to humanity, or if I'm working for a particular company, the benefit to the organization.
So if I am going to spend my time developing something, I want it to never go away. Facebook will go away. The iPhone will go away. These are fads.
What people who think like I do often fail to understand, is that most of the world doesn't think like we do. They want money. They want popularity. Even if it is fleeting.
My question is: Where is the balance? Think about investing. If you have a 20 year vision and invest in those companies, you have to have 20 years of patience. Plus, how do you know your vision of 20 years out is the correct one? How do you know how much vision you have? If you consistently think 5 years ahead of the masses, then buy companies that the masses will think are awesome in 5 years.
If you are 3 months ahead or one year ahead, then buy those kinds of companies.
It's the same with building applications. You are building applications ahead of time for a market that will want them by the time you are finished building it. For example, if you build a facebook app and that app is going to take 5 years to complete, well... facebook may be gone by then and you are wasting your time.
So what you are stuck with then, is building applications that don't take very long or are targetted toward a massive population with lots of investment and horsepower behind the app that can be built very quickly. Of course companies that can execute like this can make money building apps for one platform after another making money off the network effects within that platform. It's not just facebook, it's salesforce, quickbase, microsoft, java, oracle, php, the list really is endless...
So, to summarize, how do we determine how much vision we have? How do we determine how long it will take to build an app? How do we determine when the platform on which we build our apps will cease to exist -- if ever?
So if I am going to spend my time developing something, I want it to never go away.
Get into building furniture or mainframe software, because as long as you're developing for an emerging platform controlled by someone else (in particular, someone interested in making money), the chances of longevity are slim.
If you zoom your lens out a bit though and look at developing your art (as opposed to developing a platform) then you can go on forever.
There is a saying in the film industry (to paraphrase) that you only make one movie, you just keep making it over and over again. I see the same thing in any creative venture such as software; continually refining the singular vision of perfect code, which transcends platform, language and even developer.
You can't build software that will last indefinitely unless you control the whole stack.
Building on Facebook, you have dependency on their business to succeed. Building on Windows, you have dependency on Microsoft and Windows and backwards compatibility, etc. As long as the stack underneath you shifts, your software will break someday.
You can maximize your longevity, though, if you build on a solid foundation and work at a high level. If you only use Python core, for instance, your software will probably work on machines for a long time -- as long as a compatible version of Python works on those systems. Contrast that with something OS-specific, which could break given future operating system versions. The same idea applies to the web and web frameworks.
Building software is like building a house: The stronger and more resilient you build it, the longer it will last. With regular care, the house will last a long time... but left unattended, it will eventually rot and crumble at the feet of nature.
You can think long-term while also delivering software for a fly-by-night platform. You just have to understand the difference between an app or business model and various instantiations of that app or business model.
Just because Garmin's software for the Palm OS is obsolete doesn't mean Garmin is obsolete. The iPhone OS was originally developed for the NeXT cube, before many HN readers were born. Microsoft Word was originally written for Xenix systems, then ported to DOS, then the Mac, and finally ported to Windows. The obsolescence of the DEC PDP-7 didn't hurt the Unix platform. The fact that all of Electronic Arts' software is hopelessly obsolete within a handful of years hasn't stopped them from staying in business for decades.
There are apps being prototyped on Facebook and the iPhone today that will have decades of life on one platform or another.
Specific applications and platforms can have a short shelf life but really each application that is made can teach you things that can be used towards progressing towards the long terms goals for your company or humanity.
I'm developing a twitter application. Twitter might or might not be a fad. I can't see so far into the future and while my prognosticating skills are decent, I'm not 100% certain. Hell, I thought friendster was hot.
Anyway by developing this one application, I am learning about social tools (which I've never done before), neural networks, semantic analysis, markov models and a hell of a lot of stats techniques I previously did not have a lot of usefulness to me. In the grander sense, I was more comfortable with deterministic techniques rather than probabilistic techniques.
If Twitter goes down for good, I lose some time but I take that new knowledge and make the next app that gets me closer to my 20 year goal.
"So if I am going to spend my time developing something, I want it to never go away. Facebook will go away. The iPhone will go away. These are fads."
How many people do you think said the same thing about the web in the early days? Lots of people passed on the opportunity to invest. Plenty of people said "$25 for a domain name? What a ridiculous way to spend money".
Both Facebook and the iPhone are platforms and people are betting that they will be huge. Some platforms won't get huge and most will wither (Amiga, anyone?), but the people who bet on the right platform EARLY win big. They win big, they can benefit humanity in a big way, and their shit does not go away.
Solution: Build a very high-level, declarative, domain-specific, semantic, platform-agnostic core for your app, and then generate most of your platform-specific port from that.
You'll still need to customize some UI and behavior to respect platform conventions because you DON'T want a generic "cross-platform look and feel", but you'll otherwise be very agile about porting to whatever platform is hot at the moment.
Several posters have taken it as a given that software ought to live for a long, long time. That's a philosophy worth considering, but many people just want to make money.
If you lived in Atlanta during the '96 Olympics, you might have rented out your house for $10K for the month. That's a great "business" even though you know it will fail a month from now. However, you would not be rational to note that rents are now $10K/month and buy up a bunch of houses using that rent as a long-term factor in your business plan.
There's nothing necessarily wrong with building iFart, etc. But, it's absurd to pretend that revenues for fads like these will continue. I am reminded of an article I read about the business of opening up trendy nightclubs. The experienced owners think that it's impossible for a club to remain trendy for more than two or three years. So, they open them but build a business plan that doesn't anticipate long-term revenue with the expectation that they'll build their next one while the current one is still doing well.
Note that I believe Facebook/iPhone apps can be a great extension or component of a long-term business model, but that model can't be predicated on the continued popularity of those platforms alone.
I think mostly people on HN are interested in making apps that provide real value to users and business for the long term.
Some people just want to get 2 months pay for 1 month's work and make they an iFart app or whatever to achieve that. It's not a long term bet but it makes more than being employed - for some people that is all the care about.
Also, the OP talks about companies being founded but I would guess in most cases Facebook and iPhone apps are people side projects made in their bedrooms or instead of doing consulting work. Those people are realistic and don't expect it to last, it's just a way to make money in the short term, they'd leave if there was more money to be made elsewhere and will probably leave anyway as the race to the bottom plays out.
This is meaningless and misses a golden opportunity to compare and contrast the two platforms. Instead it just throws out a bunch of gibberish numbers and compares apples to oranges, states that it's comparing apples to oranges, then continues on with the comparison.
Most "internet" businesses fail. Most restaurants fail. That doesn't mean anyone who starts a pizza place is in a rush for fool's gold.
The problem is that most people do things half-assed and cluelessly. Even most entrepreneurs. It's simply meaningless to count everyone who worked full time on a Facebook app as an attempt at anything.
Well given that the blub paradox extends to business-savvy as well, I think it's reasonable to throw some rough numbers out there for prospective entrants into the market to have some idea what they're getting into.
However I agree with you that it's ridiculous to dismiss the market based purely on these numbers. First you would have to compare to other markets you could develop software in. You have to factor the entrenchment of market leaders in those segments, and also how each of the relative markets are growing or shrinking. Finally--and this is the thing that is keeping me out of iPhone development--you have to factor in the risks of developing on a closed platform with strict and arbitrary entrance requirements and how those things may change in the future.
Both Apple and Facebook have the ability to rip the floor right out from under your profitable app. Personally I think they are both great platforms, but I would not limit myself to them unless I was just trying to do a quick flip. In terms of long term value I would want those apps to be tied to some valuable backend service or open web technology that would not completely kill the business if Apple decides to kill my app.
"The 1-2% that succeed can expect an upside of around $10-20 million in annual revenues. This isn’t quite a lottery, but it’s depressingly close."
A lottery ticket costs $1 and isn't worth it. A 1% chance to "win" $10 million would arguably be worth $100,000. I wouldn't say it's close. (And that's not even counting that this is annual revenue.)
You're also not counting that it's not so simple. Lotteries are a 1 in millions chance of winning a prize, and a millions out of millions chance of nothing. Developing an iPhone app is a 1-2% chance at millions, but also a chance at hundreds of thousands, a chance at thousands, or even a chance at getting like 100 bucks out of the deal and having some fun at it.
Considering he's using their numbers for his calculations, the entire premise might fall apart.
"Another intellectually dishonest number I hear Facebook recite is the number of developers. They get this number from the number of people who have installed the developer application. In the first year of the platform, that was 400,000. I know numerous friends who know nothing about programming that installed the developer application in that first week because they didn't know what they were doing. They recite this figure as if hundreds of thousands of people have devoted their lives to making Facebook applications. Sorry to burst someone's bubble, but it just ain't so."
No it's not fool's gold, startups are generating millions in revenue from both. They are simply a reflection of a globalized market place, you're competing with developers in under developed countries. What's fool's gold to you, is riches to them.
Don't mistaken AppStore or Fb for anything more than a distribution platform. Hopefully Apple and Facebook will address the growing problem of app-overload so quality can bubble to the top, but it's not their fault you're facing more competition. And for all the faults — they've both solved a lot of really big problems and continue to drive innovation.
Yes it's hard and frustrating at times. But, building a value-driven business takes years of dedication. 37signals, amazon, apple, ms, gary v, digg, flickr, fb, are not over-night successes. Put down Fast Company and pickup Forbes once in a while.
I really think this article is missing the point of many iPhone and FB apps - expanding the interface into existing applications (hoping to increase customer usage/stickiness/retention) and customer acquisition through free and nearly free experiences.
The real question is, "Are there times when a platform specific application is the best move for your business?"
The shovel:gold rush analogy usually works well for most types of businesses, but it seems that most software (particularly on the web) is sold as a platform of some kind. The Unity engine, for example, seems like a really cool shovel that no one has bothered digging with.
Off topic, I am an indie game dev who's checked out Unity,played with it, and -- after the initial euphoria wore off -- don't see much difference between it (with ~3% market share) and Shockwave (with ~30% market share). What are your thoughts?
Now that most home computers have are powerful enough, I definitely think that 3D in the web browser will get more popular, and that a standard will emerge. Director/Shockwave has been around for a while, and naturally has been adopted by more users.
Unity is a lot more powerful, and includes a physics engine and shader support. I don't know how much Shockwave supports those things, if it does at all, but I'd imagine Unity is a lot more focused on advanced features. It's not the Source engine, but it's advanced enough to build stand alone and console games, with the web as one option for deployment. I think it boils down to how much users really want realistic physics and other high-end game features in a web game, and that's hard for me to say.
There's also Google's O3D, which is also very powerful. Right now, though, it seems to be just an experimental Google Labs project, and not a real product.
I think a lot of people are missing the big picture. I am very interested to know how many of the developers on the Facebook and iPhone platform are new developers. Just look at all of the courses being offered at community colleges on iPhone development. I really believe that the iPhone might be producing a bunch of crap software in the short-run, but in the long run it's producing developers for the mac platform, which is way more important.
It may be fool's gold but you gotta give the people what they want. If you don't try to compete you have a 0% chance of success. If you want to be a successful software developer/publisher you need to offer a product in the markets people are interested in. What chance is there of an app of comparable quality & depth to a $5 iPhone app being more successful on the DS/PSP? Windows shareware?
I am the author of this blog post about Facebook and iPhone application development. Thank you all for your comments and thoughts. There are some excellent points raised here. Let me expand on my post in several ways, drawing on some of your comments.
Several HNers have suggested that my post misses the point that not all developers for Facebook and the Apple iPhone should be classified as new ventures. I agree, and I could have been more clear in my post. There are at least three types of developers: a) hobbyist/part-timers that are developing applications in their spare time; b) established firms that are porting existing applications over to Facebook or the iPhone for the purpose of expanded distribution or marketing; and c) new ventures that have been founded to develop Facebook and iPhone applications. My post speaks most directly to this last type, new ventures founded to primarily focus on Facebook or iPhone application development. These are the firms that are depending on generating enough revenue from their Facebook or iPhone applications to support and grow a software business. Given the current economics of the Apple App Store (and probably the Facebook platform) I think the outlook is bleak for most of these firms. Of course the outlook would improve if customers’ willingness to pay for applications increased, if paid application downloads increased, or if application revenue was augmented through other sources, such as advertising or in-application purchases.
Several HNers have questioned the scenario analysis. The analysis is admittedly rough, as noted in my post. I based the analysis on several assumptions, most of which were informed by publicly available information; e.g., the July 14 Apple Press release, App Store revenue allocation, the App Store top selling application lists, etc. Some of the assumptions are rough educated guesses: the percentage of apps that are free versus paid (I assumed 50%, which is a very generous assumption) and the eventual concentration of the market (10 firms controlling 25% of the market). I believe the scenario I presented is plausible in view of current information. Of course there are many variables to consider and the landscape is evolving quickly, so the scenario I presented might miss the mark considerably. For instance, as noted above, application downloads might increase significantly, willingness to pay might increase, etc. Despite this uncertainty, I believe the analysis is informative because it shows how the current economics of the App Store can not possibly support anywhere close to 100,000 developers, or even 10,000, unless a vast majority of these developers are hobbyists or establish firms not relying on these applications for revenue generation. Furthermore it suggests that very few, if any, new ventures dedicated to iPhone application development will realize the top line revenues that will satisfy a professional investor. In the scenario I presented just 0.01% (i.e., 10/100,000, or one hundredth of a percent) of current developers participating in the iPhone developer program will realize $10-15 million in annual revenues. This is striking given the number of venture capitalists that are financing companies dedicated towards iPhone (and Facebook) application development. Admittedly, venture capitalists will fund the more competent ventures that have a higher chance of success, but what VC would have guessed that the top free and paid applications would include iFart, the Moron Test, and Mirror Free.
Let me be clear that I think there are opportunities in these markets. However, I believe that given the very low barriers to entry combined with the economics suggest that the fluid phase may persist for an extended period of time and the shakeout might be particularly harsh to new ventures. PJ suggested that it’s a mistake to build an application for a potentially ephemeral platform such as the iPhone or Facebook. I agree. It seems that the new ventures most likely to succeed over the long-term are those that develop excellent software that are platform agnostic. Does iFart and Mirror Free fit this model? I don’t think so.
Breaking news: There are a lot of iphone developers. A few will find financial success. Most will not. Follow me on Twitter to get more amazing insights.
This pithy bullshit comment is a disservice to the OP. He backs up his analysis with some interesting projected numbers and market research in other areas that experienced similar growth.
Let's look at some of his "projected numbers" and "market research"
Assume 1,000 application developers are competing in this market, 1.5 billion applications are downloaded annually, consumers pay a price of 99 cents per application
Only 1000 developers worldwide? How in the world do you arrive at that number?
1.5B apps/year? All of them are paid? The vast majority of downloads today are free apps. Without even giving a nod to the free vs. paid split, I am left to wonder if the author has ever used the app store himself.
$0.99/app? Is that just because most apps today are $0.99?
Also, what about in-app purchases and other ways to monetize apps (advertising, perhaps?)
Sorry, the projected numbers are pulled out of thin air, and I see no "research" to speak of.
The only interesting part imo, was the attempt to compare the app market to the automobile industry, but then he says: "The barriers to entry for developing an iPhone or Facebook application are much lower than producing an automobile, both in terms of capital investment and technological uncertainty. It takes just a few hours or days to develop a new iPhone or Facebook application...", which basically renders the analogy hopeless (and shows an incredible lack of respect for the complexity of many apps.)
I'm left with the distinct impression the OP doesn't have a clue about this market.
You're right. I stand corrected. (But on the other hand, the assumption that the free/paid split is 50/50 is ridiculous as well.)
It seems like he built an Excel spreadsheet, plugged in some different numbers for various assumptions, and then blogged about how the different inputs affected the outputs. I fail to see how this produces any meaningful new insight. It's basically just a first year MBA's homework assignment.
So if I am going to spend my time developing something, I want it to never go away. Facebook will go away. The iPhone will go away. These are fads.
What people who think like I do often fail to understand, is that most of the world doesn't think like we do. They want money. They want popularity. Even if it is fleeting.
My question is: Where is the balance? Think about investing. If you have a 20 year vision and invest in those companies, you have to have 20 years of patience. Plus, how do you know your vision of 20 years out is the correct one? How do you know how much vision you have? If you consistently think 5 years ahead of the masses, then buy companies that the masses will think are awesome in 5 years.
If you are 3 months ahead or one year ahead, then buy those kinds of companies.
It's the same with building applications. You are building applications ahead of time for a market that will want them by the time you are finished building it. For example, if you build a facebook app and that app is going to take 5 years to complete, well... facebook may be gone by then and you are wasting your time.
So what you are stuck with then, is building applications that don't take very long or are targetted toward a massive population with lots of investment and horsepower behind the app that can be built very quickly. Of course companies that can execute like this can make money building apps for one platform after another making money off the network effects within that platform. It's not just facebook, it's salesforce, quickbase, microsoft, java, oracle, php, the list really is endless...
So, to summarize, how do we determine how much vision we have? How do we determine how long it will take to build an app? How do we determine when the platform on which we build our apps will cease to exist -- if ever?