18 ms·
HTML, CSS and our vanishing industry entry points
- saagarjha 8y agoThe author seems to be resigned to the fact that HTML/CSS are skills that you should use as an introductory tool, and that just this is not enough to be "employable". I maintain that this is not true: many websites would do just fine with just those two (as in, they don't need JavaScript at all!), and I'm sure a very large fraction could get by with some small amount of hand-written frontend code hooked up to a database.
- dugluak 8y agoThe developer must understand when it's time to use a framework. A small website with few pages doesn't need a frontend framework. But if you have to deal with a large/complex application using a web framework is not a bad idea as they offer a lot of reusable components, you don't need to "reinvent wheels" using HTML & CSS.
- saagarjha 8y ago> The developer must understand when it's time to use a framework Frameworks are useful but not nearly as much as people might think. There are many cases where a static site generator (as a simple example, Markdown → HTML converters) or simple templating solution may be "enough", and they're relatively easy to understand as bells and whistles on top of HTML and CSS.
- pmlnr 8y ago> developer must understand when it's time to use a framework. The developer does. Do the project owner/manager/mid level personnel? That's a better question.
- yarrel 8y agoThere's no moral panic about project managers though. Their decisions do not affect the excesses of software development in any way, only those of software developers do. ;-)
- yakshaving_jgt 8y ago> The author seems to be resigned to the fact that HTML/CSS are skills that you should use as an introductory tool …And she's right. It's the perfect introductory tool in web development, because that's what any given framework is going to be abstracting over anyway. A student needs to feel the pain of typing everything a million times before the solution of a templating system really makes sense. Same goes for event delegation, browser inconsistencies, etc. > and that just this is not enough to be "employable". I maintain that this is not true: many websites would do just fine with just those two (as in, they don't need JavaScript at all!), and I'm sure a very large fraction could get by with some small amount of hand-written frontend code hooked up to a database. You're right that many websites would do just fine with static sites — most of the (highly paid!) advertising industry is brochure sites. But that's not the market though. You do need more than just HTML and CSS to be competitive in the market, even if you're BSing your way through most of it.
- ng12 8y agoI hear this a lot but I don't really see it. Do you have examples of sites which are written using a framework but shouldn't be?
- rounce 8y agoAt least half of the websites you visit would probably benefit in performance/size/usability/etc if they eschewed JavaScript.
- ng12 8y agoI really don't know if that's true. The only example I can think of is ad-ridden media/news sites but those are that way by design.
- walterstucco 8y agoAny content site.
- thisisweirdok 8y agoYou would be incredibly hard-pressed to find a long-term job that only wants HTML and CSS skills without a huge additional career-level skill like visual design or various JavaScript frameworks. It's doable if you're freelancing, but you'll almost always end up picking up additional skills in the process (or partnering with someone else) because your clients will ask for them. Though I'd argue that freelancers themselves are a bit of a dying breed (at least in the US) because it's increasingly harder to afford things like healthcare when you're an individual with no company backing.
- funkymike 8y agoEvery time I look a restaurant's web page and see delays downloading javascript crap when all I want to do is see a menu I think a person could make a good living just building basic HTML & CSS websites for small businesses. The site would likely be more responsive than some dynamically loaded javascript bloat just to show a few pictures and bit of text. It would also be maintainable by anyone, forever. No framework updates or APIs to learn. It would be so simple you could even teach the business owner how to do basic updates, like changing the listed prices on the menu or changing the description of a dish. Sure, you don't get to charge them for these changes, but they'll be delighted they don't have to worry about paying a consultant's minimum fee just to update their menu.
- BigJono 8y agoThe problem is that small businesses either don't have the money to pay for a quality static site or don't want to. If you want to get into this industry as a dev you're competing against sweatshops that shit out these garbage websites in 2 days for $200 apiece. They're not optimising for easy-to-use tooling or a quality end product, they're optimising for stuff they can copy/paste as quick as possible. Back in the day when I was learning HTML/CSS, that meant a bunch of shit jQuery plugins. Today I imagine it's React components or something.
- pdimitar 8y agoNot contradicting you directly -- but many small businesses also value the personal impressions and trust a lot more, and many of them have been burned by those sweatshops. I think the tide is gradually turning and many small business owners would prefer to buy you a dinner and have a good chat with you and if they like you then they'll give you business, albeit small (though you can do 10 of these without much trouble if you optimize your own process). There is a market niche for practical no-BS small website builders these days, IMO.
- deleted 8y ago[deleted]
- Semiapies 8y agoWhich makes the author's pointless aversion to static websites strange. No, you often really don't need to have a database, relational or not, to just do a website. I've seen so many sites dutifully set up with CMS backends and databases that only ever get updated by one person, and which only actually get updated once in a blue moon. ETA: I mean, damn, how many people first got started just putting up or editing some static web pages, back in the 1990s and even 2000s?
- larkeith 8y agoMy understanding was that the author isn't against static websites in general, but rather is against kludging together a functional equivalent to a CMS with backend scripts or third-party tools, when a RDB would be faster and simpler.
- pdimitar 8y agoTo expand on that, sqlite3 will most likely work best for 98% of all blogs out there. You hardly need a dedicated RDBMS service if 2-5 people put new articles few times a week.
- baroffoos 8y agoMost websites could work without JS but they would be in a degraded form. You need JS when you want a select to change the fields displayed on the form. You need JS when you want to make the list resortable by drag and drop. You need JS when you want a page with a list to not reload every time you press delete on an item. Sure you could make it work with JS but you would be degrading the user experience for no reason at all.
- wccrawford 8y agoWe didn't need bootcamps when companies just wanted html and css. Now that there are companies that want a lot more, we need bootcamps that teach that. The bootcamps don't teach the things that you think you can teach someone in a single day? Perhaps it's because those things are so easy they don't waste their time on them. They expect the students to study that stuff on their own. But in the end, none of that matters. "industry entry points" aren't "vanishing". There are still tons of companies that need entry-level html, css, and javascript. We love to talk about all the companies that want more, and those companies pay more, but the other companies haven't dried up.
- ndnxhs 8y agoThe first website I built was a static HTML/CSS website for a family members party hire business. And this was only about 5 years ago.
- acdha 8y ago> But in the end, none of that matters. "industry entry points" aren't "vanishing". There are still tons of companies that need entry-level html, css, and javascript. Is this really true? It seems like those entry-level people are caught between two trends: the low-level stuff is going SaaS and a growing percentage of the rest is buying into the idea that you need to install 10k dependencies for a brochure site.
- macspoofing 8y ago>Is this really true My answer is 'no'. I think it's hard to make a living as a html/css website builder. You're competing with students, foreign freelancers, Web CMSes (like Wordpress+themes), and Website builder services (like Squarespace) ... all of which can, in one way or the other, undercut you. >you need to install 10k dependencies for a brochure site. You don't need 10k dependencies for a brochure site. Things like Wordpress or Squarespace should be more than enough.
- acdha 8y ago> You don't need 10k dependencies for a brochure site. Things like Wordpress or Squarespace should be more than enough. I agree but say you want to create a simple site for something like a restaurant. You read all of the advice saying to use create-react-app and now you have 37,646 dependencies. That gives you a lot of tools but many of them are there to reduce the downsides to having that much complexity in the first place. It's certainly not a simple good-bad call but I do think it's right to ask about barriers to entry and whether we're entirely comfortable with the trade-offs.
- altotrees 8y agoNot sure about the overall ideas in this one. I am currently writing apps in Angular using Python on the backend. Just got a new contract. My career started years ago with only HTML and CSS. Being experienced, I would agree with the thesis here, except for the fact that we hire several junior devs here at my new office with only HTML and CSS knowledge and then gradually teach them frameworks and tools they will need. Other places I have worked have taken this approach too. Don't know Angular or ember? That's okay...if you are teachable and really want to learn. Those are the real skills you need.
- dmitriid 8y agoI would really love to have lived in this imagined world where everything was simple, and you could easily learn to do everything and do everything in HTML and CSS. It’s like browser wars never happened. Or float hacks. Or the search for the holy grail. Or DirectX filters. Or box models. Or... Or... Or... The web never was a place of unicorns chasing butterflies and shitting rainbows. If anything, it’s a much better entry point now just due to the sheer power of tools we have at our disposal. I’d have killed for dev tools in early 2000 when I was struggling why a particular copy-pasted peace of HTML + CSS wasn’t rendering the same way it was rendering on some website I got it from.
- sureste 8y agoI'm so glad this people are finally having this conversation. I will start by saying I'm not a developer of any kind. I'm learning Ruby and I've been doing that for a few months now. However, back in 2015 I got the itch to learn HTML/CSS/JS with the idea of changing careers. Long story short, I tapped out somewhere between 2016 and 2017. I still haven't changed careers. I was stressed and discouraged about how much I had to learn. I'm not saying this is everyone's experience but it was mine and I'm sure I'm not alone. It felt like trying to catch a train that is gaining more speed while crawling. Hopefully there's a mindset shift after this, although it is my feeling that it will take another 5 years until there's a complete shift in tool set.
- deleted 8y ago[deleted]
- root_axis 8y agoYou're simply inexperienced and the time you've invested is pretty small. Every successful programmer spends years reading, learning and coding. You just have to keep going.
- anderber 8y agoThis is part of the reason I enjoy Beaker Browser so much. It makes the web fun like it used to be. You can easily make a site and publish it instantly. And you can just use a markdown file to render the page! https://beakerbrowser.com/ https://beakerbrowser.com/
- toddsiegel 8y agoI agree wholeheartedly. Often these arguments look like the curmudgeons vs the crazy kids, but it's a deeper philosophical point. The web should be accessible. Accessible to use. Accessible to build. Related to this, I was heartened to see DHH revert a decision in webpacker to show full source maps the other day. > I've learned so much from View Source over the years. From structure, to CSS, to JS. That has gotten harder with minification and transpiling. That's a real shame. The web has given us so much. The default should be to give back, in all the ways we can. View Source is a heritage feature that a framework like Rails should go out of its way to pay tribute to. https://github.com/rails/webpacker/issues/769#issuecomment-458216151 https://github.com/rails/webpacker/issues/769#issuecomment-4...
- munificent 8y agoI remember reading articles like this years ago. ... Except that they were lamenting the rise of GUI operating systems and how those eliminated the easy on-ramps that command line OSes had where you could write a simple BASIC program that felt like something real. It is important to be thoughtful about how people can easily get into computing. But it's also important to not idolize or idealize the particular on-ramp you took X years ago. Those ramps are going to die and get replaced by new ones. It's part of technological progress. As long as new paths come along — and they always seem to — it's gonna be fine. Frankly, raw HTML and CSS is already a dying path. If you get someone to build a simple web page from scratch, it won't feel like a "real thing" to them. Because, today, "real" now means it has social sharing, interactivity, and a certain level of visual polish your web page will lack. A WordPress install is a better path because it looks nice. And then they can start tweaking the template and the next thing you know they are learning a little HTML and CSS, but in the context of something that already feels real. Forcing them to start with an empty notepad document is like getting someone interested in cooking by making them grow wheat.
- wwweston 8y ago> Frankly, raw HTML and CSS is already a dying path. If you get someone to build a simple web page from scratch, it won't feel like a "real thing" to them. Because, today, "real" now means it has social sharing, interactivity, and a certain level of visual polish your web page will lack. Social sharing, interactivity, and reasonable-to-high levels of visual polish were all frequent features presented with raw HTML/CSS a decade ago. If you have a decent designer available to you, some of them can hand you a quality original screen design in an day or less in a PSD/Illustrator/whatever file, and it's possible for most cases to convert it to HTML/CSS from scratch in about the same time (at least, it was for me by the time I'd done a hundred or two of them). Responsive may add time depending on the layout conception. All of this can work pretty much the same today. If you don't have a good designer and/or design isn't going to distinguish you (or you want the benefits from fitting into widely-present framework styles), a template or framework can make a lot of sense. But that's a different proposition from saying HTML/CSS is a dying path. Interactivity & Sharing: up to a certain point, interactivity via progressive enhancement costs no more time/effort than application-centric approaches unless you're truly building an application over a hypertext document with some added features. Possibly less. Social sharing is usually a matter of dropping the right widget into a page. > Forcing them to start with an empty notepad document is like getting someone interested in cooking by making them grow wheat. It's more like having people start with buying/using their own staples instead of a meal kits or deli meals. The latter can be delicious and convenient, but it doesn't mean the staples aren't a viable path.
- typeformer 8y agoWebflow makes HTML and CSS visual, and super approachable while also being a great bridge into frontend JS dev. There are many on-ramps to a coders future.
- graphememes 8y agoThese new frameworks are the new Visual Basic. The new Packaging systems are the new Maven. Enjoy, you're now up to date.
- jules 8y agoModern HTML+CSS is way wayyy easier than in Internet Explorer 6 times. Back then you had to understand the box model and float intricacies and CSS hacks to make your page look acceptable in all browsers. A three column layout with a header and footer required a PhD in CSS. That, and tools like Webflow, make learning HTML and CSS easier than ever.
- Brakenshire 8y agoThat was reaction as well. CSS 20 years ago was an absolute horror, not just the browser incompatibilities but the sheer difficulty to achieve apparently trivial designs. You could only teach someone how to build a site in a day by strictly leading them along a golden path, as soon as they wanted to take one step off it on their own initiative they’d be met with an impenetrable mass of contorsions and hacks. That difficulty is a big reason why the utopia of a producer-led web never happened, looking back on it as a golden age, or an exemplar of when the web was intuitive, is in my opinion bizarre. Building a well designed simple, content-dominated website has never been easier.
- H1Supreme 8y agoHtml, CSS, and Javascript are so, so much nicer today than the days of "needs to run on IE6". Flexbox is amazing. CSS has variables now. Building interfaces for the web has never been better, or easier, imo. My advice to people who want to skip the frameworks, but not necessarily reinvent the layout wheel is: start with the Bootstrap 4 "grid only" CSS option. You get a nice 12-column, easy to make responsive, align it anyway you want, base to start from.
- root_axis 8y ago> If we make it so that you have to understand programming to even start I really hate how often this sentiment is repeated. Nothing is stoping you from writing HTML and CSS exactly as you could in the 90s. If that is what you like do that. If you can't get a job doing that... so what? There are lots of things I'd prefer to do that nobody will hire me to do. If you want a job learn the skills that are in demand. If you want to build stuff then just do it and stop worrying about which open source project someone decided to offer up for free on the internet.
- z3t4 8y agoWith a static site generator (SSG) you start with a document, and you end up with a document, using simple HTML, markdown or WYSIWYG editor. What the generator does is basically replacing server side include files, and SSG does a much better job as you do not have to litter your documents with the server side stuff. The SSG can also generate your index pages, sort documents and list them by keyword or topic, etc. SSG is basically the good parts of server side generating and static web sites mixed together. A SSG usually don't hide away your documents in a database, and you can keep your documents independent from your publishing and content management solution. Documents are the core feature of the web.
- ndnxhs 8y agoThey have become increasingly popular since you can host them for free on many services.
- munchbunny 8y agoJust a musing, but perhaps now is a good time for the resurgence of Flash or something like it. A lot of designers I know learned ActionScript because they needed to gradually up their Flash game. There is a gradual path into programming, but right now we've built up our frameworks to be tools for devs, not for normal people. I see a lot of apps that dumb it down too much (templates), and not enough that successfully expose you to as much complexity as you want/need. That's not to say they're bad apps, just that there really isn't something on the spectrum halfway.
- sakri 8y agoFunny you should mention the F word... while reading "The Great Divide", I was thinking about the "Flash designer vs. Flash Developer" situation we had before the iPhone :)
- Novashi 8y agoThis is a tooling problem imo, and whatever tool that is should just output javascript that works on a canvas. There's no reason to cram another programming language like ActionScript into browsers by default. Anything that installs and runs like Flash/AS is going to raise security concerns though. Please let's not repeat all that bullshit.
- mywittyname 8y agoAgreed. I bet a "modern Flash" could probably compile down to JS and work natively.
- reboog711 8y agoLike Adobe Animate which is a rebranded Flash Pro that does exactly that?
- pjmlp 8y agoYou mean WebAssembly + WebGL? It is already done.
- tannhaeuser 8y ago> If we make it so that you have to understand programming to even start [web authoring], then we take something open and enabling, and place it back in the hands of those who are already privileged. Very much agree with this conclusion, though entry level web devs trained on eg. React might be too invested to acknowledge this.
- deleted 8y ago[deleted]
- save_ferris 8y ago> many websites would do just fine with just those two (as in, they don't need JavaScript at all!), and I'm sure a very large fraction could get by with some small amount of hand-written frontend code hooked up to a database. And that's where companies like Squarespace come in for their value prop: we'll handle all of the back-end, asset hosting, etc. for you, give you a set of pre-built templates to choose from and allow you to tweak some of the CSS. Businesses are less interested in pure HTML and CSS skills because they can get "good enough" for a few bucks a month and not hassle with a developer that's charging market rate or get into the weeds themselves.
- icameron 8y agoI'm STILL learning HTML and CSS after 20 years. Constantly surprised by new uses or semantics, or rediscovering a little known attribute or selector. One that comes to mind is background-image is an animated GIF with background-size: cover making it look like the page text is on the inside of a car window as its driving around. It took a while for everything to 'click' and understand how DOM/JavaScript/CSS can really jive together. Using a framework is easier than understanding how something like Bootstrap works by examining the elements, CSS and scripts that all work together. I know there's always going to be more to learn, like any art form.
- nicoburns 8y agoIt's worth considering using an mp4 (with video tag) for this use case. You get the same effect, but it's much more battery efficient.
- CM30 8y agoNot sure if I'm a bit behind the times with this one, but I remember that iOS Safari had issues playing inline videos and you'd need to use JavaScript + Canvas to get it working well there (compared to desktop browsers where a simple video tag doesn't go full screen). So depending on your intended browser support, a GIF may sometimes work better.
- yoz-y 8y agoI blame this on the “appification” of the web. Before we had documents and web applications. The split was pretty clear at that time, one would approach making a website as you would a PowerPoint presentation. Layout stuff, put copy in... maybe make an animation using JS. But nowadays it seems that even the simplest page needs to be some isomorphic react application. I got into an argument with the company we hired to make our website because they made a loading animation for switching between static pages and of course broke the website without JS completely for no reason. Apparently it was “working as designed”. It was not my responsibility so I let it go but it still left me bitter. I think that web developers are lucky that their “assembler” is understandable and can be used as is. It would be sad to produce a generation of developers that didn’t learn it.
- deltron3030 8y agoIt makes much more sense to approach web dev/design from a conceptually high level, outside in (if you consider CSS as the inside). This means that it's better to create your own project in a niche that interests you, using low code tools (e.g. site builders, visual databases etc.) to get the general overview about how it all relates. You get to know a bit of everything this way (invaluable experience for teamwork), and the knowledge trickles down much better to lower levels. Starting to code is then a natural progression in order to customize your system as competition increases, you learn what you need, with motivation, because it makes a real difference to your project. If you start on the "inside", your knowledge may not flow upwards, a lot of stuff you learn at lower levels can become redundant and abstracted away as you approach environments that are actually used in your niche. Writing raw CSS is like chopping wood and working with the grain, but people who get into furniture design already have the Ikea experience, like everybody else. Don't start with CSS from ground zero.
- type0 8y ago> Writing raw CSS is like chopping wood and working with the grain, but people who get into furniture design already have the Ikea experience, like everybody else. Don't start with CSS from ground zero. I don't think it's true, those people never get the incentive to do their webpages in html and css. Site builders produce some crazy terrible spagetti code btw.
- deltron3030 8y ago>Site builders produce some crazy terrible spagetti code btw. Not all of them, there are more serious ones like Webflow which aren't too bad in that regard.
- rchaud 8y agoWhile I agree that teaching HTML and CSS well before jumping into frameworks is the right way to go, I can't blame students who're looking for what will most likely get them hired tomorrow. If you are of working age, learning this shit is not fun, because you won't have time to build cool hobbyist mini-sites "just for me and my friends". It is a seemingly never-ending race just to keep up with the state of the art, let alone needing to know "just enough" about version control, hosting, redirects, SSL and resisting the temptation of "shiny new tech" that looks great but won't put food on the table today. With all that said, it's ridiculous to even have to know HTML or CSS, or even a WYSIWIG CMS at all to put up text, audio and pictures on a 2D plane. How is it that web browsers are able to grab my location, turn on my webcam, etc and yet not offer a way for me to create a web page right there in the console?
- farresito 8y agoI think it's fine to jump into frameworks and slowly delve into the fundamentals. I find it's better to build something first, even if you don't understand 100% what's going on; otherwise, I don't end up sticking with it.
- pmlnr 8y ago> it is a seemingly never-ending race just to keep up with the state of the art It is, there is noting seemingly about it. And it's the whole industry, from sysadmin level, through ML to front end dev. You sit down for 2 years, boom, you're so outdated, it hurts. A regularly I wish I was a carpenter, where you learn something and it may stay valid for a long while. (EDIT: I admire carpenters, before someone thinks otherwise.)
- pdkl95 8y ago"I was sitting here, [reading HN] and drinking my coffee and replaying the [bug reports] in my head, when I had what alcoholics refer to as a moment of clarity." https://www.stilldrinking.org/programming-sucks https://www.stilldrinking.org/programming-sucks
- 8y ago
- macspoofing 8y ago>However, when it comes to frameworks and approaches which build complexity around writing HTML and CSS, there is something deeper and more worrying than a company having to throw away a couple of years of work and rebuild because they can’t support a poorly chosen framework. I take the author's point on this because infatuation with latest micro-frameworks and the lack of long-term support and backward compatibility is well-known aspect of modern JavaScript-based development. I attribute this to the fact that the industry is dominated by young professionals, the web as a platform is still exciting, and the fact that JavaScript is a terrible language that requires custom frameworks to work around its intrinsic limitations. Having said that, you cannot write web-applications in just HTML/CSS. You can create very nice looking websites, but not web-applications with any sort of complexity. >If we make it so that you have to understand programming to even start Sorry. That's the reality. Many websites, and certainly those that are the core competency of the parent company, are really full-fledged applications that use HTML and CSS as the UI layer, and are backed up by thousands of lines of client-side code and thousands of lines of server-side code. You need to be a programmer to meaningfully contribute[1] because however way you slice is, writing and maintaining thousands (or millions) of lines of code is complicated and hard. There are areas where programming skills are overkill, such as when you're not building a (web) application, but rather a website for your church bake sale, or putting together Wordpress-backed web-page for a local business. But that isn't where the money or need is. [1] There is obviously a need for non-programmers, such as designers, testers, and UX professionals in software product development. But to actually realize the product, you need programmers.
- jimbokun 8y agoThe "to even start" is the key phrase there. Sure, you have to learn programming to build a modern web app. But starting with HTML and CSS can be a good entry point.
- jamil7 8y ago> Having said that, you cannot write web-applications in just HTML/CSS. You can create very nice looking websites, but not web-applications with any sort of complexity. Your comment basically sums up my feelings exactly even though I agreed with the intent and principle of the article. At the end of the day my HTML/CSS skills alone won't put food on my table. The brochure site market is basically eroded away by squarespace / wix / facebook and whatever else.
- quxbar 8y ago> There is something remarkable about the fact that, with everything we have created in the past 20 years or so, I can still take a complete beginner and teach them to build a simple webpage with HTML and CSS, in a day. Speaking as someone who has spent many hours lovingly hand-crafting CSS, I don't see how this beats using ms word or google docs or any other way to produce a static document. You can even have those editors output to HTML. I can teach somebody to do this in minutes, rather than in a day. What actual deliverable can people produce using html+css that isn't easier to make with other tools?
- yarrel 8y agoA web page. A word processor or a web publishing framework are more complex and less tractable than HTML and CSS written in a text editor. Even if you manage to export something it will be mangled and you haven't learnt the tools or produced the result that you set out to. Learning HTML and publishing something on the web is a uniquely technically empowering feeling.
- macspoofing 8y agoHTML and CSS are probably the absolute worst thing for document creation and management. HTML/CSS are in fact complex, and suffer major issues with export, long-term backup, sharing/collaboration, revision control, review-workflows, printing, security (encryption and password access) and consistent presentation. This is why you want government documents stored in PDF, ODF, or DOCX and not in HTML/CSS.
- 52-6F-62 8y agoAFAIU, (there's probably better insight out there)— but governments seem to love XML.
- macspoofing 8y agoSure. There's a reason why ODF and DOCX are both xml-based formats in a zip container.
- egypturnash 8y agoI am still using the WordPress installation I set up around 2011/12. Complete with custom styles that are messy balls of entwined PHP and HTML crudely hacked on top of existing styles. It does what I need it to: sits there quietly and builds the HTML for my blog entries and my slowly-growing art gallery and my ongoing comics projects. It is not sexy. It does not check any boxes that will get me a job at a startup. It just sits there and does what I need it to do; I dive into html/php/css about once every year, at best, to do a quick hack to properly display my latest art project, or to improve and polish that quick hack to really nicely present my work. I doubt I could get a job at a Silicon Valley unicorn with these skills. But that's fine. I get other work with the skills that my basic web design skills help me show off. I look at the never-ending cycle of Hot Frameworks and the thought of trying to get on that train makes me feel immensely tired. That's two full-time jobs right there just to be able to check the box on an application asking for six years experience with a hot new framework that came out two years ago. All these frameworks, all these technologies, all these lengthy toolchains, I don't need any of these to do what the Web was invented for: put some text and images online where people can see it.
- chriswarbo 8y ago> It does what I need it to: sits there quietly and builds the HTML for my blog entries and my slowly-growing art gallery and my ongoing comics projects. I actually felt that (not Wordpress, but a similar CMS) to be going too far. I got fed up of having to patch PHP security vulnerabilities; debug occasional database outages; etc. just for some occasionally-updated content. Now I just write markdown, convert it to HTML with pandoc and run a bare bones static file server.
- denniskane 8y ago> It is not sexy. IMO, the desktop environment in "Linux on the Web" [1] is a very sexy usage of modern web standards (including some non-standard stuff like the Chrome-only HTML5 FileSystem API) > put some text and images online where people can see it. I agree with this sentiment. My "backend view" [2] is just for things like that. [1] https://linuxontheweb.org/desk.os https://linuxontheweb.org/desk.os [2] https://linuxontheweb.org/pics/ https://linuxontheweb.org/pics/
- deleted 8y ago[deleted]
- ggregoire 8y agoAre HTML and CSS really vanishing though? 99% of the websites are still built on them. People starts replacing them when they build applications, which is fine imo since HTML and CSS were not conceived to build applications.
- BigChiefSmokem 8y agoI would say 100% of web "sites" are built on CSS and HTML, web services on the other hand is what really pays to learn.
- deleted 8y ago[deleted]
- chiefalchemist 8y ago> "These arguments about tools, frameworks and technologies happen throughout the stack. I have watched them go round and round during the 20 years I’ve been working on the front and backend of the web. The de facto standard technology has limitations, we hit up against problems, we want to solve the problems. So often, we decide to solve the problems by throwing everything away. The old stuff is terrible, invented when we knew no better! We can do a far better job now, with all of our knowledge. Let’s reinvent that wheel!" Sure, that might be a problem but it's not The Problem. The Problem is results. That is, despite all these reinventings products are still: coming in over budget, past deadlines, with too many bugs and most importantly end users are as frustrated and dumbfounded as ever. We keep chasing shiny new objects and ego-driven bragging rights (i.e., "...I use Technology X...") and frankly no one on the outside has noticed., nor cares. They're too busy scratching their heads wondering, "Why doesn't this shit work the way it should?" Agreed. The organization owning the product also contributes to these things.
- Sharlin 8y agoWhat were app dev entry-point positions like in the (good? better?) old days of desktop applications, before the many-headed Hydra that is the Web came and ate everything?
- smacktoward 8y agoVisual Basic. HyperCard. FileMaker. dBase.
- fiddlerwoaroof 8y agoTools like Delphi still haven’t been matched for GUI development: I was able to use it as a 6/7 year old to create little programs with buttons that popped up message boxes when clicked. And, if I needed help, I just clicked something on screen, hit F1 and got great documentation.
- kirstenbirgit 8y agoI had the same experience with Delphi and similar tools. It's amazing to me that 20 years after, the Web is still not quite up to par with regards to speed and ease of development as well as performance. I'm not sure we'll ever get there, either.
- Sharlin 8y agoYeah, very true. VB1 and then Delphi constituted my ingress into the world of GUI programming as well, after C64 Basic and QBasic.
- Novashi 8y agoIf you could build your own hello world WinForms program with some interactions, you had a reasonable chance of getting a junior position if you had some education. I knew a guy who worked on a pharmacy application that calculated IV drug mixes that was a Visual Basic WinForms app and written with basically no knowledge of re-use or architecture. Kind of like web development where CSS was only applied via id's and so there was a lot of code repetition.
- pcwalton 8y ago
- jancsika 8y ago> We have already lost many of the entry points that we had. We don’t have the forums of parents teaching each other HTML and CSS, in order to make a family album. Those people now use Facebook, or perhaps run a blog on wordpress.com or SquareSpace with a standard template. There's the fundamental assumption here that the entry point outhgt to sit atop cruft that publishes the user's content to the world. That may have been meaningful during the utopian days of HTML/CSS on a pre-weaponized internet. Today, it is a bizarre and counterproductive assumption. Why isn't the entry point <Ctrl-shift-c> into devTools, for example? There you can view, measure, test, and get feedback on anything in the window. Learn a single command or even single url to make the content editable so that you can type, "Hello world" to yourself. Paste an image from somewhere else on the web. Style it, move it around. Then when you're done, close the window and it goes away, like it should. Because you don't actually know how to publish anything to the world yet. And it's quite possible you don't want or need to do that yet. This provides a nice self-test because when you next open an about:blank window you have to do everything again from memory to get your content to display. Who knows, maybe the entire forum will eventually get fed up that Firefox doesn't yet allow you to set svg shape width/height/x/y/etc. through CSS. What a pain, they'll say. And then they'll all threaten to switch to Chrome en masse to force Firefox to implement the most sensible part of SVG2. The forum may have other priorities in addition to that. :)
- thisisweirdok 8y ago>Why isn't the entry point <Ctrl-shift-c> into devTools, for example? Open dev tools in any major web platform like Facebook and you'll have your answer. The DOM of many major sites is increasingly less readable to humans. Contrast to the MySpace days, where many people did cut their teeth with HTML/CSS via view source.
- ndnxhs 8y agoThat's because the actual DOM isn't what devs look at. Its the vue/react dev tools. The real Dom is full of layout divs.
- 8y ago
- duderific 8y agoI guess I'm not sure exactly what her point is, or who she's mad at exactly. If there are vanishing entry points, it's what the market is demanding: more complex applications that look and feel like the big players. Single page checkout flows. Client side form validation. Who wants to have to post a form, wait for the page to reload to see that you've missed a required field? > If we make it so that you have to understand programming to even start Not sure who is the "we" that she's referring to here. Nobody is actively "making it" anything, it is just the changes in people's and companies' expectations as technology develops.
- commandlinefan 8y agoShe's longing for the "good old days" when web development was easier to learn, but AFAIC the good old days were 15 years before that when the "entry point" was C64 basic and there was no world-wide web. I would have written something similar in 1999 when I saw everybody goofing off with HTML and CSS and having important things like ASCII codes and memory allocation hidden from them.
- dictum 8y ago> or who she's mad at exactly This bit makes me think you got her point, but you didn't want to acknowledge it.
- AdeptusAquinas 8y agoNot sure what apps you are talking about. The modern web loads immediately, then slowly snaps in user controls and buttons. Instead of pressing something and having an immediate response, now you press a button and if you are lucky, the lazy javascript developer who wrote it remembered to add a loading symbol. And you are usually not lucky.
- function_seven 8y ago+1. My browser already has a progress indicator baked into it. Thank God those lazy JS developers move all the heavy lifting to a secret place where I can't see what's going on. My progress indicator indicates fast progress these days!
- Existenceblinks 8y agoA couples factors lead to this point: 1) Bootcamps teachers. From what I've seen, they are mostly React/js developers making living by things around that, books, courses. And most frontend technologies that are popular because big corps. 2) Big corp and developer mindset. Big corps have money and it's a big factor when developers pick up technology. 3) Javascript, the most low-barrier-to-entry and terrible at long term (They like the term "modern" so much) Therefore, javascript ecosystem spreads like virus to the point it's eating HTML and CSS too. Imagine the virus was for improving HTML (things like <details> <summary> <datalist> free autocomplete, are powerful, interactive with zero cost) .. unfortunately no one cares anymore so they stay half-ass Even myself now building a new app, I cannot bear "the platform" and pick compile-to-js lang for highly interactive widgets.
- ratling 8y agoJavascript gets begrudging respect from me because of node. I can see the appeal, you can take existing JS developers from 'wherever' that have good fundamentals and crosstrain to be able to do backend and frontend stuff. It's also got a lot of good builtin bits that older languages don't have natively. On top of this you could theoretically go full serverless with S3, API-Gateway, Lambda. I wouldn't choose to do that greenfield (python backend all the way, webassemblywhen?) but that's usually not my call. Really, whatever you use, I just care that you can hire for it (sorry Erlang) and that it's not Java (because, as someone who works in Operations and Security land, fuck Java and fuck Oracle).
- Existenceblinks 8y agoWhat pisses me off is when people defend javascript with politics-heavy statements like inclusion, gender or whatever and then most of rational people just shut up. Backend tech or non-javascript tech is not gatekeepers. New comers just enter the wrong gate led by wrong people (you know I don't really mean people..) About hiring, sure, I had to withdraw Elm implementation before I left a project. It's responsibility for what's good for them in hiring new folks. That's sad. My probably-never-came-true dream was that just improve HTML honestly. 1) Make controls style-able 2) Make more controls I hate to look like a jerk, but I say it again, big corps are significantly part of this problem. People just pick React and abandon everything.
- justinph 8y agoOne of the side effects of this problem I see is poor accessibility. So many devs learn the latest hottest javascript framework as the way to make a webpage. They end up making pages that are full of div + span soup, with complicated javascript interactions. Careful use of proper HTML elements and stylesheets go a long way that are often overlooked by bootcamp/CS degree hotshots.
- Theodores 8y agoRachel Andrews is a great inspiration to me but the post here is kind of mid conversation, normally she emphasises document structure and accessibility. She also is an evangelist for CSS Grid and why that should be the layout engine of choice instead of a framework. I think a catering analogy is in order for those people that say that this basic stuff is not important and you have to take the frameworks if you work in a large team on these mythical mega projects. The analogy goes along the lines of 'can you cook for yourself' yet it doesn't really apply if you want to work in McDonalds. In a hotel kitchen that does 200 head wedding dinners clearly you need to be able to use the catering supplies and not necessarily know how to do actual cooking. I will work on the analogy, but there has to be a better response to the comments provided by people engrossed in complex build tools, frameworks and esoteric TLAs. You are right though, and there is no reason why some vast modular behemoth of a system cannot write the proper HTML tags, e.g. aside, section, nav, figure not to mention main, header and footer with people knowing what they are doing rather than using these elements because they might be better for SEO. There is also a problem with the design process that does not put content first and takes a visual mockup as the starting point with nothing on the mockup having semantic value. I regularly look at 'view source' to see how bad the sea of divs and class tags gets. It all goes against Google's performance recommendations yet it gets churned out by people that should know better. So long as you are with the delusion of grandeur that your website is so much more enterprisey and complex than these little things Rachel Andrews works on then you are going to stick thinking that way - pay cheque depends on it. I think that there needs to be more of a movement like what happened with responsive design or flat design, a new thing that people understand even if they have no practical skills. The tools are all there but it requires as much unlearning as learning. Few in the industry have the circumstance to forget everything and go to proper HTML with vanilla javascript and CSS that uses grids and CSS variables. But it is a good entry point what we have now, coding for evergreen browsers, with time saving arguments that are compelling. When I do view source and I see a couple of HTML5 tags and a sea of divs I think that the web page is by a team of people that actually do not know HTML. They have their excuses but when you look at it there is no logic to it. I got told off once for using an address tag around the copyright notice in a footer, as if I was insane. I was told to replace it with a div.
- voidhorse 8y agoWhenever I reflect on the "state" of the web the whole thing seems like such a mess. I can't help but feel that the web's progression to what it is today (framework/spa/webapp overload) was more or less a cobbled together solution using technologies that were never really designed or equipped for the task. The browser has become, quite literally, the kitchen sink--it's how we access nearly all of our applications, and today it's less common for an application to provide a native OS implementation than it is for it to provide a counterpart in the browser which has worked out fine, but is pretty insane when you think about it. HTML/CSS/JS were never intended for making complex application UIs. The world has done a great job at coercing them into doing so anyway, but I can't help but indulge in alternative histories at times and wonder what things might've been like if javascript never hit the scene. JS is such a double edged sword--it's great because it has a very low barrier of entry. On the other hand, the same accessibility tends to plague it with misuses, abuses, and overreliance.
- ericmcer 8y agoI work on a pretty huge and old application. Parts of it are written using php/vanillaJs, a large part of it uses jquery, a huge section is backbone/marionette, and we started a new section using React last year. React is a huge improvement, I agree it’s overkill for a lot of projects, but it is objectively easier, less prone to breaking, and more human readable than other front end frameworks. It is a bit overwhelming at first but for mid-large projects it is totally incomparable doing a modern react/redux/TS project vs jquery or something
- drawkbox 8y agoThe web with HTML, CSS and the amazing Javascript was a simplification of previous systems. Simplifying is the right way to go. Great engineering is taking complexity and making it as simple as possible. Somewhere we forgot that simplicity beats complexity. Lots of this move to complexity is that standards and more are being squashed for lock-in and proprietary control as well as increasing complexity so companies can stay in charge and dictate the internet and standards associated with it. Unfortunately the simplification phase from the 90s through Web 2.0 has ended. Apps may have helped demolish that but ultimately open standards and simplicity is taking a back seat due to mass specialization choosing complexity over simplicity to squash standards, sell conferences/books, companies taking control of development, job security and unfortunately it is closing entry points and the beginner's mind outlook. HTML, CSS, Javascript were mostly data-first then presentation layer, now it is framework first dictating all as a monolithic controller.
- NeoBasilisk 8y agoI'm starting to think that the web is just fundamentally not sanely salvageable at this point from a dev perspective. It really does seem to just slowly drive a lot of people insane after spending at least a decade in it.
- jstewartmobile 8y agoI'd love to go in the other direction. Force it all to be written in Haskell, or some other awkward thing, and have it so that the binary has to run comfortably in under a megabyte. Or heck, it's 2019, let's be generous and make that 10MB! Limit things to people who take their craft seriously, and filter out all of the half-assed woo-look-at-me money-chasing BS. It's like, has this person even bothered to look at all of the noise in the app stores recently? The weeds are choking-out the fruit-bearing vines.
- dep_b 8y agoI made a complete editor for a trivia game just using vanilla HTML+CSS+JS in half a day. All of the people that should maintain it asked me why I didn’t at least use JQuery or JS framework du jour. Mind you, this was a completely functioning back-end interface already.
- draw_down 8y agoI am kind of tired of hearing the viewpoint that new stuff is just shiny toys for programmers addicted to novelty. (It’s only implied here, not explicit.) React represents a paradigm for building UIs as a function of state. Fine if you don’t like that, but it emerged in response to a real need and the enthusiasm around it is not hype. What we used to do doesn’t scale, and if you think “doesn’t scale” is just code for “not cool and new enough”, please get over yourself. Also, the entry point is React now. In the same way that years ago many newcomers could only build things in jQuery, now it’s React. That door didn’t close in my opinion. Working purely in HTML and CSS as an entry point didn’t go away because of React, but because of Squarespace and Wix. If you need a static webpage, that doesn’t need to be built by hand anymore. Which means all sorts of people can have one who didn’t used to be able to. And that’s a good thing, as long as you’re not concerned with programmers getting paid. Ultimately, programming isn’t the point and it never was. The point is what’s being built. If businesses and other organizations could build stuff on the web without programmers, they would do that.
- vga805 8y agothere are two issues at play. the force of the market, and the pedagogical concerns re: teaching/learning web development. neither of these has anything to do with privilege. i left academia because the stench of Foucault and Derrida grew too strong for my tastes. and here it is again creeping in.
- azangru 8y ago> However, 22 year old me would have looked at those things and run away. If we make it so that you have to understand programming to even start, then we take something open and enabling, and place it back in the hands of those who are already privileged. I am not sure I understand what exactly the argument is (as is often the case for me when feminist concepts of power, enablement, and so on are involved). Is she talking about hobbyists (someone who just want to play with technology and make a website for themselves) or people who want to enter web development as a career? I would expect hobbyists to have enough time and curiosity to be able to start with the basics. There is also nothing preventing hobbyists from building their sites with pure HTML and CSS. These web technologies still work today just as great as they did 20 years ago. And there is no pressure from the lists of required skills on job boards. If she is talking about people who already know that they want to get into professional web development just starting from scratch, then they have all the motivation in the world, numerous tutorials, online courses, and bootcamps. They have different goals than hobbyists, they need quick results geared towards job requirements. (Although I am having hard time imagining a person who would want to get into professional web development without going through the hobbyist stage first). The "something open and enabling" argument makes total sense to me only in the context of hobbyist web development. It’s a wonderful thing that everyone who so wishes can learn how to build and publish a website and participate in the global sharing of ideas. But why is this criterion even mentioned in the context of professional web development? Is it incumbent on a profession to be "open and enabling" for everybody? And what is she arguing as a solution, exactly? Stop using CSS-in-JS or JavaScript frameworks for professional development, because newcomers may find them hard to understand? Even though these technologies may be perfectly suitable for many situations? Why?
- rovek 8y agoThis is why the article confused me, HTML and CSS still work as they always have and can be published in the same way they always have. The profession has moved on in the same way all professions have, they become more complex on the promise of becoming more efficient or valuable (whether this improvement is reality seems tangential to the "web development is hard and uninclusive" conversation here). So the only conclusion obvious to me is that this is a further attempt to politicise web development because not everyone can do it professionally, the whole "HTML & CSS are seen as feminine and easy" strawman narrative is becoming tedious in the frontend circlejerk community. HTML & CSS are easy for many if not most programmers, sorry it isn't your golden ticket to a 6 figure salary.
- toastking 8y agoThis is why Glitch is cool because all the code on there is open and editable. I think HTML and CSS are still entry points, but not being able to see the code for stuff is tough. It's sort of ironic that we have all this open source code now but it's much harder for a beginner to read most of that than just hitting "View Source".
- zoeey123 8y agoCan anyone comment on the quality of the CSS workshop at the bottom of the article? I am a bootcamp grad and I do feel like CSS was covered only very briefly...
- ratling 8y agohttps://css-tricks.com/the-great-divide/ https://css-tricks.com/the-great-divide/ The OPs article was pointless but the article the author is commenting on is very interesting (coming from someone who lives about as far as you can possibly get away from Front End land).
- jillesvangurp 8y agoThe modern web feels a bit like ground hog day. We're running around in circles. I think of it as a collective delusion that CSS/HTML is actually remotely good at what it is supposed to do. It's not. Most of the modern web is a UX disaster shit show. Brutalist design is actually making a comeback because people are just disillusioned with the perpetual inability of web developers to produce things that are both functional, usable, and beautiful. Mostly usability goes out of the window first, soon followed by functional. HN is a fine example of not bothering with any of that stuff. That's why we all love it. But is this honestly the best we can do with the web? It's actually super tedious to develop for the modern web. Mostly it's made somewhat tolerable these days by treating it as a compilation target rather than something you manipulate "natively". Handcrafting CSS without pre processors is just not a thing in modern web development. No variables ... because reasons. Twenty years ago the need for them was pretty damn obvious already. Never happened. Eventually the status quo somehow became handcrafting something that manipulates a super convoluted dom tree with nodes that have manually assigned class and id names that need to line up with LESS/SASS/SCSS/whatever rules that manipulate the browsers ability to transform that mess into something that somewhat matches what the designers had in their heads. You get silly things like using negative margins, various "layout models", and other crazy hacks of the variety "hmm maybe this will work?" that went in and out of fashion over time combined with all sorts of hacks to make IE whatever do loosely the same things that e.g. Firefox does I have good hopes for WASM steamrolling over this dysfunctional ecosystem in the next few years. It will change two things: 1) javascript stops being the only, or even a reasonable choice. Already, typescript is emerging as the most sane way to transpile to javascript and it's a definite step up. But honestly, it's got nothing on Kotlin/Swift, and many other languages. 2019 looks like a year where several non javascript centric frameworks will emerge that will bypass most of the javascript ecosystem and compile straight to WASM. I know the Rust people are pretty ambitious on this front. Early Kotlin and C# stuff already exists as well. IMHO it will probably take another couple of years of this stuff gradually getting better until we hit the hockey stick curve where suddenly this stuff is everywhere. 2) Having wasm + webgl means that all the stuff that people did with plugins 20 years ago that to this day is super hard/tedious/virtually impossible to reproduce with JS/CSS, is now super easy to do again. And this time we can do it in a safe and cross platform way. This opens the door to doing UI that is not based on DOM + CSS and without all the limitations that imposes on designers. I expect a lot of game, VR, AR, and media content will soon run on top of this stuff and that the amount of 'traditional' web UI around that will gradually disappear or become less important. Right now you see a lot of nice demos and proofs of concept but not much serious content yet. I'm expecting this stuff to become more serious gradually until we hit the before mentioned hockey stick curve where this is obviously the way to stand out from the mediocrity that is the "modern" web.