[[!meta title="Extending the "model" of Emacs to other applications"]]
[[!meta copyright="Copyright © 2021 Laszlo Krajnikovszkij"]]
[[!inline pages="internal(2021/info/model-nav)" raw="yes"]]

<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Extending the "model" of Emacs to other applications
Laszlo Krajnikovszkij

[[!inline pages="internal(2021/info/model-schedule)" raw="yes"]]

Emacs is a great operating environment in a sense that it provides consistency
across different tools and applications within the Emacs ecosystem, as well as
external apps that can be integrated into it. It is also the most truly
malleable environment, each element of which can be adjusted or extended,
therefore providing the user with more power and freedom in personal computing.
Emacs definitely can be considered one of greatest software products in
existence.

As a non-programmer, having had the chance to stumble upon Emacs a couple of
years ago, the only regret to have is that it didn't happen earlier. The definite
killer feature of Emacs - Org-mode, is what draws many of the less technical
folks to join the party and gradually start to use Emacs for writing documents,
whether personal or work related, manage tasks, emails and potentially everything
else. The learning curve and difference in approach, however, leaves some
potential users too scared of the arcane interface even with all it's quirks and
features because it requires at least some technical skills to understand and
use properly, and does not have an easy way to connect with external tools that
most people are forced to use for work.

This talk proposes some ideas about how the model of Emacs, it's focus on
consistency, extensibility, as well as it's powerful interaction model can be
carried over to make modern interfaces, whether desktop or web applications,
that would be designed with a goal of reflecting the spirit of Emacs in terms of
the aforementioned features it possesses, and therefore enhance the capabilities
of the Emacs, while at the same time utilizing it as a backend for
text-processing and editing to a large extent. It would be really great to have
a personal web-interface for using modern task management tools, chats, emails
and such, but from a UI defined by the user. The goal is to use it on a desktop
or mobile, locally or self-hosted on a server, with support for touch and
gesture-based workflows, while preserving the Emacs philosophy and allowing to
seamlessly switch between Emacs and its web extension

The proposed solution is to integrate more of the modern tools with Emacs,
utilize Org-mode as a way to define application-specific parameters for these
tools through Org properties, and then utilize these parameters for making a
modern local frontend that would enhance Emacs UI while allowing to use external
tools in a more personal and freedom respecting way (making the originals
obsolete over time). The talk serves the purpose of inviting community members to
a discussion about how Emacs can become more modern, more approachable by people
who don't possess the neccessarry technical skills to adjust it themselves, but
are keen to learn it, and potentially how to attract more users to greater
productivity, computer literacy and the ideas of free software.

# Discussion

-   Q1: What is the URL of your web page? I guess the URL on your slide
    is currently not available (see links below).
    -   A: The URL written is correct, but unfortunately the website is
        down due to some misconfiguration and will be back soon. You can
        contact me at laszlo.lk@protonmail.com until it is resolved
-   Q2: It is important to note that for EAF to extend to the web apps
    you mentioned (Asana, Jira) in a deeper way than just displaying the
    web app using EAF Browser, the APIs of these web apps need to be
    exposed too.
    -   A:Exactly, otherwise only a one way update would be possible. As
        long as they have integration with other external tools, there
        must be a closed API documentation for making it work.

Links:

-   different form
    <https://github.com/emacs-eaf/emacs-application-framework> in that
    the goal here is not to do everything in emacs buffers.
-   <https://github.com/ag91/emacs-with-nyxt>

# Outline

-   5-10 minutes
    -   Introduction
    -   Issues with most modern tools for work
    -   Issues with Emacs as a tool for work
    -   In search for a hybrid approach
    -   User controlled web-apps
    -   Opinions encouraged
    -   Contacts

<!--
-   20 minutes:
    -   Introduction
    -   Why Emacs?
    -   Issues with most modern tools for work
    -   Issues with Emacs as a tool for work
    -   In search for a hybrid approach
    -   Emacs as the text-based "backend"
    -   Org as the universal format to convert data
    -   User controlled web-apps
    -   Potential use cases
    -   Potential difficulties with implementation
    -   Opinions encouraged
    -   Contacts

-   40 minutes:
    -   Introduction
    -   Why Emacs?
    -   Issues with most modern tools for work
    -   Issues with Emacs as a tool for work
    -   Keyboard driven workflows and modal editing
    -   In search for a hybrid approach
    -   Emacs as the text-based "backend"
    -   Org as the universal format to convert data
    -   User controlled web-apps
    -   Releasing proprietary web-apps from the "cloud cage"
    -   Potential use cases
    -   Potential difficulties with implementation
    -   Extending the idea further by combination with Guix
    -   Opinions encouraged
    -   Contacts

-->
[[!inline pages="internal(2021/captions/model)" raw="yes"]]

[[!inline pages="internal(2021/info/model-nav)" raw="yes"]]