跳转到主要内容
HPO Software 分步式 4D 数据库与低代码应用构建指南 —— 从创建首张表到打造可运行的商业应用。

本站部分链接为联盟营销链接:如果您通过这些链接购买,我们可能会获得佣金,且不会增加您的成本。这绝不会影响我们的推荐建议。详情请参阅我们的联盟披露声明。 联盟营销披露.

第四维度学习基础知识

简介:为什么菜单比您想象的更重要

在本系列的第一部分中,我们建立了一个工作词汇:在本文档中,4D 表示4th Dimension(现在称为 4D),FMP 表示 FileMaker Pro。确定了这些定义后,第三部分转向容易被低估的东西——菜单栏。

菜单是数据库应用程序用户体验的骨架。用户在单击布局上的按钮之前,会扫描菜单栏以回答一个基本问题:我可以在此处做什么? 在 FileMaker Pro 中,该问题有固定的答案。菜单栏很大程度上被平台锁定,因此开发人员唯一真正的杠杆是将按钮放置在调用脚本的布局上。在 4D 中,开发人员获得了真正的选择,而选择也伴随着责任。

4D 允许您创建自定义菜单栏、菜单和菜单项。这种灵活性是一个真正的优势,但它迫使开发人员做出 FMP 开发人员永远不必做出的设计决策:*菜单实际上应该包含什么?*这部分的目的是帮助您决定自定义 4D 数据库 中的基本菜单栏、菜单和菜单项应该是什么。以下是这些选择背后的基本原理,以及建议的起始菜单结构。

这些建议是您为特定程序需求构建的任何特殊菜单的**补充。而且它们只是建议——肯定会有不适合的情况。但对于大多数数据库来说,它们值得认真考虑。

要点

  • 4D 可让您构建自定义菜单栏、菜单和菜单项; FileMaker Pro 基本上不这样做,将布局按钮作为 FMP 开发人员的主要工具。
  • 自定义菜单为您提供权力和控制,但它们也需要经过深思熟虑的设计 - 菜单栏是与用户的合同。
  • 一个明智的起点是研究已经存在的 FMP、4D 用户环境和 4D Foundation 默认用户环境,然后进行调整。
  • Foundation 是一款备受推崇的 4D 附加组件,一旦您掌握了基础知识,就值得采用。
  • 菜单设计应该由用户的工作流程驱动,而不是由开发人员的内部表格结构驱动。
  • 菜单之间的一致性(命名、排序、键盘快捷键)比任何单个巧妙的菜单项更重要。

何时开始考虑菜单

一旦数据库开发开始,您应该开始考虑用户将如何实际使用您所构建的内容的机制。这是心态的转变。在项目的早期,您会考虑表、字段、关系和代码。稍后——最好是在你走得太远之前——你必须考虑交互。如果该交互层是您的项目的发展方向,那么在提交布局之前研究良好的表单的 ui 设计 会有所帮助。

时机很重要,因为菜单结构往往会反映应用程序的工作流程。如果您设计菜单较晚,您经常会发现您的工作流程存在尴尬的间隙:用户需要执行的任务在菜单栏中没有自然的位置,或者两个菜单令人困惑地重叠。尽早设计菜单迫使您用简单的语言阐明用户的旅程。

Related: — A spreadsheet-simple interface sitting on top of a real , with automations, views, and shareable interfaces..

使用 FMP,由于您无法更改菜单栏,因此您只有一种选择:调用脚本的布局上的按钮。这种约束并不一定是坏事——它将所有内容都推入布局中,而用户的注意力已经集中在布局中。有了 4D,您就拥有了更大的灵活性。除了按钮之外,您还可以构建自定义菜单栏、菜单和菜单项。自定义菜单的想法很棒,它为您的数据库程序提供了强大的功能和控制。它还要求开发人员认真考虑这些菜单应该是什么。

在偏离之前研究默认值

为了研究什么应该被视为决定菜单的起点,看看现有的内容会有所帮助。三个参考点特别有用:

  • 标准 FileMaker Pro 菜单 — 许多用户已经了解的成熟且广泛理解的惯例。
  • 4D 用户环境菜单 — 4D 本身向用户呈现的开箱即用的菜单。
  • 4D Foundation 默认用户环境菜单 — 反映多年实际 4D 开发经验的第三方基线。

比较这三者可以揭示惯例的相同点和分歧点。如果这三者都一致,那么您就有了强有力的证据证明某个菜单项应该存在。当它们出现分歧时,您需要做出设计决策,并且通常有充分的理由选择与用户之前的体验相匹配的选项。

If you are shopping: — A that plugs into the wider Zoho suite and prices per user rather than per app..

关于 Foundation 的说明: 对于那些不熟悉它的人来说,Foundation 是一款出色的产品,可以极大地增强您的 4D 开发。一旦您掌握了 4D 的基础知识,强烈建议您购买 Foundation。有关 Foundation 的信息,请查看 DataCraft, Inc.(该产品背后的供应商)。

本部分涵盖的内容

4D 学习系列的这一部分将介绍:

  • 定义
  • 标准 FMP 和 4D 菜单的比较
  • 创建 4D 自定义菜单
  • 文件菜单比较
  • 文件菜单建议
  • 其他菜单比较
  • 记录菜单建议
  • 自定义启动画面

这些中的每一个都建立在最后一个的基础上。通过比较确定原材料;这些建议将该材料转化为您可以适应的具体起点。

决定菜单内容的实用框架

不要批量复制任何单个菜单栏,而是使用决策框架。对于每个候选菜单项,询问:

  1. 用户是否经常需要它? 频繁的操作可以获得顶级位置或键盘快捷键。
  2. 它可以被发现吗? 如果用户永远不会猜到该功能的存在,那么它需要一个可见的菜单主页。
  3. 它属于一个可识别的家族吗? 文件操作、编辑操作、记录操作和导航各自形成自然的分组。
  4. 它是否具有破坏性? 破坏性操作(删除、替换)值得仔细放置并经常出现确认对话框。
  5. 仅限开发人员使用吗? 管理或诊断项目应与日常用户菜单栏分开,或完全隐藏在已部署的解决方案中。

两个平台起始位置的有用比较:

考虑FileMaker Pro4D
可以更改菜单栏吗?基本上没有是的 — 自定义菜单栏、菜单和项目
主要交互工具布局按钮调用脚本按钮和自定义菜单
工作流程在哪里布局上分布在布局和菜单栏之间
设计负担更低(更少的选择)更高(需要做出更多正确的选择)
风险菜单可能不适合您的工作流程如果菜单设计不当,可能会让用户感到困惑

权衡很明显:4D 为您提供了更多控制,但没有纪律的控制会产生比您一开始使用的固定菜单栏更糟糕的菜单栏。

Related: — A builder aimed at portals, directories, and internal tools — with flat-rate pricing instead of per-user fees..

围绕工作流程而不是表格设计菜单

刚接触自定义菜单的开发人员中的一个常见错误是镜像数据库结构。他们为每个表创建一个菜单,或为每个字段组创建一个菜单项。这对开发人员来说感觉是有条理的,但对用户来说通常毫无意义,因为用户是根据“任务”而不是“表”来思考的。

相反,围绕动词进行组织:创建、查找、编辑、打印、导出、导航。这些映射到用户实际想要完成的任务。例如,面向记录的菜单自然会对创建新记录、复制记录、删除记录以及在记录之间移动等操作进行分组,因为这些都是同一基础任务的变体。

这也是为什么“记录”菜单值得专门对待的原因。记录级操作是任何数据库中最常执行的操作之一,并且意外数据丢失的风险最高。正确使用菜单——清晰的标签、合理的排序、安全的默认设置——可以为整个应用程序带来好处。

Our pick: — The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file..

一致性、捷径和长期游戏

有两个细节将专业菜单栏与业余菜单栏区分开来。

一致性。 到处使用相同的动词。如果“删除”表示删除一个菜单中的记录,请勿使用“删除”表示删除另一个菜单中的字段值。用户根据你的标签建立心理模型,不一致会削弱信任。

键盘快捷键。 高级用户使用键盘。分配标准快捷方式(用户已经从操作系统和 FMP 中知道的快捷方式)可大大减少培训时间。如果快捷方式已经成为平台约定,请遵循它,而不是发明自己的快捷方式。

还有一个长期的考虑:菜单一旦用户学会了就很难改变。您添加的每个菜单项都是一个承诺。这是一个从精益开始并有意识地添加内容的论点,而不是在第一天就发布一个庞大的菜单栏。

自定义启动画面

自定义启动屏幕是一个虽小但有意义的细节。它为您的应用程序提供身份,传达版本信息,并且可以作为显示许可或支持联系详细信息的自然位置。在 4D 应用程序中,启动屏幕也是引导用户的一个机会 - 简要解释数据库的用途以及从哪里开始。保持简短、可跳过,并且永远不要让它阻碍用户开始工作。

致谢

特别感谢databasics 邮件列表中提供有关自定义菜单的意见和建议的所有人员。数据库等社区讨论列表过去是、现在仍然是 4D 和 FileMaker 开发人员解决实际设计问题时最有价值的资源之一。

常见问题

为什么我无法像在 4D 中那样自定义 FileMaker Pro 中的菜单栏?

FileMaker Pro 特意锁定了大部分菜单栏,以保持解决方案的一致性并保护平台级行为。实际结果是 FMP 开发人员通过布局按钮和脚本而不是菜单来表达工作流程。 4D 采用相反的方法,向开发人员公开自定义菜单栏、菜单和菜单项。这两种哲学本质上都不是更好——它们只是将设计负担放在不同的地方。

什么是 Foundation,我需要它吗?

Foundation 是一个第三方 4D 插件,可扩展平台并提供成熟的默认用户环境等。不需要建立4D数据库,但它受到广泛的尊重,并且可以节省大量的开发工作。明智的做法是首先掌握核心 4D,然后在了解 Foundation 正在取代或增强什么后对其进行评估。

我应该将 FileMaker Pro 菜单结构复制到我的 4D 应用程序中吗?

不要完全照搬。 FMP 的菜单是一个有用的参考,因为您的许多用户已经知道它们,但它们反映的是 FMP 的功能,而不是您的功能。使用 FMP 菜单、4D 用户环境和 Foundation 默认值作为三个比较点,然后设计适合您的特定工作流程的菜单栏。当这三者都一致时,你就有了一个强烈的信号;当他们有分歧时,慎重地做出决定。

菜单项有多少就太多了?

没有固定的数字,但指导原则是每一项都是用户必须学习的承诺。开始精益,将相关操作分组到子菜单中,并为最频繁的任务保留顶级位置。如果菜单项仅用于罕见的管理任务,请考虑将其移至单独的开发人员菜单或将其隐藏在已部署的解决方案中。

记录级操作应该放在哪里?

记录操作(创建、复制、删除和在记录之间导航)非常频繁且通常具有破坏性,因此它们应该有一个带有清晰标签和安全默认值的专用记录菜单。将它们分组在一起符合用户对任务的看法,并且可以更轻松地对可能丢失数据的任何内容应用一致的确认行为。

键盘快捷键对于小团队应用程序真的很重要吗?

是的。即使在小型部署中,少数高级用户也将完成大部分数据输入工作,而快捷方式会大大减少他们的工作量。更重要的是,遵循平台标准的快捷方式可以降低每个人的学习曲线,因为用户可以从操作系统和其他数据库工具转移他们已有的习惯。


Copyright © 1994–2000 HPO Soft。保留所有权利。用户可以复制供个人使用。如需商业用途,请联系HPO SOFT。

Frequently asked questions

为什么我无法像在 4D 中那样自定义 FileMaker Pro 中的菜单栏?

FileMaker Pro 特意锁定了大部分菜单栏,以保持解决方案的一致性并保护平台级行为。实际结果是 FMP 开发人员通过布局按钮和脚本而不是菜单来表达工作流程。 4D 采用相反的方法,向开发人员公开自定义菜单栏、菜单和菜单项。这两种哲学本质上都不是更好——它们只是将设计负担放在不同的地方。

什么是 Foundation,我需要它吗?

Foundation 是一个第三方 4D 插件,可扩展平台并提供成熟的默认用户环境等。不需要建立4D数据库,但它受到广泛的尊重,并且可以节省大量的开发工作。明智的做法是首先掌握核心 4D,然后在了解 Foundation 正在取代或增强什么后对其进行评估。

我应该将 FileMaker Pro 菜单结构复制到我的 4D 应用程序中吗?

不批发。 FMP 的菜单是一个有用的参考,因为您的许多用户已经知道它们,但它们反映的是 FMP 的功能,而不是您的功能。使用 FMP 菜单、4D 用户环境和 Foundation 默认值作为三个比较点,然后设计适合您的特定工作流程的菜单栏。当这三者都一致时,你就有了一个强烈的信号;当他们有分歧时,慎重地做出决定。

菜单项有多少就太多了?

没有固定的数字,但指导原则是每一项都是用户必须学习的承诺。开始精益,将相关操作分组到子菜单中,并为最频繁的任务保留顶级位置。如果菜单项仅用于罕见的管理任务,请考虑将其移至单独的开发人员菜单或将其隐藏在已部署的解决方案中。

创纪录的操作应该在哪里进行?

记录操作(创建、复制、删除和在记录之间导航)非常频繁且通常具有破坏性,因此它们应该有一个带有清晰标签和安全默认值的专用记录菜单。将它们分组在一起符合用户对任务的看法,并且可以更轻松地对可能丢失数据的任何内容应用一致的确认行为。

键盘快捷键对于小团队应用程序真的很重要吗?

是的。即使在小型部署中,少数高级用户也会完成大部分数据输入工作,而快捷方式会大大减少他们的工作量。更重要的是,遵循平台标准的快捷方式可以降低每个人的学习曲线,因为用户可以从操作系统和其他数据库工具转移他们已有的习惯。 --- 版权所有 © 1994–2000 HPO Soft。版权所有。用户可以复制供个人使用。如需商业用途,请联系HPO SOFT。


Try FileMaker Free for 45 Days

The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file.