最新发布《数智时代的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精选文章