In a lot of recent shows there’s been lots of talk of mobile OSes, personal assistants and AI of various sorts. It got me thinking… the amount of what I would call “hard domain knowledge” that is going in to even the most innocuous applications nowadays has gone asymptotic in the last 2-3 years or so, to the point that I wonder if it’s now reasonable for anyone but a multi-billion dollar megacorp to even think about building an application for a general audience.
To illustrate what I mean, let me give an example. I’m a software engineer, I have all the block and tackle skills you’d expect from a software engineer, plus my own specific domain knowledge. If you’d asked me in 2010 to build you, say, a photo gallery app I’d have probably said OK it’s not my speciality but I can do that. Ask me today, and I’d look at the sort of computer vision based searching/sorting techniques that are considered standard and I’d have to say I really don’t know how to do any of that without years of extensive research
A while ago, they discussed mycroft on the show as an example of a open source personal assistant software, but if you look in to it it’s only “open source” in the very loosest definition of the term. Almost all the heavy lifting is done by web services provided by big companies, with only the glue between them being truly open. The bits not provided by megacorps are in themselves pretty subpar, for example it uses Festival as its speech synthesis engine which is 4 or 5 generations old and nowhere near the quality of the cutting edge commercial solutions. It’s the same with Jolla/Sailfish, anyone can basically build a mobile phone now mostly thanks to infrastructure provided by or caused to happen by Google, but you can never compete with Google because all the bits that consumers now expect are proprietary, jealously guarded and impossibly hard to replicate.
We’ve always had this problem in the open source world that hard domain specific apps simply didn’t exist, but I think now it’s got to the point that every app has to include hard domain specific knowledge such that even small/medium companies can’t compete. Is it now the case that all software not designed for small niches is now the domain of the megacorp?