> Low volume software is not a good business to be in.
I disagree very strongly with this based on my experience so far.
Being in the business of low volume software is fantastic if your customers are other businesses.
The advantages of low-volume/complex B2B software biz are incredible to me. Contract terms are measured in half-decades. Your users can actually be trained and held accountable in many cases. You don't have to plan for nightmare public cloud scenarios. Your software will usually be running in some firewalled bunker with a guarantee of <10k concurrent users. When operating under these constraints, there are lots of fun ways to manipulate the engineering to your advantage (i.e. SQLite vs nightmare distributed abominations).
Granted, low volume B2B software is just as worthless as any other kind if it doesn't deliver profitable value proposition to the customer. We currently sell software licenses measured in the 6/7 figure cost range (and get away with it because of the complexity of the business and value proposition). This means our little startup can hand-craft each customer relationship and carefully manage the sales funnel for optimal outcomes all around.
Nice to hear there are more people out there doing this :)
I'm currently developing a very specialized desktop application for a laboratory and it has been an amazing experience. Working closely together with your users means you get to prioritize what really matters and that you can clearly see the effect of your software in people's lives (in this case, at least 5x increase in productivity and a more healthy distribution of work). I especially enjoy demo time, because I see the enthusiasm in the faces of my customers. It can be tough, though, establishing your reputation at the beginning.
My only experience using really expensive software comes from the academic biotech sector, in which (for a while) there was a thriving high-end software business, with research groups paying $10K+ for a limited license for DNA sequencing and analysis software, and also software that came packaged with instrumentation, things like mass spectrometers, that cost $100K+.
The stand-alone software for DNA analysis has been mostly replaced by free open-source Python packages written by researchers who didn't want to pay the high fees or deal with things like distributing HASP dongles etc.
On the other hand, writing the software that comes packaged with expensive instrumentation, and that's optimized for that instrumentation, remains a viable business. The cost is bundled into the overall cost of the instrumentation setup. A research group/university that buys such instrumentation expects it to be supported over time, and so that's where low volume high end software production is not really going to change. The software is so closely integrated with the hardware, and software failure has such serious consequences, that there's no way FOSS could ever work in that situation. This is as you say a more business-to-business situation.
Yes, academics will rewrite proprietary software. Collaborating is what they do, and Free Software is done basically the same way they do everything. They would rewrite it if it was free too.
Coming from that exact same domain. I still see a little risk: I used to use a specialized image analysis software for microscopy coming with the instrument and the software was hitting its limits mainly because it was running locally. We started using third party software or even developed our own software and were going to buy fewer license from the instrument manufacturer.
Of course instrument controls waa a thing, but also this: if not integrated these instruments are getting harder to sell.
What I am trying to say is that even these software business model tied to the instruments are no a guarantee anymore.
Similarly, the article doesn't take into account the fact that many developers work on in-house software and developer tooling that are not directly sold to anyone.
Custom in-house development follows much the same principle as B2B products: the very high marginal cost are considered worth it by the business because of the degree of specialization they need or the advantage they gain over the competition.
Of course I won't become billionaire off it but it's not for the lack of "value" I'm creating.
Caveat here is that you need to be a sufficiently large shop for this to pan out. Need the economies of scale on your side.
I've seen several times smaller organizations attempting to adopt this model (because Google does it or whatever), with the result of the tools team being an enormous bottleneck for the organization.
Not really, it depends on the tool. I wrote a lot of tooling at my last job: ISTR there were about 15 people when I started and a bit over 30 when I left five years later.
For example one tool took about 3 weeks to get to a usable state but it sped up a production task that previously took one person 15 minutes to the same task being done in parallel over 5 units and taking a total of 3 minutes and still only required one person. At our typical sales volumes, it was a no-brainer: my time was paid for by the end of the next month.
In pretty much any small manufacturing/processing shop there are lots of little wins like this.
I am an individual contributor, decently paid at a medium size business. I developed warehouse management systems, inventory managers etc. Very small team and projects have been quite successful.
I've run into like "the build system team", where the build system was some patchwork of hacks that never quite worked, and was also completely opaque to those who used it. The cycle was
1. Try to do something
2. Encounter a build problem
3. Talk to the build system guys, they promise to look into it fast
4. Twiddle your thumbs for a week while the entire team is blocked
The best footnotes I've found provide nice bidirectional linking for easily jumping to / back from the footnote so that it disrupts the reading as little as possible.
The beautiful / fun part about having a blog is that it's your own little garden: you can adjust things just like how you see fit, and footnotes were just a case where I figured I'd do without until I could implement it in a way I was happy with.
Definitely! That's what my goal implementation will be compiled to, anyway. I use Hugo, a Go static site generator, to build the markdown posts into the site. Adding footnotes is just a matter of figuring out how to use the right syntax in the markdown, output the right anchors in the HTML, then sprinkling a little CSS on top.
I'm 99% sure Hugo can do this, I've just learned to be wary of putting things in between myself and actually hitting the damn publish button.
Hover is a great experience on desktop, but it annoyingly requires having a separate solution for mobile. Right now 60+% of the traffic on the site is from mobile devices, so figuring out something (hopefully simple and very lightweight) that works for both mobile and desktop is the goal.
Agreed. I've pinched his popup implementation for my homepage and expanded it a little so that there's both a footnotes section with anchor links at the bottom for non-JS use and search engines, as well as the popup panels. E.g. https://www.buttercookie.de/The%20Burkiss%20Way/Transcripts/...
The entire point of doing business is to give the customer what they want so we get paid.
The competitive advantage we exercise today is an architecture/process which allows for us to deliver a customized product experience to all of our customers. We de-skilled a vast majority of the implementation & support activities around our product so that domain experts can operate much more directly with the configuration throughout.
Ditto! B2B is alive and well. I absolutely prefer it because it's a far more rational interaction and sales process. Margins can be higher and it's a better class of customers most of the time.
> Being in the business of low volume software is fantastic if your customers are other businesses.
And governments ( local, state, federal ). Security software ( network, dbs, servers, etc ) along with support can be quite expensive. Niche software to meet regulations ( especially in finance but I'm sure in other industries as well ) can be quite lucrative. Not everything has to be bulk or ads.
The "only" major problem is this space is that you need to be "connected" in ways that the most anonymous mass-market products not.
Also, is easier to get into nasty competition, corruption and all that stuff.
Is not always, and you can get good customers being decent, but are problems more prevalents on the space, and is VERY important you NAIL your contracts.
The first time the gorilla (like government!) come for you, is nerve cracking! And you can't shield behind "social media" to get out!
> especially if users are still in the tens of thousands
I've got unit tests over business methods backed by SQLite that say otherwise.
The biggest benefit with SQLite is being able to ship your customers 1 self-contained binary distribution that "just works". Anything beyond this and we are talking about nasty customer-owned database instances or us shipping docker containers and hoping the gigantic abstraction bubble doesnt pop on us.
I've shipped multiple products that are backed by a SQLite database for core functionality (authentication, billing, and permissions mostly), and individual SQLite databases for customer data.
It has made it incredibly simple to downgrade and delete customer data when they request. The application kills the billing profile, and emails the administrative email for the organization a link to download and delete their data.
Not the OP, but also selling B2B software. You can hold a user accountable that they'll actually use the software purchased. The company is spending a lot of money on it, finds value in it, and wants to ensure it's being used and implemented correctly.
B2B software with figures like the OP means you're building a professional relationship with a customer (as opposed to a transactional one), and can push back when they're complaining about something, for example.
> "Your software isn't giving us the numbers you said it would!"
> "It will, if you use it as you were instructed, we're happy to review that with you again, but you have to have the internal SOP that you'll use it in the way it was intended if you want the numbers it can provide."
Also, users are sometimes simply ordered, by their bosses or IT, not to press buttons in ways that are known to break the software. This is sometimes considered cheaper than fixing bugs, or at the very least, mitigates the problem until the next scheduled deployment window. It’s a very different world.
Very true, but I'd paraphrase it more positively: If the deployment cycle is long/complicated/expensive enough, everyone is happy if a whack workaround exists and it's not breaking everything. Not all bugs are actually critical and have to be solved the next day.
And I'm saying this a developer, where we would (and have) gladly sometimes fixed the bug during the 1h call with the customer, but until it was being rolled out... weeks, maybe months.
For our product, a user not using our software properly would be like any arbitrary office worker incorrectly using Microsoft Word.
At some level, it is still our responsibility to provide a reasonable UX (and we have weekly meetings with our customers about this). But, our customers are also fully aware of the various contractual obligations and take ownership of problems caused by poor training or hires on their end.
Mostly for support. Companies give trainings on using B2B software so if users are coming with basic questions you can push back to company contact/manager/buyer with: "wtf" your people are trained on using application. Rise the support fee or sell additional training.
For B2C you cannot have any expectations, even if user knows how to use computer or understands basic English or has good enough eyesight to read any text on your site.
Well what we see for B2C companies is usually that they just don't care and you don't get any real support but that is a different discussion :)
While all of this is mostly true, this problem isn't unique to software by a mile. The model of high fixed cost, low marginal cost applies to pretty much every consumer good or service sold in the industrial age. If you think publishing the first copy of a piece of software is hard, try setting up a new production line in a factory, or opening a restaurant, or producing a music album or movie.
Yes it is hard to break into a space that is dominated by large established companies. Yes you need a lot of up front capital. Yes you will need to differentiate yourself. None of this makes software a "weird anomaly", this is how business works.
Software still has the lowest marginal cost - the distribution cost is basically 0, unlike things like CDs. And unlike a movie or album, the value that can be extracted via software is much higher. There's tons of make-once sell-lots products, but you need factories and supply chains and all that crap, not just a cat6 connection. If you want to serve more customers, you need to buy more CDs. Streaming is better for content distribution, except the content still has limited value created (so limited price) since its often consume-once and has a limited life span - and digital content is basically "tech" even if its not quite SaaS. Tech is what it is because of how easy it is to create, and how much value it generates, and how low the marginal costs are. Nothing physical compares.
I interviewed for a team at <Big Co> that was part of a 100 person org. They generated about $1B for the company by creating a portal to (essentially) sell access to the company's existing data. They said most of what they spent that 100 people on was building integrations into existing b2b enterprise apps so other companies could ingest it easier. The per-person value created (extracted?) at this org is astonishing, especially since most of those 100 people didn't actually add value to the root product, beyond making it easier to use.
I invite you to switch sectors to the pharma world. I worked on a program for a drug planned to be sold at $2,000/dose with a projected cost of $0.0025/dose. That figure included amortization for all the manufacturing equipment, QC etc and raw materials.
Having friends in pharma too, I never hear anything about the commercial end that I don't find disgusting. I get that like any business the goal is maximizing wealth, but feeling empathy for the "customer" makes the margins and decisions seem sickening.
Honestly, the idealist in me says healthcare/pharma/research should be publicly owned and operated.
Pharma has the additional problem of inelastic demand. Deciding to purchase a candy bar or not is qualitatively different from deciding to purchase cancer treatment or not. Personally, I extend your idealism to any good that has highly inelastic demand. Using markets to price goods efficiently is not a goal I have in mind when I'm considering the distribution of these type of goods.
The problem is that the production cost for a dose of medication (at least as long as it's a chemical synthetization process) is extremely low... but the cost of bringing it to market extremely high. Only a rare fraction of candidates makes it through the first stages of research and validation, and of what remains a large part gets rejected in human trials. All of these trials are expensive, especially the human ones.
And that one successful medication has to pay for all the trials of all the other candidates that didn't make it... and all the low hanging fruits have long been picked. What is remaining now is stuff for rare viral diseases (not just Covid vaccines that work effectively against mutations, but also HIV, Ebola and similars), cancers and multi-resistant bacteria. All of this has been going on for decades and news of actual marketable products are much rarer than news about promising cancer or whatever treatment ideas.
Everyone loves to dunk on pharma (with reasons, see e.g. Skhreli or the bullshit regarding insulin patents), but the core problem is the sheer cost associated with developing pharmaceuticals.
I'm sorry, but i've heard first-hand of instances where drug research is terminated because it looked to yield a cure ... then funding funnled to those that produce a treatment, rather than a cure.
Cures are not profitable, treatments that don't cure are.
So yes, everyone loves to dunk on pharma and should.
I don’t think of it as idealism when the market skews so backwards and people are dying who shouldn’t have. Insulin prices being raised so high that people “ration” doses and have died. It’s a hundred year old medication!
It costs one billion dollar(often much more) to go from zero to market for a new pharmaceutical product. Often there even is no product at the end. Of course there has to be big payday if it succeeds.
I would love world where this would be possible - no gate keeping and no value extraction, only saved lives.
But cynic in me tells me that this is not possible - too many people who know how to build and operate things dreams about having always more stuff and power and is too afraid of loosing it. The consumption treadmill is always hungry for more. I personally am guilty of this - I always calculate how I can accumulate more value so I have a freedom (a kind of power over my fate) and can provide more unnecessary consumption for my family.
Couldn't a pragmatic approach be a market with mix of private and publicly owned companies healthcare/pharma/research companies? Private companies can continue maximize wealth, but now competing with publicly owned companies which have "empathy for the customer". That might lower the prices in the market.
I’ve thought about this. I think one model would be to have successful treatments be “bought out” for public use through an appropriately priced awards process. So the pharmaceutical company would know with certainty that their costs and even profit targets would be satisfied upon success. Have the award process promise 2x their costs, or their costs plus a $somePercent premium above cost. Maybe one option comes with some public grant process along the way. Upon completion the underlying medication gets either publicly produced if market participants don’t satisfy demand and otherwise allowed to be produced by anyone.
I think something like that the government side is more akin to good accounting practices than heavy handed regulatory oversight.
We tried that in Europe and it was really the worst thing that can happen. Public funding is a good idea, public ownership is a really bad one. Even the German healthcare system is a combined system of public funding of privately owned healthcare providers.
The biggest problem of pharma is IMHO lack of competition. The field is over regulated - some of it is for good reasons, but perhaps it went too far.
here in Austria we had several companies that were state owned. Problem was, that then there is politics coming into play and hiring is not about business facts but politics.
This resulted in highly inefficient companies as the objectives did not align any more...
Exactly. Also, firing established people who stop contributing is impossible (they'll plead "it's political"), and hiring new people for good wages is impossible too because "that's not according to our tables of wages" (both of these problems are not theoretical, every state company here today has them).
> didn't actually add value to the root product, beyond making it easier to use
What a peculiar thing to say. A product that is too difficult for anyone to use has zero value in the market, no matter how valuable it would be if it could be operated. Making a product easier to use increases the amount of people it can be sold to, directly adding value.
Imagine if the only way anyone could use a browser was to write your their compiler first, the web would never have taken off. There is tremendous value in making things easier to use.
Digital distribution is cheap-er but definitely not free. I worked at <Big Co> and delivering HD or 4K video around the world at scale is extraordinarily expensive. Plus the sheer amount of engineering resources required to run such a thing is on another level than stamping out plastic discs.
>They generated about $1B for the company by creating a portal to (essentially) sell access to the company's existing data.
You are completely discounting the cost of creating and maintaining the underlying data. You can't just write that off as zero. It also doesn't matter if the data generates other sources of revenue, that's great but you still don't get to write the cost off against one revenue stream and not another, the only fair way to account for it is to split the cost across all revenue streams.
The marginal cost of selling the data is effectively 0, since the difference between selling "zero data" and "one data" is 0, and the difference between "n data" and "n+1 data" is also 0.
The sale of data was essentially "free" to the business as a revenue stream, it cost them almost nothing extra to sell the data (again, beyond building a portal and integrations). You CAN discount the cost of data maintenance, from the sale business since the core business (also profitable) is already factoring in the cost. You can't double-count the costs, and accounting DOES let you pick-and-choose where to apply those costs.
For average cost analysis across a portfolio, yes. For marginal cost analysis, the question is “what’s the difference in cost between n and n+1 units?”
Whether other streams succeed, fail, or don’t exist doesn’t change the cost to make the n+1 unit.
That's technically accurate, but the justification for the existence of this team and product (and their real cost base) cannot be predicated solely on the n+1 cost calculation. Suppose the other revenue streams do fail, now without this specific team and product the data set generation and maintenance would be completely uneconomic. In that situation the N+1 calculation will tell you to maintain the team and product no matter how expensive the underlying data set is.
OP was implying that this product was insanely profitable because you can ignore the cost of the underlying data set. I'm saying that makes no economic sense because marginal costs aren't the only costs.
To see how absurd it is, consider that the marginal cost of an n+1 visitor to Disneyworld is probably significantly negative, because they will buy things at concession stands and eat at the restaurant thus generating revenue even if the ticket is free. What are the implications of that for the ticket price you should charge for that visitor? Pretty much nothing because the fixed costs utterly dominate. Yet Disneyworld will run promotions and discounts and bundle deals with hotel stays and even flights. None of that will make any sense whatsoever if all you fixate on is the marginal cost of printing the ticket.
A critical part of any non-trivial business situation is understanding what question to ask for what reason.
When deciding “should we make the incremental effort to expose an already existing dataset as a new product?” you are quite reasonably going to look at different data than if you want to know “overall, how profitable were our data products in aggregate last year?”
That’s the main point of the article we’re discussing: how things get weird when marginal costs are very close to zero.
How do you figure? Surely you know the magnitude of ad spend on software products, not to mention hosting and scaling infrastructure. We're not shipping cd's to every mailbox anymore but a typical marketing budget + Heroku/AWS cost is likely far higher for a typical growth SAAS startup than AOL was dumping on their physical distribution methods in the early 2000s right?
In this case, it was 0 ad spend but large b2b negotiations, so yea theres still quite some acquisition cost, but thats not really part of those calculations.
Any major company that owns data centers, they have large contracts with peering for networking, which is pay-per-bandwidth not pay-per-byte.
Yes, there's an enormous amount of free music out there. Free movies per se are less common, but the world is absolutely full of gratis video content. Some of this is legitimately ad-free (the open source analogy), and 99% of it is ad-free if you install a simple plugin or two.
I own a big pile of great free games from Epic, just from clicking a couple buttons every week or so. And yet I still buy games.
All of these industries are difficult, but that's just the reality of making stuff and selling it. I've spent quite a lot of time listening to indie game developers whine about how hard it is to make games, but the vast majority of what they complain about is just how any kind of big project works.
The main problem here is that houses and software have wildly different marginal costs
It is "a" problem, I'll even admit a major one, but it's not the main problem. The main problem is the expectation of continual customization and improvement at the input of the customer. Imagine if houses were built by you contracting with the developer, and after the initial blueprint and plans were agreed to, every two or 4 weeks you came back with requests to do new things like "add a basement bathroom", or "push out the back another 5 feet and add a glass skylight there for a sunroom", or "change the roof tiling to something 30% heavier".
Even without the regulatory hurdles and permits, nothing would get built as a sheer matter of physics. Blueprints and architecturally sound structures take some basic customer requests at the outset, and then make dozens of important, non-easily reversible technical decisions known to an expert to be required to support those requests. You can't just add on new customer-desired trappings without vastly compromising the quality of those assumptions for the original design.
But that is the situation in modern "agile" software development, and why selling it is so weird - because nothing else we'd say requires professional skill is built this way, and the real profit comes from annual recurring revenue - not a one time sale. Even wedding cakes have limits to change after the initial tiers are baked.
I know somebody who used to work for a custom home builder; they did high-end primary and vacation homes. I promise you that many of their customers had approximately equivalent desires. What the homebuilder had was a well-honed process for channeling and managing those expectations.
We can have that in software too if we want it and work for it. But it requires building a ton of alignment among customer service, sales, design, construction, and executive staff. Everybody who talks to the customer has to know what to say and how to direct requests. Everybody needs to know what they can say yes to easily and what has to get estimated, approved, and charged.
But that in turn requires extremely skilled and disciplined management, something our industry is not oversupplied with. The Agile movement gave us tools to make that work (CI, CD, good testing practices, refactoring), but that only works in a particular envelope of management competence. Outside of that, it's GIGO.
Talk to any general contractor who does high-end home remodeling work. Some customers literally do come in with extensive weekly change requests, sometimes even more extreme than moving an interior wall or adding a skylight. This isn't necessarily a problem; it's a hassle but gives the contractor an opportunity to charge a lot more than the original price quote.
Our lenses are probably influenced heavily by what kind of software we work on (which I admittedly didn't dive into at all on the article).
I work primarily on B2C software, whereas it sounds like you probably work on the B2B software. It seems like consumers tend to mostly accept the platforms as they are whereas businesses feel (perhaps rightfully) entitled to ask for changes in the software they use.
Each have pros and cons, but the marginal cost of B2C software does seem a lot lower than B2B due to the expectations in service.
As others point out, that does happen sometimes with homes. There's a British tv show, Grand Designs, where it happens constantly: https://en.wikipedia.org/wiki/Grand_Designs
But, in support of your point, it usually does cause the builds to be over-budget and behind schedule.
Homes & buildings tend to be built in a way that allows any reasonably skilled professional to quickly determine a reasonable way to handle new work without any input from the original builder.
I wish my house had an on-going development agreement. Instead, I have to find skilled labor and negotiate the work every time I want to change something! Which leads me to often changing it myself and ending up with a worse result for it!
Also, that relationship is pretty much what you can get for several months when commissioning a house in a subdevelopment or similar. Every month or week, you come by to have another conversation on a
different set of customization options.
It's because the hardest parts of software involve connecting with other systems and soliciting your custom requirements. Imagine if you wanted to buy a custom car, but you wanted an "off the shelf from walmart" experience.
"Hello, I'd like to buy a custom car."
"Ok great, we have many over there."
"Yes but you don't have any pink ones with cool designs"
"Well, we could make you a pink one, but what design would you like to see on it?"
"I don't know, maybe a Nascar design. Oh, no, what about a Harry Potter design?"
"We can do that for you, but it will take a few weeks and you'd have to put a deposit"
I had exactly this experience many many years ago when I was just starting out. I'd written a small tool that enabled pop-up messages between [Windows] users on a network. It was protocol agnostic - as long as the users had a shared file area, it would work. This was back in the day when even internal email was new and mostly non-existent in the workplace.
I sold it as shareware originally, but then a Big Fish came along and said 'we want a licence for 1,000+ users, but can you come in and meet us to discuss'.
Seeing this as a pivotal moment in my entrepreneurial career, I agreed to meet them.
Five minutes into the meeting they started rattling off a long list of features they would like added (for no extra fee). Somewhat shocked, I numbly agreed in principle that I'd look at implementing them for the next release.
Once I had time to think about it, I realised that as a one-man-startup there was no way I could implement their requests, and had to back out of the deal.
And that's the problem. The people with money assume they can ask for whatever they like and have no concept that sometimes it's simply unprofitable for the little-guy to deliver it.
"The people with money assume they can ask for whatever they like and have no concept that sometimes it's simply unprofitable for the little-guy to deliver it."
Thats a question of negotiating, isn't it?
They can ask for whatever they like and you can reply with whatever you like.
And then you find a agreement, or not.
The problem in your case seems to have been more lack of confidence and experience on your part, because like you said, selling a licence for a existing product is something very different, from making a contract about new features.
Otherwise a little guy can grow and hire more people to help him with a big contract, if this is what he or she wants.
You are very right :) If you don't have an existing relationship with people who have budgets, my only guess is to have a blog that attracts inbound leads. I'd imagine x% of leads don't have a budget or buying desire though.
Simply having customers incurs costs in support. The more customers you have the more different hardware and OS patch and ancillary software configurations your app is running on, the more uses your app it put to, the more problematic edge cases in the UI and functionality and bugs will be encountered, the more feature requests you will get, the higher the chance that old versions of your app will be in use for longer.
Eric's exactly right, you're providing a service and service costs scale up with users. Not all of them linearly, but some for sure.
It used to be manufacturing, back when you'd ship a cardboard box to a store once a year. I think the delusion we have today is that the internet-enabled model is somehow superior. It just seems to introduce more problems, and forces companies to expend a much greater amount of money, effort, and maintenance to get the same result consistently.
I feel like the next great revolution will be selling updated software only once a year. No privacy implications, no persistent security concerns, no data hoarding, no advertising, no connectivity issues, no addictive social gamification or micro-payment or subscription service. Just a fully-functioning rock-solid program on your local device, developed by a small team, sold to millions of people. I'd pay premium for that!
That’s basically how IntelliJ (and the other JetBrain IDEs) work. They market it as a subscription, but after you’ve been subscribed for a year you get an key that lasts forever for the version that you initially subscribed to. Subscription years after the first (so basically, choosing to upgrade from the initial version) are cheaper than the first year.
It would be nice if they chose to have an option to just buy a version outright without the appearance of a subscription, but I understand why they don’t.
My first product in 1987 sold in boxes, with floppies that had to be duplicated and a manual printed, plus shipping to distributors and mail order companies. If we were lucky we got paid 180 days later assuming they were sold, otherwise we had to pay to get the unsold inventory back. A later product with a larger audience cost $10 just to send an update, and that had very little profit, since it required all the same manufacturing costs. I never did that again.
I'd predicate the answer to this question on a much more materialistic basis than the author : it's weird to sell software because it's doesn't really exist. I mean, it's barely tangible.
You can copy it indefinitely. It doesn't exist physically.
It's much more natural really to buy, say, a painting or a house. You can hang it, see it, use it. You have exactly one house, exactly one of this painting. Software, compared to that, just feel lazy.
One could argue that most software in history did not really improve anything, and that true innovation came from advancements in hardware, which software just took time to adapt to.
How is that different from music, TV, movies. Is entertainment a real thing? What about education, is that a tangible commodity? That's the kind of thinking that lead Marx to his theory of value, and his belief in the parasitic nature of all economic activities except for making physical things.
Concerts and plays are a real things that happen in the real world. So is teaching. They don't exist in a virtual space where everything is duplicable ad infinitum and where the next machine is just as capable as the first.
Do you pay for music and movies on the internet? I don't, and most people do not directly. They go through platforms because otherwise people just avoid paying for them. Copyright and the Internet are kind of conflictual by nature, you probably know that. I'm not saying it's good or bad, i'm just saying things on a computer... it's weird to us. Everything is scalable on a computer, nothing really is in the real world, it feels like cheating. To me the debate is really about proprietary software and and the nature of computers.
Where I live education is mostly free anyway, and artists are heavily subsidized by the state. Greatest artists of the past had benevolent patrons, for a reason.
Actually I'm fairly familiar with Marx, not in a classic leftist way though. Not sure he could have predicted the whole information industry thing but I've always seen the whole GNU/Linx/free software paradigm as the only True Communism™ that exists, and maybe that's why paying for software is a difficult thing.
Music is absolutely duplicable ad infinitum exactly in the same way as software. I really don't see a material difference between recording an album in a recording studio and writing a program at a desk, or writing a book for that matter. Amazon makes good money selling books digitally. In fact I could even argue that an MP3 file and an eBook or any digital content are forms of software you run on an interpreter.
As for the value in software, I used to work for a software vendor that developed planning software for cellular radio networks. It would load up effectively an image file of terrain data, with each 'pixel' representing a square of terrain giving a height, then there was a database of cell site locations, antenna heights and orientations, etc and it would generate maps of signal strength, interference, etc. Really cool stuff. A lot of the value in that software came from experience, expertise and real-world testing and validation by radio engineers.
A lot of high value software encapsulates a lot of expertise by people other than the programmers. Now I'm in finance, but the software we work with gets huge amounts of input into it's design and specifications and validation from the users and customers who put in a massive investment of time and energy and expertise to ensure the software is fit for purpose. That work absolutely adds value, without it the software couldn't exist or have any value.
The idea that software is some miraculous exception to economic reality is a mirage. Free software purists discount all of that, which is why libre software is irrelevant in so many product categories. All of that input, beyond just programming, has to be paid for somehow and the fact is commercial software is capable of rallying the investment necessary to pay for all of that and create useful products.
The libre movement also completely misunderstands the nature of rights. In principle yes the owner of a computer has the right to determine what software runs on it and how it executes, but equally we routinely give up our rights or accept restrictions on them in return for benefits all the time. When Stallman goes to work in return for being paid he gives up his right to stay at home with his family or go to a bar with his friends. He gives up the right to be intoxicated. In theory he has free speech rights to say whatever he likes, but certain forms of speech in a work place that would otherwise be protected speech will get you fired or prosecuted. Why should we not choose to give up some of our rights over our computers in the same way? Very few rights are absolute like that (not none, but very few), because we can reasonably choose to accept limits on them.
>I really don't see a material difference between recording an album in a recording studio and writing a program at a desk, or writing a book for that matter.
You don't write an album on the computer (unless you're a DJ, which is, one would argue, not real music). My point was that things on a computer all exists in a realm where you can "right-click > copy" things. Like, that's it.
Still the initial point of building things in the real world, that you can see and touch, stand.
From the OP:
>Software is a great business because, if you can build something that’s useful and provides $10/month of value to someone, it’ll probably cost you a lot less than $10/month to provide that value to a second person. Multiply that by 1,000 and you’re getting paid to do a full time job, even if you only work 5 hours per week. Multiply that by 10,000 and you can retire in a few years. It’s an extremely high leverage business.
>This makes software a weird anomaly.
Yes, software is a weird anomaly, because everything is scalable, because you can right-click copy. Software is a miraculous exception to reality because internet and the computer space is, frankly, some miraculous exception to reality.
Though I may be biased you know, I work in architecture and the software is absolutely horrendous. The added layers of complexity just brings endless frustration -- although in more theoretical fields (like finance) it may work much better, I see your point.
Now I don't see highly-specialized software having a hard time being sold to customers. Most definitely these things sell like crazy, and make their owners ostentatiously rich, which is not the case of the OP. But maybe he should have talked about centralization and monopolies, a logical consequence of scalability, which is what happens when everything is constantly connected as it is on the internet -- because, again, the computer space is a weird space -- and how it makes it much more difficult for small players to gain traction.
I use Blender whenever I can -- it is a fantastic software, capable of doing many things, and it's held up by a global foundation where all the actors of the industry play their part. I'm not saying it's the ideal business model, but it sure is the only software client I respect.
Going to work is not really "giving up rights" as much as it is not having the choice. On the computer space, you have the choice, all the time, that's why it's contradictory.
Maybe we need to create a completely locked-down computing environment, maybe that's the solution.
A lot of software (most?) don't have zero marginal cost.
Every new customer (organisation!) that is onboarded must have their own customisations to make it useful for them.
The real business is doing this by charging per hour to do those customisations. The base software is more or less a made up marketing story to be able to get a foothold. The most successful and established companies can charge a large up front fee (license).
> Every new customer (organisation!) that is onboarded must have their own customisations to make it useful for them.
Meanwhile Adobe just rakes in 10-50$ per month on Creative Suite plan subscriptions from individuals and small businesses all over the world who are happy just to get access to the software.
I agree but I am thinking this might be result of "being able to charge customer" approach. This model may be easiest way to charge every customer instead of haggle with customers with pay for base software which price is (f.e. wordpress) or often quickly falls to zero.
More optimal way to create such software would be without customisations, but you cant do that cause you cant charge enough.
Was happy to see this wasn’t some rant about people not wanting to spend the price of a cup of coffee on your app.
Instead it’s an exploration of the marginal cost of software and how that impacts the creators business.
> The digital nature of software makes it extremely easy to ignore pesky distractions like customers right up until the moment you need their money to buy that expensive Icelandic yogurt you love.
This quote comes right after a paragraph about how the closest thing to the near zero marginal cost of software is the publishing business.
I think that book authors are in a similar position. Spend a year or two writing a novel with almost no idea If people wants to read it.
The third downside is that, unless you can differentiate your product from what already exists, it’s going to be hard to find a foothold in the market. Given how many software products already exist, that’s a high hurdle to clear.
It seems to me that, in any particular domain where there are several or many competing solutions, each with small differentiations, each differentiation takes on a disproportionate amount of significance. So it is possible to make a business out of fairly small differentiations from normal. Eg, through integrating with external systems or better UX for common tasks. And even better, it is often the competitors that have done the work for you deciding which external systems need integrating and what the common tasks are.
Where the diffs are the USPs for all your competitors, it almost makes it easier for you to join in.
Also, most people should let go of the silicon Valley or US mindset that success means 'a significant portion of your target market'. We do not all have to or want to be billion$ company founders or grow fast or have many employees; it is fine running a small SaaS that gives you 500k-1m revenue/year and you run on your own. Maybe not in the US (I know too little about the Healthcare and litigation parts), but in the EU, you can live and retire as a king with those numbers (provided you don't do things that are too stupid along the way).
With such a company, you do not need much to differentiate to get 1000+ paying clients: you just probably will never get to millions of clients, and that is OK.
Low volume enterprise software is effectively selling perpetual professional services for a company, with access/using a very specific proprietary tool. Selling the software is a lot like dating, the company buying your professional services wants to know who you are and how effective you'll be, before the commit to you for 3-5 years, maybe longer.
If you were just selling an API to a voice transcription service, that's great but there's very little economic moat and now you're in a Race To The Bottom with every other voice transcription API service out there. At least with professional services, there's options for customization and the revenue stream becomes more sticky.
Identifying an unmet need, getting a market fit for a solution, understanding what people are willing to pay are all counter-intuitive for engineers, but essential to make money.
These are my recommendations to anyone who's here and not getting the traction they want, or are considering starting a business. The 1-Page Marketing Plan - Alan Dibb. The Right It - Alberto Savoia. Monetizing Innovation - Georg Tacke & Madhavan Ramanujam. Obviously Awesome - April Dunford
This analysis feels shallow, since it doesn't address the current landscape: it takes a lot longer than 10-15 years ago to get from nothing to revenue if you don't have a contract in advance, while most of the mainstream advice for software entrepreneurs is from a time when the barrier of entry was lower.
The dificulty is mentioned, but probably requires strong emphasis and going into details (having a distribution mechanism before writing any code for instance). I often feel like even VCs and insiders are stuck a bit in the past, since their success came from a different ecosystem.
Distribution is the most underrated, most difficult part of creating a tech company.
In the UK Squarespace peddles the slogan 'a website makes it real'. This is very misleading. Making the website is the easy part, being found if you have no prior audience, no experience with SEO or a lot of money for ads is incredibly hard. In my opinion breaking into the tech world now is much harder than it was 5 years ago regardless of how good your product is.
I'm running into a weird paradox when it comes to marketing - providing a service more cheaply than your competitors doesn't make it easier to reach customers, it makes it harder. It is a meritocracy of sorts, but one optimizing the value extracted FROM customers, not the value provided TO customers. By having thinner margins, you are also able to pay less to have others promote your product, and that's what the digital ad market is optimizing for.
You’re right that cheaper services could affect customer outreach budgets and it does limit your options on what you can do (I.e. incentivized channels) but it also forces you to focus on other channels that suit your budget (I.e. content marketing, building relationships in forums, etc.) Also, price may not necessarily have to be fixed for all customer segments, you can use pricing as a strategy lever.
This is just software folks trying to speculate about economics and not finding the right sources to make sense of things.
The KEY distinction between software and house is abundance vs scarcity.
Once software and house both exist, software can be used all at once by every single potential user. But the house can only be lived in by a few people at a time. Everything else about the economic distinctions flows from these facts. The "marginal cost" idea is correct but is a symptom of the fact that houses are *rivalrous* and software is not.
I gave a talk about this recently with further context at LibrePlanet (so it's aimed at software-freedom advocates, keep that angle in mind): https://framatube.org/w/ssYsun1bEXuL1nm5cT9ckw
I was thinking "building software is more like writing a book" and a few paragraphs later they slide into the publishing analogy.
I spent an entire year, 16 hours a day, grinding on a software project all by myself...and I shipped at the end. Having completed it, or shipped rather, I realized/felt that I now knew what it was like to be an author...working alone building something through discovery and pure creativity.
I have been chasing that feeling again, for years. It doesn't come from building someone else's desired solution as a team member on a project. That is a totally different experience for the developer than building from the heart.
At work, building software is sort of like building a house. In my home office it's like writing a book.
The weird part about software is that most of individual code-units (i.e. functions, methods) are not very specific to your product. Thus they could be part of another product as well And then you realize it's actually a huge waste that they are not used by other products as well. You are almost re-inventing the wheel most of the time you write a new function.
The value is only in what your multitude of trivial parts do together. Maybe that's not weird, but it's peculiar, to software development.
That is not peculiar to software development, even the most sophisticated F1 motor or Raptor engine is composed of five or six "simple machines" based on only three principals: wheel (wheel, pulley), lever (lever, screw), inclined plane (inclined plane, wedge).
There is complexity in all areas of engineering of course. What makes software special is that it is so easy to create new software, and thus create more complex things.
In fact it is more difficult to create software with simple design than it is to create complicated software. A "hacked" thing becomes very complicated as it evolves. Software is isomorphic to logical proofs, we can think of how it is often possible to simplify mathematical proofs. It is a lot of work however to come up with simple elegant proofs. So it is with programs.
Mechanical devices have to be carefully designed because idea is that once you have the design you will then manufacture many machines having the same design. You need to do that because manufacturing physical devices is expensive. In software you can just start typing.
> How would you break down a coaxial swirl injector (an important part of the Raptor engine) into “simple machines”?
I didn't complete the Mechanical Engineering degree two decades ago, so you might want to consult an engineer. Preferably one at SpaceX )) Being familiar with only typical automotive electromechanical fuel injectors, which presumably operate on similar principals, I'd also like to see where the spring and solenoid are classified. The valve itself is obviously an inclined plane.
> Are the regenerative coolant pipes built into the Raptor’s nozzle a wheel, a lever, or an inclined plane?
I'm not familiar with the Raptor, but from examining an RS-25 up close a few years back I would say that the intricate regenerative coolant pipes that make up the nozzle are not mechanical devices )). They are a component of a mechanical device, though, in the sense that they are bolted to the same device as the e.g. obviously mechanical turbopump is bolted to.
Surely there's a certified engineer in the HN audience who could chime in.
> you might want to consult an engineer. Preferably one at SpaceX
I suspect that they would tell us that the idea that every machine can be broken down into a series of simple machines was a cute theory in the Renaissance, but is not a usefull model to explain how a Raptor engine works. Maybe the theory of simple machines and compound machines is usefull for purely mechanical constructions, like a bicycle or a clock, but fails to account for the fluid mechanical effects which dominate in a rocket engine.
Most software is rented. As the author says it has effectively zero marginal cost. Commercial software is ostensibly using sales to fund future software development, but in many cases it's not really doing much of that.
More and more I'm viewing software as infrastructure, and Free Software as one of the best ways to protect that. But that leaves a big challenge funding development.
So yeah, software is different to houses. Software needs huge [1] upfront spend in time and/or money. This means risk, and high risk comes with potential high reward.
By contrast building houses, even at scale, is pretty low risk, but since its low risk the upside is constrained.
In many ways software is a lot more like making movies. You have to do the whole thing before you see any revenue. Risk is high, most lose money, but a few make the big bucks.
This model does favour those who can take on more risk - ie companies with deep pockets. Even there risk is mitigated - formulas are followed, safe casting choices, sequels etc.
Smaller indie movies can still be wildly profitable, just on a smaller budget. Don't make Lord of the Rings, make The Blair Witch Project.
For me, we started out mitigating risk by writing customized software others paid for. When we had no work we worked on our own stuff. Over time our own stuff paid enough so we stopped doing custom stuff.
With every new project though we evaluate risk, try and keep it down, and so on. Mostly we mitigate risk by doing what we know, to our established market, (aka sequels).
5 years ago we had the opportunity and ability to enter a new market space and we discovered something new. 30 years ago we were selling the idea of computerising. We were competing literally with paper and pen. We often had to supply the actual computer - for some Companies it was their first, and only PC. While challenging, the upside to the customer was obvious and very valuable.
Wheras This new product was going into a space with 3 established compeditors. While objectively better, the existing ones were good enough, and as the cost of change is high it has been a long road to get some traction, which we are slowly doing. That we could afford to persist was because the other side of the business was working well enough to pay us. So think day job, and side project (with the side project having 3 full time employees :)).
The lesson - Today software isn't fighting pen and paper, it's fighting other software that is 10,20,or 30 years matured. The path we trod is not going to be the right path now.
There are gaps, but doing the non-software things like marketing, customer analysis etc upfront is now much more important than it used to be.
There are opportunities, but it takes a moment to imagine them, and a Lot of work to validate them, and most imaginations are incorrect. Doing the upfront work well will pay off multiple times later.
Oh and don't give up the day job too early...google may think self-driving-cars are the way of the road future, but they haven't quit search.
[1] huge is a relative term - what is huge for an individual might be trivial for a company.
My commercial, charityware ($3.50 to charity of every purchase), MIT open source software Video Hub App sells for $5 with about 100 customers per month. 4,000 purchases over 4 years since the launch. Unsure how common it is, but I want more people to be transparent about their products, so others can know the distribution of possibilites.
Their point is interesting. Feels a little like the first mover take all outcome, too. Ie if software does do something dramatically helpful (has a truly killer feature) it’ll often push other entrants out. Thinking of you, Windows 95.
I think this also underscores that programmers would benefit from some form of regularization. Like instead of a degree followed by a job, a close apprenticeship graduating into a junior membership in a programmer guild or union.
Selling software is more like selling the blueprint to a house than selling the actual house itself. The blueprint may need to be customized for the local situation, just as software users may need to configure their software for their particular use case. Software runs on hardware, and probably the major cost should be the hardware, not the software.
> If you’re building software - particularly new software that hasn’t already found a market -this underscores the importance of being good at what you do: if you’re just average (or more precisely, just median), you’re creating zero value.
I have a hard time selling my cool app, now i wanted to go back to my ex-boss. (tear of not yet unemployable)
Can any experienced sale people share any advice on career paths within tech sales?
I am considering a career reboot come June, and sales is one path I am exploring.
Are there certain types of software companies, products, or sales environments that you would recommend with regard to TC, lifestyle, and/or career satisfaction?
I loved this article! Breaking down the basics on the risks and rewards of software. We talked about it on our webstream today: https://youtu.be/19posUE1i80
> Paging back through history, there have been very few opportunities for near-zero marginal cost goods.
The only way that capitalism allows for the production of non-rival use values is by turning them into "club goods" and excluding access to them by state-enforced monopoly (intellectual property laws in this case). There's no shortage of examples of club goods.
The three "downsides" the author lists as unique to club goods aren't unique to club goods at all. (1) All commodity production requires capital ("up front time"); (2) All new commodity categories are risky and only tested when they hit the market; (3) Breaking into any commodity category is next to impossible without sufficient capital.
Software is very close to math. Most people would agree that math should not be sold or licensed. How to add numbers is not something that should be paid for. If actually someone made their living by adding numbers we would probably agree they should be paid. So the programmer should be paid, the hardware should be paid, but the software not?
Doesn't seem to work. Exactly like people expect everything to be free on the internet. Surveillance capitalism is one way to overcome the paradox. Not that I personally like it, but it seems to work.
Since everybody learns basic math in school these days it has ceased to be something you can really charge for, similar to how it would be very difficult to charge for a software package that only copies files on a single computer or something like that. Applied math absolutely gets paid for, but it is a far cry from "adding numbers". Think new optimization techniques for a factory logistics package and things like that.
It worked very well when it came to do all the foundational work for developing semiconductors, early computers, fiber optic, GPS, GSM, particle physics, CD/DVDs, CCDs, spread spectrum radio, solar panels...
Research benefiting society needs was paid by society. It was paid by taxes.
The value-add distribution for software is not quite right. It never goes negative.
Most software exists and can sell because it does things rich people who run corporations want done. That usually means it's good for them and bad for society, since our world is run by people who think in zero-sum terms.
You're using a different definition of value than the author. In which, the housing distribution would also not be right. You can build a house that is extremely dangerous, blocks the sun on the neighbor's otherwise warm sunny pool, replaces an attractive park that was valuable to the area, etc.
Could be good for the buyer, but bad for the neighborhood.
> since our world is run by people who think in zero-sum terms.
I disagree very strongly with this based on my experience so far.
Being in the business of low volume software is fantastic if your customers are other businesses.
The advantages of low-volume/complex B2B software biz are incredible to me. Contract terms are measured in half-decades. Your users can actually be trained and held accountable in many cases. You don't have to plan for nightmare public cloud scenarios. Your software will usually be running in some firewalled bunker with a guarantee of <10k concurrent users. When operating under these constraints, there are lots of fun ways to manipulate the engineering to your advantage (i.e. SQLite vs nightmare distributed abominations).
Granted, low volume B2B software is just as worthless as any other kind if it doesn't deliver profitable value proposition to the customer. We currently sell software licenses measured in the 6/7 figure cost range (and get away with it because of the complexity of the business and value proposition). This means our little startup can hand-craft each customer relationship and carefully manage the sales funnel for optimal outcomes all around.