Erlang as a tool for human communication -- was GUI development

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Erlang as a tool for human communication -- was GUI development

Lloyd R. Prentice-2
Hello,

This is a think piece that may run longer than prudent for this forum. But if not here, then where? It is motivated by the recent thread re: GUI development and various other threads re: Erlang documentation. It asks serious questions that may or may not be worthy of reflection and discussion across the Erlang community.

Here's a little about me, not to toot my horn, but to clarify where I'm coming from. 

I've been striving to become reasonably proficient in Erlang for nearly four years now. I come with experience in software development, but in no way consider myself a professional programmer. My undergraduate education is in English language/liberal arts with a focus on creative writing; communication and national development was my focus in grad school. I was for seven years on the full-time faculty at Boston University's School for Public Communication. I was founding editor/publisher of Classroom Computer News, one of the first magazines focused on personal computers in the K-12 classroom. My company. Prentice Associates Incorporated developed more than 100 shrink-wrapped educational/consumer software products for leading U.S. publishers. My company also developed a major web application for marketing and managing world-class IT conferences Among other things, I write fiction; have three novels in print.  I could go on, but you get the picture.

I come to Erlang with a vision of a web community devoted to helping indie authors/publishers write and market better books. I was attracted by the reliability/scalability promise of Erlang. But it's been a hard slog learning Erlang and bringing my vision to fruition, taking far longer than I would have hoped, leavened only by the generous help from many members of this community.

At this point, my understanding is that Erlang is a terrific language for distributed back-end systems and, to some extent, scalable web applications. But my sense is that the Erlang community is smaller than the merits of the language deserves, has an aging community and, rather than organic growth, seems to be fragmenting into a cluster of BEAM languages that don't, from what I've seen, bring much vitality back to Erlang OTP.

The question I've asked myself over recent months is, "Why doesn't Erlang have more libraries supporting human communication with the same effectiveness with which it supports machine-to-machine communication?"

The recent thread GUI development thread is Exhibit Number One. 

The various stalemated Erlang-questions threads on Erlang documentation is Exhibit Number Two.

Loïc Hoguin has done some nice work on documentation tools. I do wish they were more widely used and, themselves, better documented.

This makes me wonder why we don't eat our own dog food, that is, develop and adopt standardized documentation tools written in Erlang and fluent across all media?

Wings3D is, from what I've read, an effective 3D CAD system. But I don't hear much about it or see how it's libraries or components are of value to the Erlang community. Perhaps there are hidden jewels in the Wings3D code that could support GUI development.

Joe Armstrong has been experimenting with music production. I love to see more documentation of his work. Can his work be extended to broader audio applications?

A few folks have been working with video streaming. Wouldn't it be great to see tutorials and well-documented open source libraries and tools.

Erlang Nitrogen goes a long way toward easing the pains of web development. But it could go much further with broader support. These days, poor Jesse Gumm is just about it.

I'm not sure what's going on with Chicago Boss. That seems to be on Jesse's shoulders as well.

The content management framework Zotonic is terrific in every dimension. But you have to move out of Erlang and to hop across several syntactic boundaries to use it. Mark Worrell has been talking for some time about "Elastic Zotonic," e.g. distributed Zotonic. Is he thinking Riak? I don't know, but wouldn't that be cool.

I've been pulling my hair out over the past year trying to bend erlguten, the not-well-documented six-year-old library for generating PDF documents, to my needs. It's a gem in the rough that could provide the basis for a powerful suite of print and digital media production tools.

Just today I learned that erlguten has been maintained and in production at Klarna and that within the past year Richard Carlsson has released a MIT-licensed "canonical" version on GitHub. Yippee!


Richard's road map is dead congruent with what I've been trying to accomplish in support of Writersglen, the project that has absorbed my nearly every waking thought over the past half decade.

Many of the things that I want to do in Writersglen could be accomplished in other languages and with tools and applications written in those languages. But I want to work in Erlang. I don't see any technical obstacles to building better human communication libraries and tools in Erlang. Selfishly, I don't have enough years ahead to learn other languages. I want to build my web community. I want to build it in Erlang. And I wish I'd been able to launch it two years ago.

But beyond my own interests, my hypothesis is this: With more well-documented and polished open source libraries and applications focused on human communication, Erlang would attract a wider, more diverse, population of programmers and developers. This, in turn, would result in a more vibrant community and wider adoption of Erlang.

Am I wrong? 

If not, what can we do to make it happen?

Perhaps the problem is that we don't have an appropriate venue or forum for sharing ideas.

All the best and happy holidays,

Lloyd

Sent from my iPad

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

Joe Armstrong-2
I agree!

(with what you ask?)

I could write a lot about this ...

The model of documentation I would like to see is:

   - One author many eyes

Note this is not the wiki model - I like articles that are opinionated
and represent
a clear point of view - I may or may not agree with that point of
view, but I like there to be a clear point of view - books are written
by individual authors not committees and I like this.

Many eyes is great for fixing bugs and fact checking - so it should be
easy to comment on the document, but only the author can make the
changes.

   - Beautiful output

The result should be pleasing to the eye and in multiple formats
(epub, html and PDF)

This is *impossible* (I think) with markdown - markdown solves the
wrong problem.
Markdown solves the problem "make the input simple" it does not solve
the problem
"make the output beautiful"

LaTeX solves the problem "make the output beautiful" - but the input is a mess.
XSL + Apache FOP makes the input parsable but beautiful output is *challenging*

  - Easy to organise the input

OK - the output should be beautiful - the input might be a mess (if In
LaTeX) - but moving chapter headings around etc and cross indexing etc
should be easy.

I have no good solution to this. My current attempt at this is to use
emacs org mode
for organisation. Then have embedded XML, and inside the XML and special tag
<md> ... </md> for embedded markdown (actually not the real markdown,
but my own variant)

  - Low barrier for entry to comments

 If a reader is reading the text and sees a spelling error, correcting
it should be one
mouse click away. The Erlang documentation requires you to git clone everything
fix the source and send a pull request. This is crazy and will scare
off many users.

The best system I have ever seen for this is in the real-world haskell site
Go check out http://book.realworldhaskell.org/read/ - pretend you have
seen a spelling
mistake and see how easy it is to fix it.

  - Parseable document tree

I'm a great fan of having well-structured input that is parseable with
a strict grammar. This
is so we can build complex documents. This seems to rule out markdown and LaTeX.

My only solution to this XML - but *not* docbook (which is far too complex)

 - Extensible

  I want plugins to generate diagrams, color code etc.

Combining these different requirements (beautiful output, etc.) is
very difficult
and I have seen no free system that can do all these things.

There are great tool chains available - for example when I wrote my Erlang book
the pragmatic press provided a tool chain.

The input was XML (Yes XML) - I have absolutely no problems with this,
most of my time
was spent in thinking up good examples and wording of paragraphs not typing in
tags.

The stages involved were

    - authoring
    - editing (this was chapter by chapter with an editor providing feedback)
    - beta release (publish a PDF - this is the many eyes bit)
    - final chapters and more editing
    - proof reading
    - final edit
    - indexing
    - layout

The author/editor part is interesting - this is not *many eyes* - each
book has an editor
who helps the author a lot (actually teaches them to write decent English)

Any automated system should have provision to automate the feedback cycles
author/editor and author/readers.

One more thing I forgot - who is your audience and what do they know.

Syncing with your audience is essential - If your book is 20 chapters
you need to write say
5 chapters, then try them out on your target audience to get the level
right and adjust the level *before* you write the next 15 chapters.

This is also true for a 10 page document.

I think the problem we have to solve here is one of making a documentation
*system* and not producing individual papers.

Short articles with ugly output is easy in markdown - but an entire system with
thousands of pages of text needs a lot of complex organisation.

I'd actually love to know how a newspaper solves this - a decent newspaper
turns out tens of thousands of words per day - news articles are
written, proof read and edited in hours - commissioned articles are
integrated with the news and there must be hundreds to thousands of
contributing sources.

The software behind these systems is not open source and I haven't a
clue what it costs
or who produces it - is it in house or purchased?

I guess things of the scale of a magazine are done with adobe's indesign.

So we a spectrum of documents.

     - simple documents (markdown)
     ....
     - magazines (in-design)
     - books (proprietary)
     ...
     - newspaper (proprietary)

Where do we want to be positioned here? My guess is something 'book
like' is better than what we have today - but not commercial book
quality.

Cheers

/Joe





On Fri, Dec 22, 2017 at 7:03 AM, Lloyd R. Prentice
<[hidden email]> wrote:

> Hello,
>
> This is a think piece that may run longer than prudent for this forum. But
> if not here, then where? It is motivated by the recent thread re: GUI
> development and various other threads re: Erlang documentation. It asks
> serious questions that may or may not be worthy of reflection and discussion
> across the Erlang community.
>
> Here's a little about me, not to toot my horn, but to clarify where I'm
> coming from.
>
> I've been striving to become reasonably proficient in Erlang for nearly four
> years now. I come with experience in software development, but in no way
> consider myself a professional programmer. My undergraduate education is in
> English language/liberal arts with a focus on creative writing;
> communication and national development was my focus in grad school. I was
> for seven years on the full-time faculty at Boston University's School for
> Public Communication. I was founding editor/publisher of Classroom Computer
> News, one of the first magazines focused on personal computers in the K-12
> classroom. My company. Prentice Associates Incorporated developed more than
> 100 shrink-wrapped educational/consumer software products for leading U.S.
> publishers. My company also developed a major web application for marketing
> and managing world-class IT conferences Among other things, I write fiction;
> have three novels in print.  I could go on, but you get the picture.
>
> I come to Erlang with a vision of a web community devoted to helping indie
> authors/publishers write and market better books. I was attracted by the
> reliability/scalability promise of Erlang. But it's been a hard slog
> learning Erlang and bringing my vision to fruition, taking far longer than I
> would have hoped, leavened only by the generous help from many members of
> this community.
>
> At this point, my understanding is that Erlang is a terrific language for
> distributed back-end systems and, to some extent, scalable web applications.
> But my sense is that the Erlang community is smaller than the merits of the
> language deserves, has an aging community and, rather than organic growth,
> seems to be fragmenting into a cluster of BEAM languages that don't, from
> what I've seen, bring much vitality back to Erlang OTP.
>
> The question I've asked myself over recent months is, "Why doesn't Erlang
> have more libraries supporting human communication with the same
> effectiveness with which it supports machine-to-machine communication?"
>
> The recent thread GUI development thread is Exhibit Number One.
>
> The various stalemated Erlang-questions threads on Erlang documentation is
> Exhibit Number Two.
>
> Loïc Hoguin has done some nice work on documentation tools. I do wish they
> were more widely used and, themselves, better documented.
>
> This makes me wonder why we don't eat our own dog food, that is, develop and
> adopt standardized documentation tools written in Erlang and fluent across
> all media?
>
> Wings3D is, from what I've read, an effective 3D CAD system. But I don't
> hear much about it or see how it's libraries or components are of value to
> the Erlang community. Perhaps there are hidden jewels in the Wings3D code
> that could support GUI development.
>
> Joe Armstrong has been experimenting with music production. I love to see
> more documentation of his work. Can his work be extended to broader audio
> applications?
>
> A few folks have been working with video streaming. Wouldn't it be great to
> see tutorials and well-documented open source libraries and tools.
>
> Erlang Nitrogen goes a long way toward easing the pains of web development.
> But it could go much further with broader support. These days, poor Jesse
> Gumm is just about it.
>
> I'm not sure what's going on with Chicago Boss. That seems to be on Jesse's
> shoulders as well.
>
> The content management framework Zotonic is terrific in every dimension. But
> you have to move out of Erlang and to hop across several syntactic
> boundaries to use it. Mark Worrell has been talking for some time about
> "Elastic Zotonic," e.g. distributed Zotonic. Is he thinking Riak? I don't
> know, but wouldn't that be cool.
>
> I've been pulling my hair out over the past year trying to bend erlguten,
> the not-well-documented six-year-old library for generating PDF documents,
> to my needs. It's a gem in the rough that could provide the basis for a
> powerful suite of print and digital media production tools.
>
> Just today I learned that erlguten has been maintained and in production at
> Klarna and that within the past year Richard Carlsson has released a
> MIT-licensed "canonical" version on GitHub. Yippee!
>
> https://github.com/richcarl/erlguten
>
> Richard's road map is dead congruent with what I've been trying to
> accomplish in support of Writersglen, the project that has absorbed my
> nearly every waking thought over the past half decade.
>
> Many of the things that I want to do in Writersglen could be accomplished in
> other languages and with tools and applications written in those languages.
> But I want to work in Erlang. I don't see any technical obstacles to
> building better human communication libraries and tools in Erlang.
> Selfishly, I don't have enough years ahead to learn other languages. I want
> to build my web community. I want to build it in Erlang. And I wish I'd been
> able to launch it two years ago.
>
> But beyond my own interests, my hypothesis is this: With more
> well-documented and polished open source libraries and applications focused
> on human communication, Erlang would attract a wider, more diverse,
> population of programmers and developers. This, in turn, would result in a
> more vibrant community and wider adoption of Erlang.
>
> Am I wrong?
>
> If not, what can we do to make it happen?
>
> Perhaps the problem is that we don't have an appropriate venue or forum for
> sharing ideas.
>
> All the best and happy holidays,
>
> Lloyd
>
> Sent from my iPad
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

Fred Hebert-2
In reply to this post by Lloyd R. Prentice-2
On 12/22, Lloyd R. Prentice wrote:
>
>At this point, my understanding is that Erlang is a terrific language for distributed back-end systems and, to some extent, scalable web applications. But my sense is that the Erlang community is smaller than the merits of the language deserves, has an aging community and, rather than organic growth, seems to be fragmenting into a cluster of BEAM languages that don't, from what I've seen, bring much vitality back to Erlang OTP.
>

Yes and no. Frankly, I think the community's been stable for a while.  
There's a few newcomers coming from the Elixir world into Erlang's, and
some very interesting VM improvements that have come from that side of
the fence.

We borrowed a bunch from them (just hex is a good example) and they
borrowed a lot from us. I think that with better tool compatibility
(being able to compile Elixir with an Erlang toolchain, or maybe
adopting mix as your erlang build tool if you want to do it today), we
could get the influx of folks that support the web in the Elixir world
and benefit from their work within Erlang.

The community is small for the people who talk in public, but there's a
surprising amount of people and corporations that use Erlang behind
closed doors or will not participate to that many conversations about
it. It's an iceberg of a programming language with a small public-facing
group and a massive hidden userbase.

The fact that the language is used to make infrastructure component also
tends to mean that 2-3 developers may do the work that hundreds of
corporations will use. This is far less often the case when you have
user-facing libraries and products, which are, for lack of better terms,
less fundamental to multiple classes of systems, and will instead tend
to reside within a few classes at most.

The language, I think, has passed its bubble phase -- that one bit of
time where all the language hipsters and tech early adopters keep
jumping wagons and you can grab a fraction of them to do your work.  
Erlang has had killer apps. Many of them. I think we should expect
stability in the years to come; minor growth, and hopefully minor churn
in community members.

>The question I've asked myself over recent months is, "Why doesn't Erlang have more libraries supporting human communication with the same effectiveness with which it supports machine-to-machine communication?"
>
>The recent thread GUI development thread is Exhibit Number One.
>
>The various stalemated Erlang-questions threads on Erlang documentation is Exhibit Number Two.
>

I think there are two factors here.

One is the very strong infrastructure focus in Erlang products. You will
have routers and proxies for all types of protocols, translators for
fancy data types, queues and building blocks for complex systems,
databases and foundational components to high-load applications. Those
are very often machine-to-machine mechanisms, doing a specific thing for
specific high-end environments. Erlang was often used for these because
nothing else would be reasonable for it, not necessarily because people
felt that Erlang was amazing; that part usually comes later.

That means you built a community of infrastructure folks, who speak
infrastructure to each other. Who cares that unicode is not there? Few
people did, because few people even handled text in the first place;
those were byte streams you just needed to shuttle from here to there!  
If we just got into the unicode game properly, I'm not *that* surprised
that user-facing communication is lagging behind.

Reason number two, I think, are community dynamics related to that. I've
given a keynote on this topic in Stockholm last year --
https://www.youtube.com/watch?v=Z28SDd9bXcE and my position is still
roughly the same. We've made progress but the behaviour of our community
has been self-reinforcing for years. Very experienced devs who know a
crapload of stuff, and are usually fine fixing their own problems. This
makes newcomers usually look somewhere else over time for an easier
experience.

I welcomed Elixir's challenge in tooling and usability and while their
tooling is still often seen as superior, I feel that over time the gap
has been narrowed (we have caught up a bit); the comments I see online
have less of a focus on that than there was before. That's good.

We're not done yet though.

>Loïc Hoguin has done some nice work on documentation tools. I do wish they were more widely used and, themselves, better documented.
>
>This makes me wonder why we don't eat our own dog food, that is, develop and adopt standardized documentation tools written in Erlang and fluent across all media?
>

The work that *you* do right now is probably the exact kind of stuff we
need to keep fighting the inertia we have. The questions you ask and
these comments help.

Here's an interesting one; we have edoc, there is hexdocs to host it,
but a lot of us don't even get there (myself included). Hell, I'm still
late on package publishing unless someone prompts me that way.

I think there's a gap currently between "learning Erlang from a book"
and "using Erlang within the community" that has not been addressed.  
Maybe there's a decent opportunity there.

In the ruby community, I've been told nobody would consider a library
until it had tests. In the Erlang community, the first question you get
asked about a system is "has it been in production?" -- there's a very
strong focus on field experience and proof for a lot of the work. Maybe
we'd gain by starting to collectively ask "does it have documentation?"

Is a component truly ready for production if its only documentation is a
slideset from a lightning talk given to a random usergroup 3 years ago?

>
>Many of the things that I want to do in Writersglen could be accomplished in other languages and with tools and applications written in those languages. But I want to work in Erlang. I don't see any technical obstacles to building better human communication libraries and tools in Erlang. Selfishly, I don't have enough years ahead to learn other languages. I want to build my web community. I want to build it in Erlang. And I wish I'd been able to launch it two years ago.
>
>But beyond my own interests, my hypothesis is this: With more well-documented and polished open source libraries and applications focused on human communication, Erlang would attract a wider, more diverse, population of programmers and developers. This, in turn, would result in a more vibrant community and wider adoption of Erlang.
>
>Am I wrong?

No you're right (at least in my opinion). One of the things I do in the
workplace and that I recommend people do is take all their interns and
new hires, and make them take notes on everything they found painful and
difficult when they started. Tell them early on to do it.

Take that list of opinions from someone who has a fresh view and a
different background, and try to address these problems. Commit to
fixing them. If you're a newcomer, this means taking the notes.

Maybe we'd need a place to gather these comments. Some of them won't be
useful, some of them might be.

This way of proceeding is part of why Tristan and I had started work on
Rebar3. We wanted other teams within Heroku to try Erlang but they had a
bad time with other tools.

I'm doing the same thing at Genetec right now, and I've been adding
better windows support to the tool (and some features that should drop
later today) for that reason.

>
>If not, what can we do to make it happen?
>
>Perhaps the problem is that we don't have an appropriate venue or forum for sharing ideas.
>

We make the venues with what we have. The harder part is ownership;
someone committed to tracking and fixing issues.

What can we do to make it happen? Good question.

I think for you personally, it would be neat to see what the stumbling
blocks you've had were. Can we categorize them? Find a solution that
would have fixed things?

We could look in whether this was a documentation problem, a
discoverability problem, issues with tooling, issues with finding
resources, or anything else, really. Once we have some concrete problems
to fix, and that we start putting some work that way, we'll get in a
better place.

The lucky thing with these types of frustrations is that there's some
big nasty ones that are difficult to fix, but a lot of them are small
one-off issues that cause deaths from a thousand papercuts. Those are
usually easy to fix and as you go, progress becomes easier and easier
and the barrier of entry lower and lower.

Frankly the hard part is finding people with the experience and the time
to do all of that, but it starts with any individual deciding to get
their hands dirty.

Regards,
Fred.

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

Loïc Hoguin-3
In reply to this post by Lloyd R. Prentice-2
Saw my name mentioned so figured I'd pop in.

On 12/22/2017 07:03 AM, Lloyd R. Prentice wrote:> Loïc Hoguin has done
some nice work on documentation tools. I do wish
> they were more widely used and, themselves, better documented.

I don't know about "nice", my efforts are very much on the hobby side of
things and are still unfinished. I should have a pretty good
Asciidoc-to-AST-to-manpage this coming holiday though. Evolving it will
be much easier when I'm done rewriting the prototype and adding output
formats will be trivial.

That said, I'm pretty sure I'm in the minority with wanting to write
docs separately from code so my work will have a limited impact as far
as Erlang documentation goes. Unless someone wants to use the project to
do an edoc/Asciidoc thing.

Cheers,

--
Loïc Hoguin
https://ninenines.eu
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

Richard Carlsson-3
In reply to this post by Lloyd R. Prentice-2
Hello Lloyd! Just to clarify - my role has mainly been to clean up the repository a bit, get permission from all authors to slap an MIT license on it, and put the latest version on github as a point of reference for others. Previously, you could only find the original version as a tarball from Joe's web page. The road map etc. is not my writing, but probably mostly Joe's. Klarna is not using erlguten anymore (as of last year, we migrated the last uses to an external service), but it certainly had a good run - 12 years of heavy industrial use.


        /Richard

2017-12-22 7:03 GMT+01:00 Lloyd R. Prentice <[hidden email]>:
Hello,

This is a think piece that may run longer than prudent for this forum. But if not here, then where? It is motivated by the recent thread re: GUI development and various other threads re: Erlang documentation. It asks serious questions that may or may not be worthy of reflection and discussion across the Erlang community.

Here's a little about me, not to toot my horn, but to clarify where I'm coming from. 

I've been striving to become reasonably proficient in Erlang for nearly four years now. I come with experience in software development, but in no way consider myself a professional programmer. My undergraduate education is in English language/liberal arts with a focus on creative writing; communication and national development was my focus in grad school. I was for seven years on the full-time faculty at Boston University's School for Public Communication. I was founding editor/publisher of Classroom Computer News, one of the first magazines focused on personal computers in the K-12 classroom. My company. Prentice Associates Incorporated developed more than 100 shrink-wrapped educational/consumer software products for leading U.S. publishers. My company also developed a major web application for marketing and managing world-class IT conferences Among other things, I write fiction; have three novels in print.  I could go on, but you get the picture.

I come to Erlang with a vision of a web community devoted to helping indie authors/publishers write and market better books. I was attracted by the reliability/scalability promise of Erlang. But it's been a hard slog learning Erlang and bringing my vision to fruition, taking far longer than I would have hoped, leavened only by the generous help from many members of this community.

At this point, my understanding is that Erlang is a terrific language for distributed back-end systems and, to some extent, scalable web applications. But my sense is that the Erlang community is smaller than the merits of the language deserves, has an aging community and, rather than organic growth, seems to be fragmenting into a cluster of BEAM languages that don't, from what I've seen, bring much vitality back to Erlang OTP.

The question I've asked myself over recent months is, "Why doesn't Erlang have more libraries supporting human communication with the same effectiveness with which it supports machine-to-machine communication?"

The recent thread GUI development thread is Exhibit Number One. 

The various stalemated Erlang-questions threads on Erlang documentation is Exhibit Number Two.

Loïc Hoguin has done some nice work on documentation tools. I do wish they were more widely used and, themselves, better documented.

This makes me wonder why we don't eat our own dog food, that is, develop and adopt standardized documentation tools written in Erlang and fluent across all media?

Wings3D is, from what I've read, an effective 3D CAD system. But I don't hear much about it or see how it's libraries or components are of value to the Erlang community. Perhaps there are hidden jewels in the Wings3D code that could support GUI development.

Joe Armstrong has been experimenting with music production. I love to see more documentation of his work. Can his work be extended to broader audio applications?

A few folks have been working with video streaming. Wouldn't it be great to see tutorials and well-documented open source libraries and tools.

Erlang Nitrogen goes a long way toward easing the pains of web development. But it could go much further with broader support. These days, poor Jesse Gumm is just about it.

I'm not sure what's going on with Chicago Boss. That seems to be on Jesse's shoulders as well.

The content management framework Zotonic is terrific in every dimension. But you have to move out of Erlang and to hop across several syntactic boundaries to use it. Mark Worrell has been talking for some time about "Elastic Zotonic," e.g. distributed Zotonic. Is he thinking Riak? I don't know, but wouldn't that be cool.

I've been pulling my hair out over the past year trying to bend erlguten, the not-well-documented six-year-old library for generating PDF documents, to my needs. It's a gem in the rough that could provide the basis for a powerful suite of print and digital media production tools.

Just today I learned that erlguten has been maintained and in production at Klarna and that within the past year Richard Carlsson has released a MIT-licensed "canonical" version on GitHub. Yippee!


Richard's road map is dead congruent with what I've been trying to accomplish in support of Writersglen, the project that has absorbed my nearly every waking thought over the past half decade.

Many of the things that I want to do in Writersglen could be accomplished in other languages and with tools and applications written in those languages. But I want to work in Erlang. I don't see any technical obstacles to building better human communication libraries and tools in Erlang. Selfishly, I don't have enough years ahead to learn other languages. I want to build my web community. I want to build it in Erlang. And I wish I'd been able to launch it two years ago.

But beyond my own interests, my hypothesis is this: With more well-documented and polished open source libraries and applications focused on human communication, Erlang would attract a wider, more diverse, population of programmers and developers. This, in turn, would result in a more vibrant community and wider adoption of Erlang.

Am I wrong? 

If not, what can we do to make it happen?

Perhaps the problem is that we don't have an appropriate venue or forum for sharing ideas.

All the best and happy holidays,

Lloyd

Sent from my iPad

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions



_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

David Talmage
In reply to this post by Joe Armstrong-2
On Friday, December 22, 2017 7:33:30 AM EST Joe Armstrong wrote:

> ...
> The model of documentation I would like to see is:
>
>    - One author many eyes
> ...
>    - Beautiful output
> ...
>   - Easy to organise the input
> ...
>   - Low barrier for entry to comments
> ...
>   - Parseable document tree
> ...
>  - Extensible
> ...
> The stages involved were
>
>     - authoring
>     - editing (this was chapter by chapter with an editor providing
> feedback) - beta release (publish a PDF - this is the many eyes bit)
>     - final chapters and more editing
>     - proof reading
>     - final edit
>     - indexing
>     - layout
> ...
> I'd actually love to know how a newspaper solves this - a decent newspaper
> turns out tens of thousands of words per day - news articles are
> written, proof read and edited in hours - commissioned articles are
> integrated with the news and there must be hundreds to thousands of
> contributing sources.
> ...

The Washington Post uses ARC (https://www.arcpublishing.com/), a home-grown,
web-based publishing system.  It has an article editor (Ellipsis); CMSes for
photos (Anglerfish) and video (Goldfish); a page layout editor (PageBuilder);
and tools for analytics, personalization, user experience testing, and a lot
more. They all work together seamlessly.

Virtually everything in ARC has a web front end in HTML, Javascript, and CSS.  
The back ends are written in Java or another language that runs on the JVM.

WaPo uses ARC and it sells ARC as a service to other newspapers.  As I recall,
The Globe and Mail in Toronto and Willamette Week are customers.  Some other
customers are named in an article on businessinsider.com: http://
www.businessinsider.com/the-washington-post-is-growing-its-arc-publishing-
business-2016-6



_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

Lloyd R. Prentice-2
Hi David,

ARC is an excellent example of the kind of human-facing application I've been striving toward.

Content creators provide input; output is disseminated in many formats and through many media channels.

But I'm imagining a Tinker Toy-like suite of Erlang libraries and applications that can be mixed and matched to build any number of purpose-built human-facing applications.

And, I believe we have much in Erlang to work with toward that goal.

I've been factoring, revising, and extending erlguten, for instance, into four components:

1. Copy input and management
2. Type specification
3. Page design and layout
4. Paste-up

Each of these areas could have print and digital analogs. With careful thought to interfaces, they could abstracted into templates in the spirit of OTP.

All the best,

Lloyd





-----Original Message-----
From: "David Talmage" <[hidden email]>
Sent: Thursday, December 28, 2017 10:48am
To: [hidden email]
Cc: "Joe Armstrong" <[hidden email]>, "Lloyd R. Prentice" <[hidden email]>
Subject: Re: [erlang-questions] Erlang as a tool for human communication -- was GUI development

On Friday, December 22, 2017 7:33:30 AM EST Joe Armstrong wrote:

> ...
> The model of documentation I would like to see is:
>
>    - One author many eyes
> ...
>    - Beautiful output
> ...
>   - Easy to organise the input
> ...
>   - Low barrier for entry to comments
> ...
>   - Parseable document tree
> ...
>  - Extensible
> ...
> The stages involved were
>
>     - authoring
>     - editing (this was chapter by chapter with an editor providing
> feedback) - beta release (publish a PDF - this is the many eyes bit)
>     - final chapters and more editing
>     - proof reading
>     - final edit
>     - indexing
>     - layout
> ...
> I'd actually love to know how a newspaper solves this - a decent newspaper
> turns out tens of thousands of words per day - news articles are
> written, proof read and edited in hours - commissioned articles are
> integrated with the news and there must be hundreds to thousands of
> contributing sources.
> ...

The Washington Post uses ARC (https://www.arcpublishing.com/), a home-grown,
web-based publishing system.  It has an article editor (Ellipsis); CMSes for
photos (Anglerfish) and video (Goldfish); a page layout editor (PageBuilder);
and tools for analytics, personalization, user experience testing, and a lot
more. They all work together seamlessly.

Virtually everything in ARC has a web front end in HTML, Javascript, and CSS.  
The back ends are written in Java or another language that runs on the JVM.

WaPo uses ARC and it sells ARC as a service to other newspapers.  As I recall,
The Globe and Mail in Toronto and Willamette Week are customers.  Some other
customers are named in an article on businessinsider.com: http://
www.businessinsider.com/the-washington-post-is-growing-its-arc-publishing-
business-2016-6





_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

Joe Armstrong-2
On Thu, Dec 28, 2017 at 6:11 PM,  <[hidden email]> wrote:

> Hi David,
>
> ARC is an excellent example of the kind of human-facing application I've been striving toward.
>
> Content creators provide input; output is disseminated in many formats and through many media channels.
>
> But I'm imagining a Tinker Toy-like suite of Erlang libraries and applications that can be mixed and matched to build any number of purpose-built human-facing applications.
>
> And, I believe we have much in Erlang to work with toward that goal.
>
> I've been factoring, revising, and extending erlguten, for instance, into four components:
>
> 1. Copy input and management
> 2. Type specification
> 3. Page design and layout
> 4. Paste-up
>
> Each of these areas could have print and digital analogs. With careful thought to interfaces, they could abstracted into templates in the spirit of OTP.

Sounds great - Do you have any ideas on layout?

Layout seems to be badly addressed in LaTeX and HTML.

The idea of grid layout is central to typography. LaTeX happly breaks
grid layout
and just says 'overfill box' etc. HTML reflows the text if you change
the page size.

What I'd like is to flow a simple marked up text (a la markdown) into
a grid box.
This should fail if the text does not fit the grid or overflow the grid.

What should the output be? - I guess postscript or PDF, now about SVG?
this would be good for layout etc. but font support seems a bit problematic.

It's an interesting problem.

/Joe


>
> All the best,
>
> Lloyd
>
>
>
>
>
> -----Original Message-----
> From: "David Talmage" <[hidden email]>
> Sent: Thursday, December 28, 2017 10:48am
> To: [hidden email]
> Cc: "Joe Armstrong" <[hidden email]>, "Lloyd R. Prentice" <[hidden email]>
> Subject: Re: [erlang-questions] Erlang as a tool for human communication -- was GUI development
>
> On Friday, December 22, 2017 7:33:30 AM EST Joe Armstrong wrote:
>> ...
>> The model of documentation I would like to see is:
>>
>>    - One author many eyes
>> ...
>>    - Beautiful output
>> ...
>>   - Easy to organise the input
>> ...
>>   - Low barrier for entry to comments
>> ...
>>   - Parseable document tree
>> ...
>>  - Extensible
>> ...
>> The stages involved were
>>
>>     - authoring
>>     - editing (this was chapter by chapter with an editor providing
>> feedback) - beta release (publish a PDF - this is the many eyes bit)
>>     - final chapters and more editing
>>     - proof reading
>>     - final edit
>>     - indexing
>>     - layout
>> ...
>> I'd actually love to know how a newspaper solves this - a decent newspaper
>> turns out tens of thousands of words per day - news articles are
>> written, proof read and edited in hours - commissioned articles are
>> integrated with the news and there must be hundreds to thousands of
>> contributing sources.
>> ...
>
> The Washington Post uses ARC (https://www.arcpublishing.com/), a home-grown,
> web-based publishing system.  It has an article editor (Ellipsis); CMSes for
> photos (Anglerfish) and video (Goldfish); a page layout editor (PageBuilder);
> and tools for analytics, personalization, user experience testing, and a lot
> more. They all work together seamlessly.
>
> Virtually everything in ARC has a web front end in HTML, Javascript, and CSS.
> The back ends are written in Java or another language that runs on the JVM.
>
> WaPo uses ARC and it sells ARC as a service to other newspapers.  As I recall,
> The Globe and Mail in Toronto and Willamette Week are customers.  Some other
> customers are named in an article on businessinsider.com: http://
> www.businessinsider.com/the-washington-post-is-growing-its-arc-publishing-
> business-2016-6
>
>
>
>
>
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Erlang as a tool for human communication -- was GUI development

Lloyd R. Prentice-2
Hi Joe,

I think I have the layout issue worked out. Need to clean up code before I can share, but will do.

I'll send you my PDF think-piece off list. And, if you wish, code as it develops. Love to get your critique and advice.

In general, I'm thinking of the problem from the point of view of the content creator and graphic designer. And I fully support your goal of one creator entering content one time for dissemination across multiple media in multiple formats.

With regard to layout, I'm experimenting with data structures for optimal accessibility and performance, but the idea is:

project    -> meta data, [documents]
document  -> meta data, [pages]
page      -> documentID, page number, page grid
page-grid -> ID, name, [panels]
panel     -> page number, name, [boxes] ;
box       -> map of placement, size, border, background color, etc.

layout    -> [panels]

Four data structures get passed into a paste-up component which generates final output:

Copy
Styling
Format
Layout

I'm thinking separate tools for managing copy, styling, layout, and paste-up so that each can be optimize without disrupting the rest of the system and re-purposed for other media.

For now I'm experimenting with embedded functions for input. But browser-based WYSIWYG tools would be nice. Erlang Nitrogen suggests a way to keep browser-based tools in the Erlang domain.

Copy could be MarkDown (looks fine for my uses) or XML
   Patrice Bruno has suggested cmark, an open source MarkDown interpreter for
   conversion of MarkDown to XML

Styling deals with font specifications, CSS, or some such. Patrice Bruno has also been working on extending fonts to OTF and TTF; has a prototype solution.

Format deals with the conventional options for content composition, e.g. letter, report, book, etc. We could learn from LaTex here.

Layout involves placing copy on pages in panels. Think articles in a magazine or chapters in a book.

I have a crude set of rules for dealing with column/page jumps. These would be executed in the paste-up phase. This required factoring your copyfitting routines.

My personal interest is in production of books, ebooks, and marketing collateral But I do think that this project could be a way forward toward improved Erlang documentation and tutorials.

At a more visionary level, I'm imagining a suite of well-crafted libraries and applications that are complementary to OTP. We might call them Erlang OMP for Open Media Platform.

Joe, thanks again for the hard work you've done in implementing the font handling and copy fitting functions in erlguten. They make everything else possible.

All the best,

Lloyd





-----Original Message-----
From: "Joe Armstrong" <[hidden email]>
Sent: Thursday, December 28, 2017 1:19pm
To: "Lloyd R. Prentice" <[hidden email]>
Cc: [hidden email], "Erlang" <[hidden email]>
Subject: Re: [erlang-questions] Erlang as a tool for human communication -- was GUI development

On Thu, Dec 28, 2017 at 6:11 PM,  <[hidden email]> wrote:

> Hi David,
>
> ARC is an excellent example of the kind of human-facing application I've been striving toward.
>
> Content creators provide input; output is disseminated in many formats and through many media channels.
>
> But I'm imagining a Tinker Toy-like suite of Erlang libraries and applications that can be mixed and matched to build any number of purpose-built human-facing applications.
>
> And, I believe we have much in Erlang to work with toward that goal.
>
> I've been factoring, revising, and extending erlguten, for instance, into four components:
>
> 1. Copy input and management
> 2. Type specification
> 3. Page design and layout
> 4. Paste-up
>
> Each of these areas could have print and digital analogs. With careful thought to interfaces, they could abstracted into templates in the spirit of OTP.

Sounds great - Do you have any ideas on layout?

Layout seems to be badly addressed in LaTeX and HTML.

The idea of grid layout is central to typography. LaTeX happly breaks
grid layout
and just says 'overfill box' etc. HTML reflows the text if you change
the page size.

What I'd like is to flow a simple marked up text (a la markdown) into
a grid box.
This should fail if the text does not fit the grid or overflow the grid.

What should the output be? - I guess postscript or PDF, now about SVG?
this would be good for layout etc. but font support seems a bit problematic.

It's an interesting problem.

/Joe


>
> All the best,
>
> Lloyd
>
>
>
>
>
> -----Original Message-----
> From: "David Talmage" <[hidden email]>
> Sent: Thursday, December 28, 2017 10:48am
> To: [hidden email]
> Cc: "Joe Armstrong" <[hidden email]>, "Lloyd R. Prentice" <[hidden email]>
> Subject: Re: [erlang-questions] Erlang as a tool for human communication -- was GUI development
>
> On Friday, December 22, 2017 7:33:30 AM EST Joe Armstrong wrote:
>> ...
>> The model of documentation I would like to see is:
>>
>>    - One author many eyes
>> ...
>>    - Beautiful output
>> ...
>>   - Easy to organise the input
>> ...
>>   - Low barrier for entry to comments
>> ...
>>   - Parseable document tree
>> ...
>>  - Extensible
>> ...
>> The stages involved were
>>
>>     - authoring
>>     - editing (this was chapter by chapter with an editor providing
>> feedback) - beta release (publish a PDF - this is the many eyes bit)
>>     - final chapters and more editing
>>     - proof reading
>>     - final edit
>>     - indexing
>>     - layout
>> ...
>> I'd actually love to know how a newspaper solves this - a decent newspaper
>> turns out tens of thousands of words per day - news articles are
>> written, proof read and edited in hours - commissioned articles are
>> integrated with the news and there must be hundreds to thousands of
>> contributing sources.
>> ...
>
> The Washington Post uses ARC (https://www.arcpublishing.com/), a home-grown,
> web-based publishing system.  It has an article editor (Ellipsis); CMSes for
> photos (Anglerfish) and video (Goldfish); a page layout editor (PageBuilder);
> and tools for analytics, personalization, user experience testing, and a lot
> more. They all work together seamlessly.
>
> Virtually everything in ARC has a web front end in HTML, Javascript, and CSS.
> The back ends are written in Java or another language that runs on the JVM.
>
> WaPo uses ARC and it sells ARC as a service to other newspapers.  As I recall,
> The Globe and Mail in Toronto and Willamette Week are customers.  Some other
> customers are named in an article on businessinsider.com: http://
> www.businessinsider.com/the-washington-post-is-growing-its-arc-publishing-
> business-2016-6
>
>
>
>
>


_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions