最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

微软经理解释 Ribbon 界面台前幕后故事

  • 2007-04-16
  • 本文字数:1050 字

    阅读完需:约 3 分钟

去年九月份我们对 Ribbon(Office 2007 里用的一种新型 UI 设计)的使用限制做了报道。从那以后,我们得以和微软的高级产品经理 Chris Bryant 有了联系,今天他回答了我们一些过去遗留的问题。

一些人一直在问为什么微软试图执行使用 UI 标准,另外还有人问,为什么微软过去没有这样做?

以前之所以没有做 Office UI 认证计划,是因为我们想执行 UI 标准。在新的 Office Fluent UI(Ribbin)上面我们做了巨大的投资,很多客户和合作伙伴也想分享这些成果,建立类似的 UI,于是这一计划水到渠成。过去和今天的真正不同在于,我们明确保护体现在 UI 里的知识产权,并声明对它的所有权。客户和合作伙伴过去询问我们关于获得认证和授权以分享从前的 UI 开发时,我们不知道怎么回答。现在,他们第一次有了明确的答复,就是有权使用我们的知识产权,而且是免费的。

唯一需要指出的是,我们需要确保开发人员能够很好地实现从我们这儿获得授权的 UI。这也是为什么会有标准(设计指南文档)的诞生。

这是与工业化过程中的 UI 标准执行不同的地方。我们承认,有很多应用得益于和微软的 Office 有类似的界面,许多 ISV(独立软件供应商)也在授权这种 UI 并开发和 Office 长得很像的软件。但是,也有很多应用其实是不适合使用 Office 的 UI 的。是否使用类似 Office 的 UI 取决于开发这个应用的人员,但是如果和 Office 的 UI 保持一致很有意义,那么就要不打折地应用它。

如果微软不从中牟利,为什么还要有一个认证协议?

认证协议是为了保护,比如那些想应用 Office Fluent UI 设计的人或者企业。协议表明了我们在知识产权上的所有权,并可以在认证声明中授权是否能使用这种设计。对普通的用户也是很重要的,他们可以在使用这些 UI 的地方得到良好的用户体验。有一个认证协议和指南标准有助于确保客户在任何应用中使用 UI 时,他或者她都可以有明确的指导,以及不让他有什么迷惑或者挫折感的高质量体验。

最后,如果微软是为统一性考虑,为什么不直接发布一个 Toolkit?

不幸的是,在开发 UI 的过程中,我们还没能完成 Toolkit 的开发。其实认证计划只在客户或者合作伙伴在需要 UI,或者要把类似的 UI 构建到他们自己的产品中时才有用,不论是否使用 Toolkit。也许未来微软会提供构建 Office Fluent UI 的工具。但是,已经有很多组件提供商提供了可以在第三方应用中实现 Office Fluent UI 的很棒的实现。他们做了很多努力以提供平滑而统一的实现,我们也很高兴在这个计划中有这些合作伙伴。

现在提供 Ribbon 界面的供应商有 Actipro , Developer Express , Infragistics 和 Telerik 。

2007-04-16 04:07823

评论

发布
暂无评论
发现更多内容

直播预告|FeatureStore Meetup V3 重磅来袭!

星策开源社区

机器学习 开源 DevOps 特征平台 MLOps

RF中使用reuqests的两种方式

红毛丹

Python 6月月更

使用 select 切换协程

宇宙之一粟

golang 6月月更

统一认证中心 Oauth2 高可用坑

Damon

微服务架构 安全架构 6月月更

C#入门系列(十二) -- 字符串

陈言必行

C# 6月月更

【Python技能树共建】lxml 模块

梦想橡皮擦

Python 6月月更

思科私有动态路由协议:EIGRP

wljslmz

动态路由 6月月更 路由协议 EIGRP

vue自定义指令

小恺

6月月更

数据库每日一题---第9天:销售员

知心宝贝

数据库 算法 前端 后端 6月月更

LabVIEW控制Arduino实现超声波测距(进阶篇—5)

不脱发的程序猿

单片机 LabVIEW Arduino VISA 超声波测距

『Three.js』辅助坐标轴

德育处主任

canvas three.js 6月月更

SAP HANA 错误消息 SYS_XSA authentication failed SQLSTATE - 28000

Jerry Wang

数据库 SAP hana 6月月更 数据库权限

JavaScript闭包

大熊G

JavaScript 前端 6月月更

向线程池提交任务

急需上岸的小谢

6月月更

ConcurrentHashMap 源码分析-put方法

zarmnosaj

6月月更

云原生时代微服务架构设计实践

Damon

6月月更

设计消息队列存储消息数据的 MySQL 表格

小虾米

「架构实战营」

LabVIEW控制Arduino实现红外测距(进阶篇—6)

不脱发的程序猿

单片机 LabVIEW VISA Arduino Uno 红外测距

flutter系列之:flutter中常用的container layout详解

程序那些事

flutter 程序那些事 6月月更

【愚公系列】2022年06月 面向对象设计原则(六)-合成复用原则

愚公搬代码

6月月更

动态规划之0-1背包问题(详解+分析+原码)

未见花闻

6月月更

一文读懂Logstash原理

恒山其若陋兮

6月月更

在M1上体验三星T7移动硬盘的性能

IT蜗壳-Tango

IT蜗壳教学 6月月更

BaseDexClassLoader那些事

北洋

6月月更

消息队列入门MQ

卢卡多多

MQ 消息队列 6月月更

volatile的解构

卢卡多多

volatile 6月月更

模块八-设计消息队列存储消息数据的 MySQL 表格

凯博无线

LabVIEW Arduino电子称重系统(项目篇—1)

不脱发的程序猿

单片机 LabVIEW VISA ​Arduino Uno 电子称重系统

leetcode 257. Binary Tree Paths 二叉树的所有路径(简单)

okokabcd

LeetCode 搜索 数据结构与算法

消息队列存储消息数据的 MySQL表

Dean.Zhang

预解析与作用域

Jason199

js 全局作用域 作用域 6月月更

微软经理解释Ribbon界面台前幕后故事_.NET_Jonathan Allen_InfoQ精选文章