Live data from Hacker News

I’m done with the web

randyluecke.tumblr.com

251–260 of 291 posts

Re: I’m done with the web

#251

Earlier quoted context omitted.

It's more like the ease of Web programming opened up programming to an entire new slice of the population that would never have had the opportunity to become programmers before. These people don't have computer science degrees, so they spend a lot of time reinventing wheels. But lots of it works well enough despite all that, and as time passes, they learn and get better. The messiness is a good sign, not a bad one. T…

Being an egalitarian, I have to keep reminding myself of this, even if I recoil at how messy some of the results are. Still, it behooves us to pause and reflect, and maybe consider if there is a better way? The first comment I read in this thread said that Obj-J and Cappuccino were hell to deal with, and much as I scoff at the idea, some people (read: a whole lot of web developers) aren't willing to spend a couple of…

I can't say that this is a problem specifically in the web.

The landscape is littered with C frameworks, C++ frameworks, Java frameworks, .NET frameworks, and so on for every other language, that serves to abstract so much from the basics that it becomes so difficult to do basic things the -way. The problem is that instead of being ancillary and supporting productivity, they are opinionated and try to do EVERYTHING for you, which just makes them really crappy DSLs.

This just happens to occur on the web a lot more because what we have to work with is inconsistent, sometimes poorly implemented, and confusing as hell to new players. So everyone and their dog tries to "solve" developing web applications by making you believe the DOM doesn't exist (jQuery, MooTools, etc). Some think HTML and CSS are too complicated and try to get you to believe those don't exist either (Ext, etc). Then some want you to forget that Javascript ever existed, or to make Javascript less Javascripty (GWT, Prototype/MooTools, etc).

The end result is a lot of opinionated dogma that rarely actually help us get things done (or get in the way more than help). If you pick a big framework, it's usually very good at whatever it was designed to build. But if you want to build something even slightly outside of that set, it becomes a massive cluster-fuck of WTF-inducing horrifying debugging and pain. Only the lightweight libraries that are massive value adds without enforcing a specific dogma on the user have been extremely successful.

The problem is that everyone is too opinionated and makes their software try to do your job for you. It's not really about the ease of use, it's about the ease of integration, extension, and whether they make our jobs easier or nightmarish. Yes, the web foundation is far from perfect, or even great, but most of these frameworks are far, far worse, since they massively and arbitrarily limit what you can do for the sake of some vision of simplicity.

The same problem exists in the native world. There is no consistent presentation layer that rivals the web, and even it isn't fully consistent (all browsers are different, and even the same browser on different platforms can behave differently). But it's a far cry from anything else.

As an aside, since JS isn't assembly, using it as a compile target to build applications foregoes a lot of the other fundamental technologies in a web browser. Sure, you might be able to compile into JS and have an application run in the browser, but that necessarily implies you're doing things like building the DOM manually, and sites like this tend to have significant performance issues. If you want it to work well, the best way currently is by using HTML/CSS/JS and by not letting a gigantic framework pretend that those things don't exist.

Re: I’m done with the web

#252

Earlier quoted context omitted.

This, so much. Randy's probably right about how silly all the tiny reinventions of UI frameworks are. And, though I'm generally unsympathetic to claims that a project is a failure because people don't want to learn the tools, I think it's safe to say here that asking people to use a language that's only marginally less horrible than JavaScript is not going to be a win from any perspective. But he fails to realize tha…

I read the post differently. I think he was simply pointing out the fact that we've stagnated at the same level of abstraction in the web space for a long time. Cappuccino is just the example he's using to point out where we were relative to where we are and in that light it's almost a regression. For the purposes of his larger argument, the way that Cappuccino delivered its abstractions (Objective-J) isn't as import…

We're stuck at the same level of abstraction because the platform forces us to. The base html/css controls are incredibly simplistic, to the point of being pretty much useless for building proper UI. Everyone is struggling with how to abstract their way around this fact.

You have solutions like gwt, cappucino and extjs which build custom ui components that behave properly, ad the infrastructure to tie them together. This works, but only if you never step outside the framework, and only if you're willing to deal with bloat, which sucks. Then you have frameworks which just give you the infrastructure, not the custom ui components, like ember or backbone. That also works, but because html's core controls are horrible the only way to get a great ui out of that is to build really custom ui, essentially rebuilding what the complicated frameworks already provide out of the box, which sucks. And then you have one-shot solutions that try to bring just one or a few ui elements to the web, trying their best to fit into the raw platform. That also works, but because the raw platform is so painful to use, it doesn't scale.

Really, the problem is that html/css/js is the wrong base for building abstractions on. I have great hopes for shadow dom and web components, but that's only the beginning of what we need. The platform itself needs to evolve a great deal to make building high-quality ui something that doesn't lock you into a vendor's toolset.

Personally i chose extjs and am waiting it out until the platform matures underneath it. I'd like to see the extjs codebase evaporate as parts of it get replaced by native code, until it's nothing but syntactical sugar on top of a rich base platform. That's going to be a while though.

Re: I’m done with the web

#253
post #2

> The community has tossed out everything we’ve learned from the last 30 years of building applications in favor of being able to put something together quickly with complete disregard for maintainability or extendability. That's spot on. You can add in to that that all the lessons of the process of developing software have also been discarded and are slowly being re-learned. It is as if with the birth of the web the…

It is as if with the birth of the web there was a complete reboot of the IT industry The web won. It fought a battle against many foes, and it came out on top. Re-read that again and seriously think about it, because comments such as yours don't accept that simple reality. Do you contest it? Do you argue that the web somehow circumvented the competition? For 15 years I've been promoting the web with groups that I've…

I broadly agree, but I think perhaps your thesis is a bit premature given the latest push for mobile apps, and (perhaps more dangerous to the web), walled gardens like Facebook.

But I think the open web will win in the end, not because of any inherent technical advantage (in some ways it's behind native apps still in terms of performance, look and feel etc), but because the open web has so many advantages for developers and users that in the end it will overcome its disadvantages. Performance and UIS are improving constantly on the web (contrary to the opinion of this poster), so the gap is narrowing. At some point the performance won't matter, offline web work will become possible, the network will be fast and ubiquitous enough and the advantages of the open web will come to the fore.

As a developer of web apps and mobile apps, the contrast between deploying a few fixes a day to a website, and working hard on new app versions only to have them rejected by an anonymous gatekeeper at Apple, often for inscrutable and unjustified reasons, then waiting days or weeks for approval, could not be more marked. Things are easier on the desktop, but there are still far more hurdles to deployment, and that matters a lot, as you hint above. The only thing I really miss on the web is a great language to script web pages in, but that will come (js is not my favourite language), and you can use any language you want on the backend, and no-one need know.

As a user, the advantages of the open web (i.e. not walled gardens like Facebook) will I think have an irresistible pull - advantages like linkable, shareable content, content on any device, even unforeseen ones, not having to rebuy apps but just subscribing once and accessing content from anywhere. The fact that the web is not controlled by a single vendor as most commercial operating systems or devices are is an added bonus.

Finally, I'd argue that the radical simplicity of web technology is actually its greatest strength, as it means it can be deployed almost anywhere, even with limited resources, and give at least some value to users for decades and over any new devices which come out, as opposed to the binaries being created for current platforms which in a decade will be forgotten or dumped by their vendor in favour of the newest flavour of opendoc, .Net, whatever... I find it fascinating that the web delivers consistently better results by virtue of keeping the tech simple and backwards compatible.

Worse is better after all.

Re: I’m done with the web

#254

There's no way yet another webapp framework, no matter how close it emulates the desktop, is going to gain lots of traction when it mandates users to use... Objective-J and JavaScript. Seriously: being on your high horses and all is fine and well but your article is an oversimplification as to how the web works and as to what devs need and want. For example lately I've been very interested in flapjax (FRP UI) and web…

There's no way yet another webapp framework, no matter how close it emulates the desktop, is going to gain lots of traction My objection is right here. No need to mix in the Objective-J at all. Microsoft's ASP.NET tried to do this thing, to a surprising amount of success. The context then ofcourse was "Web 1.0" pre-Digg internet and the only other "big thing" being PHP. Microsoft managed to take the whole "Draw a GUI…

You've nailed it. From another aspect frameworks and abstracting libraries are designed for reusable assets, paradigms, and resources. This is great if you want to create cookie-cutter websites, like corporate CMSs.

This style of thinking damages applications. Yeah you've made it easy to build a form with validation, but users don't need half the form fields, let alone the form itself. Also if you thought about it, you could have came up with a more innovative way to capture user data that would lead to more registrations, and thus more users.

Re: I’m done with the web

#255
Similarly, I've personally been seeing this a lot lately... the idea that "Done is Better than Perfect." And although I know it will never be perfect, the problem isn't perfection it's that this idea, fails to mention where the bar is set, or that it is set very low.

"Among his various possible beings each man always finds one which is his genuine and authentic being. The voice which calls him to that authentic being is what we call 'vocation.' But the majority of men devote themselves to silencing that voice of the vocation and refusing to hear it. They manage to make a noise within themselves...to distract their own attention in order not to hear it; they defraud themselves by substituting for their genuine selves a false course of life." -- Jose Ortega Y Gasset

The web is a very viscous place with all kinds of competition. Philosophically speaking, that form of competition can rob one of a chance at true mastery.

Re: I’m done with the web

#256
post #192

Earlier quoted context omitted.

It is as if with the birth of the web there was a complete reboot of the IT industry The web won. It fought a battle against many foes, and it came out on top. Re-read that again and seriously think about it, because comments such as yours don't accept that simple reality. Do you contest it? Do you argue that the web somehow circumvented the competition? For 15 years I've been promoting the web with groups that I've…

>The web won. It fought a battle against many foes, and it came out on top. What utter BS. You are essentially celebrating the victory of consumer commerce, not technology X over technology Y. Think about it. There never was any battle between the "Web" and "MFC, Java Applets, Webstart, .NET, Flash, Silverlight". Those thing survive & even thrive in places where nothing else would do. Do you really think everybody in…

I love how you turn this into a talk about re-solving old problems to how mainframes are the way of the future.

Kind of sounds stupid without 6 paragraphs filling it out, huh?

Re: I’m done with the web

#257

I had a quick look and cappuccino apps are not crawlable, at least the demos aren't. Sorry, but it doesn't look like cappuccino gets what the web is about. As somebody who uses text interfaces primarily I don't think desktop apps are amazing anyway, even if I see that they are better for some tasks. The web browser is the only graphical tool I use daily, I don't need things inside to look like desktop apps. shudder

Yeah, this was my reaction as well. I'm kind of surprise someone has fondness for Desktop Apps anymore, because I only have one and it's my web browser so I do development and get other work done. Other than that it's terminal based running non-gui applications. Desktop doesn't really have a place on the web from where I'm sitting.

I don't think either of you are representative of the vast majority of computer users.

Re: I’m done with the web

#258
post #166

Earlier quoted context omitted.

" I die a little bit inside. " Every time I hear a programmer condescend towards other programmers for using a higher level language, I also die a little bit inside. How is javascript not the "metal" of the web? It's a core part of the modern web experience upon which many libraries and frameworks have been built. I don't understand why that analogy is bad and is worthy of your condescension. Are you just being conde…

PFFFT! A language interpreted at runtime, by an application that runs inside an operating system (which may or may not be virtualized) that boots into protected mode. Let me get this straight, you're ostensibly describing this as being "bare metal"? Have you ever heard the terms "kernel mode" or "ring zero"? Oh wait, you qualified it as "the 'metal' of the web"... so it's an "analogy". Sorry to be pedantic, but when…

I think you're on your way to praising the god particle: http://abstrusegoose.com/98

Re: I’m done with the web

#259

This is a big part of why I left Web dev, too. I'm just sick of working with amateurs. When I'm at work, I have things I want to get done. This isn't the classroom, my teammates' lack of comprehension of even things as simple as dependency injection and MVC is their fault, not mine. My productivity and coding power shouldn't have to be hampered just because I'm working with a bunch of code-until-it-works-sorta hacks.

Oh, the MVC pattern again. Here, take one of these: http://me.veekun.com/blog/2013/03/03/the-controller-pattern-...

Re: I’m done with the web

#260
post #236

Author here: First off, thank you all for the comments! Also, thank you Paul for posting this and helping me articulate my thoughts while writing it! Finally, thank you to everyone who has wished me success in my future endeavors. Although I expected this post would step on some toes and anger several people (although I tried my best not to), I'm happily surprised by the reaction in general. HN tends towards the nega…

Thank you for writing this. You said about 90% of what I've been thinking about the web development community, and especially the client-side JS community for a while. So many of these problems have been solved, and a lot of them were solved with Cocoa, the iOS SDK and it's approach to building rich, complex user interfaces.

But, a lot of the js community is simply childish about it's approach to web development. They don't like static typing, they don't like the obj-c syntax, they're OBSESSED with micro -- they hate a framework (just use backbone!). Yet, as you point out in your post, so many of the problems we solve over and over again on the web were solved years ago by cocoa. But you know, they don't need all that "complexity". Please.

I'll stop now before I get a little too hand-wavy :)

The modern js developer is something akin to the antithesis of the architecture astronaut -- the architecture minimalist, or maybe the astro-hipster ;)

Thanks for writing this man, looking forward to see what you build next at Google. Thanks for your contributions to Cappuccino and other open source.

Post reply on HN