|
Posted by: stak
Tags: mozilla
Posted on: 2014-11-15 11:44:20
Have you ever had the experience of trying to write a document in MS Word (or Open/LibreOffice) and it keeps "correcting" your formatting to something you don't want? The last time I experienced that was about a year ago, and that was when I decided "screw it, I'll just write this in HTML instead". That was a good decision.
Pretty much anything you might want to use a word processor for, you can do in HTML - and oftentimes it's simpler. Sure, there's a bit of a learning curve if you don't know HTML, but that's true for anything. Now anytime I need to create "a document" (a letter, random notes or signs to print, etc.) I always do it in HTML rather than LibreOffice, and I'm the happier for it. I keep all my data in git repositories, and so it's a bonus that these documents are now in a plaintext format rather than a binary blob.
I realized that this is probably part of a trend - a lot of people I know nowadays to "powerpoint" presentations using web technologies such as reveal.js. I haven't seen many people comment on using web tech to do word processing, but I know I do it. The only big "office suite" thing left is the spreadsheet. It would be awesome if somebody wrote a drop-in JS spreadsheet library that you could include into a HTML page and instantly turn a table element into a spreadsheet.
I'm reminded of this old blog post by Joel Spolsky: How Trello is different. He talks about most of the people who use Excel really just use it because it provides a table format for entering things, rather than it's computational ability. HTML already provides that, but whenever I've tried doing that I find the markup/content ratio too high, so it always seemed like a pain. It would be nice to have a WSYIWYG tool that let you build a table (or spreadsheet) and import/export it as raw HTML that you can publish, print, share, etc.
As an addendum, that blog post by Joel also introduced me to the concept of unshipped code as "inventory", which is one of the reasons I really hate finding old bugs sitting around in Bugzilla with perfectly good patches that never landed!
|
|
(c) Kartikaya Gupta, 2004-2024. User comments owned by their respective posters. All rights reserved.
You are accessing this website via IPv4. Consider upgrading to IPv6!
|
My primary way to write is either Markdown or, in creative writing cases where even Markdown is too code-ish for me to stay in a literary mindstate, a simplified pseudo-WYSIWYG like LyX's "WYSIWYM" which is still semantic, but represents things like emphasis visually.
I haven't needed to produce a presentation in the last few years, so I'm not sure what technology I'll prefer, but I suspect I'll be using something like reveal.js next time, both because it gives me that HTML/CSS/JS content/presentation/behaviour separation and because it's easy to take the HTML and do scripted processing/transformation on it.
As for spreadsheet use, I'm not sure whether I line up with your impressions. I have three main uses for LibreOffice Calc:
1. I definitely use it as you suspect: paired with a TSV-to-HTML Python script as an alternative to writing HTML table markup by hand.
(Though I do rely heavily on various keyboard-driven "do what I mean" behaviours like the semantics for copy-pasting from a single row/cell to a range of rows/cells, so reproducing just the GUI on top of an HTML table exporter isn't as simple as it initially appears.)
2. I also use it, coupled with autocomplete and copy/paste, as a way to prepare more or less unstructured data for import into a relational database.
(I can't find a single open-source SQLite-compatible GUI which can be efficiently controlled by the keyboard and understands foreign keys, so it's less painful to just use Calc's autocomplete and copy-paste in concert with a CSV/TSV import script which does validation and deduplication to shove tabular data into normalized relations.)
One of these days, hell will freeze over and I'll find time to write some kind toolbox for rapidly prototyping high-efficiency batch-entry UIs on top of an SQL dialect abstraction layer like the one in SQLAlchemy.
3. While I'm a programmer (and, thus, not "most people"), I do sometimes use LibreOffice Calc's computational ability. When the best UI really IS a grid of cells and the "code" is a directed graph of of functions, nothing compares with a spreadsheet. (Otherwise, I'll probably use IPython Notebook.)
Calc is definitely heavier than necessary for that, though. Another "rainy day" project: Some kind of PyQt application which ties "eval() each cell" behaviour to a tabular widget and uses the Python AST module to figure out which cells depend on which other ones for refresh purposes. (Or possibly in-browser when Skulpt gets far enough along to implement the AST module.)
(And, if I need a linear solver, I'm going to use GLPK's MathProg language or implement something higher-level using its Python bindings. A spreadsheet is, at best, an ugly, awkward way to define a linear program.)