7 ms·
I don't think the comparison between documents and applications is anywhere near as interesting as _why_ we've collectively decided to tie ourselves into knots
by enobrev 5y ago
I don't think the comparison between documents and applications is anywhere near as interesting as _why_ we've collectively decided to tie ourselves into knots to create applications out of documents over the past few decades.
It seems to me that the internet application model is far more attractive than the locally installed application model on any OS. As proven by, well, the past few decades.
I started out with BBS and when I started to play with the web, I thought mosaic and webcrawler were mind-blowing. I remember faxing in my info to buy domains and I know I had a geocities site, though ill never remember the name I used.
I'd done over a decade of server side rendering and knew, just absolutely knew, that client-sode rendering would be a massive improvement for all parties. And it can be when done well (I admit it isn't always). We're still many years behind where we should be in what our browsers should allow for client development.
What we're capable of now with what can still be considered an enormous collection of "documents" is just incredible. I'll take this over those days. What I personally miss most is the ability to read the uncompiled code. That's where we lost the most, as that's where I learned almost everything.
And after 20 years of professional development on multiple platforms and languages, I still largely prefer web development. I'm far from alone. I think that says a lot more about classical "application" development than it does about the web.
- Frost1x 5y ago>And after 20 years of professional development on multiple platforms and languages, I still largely prefer web development. I'm far from alone. I think that says a lot more about classical "application" development than it does about the web. I'm curious why. For me, I've always been interested in keeping intellectually stimulated when I'm at work. I don't want impossible challenges but I want something that, while I'm working, time disappears so it doesn't feel like work. Now, I did my fair share of server side rendering applications in the 2000s and enjoyed it at first. It was quite enjoyable to be able to pass my ideas and application around to others without the barriers of cross platform compatibility or security models that make running unknown or less known native binaries a no-no. This melted away with web applications (mostly, bar some pretty notable browser vulnerabilities during that era). What happened really was Chrome's sandboxing and security overall that comforted many that running arbitrary JS code from an external source was "OK" because your browser was mostly protecting you from doing nasty things to your local system and data. This exploded into expanding JS, ES, and the entire development ecosystem. To me, this is really what made things intriguing and I suspect why many love web development, they can easily share their creations now to about anyone without many barriers, just type in this address on your phone or laptop and tada. Unfortunately, the development ecosystem is a mess. I don't think this says anything negative about classic application development, I love classic application development because it's usually well structured and I don't have to waste cognitive load dealing with silly technical issues I don't care about--I can focus on the application and what I want to create more. I don't want to know why this silly UI element isn't behaving the way it should and deal with a workaround, I just want a UI element that does this so I can move along and do the interesting work. What traditional application development really lacked was ease of portability for others to use securely. The OS has now become the browser to many and this is their playground. Unfortunately I don't enjoy it because I'm used to mature frameworks where I don't worry so much about the application development as much, I worry about the application and translation of ideas into something people can use. Web development is getting there but it's just not there yet and if you've been spoiled with stable development environments it's hard to go back to the wild west of dealing with what you considered to be mostly solved problems decades ago.
- taeric 5y agoI am pretty sure that getting what is basically a reliable VM style environment on every computer you can think of has way more to do with this than any other point. I prefer programming in many other environments. I also greatly prefer not having to distribute anything to other computers.
- azernik 5y agoThat's not quite what the article is talking about. The article is complaining not about the use of the Web to write/host apps, but about the unnecessary use of app-writing functionality (aka JS) to "enhance" documents or to reimplement browser document-reading functionality. If you're writing an app, write an app. If you're writing a news article, write a news article.
- enobrev 5y agoThat's clearly stated, but not well supported by our experience. I agree that many sites are poorly implemented because they're trying to replace browser functionality with poorer versions written in JavaScript. This can be the fault of the service, host, or developer behind the site. But browsers have not been improving their ability to serve documents. Besides maybe initial load times (and fewer ads, whizzes, and pops), I get no significant benefit to reading an article with no JavaScript. I don't get a searchable cache of my document history. I don't get to swipe it over to some other device to continue reading without relying upon some other service. I don't get some guarantee that the document will render on any device and that I can send the document to someone else without a url. I can't highlight or add notes to a document or make corrections and view my (or others') versions of it. Sure, they're documents, and so I should be able to treat them as such. But I can't. They're not portable. Browsers aren't really great for document management or manipulation. Static sites are just as tied to the browser and host as any app.
- Karrot_Kream 5y agoI think you're making the case that the web is a program-first medium and not a document-first medium. Is that correct? While I largely agree that dumb documents aren't that useful, I'd say a large part of our actual web interaction is still just dumb documents with some form of response (like what I'm doing here, or site comments, as others do). That's not to diminish actual applications which are made much easier by the web's distribution model, like Google Maps or Google Docs.
- enobrev 5y ago
- jrm4 5y agoI mean, "attractive" is weird here. Follow the money. People like cool things, and companies are reticent to make cool things in a way they can't control. I've always framed it in terms of "where are the files?" Maximum control for the cool-making companies means "hide them from the users." I'm really really really happy to see projects like obsidian.md that see the value in not doing that.
- enobrev 5y agoAre you implying that web applications are a fad? I'm also a fan of obsidian.md.
- jrm4 5y agoI hope so? More seriously, I think I'm coming around to -- I don't care where or how the applications are made per se. I used to hate the web-stuff->desktop applications idea (electron et al) because it seemed dumb and slow, but both Discord and Obsidian disprove that pretty well I think. It really is about "where is your stuff." It's fine to optionally store whatever in whoever's cloud. But increasingly, I believe that anyone developing any sort of application in which the user's stuff and how it moves around is not 100% transparent is quite literally evil and I wish them utter failure.