I'm a plaintext evangelist but "the focus should be on the data" is not the only priority for the general user. The reason When the average layperson sees anything (Markdown formatted or not) in a Sublime Text tab, they see "code".
Rich-text, WYSIWYG editors give people more of a feeling of control and perceived ability to see the big picture. Sure, we can argue that this impression is largely superficial and adds more distraction than anything. But that's because we're experienced computer users who know that "code" directly relates to what WYSIWYG displays, i.e. WYSIWYG is just a middleman. But this is something that has to be experienced to really be grokked. If it weren't for sites like CSS Zen Garden that made it clear how style could be completely separate from content, I'd probably still be making pages in Dreamweaver today.
The code is not the data. It is a representation. Even the LISP code you write as text is not the code meant by "code is data", that would be the in-memory representation created by the reader, i.e. a bunch of conses.
The rich-text, WYSIWYG interface shows the data people want to interact with; they care about the text in their document and how it is formatted on the page, not how it is stored on disk.
So I disagree with z1mm32m4n about the power of plain text. Plain text is useful in Unix because as a storage format it corresponds to the usage pattern of typing text into a terminal; meaning interactive data entry and reading from a file don't have to be different.
But plain text is a lie on all modern Unix systems, it has been replaced by a mix of text and escape codes. Recently I tried to cat initial-commands.txt - | some-interactive-program and did not get the expected result because the pipe between cat and the program was not a tty. (The solution was to use script to enforce tty-like behavior.) The reason these escape codes exist is that people wanted more than plain text could give them (e.g. color).
However, this is not to say that a universal storage format for data of a kind (e.g. formatted text) would not be useful to avoid siloed applications; if you are working with data that already has a standard format, inventing your own and requiring import and export for everything else is just silly.
The reason for our privilege, I think, comes from the abysmal education the "regular user" is getting.
At school, pupils are taught Microsoft Word most often, and LibreOffice at best. They know nothing but WYSIWYG and separated applications that don't talk to each other (Microsoft Office can be scripted with VBA, but they don't know that).
The fundamentals of computing are not taught. File formats are not taught beyond "this app opens that format". Plain text is that ugly stuff you read with Notepad. The internet is accessed with a web browser. And so on.
---
This needs to change. Computing education should be expanded, and other curriculum should be cut or adapted accordingly:
Data formats should be taught. HTML could serve as a first example: you can view it online, you can save the page and view it offline, you can view the source with ctrl+U, or even modify the source with Notepad (Kudos if your school uses a free operating system, but let's not require it right away).
Rudiments of programming should be taught. Something like Human Resource Machine (a coding game in pseudo-assembly) could serve as an introduction —or we could stop there, that game is pretty complete. Now that's quite a heavy topic (I expect Human Resource Machine alone would take a whole semester), so I propose we use the Math class for this, and cut on other math topics (I'm not sure which, though).
The internet and the web should be taught (and not just used). I believe the English class is most suited: the internet is mostly about reading and writing (YouTube notwithstanding). We should cut down on classical literature and literary analysis, and focus more on information processing (reading more or less reliable stuff and come up with reliable information), and public writing. If there's a class that ostensibly teaches citizenship, it should be used to teach public debate, which are arguably more important than the arcanes of your country's constitution.
everyone from every field is saying this. "public schools should teach more [programming/accounting/nutrition/formal writing/auto mechanic] skills to young kids!". nobody disagrees, because the value seems obvious, but you can't have it all. we are biased because we make our living working intimately with computers, but plenty of people learn exactly as much as they need to know about computers in middle school.
i just think that kids spend enough of their time on regimented learning. nine hours a day plus homework. we should stop inflating the curriculum and leave some of their mental energy in reserve so they can spend it on self-driven freeform learning and hobbies.
I know the curriculum is full. This is why I proposed we remove other stuff.
I do not propose we teach actual programming to kids. Just the fundamentals of computational thinking, for which an introduction to programming may work really well, and I expect 40 hours will be more than enough. Even a couple hours may be enough.
Computers pervade our lives. They're becoming the medium through which we do everything. We'd better learn to control them before they control us (I'm thinking of golden cages like the iStuff, and surveillance/advertising machines like gMail and Facebook).
The printing press allowed the people to read. The internet is allowing the people to write. Such a fundamental change in communication structures is bound to have similarly profound effects. But first, people need to learn to write. School isn't the place for that. So far, my best writing school has been public internet forums. School only taught me the very basics, then went on having me read novels I didn't enjoy. Before 1995, this was fine. Less so now.
This is happening in the UK. Small children learn Scratch, which, of all the decades of attempts at beginner's languages for kids, turns out to be the one that works:
Apparently it's not just the academically bright kids, the middling ones get it catching their attention too.
Later they get taught "textual languages", which I'm pretty sure will be Python.
They also get taught to use the office apps - but they are introduced early to the concept that these machines that civilisation runs on are things they could tell what to do.
Rich-text, WYSIWYG editors give people more of a feeling of control and perceived ability to see the big picture. Sure, we can argue that this impression is largely superficial and adds more distraction than anything. But that's because we're experienced computer users who know that "code" directly relates to what WYSIWYG displays, i.e. WYSIWYG is just a middleman. But this is something that has to be experienced to really be grokked. If it weren't for sites like CSS Zen Garden that made it clear how style could be completely separate from content, I'd probably still be making pages in Dreamweaver today.