From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Psionic K Newsgroups: gmane.emacs.devel Subject: Re: Submitting Dslide to Non-GNU ELPA Date: Fri, 21 Jun 2024 08:34:52 +0900 Message-ID: References: <874j9o599o.fsf@posteo.net> <87zfrf4uaw.fsf@posteo.net> <87v8234i24.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38456"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs developers To: Philip Kaludercic Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jun 21 01:36:12 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sKRK7-0009ne-3F for ged-emacs-devel@m.gmane-mx.org; Fri, 21 Jun 2024 01:36:11 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sKRJA-00045G-AU; Thu, 20 Jun 2024 19:35:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sKRJ6-00044s-Tw for emacs-devel@gnu.org; Thu, 20 Jun 2024 19:35:08 -0400 Original-Received: from mail-yw1-x112f.google.com ([2607:f8b0:4864:20::112f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sKRJ4-0004EU-UV for emacs-devel@gnu.org; Thu, 20 Jun 2024 19:35:08 -0400 Original-Received: by mail-yw1-x112f.google.com with SMTP id 00721157ae682-632843cff4fso13768207b3.3 for ; Thu, 20 Jun 2024 16:35:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=positron.solutions; s=google; t=1718926504; x=1719531304; darn=gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1J5CIf3tXVH9ZGiG6eXtPA0zyjUuhYZzM6SYSZPqxEk=; b=prDFkNuEkCZXtaDVNVqDOZK+5zicpCNB9eS6RddIraGFLq3NpAHQKV3NxVJO0VXB6k j8KXH2TvdEQqGUpG9Hsvs1XyM6d1ibZoal6Ik0tj+5wtb3IfE0bQrGJ0EIlDuiDwZ5Tb oLr9JD5WaPW1v/oq/H3JPj+kOt7Avw2ggWmLkJzHz2ideIAWhwLj7dAfK9WZS1aN0mNH ndEmwzuKMI8YYsKzbQujPk1oc6JLL5fexb6wu8hPl7Z/5k4kDTY7nhUJ6OURN0GYXb+0 VjOFhN/Eh1FOcigRVb/5W6LG1h7M2T88DNW4l3X0DFhfiiSPEYi5+rNz0YMMsHfHqhZN S+JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718926504; x=1719531304; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1J5CIf3tXVH9ZGiG6eXtPA0zyjUuhYZzM6SYSZPqxEk=; b=bBehFBeP1a8eYYyhAU5yG2gMNwQZSiUn4qgMb7DLexsxSPHBDjYkhXBc5mSRAcQAOF jPFPHI5iCjbX4kXWjMgLmHKwKHO9n9el16prpaegzIpRM7WILLkdmWf+fsJDv/gbvkV1 Mkz+ZppqbXQcPgiLhGTh/OaiFJzfLU5Pp5TYaX3px3oS8X/Y/5QPldypnsQ6Smr1ObbA z+hQ+j6fsYb4pkJg4iV6V7ljG+5LO3PzK5hcAtc9PkUIZM3hD1dMzT3K4Glnho4F4R65 rkdgrJJd0z7H9rV1X5l/kyqjFOQMGvWkXAHr+Fh0sh27EERLmvkrxzMzCDbc4gX0atW0 Z7ZA== X-Gm-Message-State: AOJu0YwQh03NljZXXcDVap7XvqPDWY8Ohc6q9Q7NVHYN6CPFVQCjo/Fw SH4tK7ppcYp7hucnP59SnilfV7HIGgigMIPePR4CzsIC8aqQIGSpw51fxrfif++SxQXys+p6uXh /hthi8yTi2CxVKxeh4AL/tnHfYppY60tpb8AfoQ== X-Google-Smtp-Source: AGHT+IFSwI0LnHTZJKqfs7VCtsPKLZPwav4WlwHs6XV/oiNdbMaUDaAhZqBlzFk6uUF69HcnRMt4Gx5lrWSktT+T4ds= X-Received: by 2002:a25:83c8:0:b0:dfe:199d:798f with SMTP id 3f1490d57ef6-e02be13ae53mr7332114276.19.1718926504420; Thu, 20 Jun 2024 16:35:04 -0700 (PDT) In-Reply-To: <87v8234i24.fsf@posteo.net> Received-SPF: pass client-ip=2607:f8b0:4864:20::112f; envelope-from=exec@positron.solutions; helo=mail-yw1-x112f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:320350 Archived-At: > My main concern is then to have some explanation for people not familiar > with either package (like me) to briefly summarise the main differences > between your package and org-tree-slide, making it easier to decide > which of the two one wants to use. In two sentences: Dslide eclipses org-tree-slide, adding multiple forms of incremental & composing display, integration with arbitrary buffers, extensible actions, and emphasis on programmability via org babel integration. Only use org-tree-slide if you need its maturity or are a non-graphical Emacs user. The initial premise of both packages is to create reasonable presentations directly from org files, skipping the export step and achieving a good bang-for-buck solution for any regularly held meetings, such as stand-ups and quick internal meetings where spending time on something fancy communicates the wrong priorities. However, the following points will make it clear that the capabilities and design of dslide go far beyond the initial premise, resulting in a tool that is additionally useful for tech demos, authoring videos, or giving more polished talks in front of large audiences. - At times, one may want to use sub-headings for organizing information on the screen. Org tree slide offers few options to control the inclusion of sub-headings, and they affect the entire presentation. Dslide is instead configured per-heading. - Dslide uses line-height rather than line animation, enabling smoother transitions and easing - Dslide can present information incrementally, following the order in which a talk is conducted - Dslide hides the org markup used in its configuration and can also hide babel blocks and comments, reusing normal org mode configuration conventions - Dslide uses an indirect buffer to avoid polluting the org mode buffer with various presentation configurations and leftover state - Dslide has the capability to simultaneously "follow" the slides in the base buffer, updating the point and scroll position in another frame, enabling the presenter to read their hidden comments and see which actions are next while the audience sees the clean presentation. - Dslide does not rely on the point to control navigation, making it more reliable for live note taking when conducting an interactive meeting - Dslide's keymap is designed to be appropriate for a hardware cueing device or use of no more than arrow keys, preferably only 3 buttons. - Dslide's contents view is extremely clear and overloads the presentation keymap commands, respecting the 3-button interface limit - Dslide has several built-in "actions" that can consume org mode information, such as image links. The image action can display image buffers full-frame as slides. These actions also handle nuisance work such as turning on inline images. - Org babel blocks can be integrated as steps via an action, enabling scripting of entirely custom behaviors in the middle of a presentation. - Custom actions can be created and even declared in the presentation's own babel blocks for use in later slides. It is the babel integration that makes dslide uniquely well-suited among software typically used by engineers to conduct presentations that are fully integrated with their normal programming tools, enabling tech demos to be orchestrated within a reasonable presentation. At this time, dslide does everything that org-tree-slide does except filtering headings. Even when only using the basic features, Dslide's breadcrumbs are more reliable and its contents view is superior. What remains is maturity. Org tree slide works better on non-graphical displays, but in time, especially if non-graphical terminal users speak up, these issues will be polished off. Except for maturity, there is no use case where org-tree-slide remains favorable. Dslide is vastly more capable while also doing everything org tree slide does better.