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.
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.
Business will have a harder time doing the same.
What I am trying to say is that even these software business model tied to the instruments are no a guarantee anymore.
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.
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.
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'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
5. Goto 1
(1) This is a footnote. You don't need any fancy software to write a footnote.
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.
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.
With link to syntax: https://www.markdownguide.org/extended-syntax/#footnotes
Your suggestion is noted, though!
1 x $1,000,000
10 x $100,000
100 x $10,000
And so on
I agree with you, low volume doesn't mean anything.It's why you don't see any trillion dollar company who does custom software.
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.
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!
Don't see the benefit of using SQLite over a RDMS like MySQL or Postgres, 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.
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.
What does it mean to hold a user accountable?
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."
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.
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.
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 :)
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.