[[!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"]]