9 ms·
One of the overriding themes which I attempt to convey in my teaching, blog, etc is that the modern technology landscape is something that we arrived at largely
by jcrawfordor 6y ago
One of the overriding themes which I attempt to convey in my teaching, blog, etc is that the modern technology landscape is something that we arrived at largely by chance. Nearly every decision made in the development of computing had a wide variety of alternatives at their time, but once things become ossified as a norm it is difficult to imagine another way. For example, I have recently mentioned a few times how it is hard now to see TCP/IP as not being the "obvious design," but in the early '90s there was healthy competition of network protocols offering various feature sets.
I think it is extremely important from a teaching and engineering perspective to view the modern computing environment not as some elegant design (which it most certainly is not) but instead as an concretion of "best option at the time" solutions to real problems.
It is a bit intoxicating to think about how things could be if computing really were approached as a single, monolothic, elegant design. But essentially every attempt to do so has failed. Much like how we think of computing as layers of abstraction, the computing industry is functionally constructed of layers of abstraction, and so it is difficult to really change anything at lower levels.
- shakezula 6y agoOn one hand, it’s fun to imagine what a truly full-stack rewrite of the internet would allow us to do, and what it would look like. On the other hand, the current internet feels like a good approximation of the best trade offs for performance vs. usability in most areas, and I doubt a full rewrite would fundamentally change much about how we use the internet.
- notduncansmith 6y ago> I doubt a full rewrite would fundamentally change much about how we use the internet. I imagine that it would in fact have to support people using the internet exactly the way they do now, if it hoped to get traction.
- egypturnash 6y agoAn Internet with a payment system built in from the ground up might be one that did not end up throwing its hands in the air and saying “I guess everything will be funded by ads, I dunno”. An Internet where “keep engagement high so we can serve shitloads of ads” was not the default path to financial success would be an Internet without social media that happily pushes people into ever-more controversial positions, because that’s what keeps them around longer and lets you serve more ads. Decide for yourself what social changes that would create.
- shajznnckfke 6y agoI don’t think this is really true. We’ve had the technological capability of micropayments for many years (since PayPal probably?), so it’s long been possible to charge for access to content on the web. If that were a model consumers preferred for text, it would be winning. Instead, most consumers will bounce from paywalled content if they can’t figure out a way in for free. In areas like music and video streaming, paid services are actually popular, because they have a different cost structure and more consumers find it worthwhile to pay to access better content with no ads.
- Nextgrid 6y agoThe problem is that most paywalled content wants to charge 50-100x what they would otherwise earn from ads. A typical newspaper would make maybe 10 cents off my visit if I didn't have my ad blocker, but somehow if I want to pay I need to pay a 10 dollars/month subscription even if I only intend to read a handful of articles.
- mjevans 6y agoBanks are the core issue here. Micro-transactions cost too much. They really don't have to; that's just greed.
- Nextgrid 6y agoThere's nothing preventing a newspaper charging 10$ once to pre-pay your account and each visit debits the equivalent of their ad earnings for that page view. It would negate the impact from payment processing fees while still allowing most people to read in a cost-effective way. The problem is indeed greed, but I'm not sure the banks are the ones who are greedy here.
- dragonwriter 6y ago> There's nothing preventing a newspaper charging 10$ once to pre-pay your account and each visit debits the equivalent of their ad earnings for that page view. Sure there is, they'd lose enormous money that way. Because the small segment of users that would pay for the average page view are a large portion of the users most valuable to advertisers. If they charged high enough to make up for the loss of the demographic willing to pay the price, it would be an even smaller group paying very high prices. And even higher prices once you charged extra to recover the costs of developing and maintaining the separate payment and customer support system and service for that small customer base. Lots of people that are in demographics more valuable than average see stats about the average a site makes per view (or per MAU, or whatever) and says “I'd be willing to pay more than that.” What they don't realize is that they are worth more than that as advertising targets, and the people that bring the average down to what it is aren't willing to pay the average.
- selestify 6y agoIt would be really interesting to have a list of these past decisions
- visarga 6y ago> but once things become ossified as a norm it is difficult to imagine another way Sounds like a ML model that can do correlation but can't handle causal and counterfactual reasoning.
- Razengan 6y ago> It is a bit intoxicating to think about how things could be if computing really were approached as a single, monolithic, elegant design. Isn't the iPhone/iPad supposed to be exactly that? A single device, a single ecosystem, a single curator.. and outside of a vocal minority, millions of people love it for exactly those reasons.
- kbenson 6y agoNo, iOS is a lot of custom code, but it's also a lot of reusing open source, and a jnix kernel, and POSIX, and the thr same instruction set as many others. It's just a skin on top of the same old stuff everyone else uses, but with more control so you can't reach underneath to see much of the foundation. That said, it's a fairly deep skin by this point, and getting deeper, but compared to the whole depth of the stack we're talking about, it's still just the skin.
- butterisgood 6y agoI think this is a matter of perspective. I think Mac OS is just about as innovative on Unix as Linux is. Not in exactly the same ways mind you but definitely they’ve invested more than just wrapping a shell around POSIX.
- kbenson 6y agoKeep in mind the original post was going so far as to talk about a having different protocol stacks (not TCP/IP), different display protocols, and different IO ports (Apple devices do have some of the latter). And if JPEGs aren't supported through libjpeg, we're actually talking about a completely different computing paradigm, so it's not even a von Neumann architecture. In the fact of that staggering amount of difference, the slight difference iOS and current MacOS have from Linux and Windows is very shallow. That for many things you can easily throw a compiler on there and compile the same open source project and it will link to the already existing libraries it needs, the same ones it will find on other platforms, shows this. While I don't know enough to comment authoritatively on it, I think with respect to this Apple might have taken a step backwards (at least with respect to percentage of system that is unique, if not in total amount of libraries and code) when it switched to OS X. OS 9 and its prior versions were an entirely unique and custom OS designed at Apple. The whole switch to OS X was taking a UNIX core for stability and building on top of it. Apple systems are quite different than the norm in many respects, but the scope of this discussion is so large that there's really little they do that's different than everyone else from that perspective, because nobody does anything different. It's hard to start from scratch and ignore approximately 80 years of concerted computer science effort and come up with something useful and usable in any sort of time frame that makes it worthwhile.
- deleted 6y ago[deleted]
- fsloth 6y agoI think part of the problem is that software is hard. I've programmed for two decades. I write non-trivial software modules in a specific domain. It's not as if I was averse to analyzing things. And I try. When I can. Yet. Design is damn hard. One of the problems is that implementation is often an empirical process of requirements and constraints recovery. I.e. I cannot create an elegant design before I've implemented anything, because some of the requirements are discovered only when the domain is explored using the code which I write. One of the problems is that I'm not smart enough to design the system beforehand. And I don't have enough working memory to do so. And I presume many programmers work in similar environments. I think in the 70's or 80's there was a vivid dream that one day programmers would have advanced CASE tools to help them design better programs. I wonder what happened to that dream. Maybe IDE:s and software systems became so easy to use that everyone prefers to prototype in code and perform empirical constraint discovery just like me...
- ivan_gammel 6y agoThe dream came true. In a modern non-software startup environment people often write code only as a last resort. I regularly see BizDev people setting up new business process automations with services like Zapier, Jira, Zoho, AutoPilot etc. There are plenty of CMS systems, customizable BPM, CRM, ERP etc where you can define UI and logic without writing a line of code and it just works. The cost reduction compared to the traditional coding is tremendous and enables small IT teams to run quite sophisticated businesses. Developers usually don’t see this, locked within their code-based programming paradigm, but this is already real.
- fsloth 6y agoThanks for this! You are quite right. For the space that is dominated by "CRUD" apps there are quite a lot of alternative implementation pathways than pure coding. And as most of the business value lives between the UI and the database, I understand why there is no driving incentive to create similar high quality tools for numerical, data intensive programming tasks that run on the customers desktop. We work in a niche, hence must be self sufficient.
- webreac 6y agoThere is also some ecology: the hardware (CPU, GPU) has evolved in conjunction with software. Maybe a different hardware is needed to support the new software paradigm.
- 2rsf 6y ago> see TCP/IP as not being the "obvious design It is far from obvious, TCP has it's problems over fast and relatively reliable networks. For a random example see [1] [1] https://blog.ipspace.net/2019/06/do-packet-drops-matter-for-tcp.html https://blog.ipspace.net/2019/06/do-packet-drops-matter-for-...