
A friendly web development tutorial for complete beginners - interneting
https://internetingishard.com/
======
WA
The graphics are nice, but I think you can polish the writing.

1\. It took me probably 30 seconds to understand that the text blocks on the
start page are summaries of what's in every chapter. Try to read this without
knowing that this website is an online book:

> _The purpose of HTML, CSS, and JavaScript, the difference between frameworks
> and languages, and finding your way around a basic website project with
> Atom._

This doesn't make any sense if you don't know that it describes a chapter in a
book.

2\. Simplify sentences. Cut adjectives. Shorten. It reads academic. Examples:

> _Our goal is to make it as easy as possible for complete beginners to become
> professional web developers, so if you’ve never written a line of HTML or
> CSS, but you’re contemplating a career shift, grab a cup of coffee, take a
> seat, and let’s get to work._

This is a single sentence. It's hard to understand. Your readers aren't all
native Americans. This could be turned into:

-> This guide helps you to become a professional web developer, even if you've never written a single line of HTML or CSS.

> _They’re very closely related, but they’re also designed for very specific
> tasks. Understanding how they interact will go a long way towards becoming a
> web developer._

Ctrl + F "very": Too often.

A good editor might reduce the text by 25-50%. My secret tip is the Material
Design Writing guide [1]. It shows how to write for apps. With apps, the user
needs to get a task done as fast and efficient as possible. Write that way.

[1]
[https://material.io/guidelines/style/writing.html](https://material.io/guidelines/style/writing.html)

~~~
morganvachon
> _2\. Simplify sentences. Cut adjectives. Shorten. It reads academic._

You bring up some valid issues, but I think you're missing the point of the
guide: To be friendly. It has a few parts that could use some editing but
overall it feels friendly and interactive. Some of the changes you suggest
make it seem cold and boring, which (to me at least) would be a reason to put
it down and never pick it back up.

~~~
WA
Personality and friendliness don't come from unnecessary words. A book should
be written with authority and emphasize with the reader. Some parts of the
text do this well, such as this:

> _Learning HTML and CSS is hard, but it doesn’t have to be._

That's a great start. It's friendly and it doesn't have unnecessary words in
it. It's actually quite powerful.

There's a fine line between being friendly and starting to babble.

~~~
JackFr
You should empathize with the reader.

~~~
lucideer
The reader appreciates a readable text. Empathise and provide that.

------
onion2k
I think it's really good. I often wonder how people learn to make websites
these days - I made my first 20 years ago when it was all a lot more
straightforward. Even a basic site needs a _huge_ amount groundwork now.

The only comments I have is that it's technically "web design" rather than
"web development", and there's nothing about taking the work the user has done
and putting it on a server somewhere so other people can see it. It'd be a
shame for someone to work through the whole thing and not have a working
website at the end.

Awesome work.

~~~
tbranyen
Nothing had changed in the web stack that would prevent someone from building
a webpage the same way as 20 years ago. Text editor and a browser...

~~~
jordanlev
This is true but misleading. You could make a similar statement about any
field where technology improves over time. For example, "nothing has changed
in the manufacturing process that would prevent someone from building an
automobile the same way as 60 years ago" \-- sure someone _could_ build it
that way, but it doesn't mean it would be a successful product compared to
other things currently on the market.

And I am _not_ talking about using different frameworks / compiled languages /
etc... I'm talking about the improved techniques we've developed over the
years combined with new features in browsers, such as:

* HTML5 vs. HTML4 (streamlined and more consistent syntax in a lot of places)

* Float-based grid systems for layout

* Flexbox(!) for alignment

* media queries and picture/srcset for responsive design (heck, the whole concept of responsive design)

* web fonts (not being limited to the dozen or so that are available through the OS only)

* BEM methodology (having a modular mindset about styling components, combined with avoiding specificity issues by just using a class for everything)

...and that's just plain old HTML and CSS... don't even get me started about
javascript (even just JS/ES5!)

~~~
enraged_camel
>>but it doesn't mean it would be a successful product compared to other
things currently on the market.

Why are you assuming said website needs to be successful on the market? Maybe
it's a personal website or a hobby project.

~~~
mod
When I starting building websites in ~1998, I looked at what was on the web,
it inspired ideas, and I built things.

If I were starting now, my inspiration would possibly be things like:
responsive, single-page apps, with ajax, websockets, etc.

I was going everywhere and viewing source and you could basically figure out
how everything was made. Now--not so much.

It's not so much 'success' as similarity with popular projects.

------
jordanlev
This is absolutely fantastic!

I recently taught some "intro to web design / development" classes to college
students (mostly designers, so coming to it more from a creative perspective
as opposed to "coders at heart"), and this is the "textbook" I wish I had had
then! The order that concepts are introduced is perfect, and I think the
decisions made about what to explain vs. what to ignore are spot on.

When I got to the part with hr and br tags, I was thinking to myself "tsk tsk,
the closing slashes are unnecessary"... then the next paragraph explains how
they're unnecessary but the rationale for using them is a good idea (in the
context of learning).

I also very much appreciate that it's strictly HTML and CSS and doesn't start
off with all the extra mental overhead of build tools, compiled languages,
server setups, etc.

Really well done!

------
heymijo
Thank you for this. No specific critiques but I thought I'd give you some
context about why this tutorial is a help to me.

The last time I built a web page was probably 2001 and the fanciest it got was
frames in Frontpage. Prior to that it was all html in notepad. I do not
program.

I am however, trying to get a website up for a new education venture I'm
building. I'm using a Bootstrap framework. There's enough old stuff in there
that I can figure out how to edit it, but also enough new stuff to throw me
for some loops. A lot of the tutorials I've found to explain elements are
either too simple or too complex.

Your tutorial seems to be the sweet spot. I flipped to the part about
responsive images and it answered some previously unanswered questions I
harbored.

When this post hit[0] HN awhile back I got excited by the template but I
couldn't figure out how to edit important parts of it because it used SVG
images. I didn't know what SVG was or if/how to edit/replace them. Your
tutorial is the first simple explanation I've seen regarding SVGs and their
place/purpose in the responsive image landscape.

Much appreciated as skimming your site has already been helpful.

[0]
[https://news.ycombinator.com/item?id=13126228](https://news.ycombinator.com/item?id=13126228)

------
myfonj
I can hardly judge, but that "Edit Here" "Reload Here" concept, being
necessary to understand at first, seems not as necessary to keep after the
point reader grasps the fact "this is source file and that is it rendered
appearance". Live preview like complex Thimble [1] or simple Scratchpad [2] or
Dabblet [3] seems to be far more convenient for exploring fundaments of HTML /
CSS, especially for beginners.

In fact I have such one "scratchpad" crammed into data:uri and bookmarked and
keep regularly using it to quick test almost anything HTML / CSS / XML / SVG /
JS related. (I am coder.)

[1] [https://thimble.mozilla.org/](https://thimble.mozilla.org/) [2]
[http://scratchpad.io/](http://scratchpad.io/) [3]
[http://dabblet.com/](http://dabblet.com/)

------
throw0213
They do ignore accessibility in both content and the website design itself.
It's frustrating to see all those websites that are trying to teach about
design, or even offer design services, but with their own websites containing
illegible texts, broken layouts, invalid markup, etc. Heck, even those that
claim to aim accessibility and validity often fail to achieve any.

Just a few examples to demonstrate what I mean:

\- Grey-on-white color scheme: high brightness, leading to eye strain.

\- Font sizes and div widths are set in pixels.

\- Fails validator.w3.org validation.

\- Light-grey-on-white navigation links: low contrast, leading to barely
legible text.

------
drops
I think it would be more fair to call this "HTML & CSS" tutorial than a "web
development" one.

------
sddfd
This is awesome, thanks! I've updated my personal homepage just a few days
ago, and it was difficult to google the simplest way to make the layout
responsive.

This was, because answers often involved adding some overbloated framework to
my homepage that was supposed to solve all problems.

After two days of googling arround I arrived at very simple HTML + CSS, like
you are describing, and did not need kilobytes of "CSS frameworks".

The same applies to Javascript, and it is even worse there. People are using
big, big frameworks everywhere, and I wonder if it would not be much easier to
do it in plain Javascript. On stackoverflow it is really difficult to find an
answer that does not require at least jquery. Are people aware of how to do
things in plain javascript, and choosing the frameworks deliberately?

------
josephjrobison
Very awesome, look forward to digging in. As a digital marketer primarily,
I've self-taught myself enough to be fairly proficient at HTML and CSS.

The thorn in my side has always been javascript, which I've started and
stopped many times. Look forward to seeing your lessons on javascript!

------
nthot
The site appears to be broken for internet explorer 11. I am not able to
follow any links.

~~~
jordanlev
Yeah, looks like he's got some crazy z-index on the body tag that is causing
the problem. If only there were some kind of CSS tutorial he could read to
learn about this ;)

~~~
interneting
Next tutorial will be "Cross-Browser Testing Is Hard" ;)

------
Cowicide
Some of the wording seems a bit too advanced to throw on a newbie right away.
I would massage the content with a more relatable, visual representation:

>HTML is for adding meaning to raw content by marking it up.

HTML is the frame of the house.

>CSS is for formatting that marked up content.

CSS is the interior and exterior design of the house that's intertwined with
the HTML framework.

>JavaScript is for making that content and formatting interactive.

JavaScript is the hardware door hinges, electrical and plumbing of the house
that's also intertwined with HTML and CSS.

\---------

I think graphical content that reinforces the above analogies would go a long
way in helping newcomers to more quickly understand and remember the basic
concepts.

------
throwaway2016a
How do we know this does not fall under the trap of not actually being
friendly but only seeming friendly as viewed from the eyes of an expert /
advanced user.

Whenever I see these I wonder if they remembered to take someone with no
subject matter knowledge and have them attempt to go through it.

For all I know this site did. I'm just musing out loud,

~~~
jordanlev
I've taught intro to web design / development classes before, and based on my
experience this tutorial gets it right. (It pretty much follows along with the
curriculum I used, although it's much more well-put-together than anything I
ever made).

------
exprA
HTML, CSS and JavaScript are not hard.

What's hard is being able to teach any single person them – that requires many
sorts of people skills. The irony is that for people with the right mindset,
learning the 3 of them, or programming in general is one of the easiest thing
they could do.

~~~
jordanlev
I disagree... they are hard. The fact that you think they are easy speaks to
your own intelligence or "way your brain works" that you are able to grasp it
(and/or your persistence/practice over the years of learning it).

But try teaching this stuff to people with no experience, and/or people who
don't have as analytical a mind as us tech folks and you will quickly discover
just how hard it can be.

(I recently taught a college class that was an intro to web design /
development - suffice to say it really gave me a clearer picture of how far
I'd come in my own professional skills over the years... it's easy to forget
what it was like before you knew what you know now :)

------
tangue
It's pretty cool,even on tricky subject like responsive images the content
stays accessible. I hope he'll continue with js, filling the gap between
codecademy and _" first let's npm install webpack babel and gulp"_

------
z3t4
It's refreshing to see a web-dev guide that _doesn 't_ focus on a framework.

------
rachkovsky
I know that black on white is not cool anymore, but a little bit more contrast
would benefit the site. Grey on grey is hard to read, I want to wipe the
screen cause it seem dusty.

------
morinted
Grammar aside: wouldn't it be internetting?

------
nik736
Looks good but the scrolling is really weird and laggy for me.

~~~
interneting
Browser and OS?

~~~
nik736
Safari 10 on El Cap

------
untilHellbanned
Complete beginners don't need flexbox.

------
catpolice
"HTML & CSS IS HARD"

*ARE

------
Yan_Coutinho
Good! I also really like this one about webdev in HTML5:
[https://www.liveedu.tv/elijahwass99/videos/REABM-
html5-codin...](https://www.liveedu.tv/elijahwass99/videos/REABM-html5-coding-
a-modern-website-4)

------
xiaoma
Friendly is a mistake. It should be hostile, unforgiving, difficult and hold
just enough promise for one to justify continuing.

Prepare people for what's ahead.

