2018-03-28 从人机交互角度看中文编程:'打开微信'

前文通用型的中文编程语言探讨之一: 高考是基于现有英文编程语言的一个技术思路. 在这个回答以及下面的讨论中, 又提到了编程其实是人机交互的一种形式. 不禁试着跳出程序员视角看这个问题.

几年前才发现Mozilla的火狐浏览器早在2008年开始了一个叫Ubiquity的项目, 而且根据这里介绍, 它直到最近的火狐浏览器大改才失效. 官网介绍摘选:

Its purpose was to explore whether a radically different type of interface to the Web — a task-centric, natural-language-based command line — could help us get common Web tasks done faster.

用户手册中, 有这样的例子:

twitter updating my status with Ubiquity.
translate buenas tardes from spanish to french

它的界面会实时显示"运行"结果, 比如twitter的状态预览, 翻译的结果. 它也可以和浏览器操作结合起来, 比如选中网页的文本/图片后, 运行下面:

email this to chris

就可以把选中的内容用email发给某个联系人(看到这里, 想起之前自己的一个原型设计也许也是受到它的影响而不自知)

很自然地也有将它国际化的努力. 这个插件一直没有被火狐转正的原因暂没有深究, 但也许和生不逢时有关. 2008年的自然语言交互还刚起步, 如谷歌直到几年之后才有简单自然语言语法的搜索命令. 这里是更全的自然语言界面的软件/工具/平台列表.

搜索引擎的自然语言界面似乎已经能够解决大多数人的大多数日常的信息搜索问题. 它也提升了人机交互的期望值. 而编程解决的问题和信息搜索差别很大. Ubiquity更接近专用脚本语言系统的范畴, 似乎也更可以借鉴. 更现实的例子是手机语音功能(最后的系统功能和生活服务部分), 比如"打开微信"(可惜似乎国产语音助手在这方面好像还是短板). 从这个角度来说, 中文编程已经被大量用于日常生活(打开微信print("Hello World!")都是程序吧), 只是不被提及而已.

个人认为, 通过第三方应用集成手机的系统和应用功能的方式, 中文编程的潜力很大, 别说基本的日常命令还有很大提升空间, 进一步的简单条件/循环语句也可以有很多功能增强(之前的脑洞), 而似乎现在的语音助手都不具备这个功能. 类似的服务如IFTTT, 虽然只支持如果...就...不然的逻辑, 通过集成各种网络服务也有了很多用户.

在浏览器平台上, 个人认为Ubiquity的插件方式还可以继续, 当然需要和移动设备结合. 只是由于和手机隔了一层浏览器API, 在可集成的系统功能上会受限一些, 但优势是可以集成浏览器本身的功能. 当然另一个优势是跨系统平台.

2018-03-28 从人机交互角度看中文编程:'打开微信'

原文地址:https://www.cnblogs.com/program-in-chinese/p/10489544.html

时间: 2024-10-29 00:57:16

2018-03-28 从人机交互角度看中文编程:'打开微信'的相关文章

从另一个角度看癌症,现象、结果并不一定是病因!

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 早上刚醒,不知怎地,有了关于癌症的一些辩证想法, 其实,很多事情不是没有解决办法,而是看问题所站的角度不同, 所以,微信网传的那个外国人弄出的 Y

【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】

--------– 2018.03.27 更新--------- 便携版已更新,点此获取便携版 已知BUG:中文目录无法正常调试 用于cpptools 0.15.0插件的配置文件更新 新的launch.json // Available variables which can be used inside of strings. // ${workspaceRoot}: the root folder of the team // ${file}: the current opened file

从一个程序员的角度看——微信小应用(第二弹 见解)

最近公司的小程序刚通过了代码审核(待发布状态),从最初对它的学习 到开发 到小程序待发布 再到28日微信公开课,也算一步步的了解了微信小程序吧. 28日微信pro公开课张小龙针对小程序进行了一些答疑,之后行业的同僚都很关注,似乎大家还是有很多疑惑.之前初学后写过博客 从一个程序员的角度看--微信小应用(第一弹 初学),今天决定再写一篇小程序的小文,所以此篇谈谈我对小程序的理解吧. 说说张小龙回答的8个问题 1.小程序的入口在哪里?张小龙给出的答案是:小程序在微信没有入口. 2.小程序会不会有类似

五个角度看清主力盘面对敲骗术

操盘策略:五个角度看清主力盘面对敲骗术 字体: 大 小 换肤: 收藏 2014-12-26 13:56:03 对敲主要是利用成交量制造有利于庄家的股票价位,吸引散户跟进或卖出.那么,对敲的方式主要有几种呢? 第一,建仓通过对敲手法来打压股票价格,以便在低价位买到更多.更便宜筹码.在个股K线图上表现为股票处于低位时,股价往往以小阴小阳沿10日线持续上扬.这说明有庄家在拉高建仓,然后出现成交量放大,并且股价连续阴线下跌,而股价下跌就是庄家利用大手笔对敲来打压股价. 这期间K线图主要特征是:股票价格基

20172319 2018.03.05-2018.03.11 《程序设计与数据结构》第1周学习总结

学号20172319 2018.03.05-2018.03.11 <程序设计与数据结构>第1周学习总结 教材学习内容总结 复习上学期导论课所学知识 认识.了解与Java相关的基本知识:二符一字.四类编程语言.三种机器 程序中定义的标识符不能以数字开头且有&符号的标识符无效 教材学习中的问题和解决过程 问题1:什么是URL? 解决过程:上网查询相关资料:URL简单来说就是我们常说的网址,其实是统一资源定位符,包含协议与IP地址,其作用是定位资源及显示其所在位置 代码调试中的问题和解决过程

20172319 2018.03.12-19 《程序设计与数据结构》第2周学习总结

学号 20172319 2018.03.12-19 <程序设计与数据结构>第2周学习总结 教材学习内容总结 1.字符串:基本定义:print与println方法的区别:字符串的拼接:转义序列的应用. 2.变量与赋值:变量:常量:赋值语句. 3.基本数据类型:四整二浮点一字符一布尔. 4.表达式:运算符的种类及其使用规则. 5.数据类型转换:基本数据类型间的转换(扩展及压缩):数据转换方式:赋值(只能扩展).提升.强制. 6.交互式程序:Scanner 类. 教材学习中的问题和解决过程 问题1:

从实践者的角度看软件架构的历史

无论什么东西,套用宋丹丹的话,就是都有它的过去.现在和将(jiǎng)来.因此学习一样东西,如果能多学一点它的历史,会让我们对其为何有如此现状少一些纠结,同时才有可能对其未来趋势有靠谱一点点的洞见.昨夜窗外雨声稀疏,难以入眠,突然想到软件架构的发展史是怎样的,于是今晨起来网上逛一圈,邂逅到这篇论文<The History of Software Architecture – In the Eye of the Practitioner>,因此,这是一篇译文. 小弟不才,没有能力自己去梳理这么庞

从一个程序员的角度看——微信小应用

前言: 最近初步了解了一下微信小应用,APP端的同事也非常感兴趣,于是在公司内部做了一个小小的分享,分享的过程中有很多讨论内容,大家也是非常感兴趣和有自己的看法,当时"混乱"的场面好几次我都没有把持住.以下内容部分来自于内部分享所用ppt.文章对微信小应用的使用做了展示性介绍,并简单介绍了代码结构.后端交互方法.最后提出一些总结和疑问.文章内容比较主观,有不对的地方欢迎大家指出纠正. 前段时间微信小应用公开内测,在朋友圈火了一把,各种阐述疯狂蔓延,干掉APP之类的说法比较突出,确实达到

另一种角度看《RFID Advanced Security》首部曲

机缘巧合,有幸看到了不少关于RFID的资料,并且有幸看到了<RFID Advanced Security>这份PDF,听说这是国内安全大会上比较早出现关于RFID的议题.又听说这份是乌云内部的高级教程,文章内容单薄是无可厚非,毕竟是演讲,单单时间上来说不可能什么都讲.看完了以后实在有点不(fei)知(yi)所措(si),因为槽点实在是太多了. 文章分成4大块,分别为"RFID Basic Knowledge.RFID Basic System Security.RFID Multip