星期五, 七月 20, 2012

Prezi详解

# 肩并肩演讲的工具

Prezi是非常炫的一个幻灯演示程序。不仅仅是足够的炫酷,Prezi的意义在于可以非线性的进行演讲,能够根据听众的反应,随时进行幻灯的平滑跳转。这是很适合iPad演讲的。

在ppt / keynote时代,演讲程序是针对投影仪的。演讲者与听众的地位是悬殊的,是“面对面”演讲。一个演讲者面对一群听众。演讲者控制整个演讲流程,即使是听众提问,也只是暂停流程,然后可以继续进行。

而在ipad上,则更适合“肩并肩”演讲,讲者与听者可以肩并肩的坐着,共同面对一块屏幕来讲解。这时候听者的地位大大提高,甚至有直接操作的可能。听者的注意力不再完全受到讲者的控制。于是讲者应该能够根据听者的兴趣随境转移,即时作出反应与变化。作为商业演讲,肩并肩的演讲要比面对面的演讲更有影响力。

在prezi出现之前,我一直没有找到理想的“肩并肩”演讲软件。这是因为power
point和keynote都是在时间维度上展开的,幻灯是按照时间顺序线性排列。虽然在电脑上能够通过超链接进行一些微调,使线性结构变成树状结构,但是在keynote
for ipad上,居然无法引入基于图片的超链接。这种微调的能力大打折扣。

prezi的观念不一样,它是在空间上展开的幻灯片,幻灯一次性呈现在面前,但是可以根据兴趣点的不同进行缩放。它的“播放”过程,只是提供了一条兴趣路径。如果需要,随时可以走其他路径,就好象草坪上有一条路,但是既然草坪已经铺开了,怎么走都是可以的。

# Prezi的简体中文

Prezi对简体中文的支持一直不好。从prezi自己的论坛上看http://community.prezi.com/prezi/topics/there_are_some_problems_about_chinese_input
@maozi 三年前就已经提出了问题,并且还提供了文泉驿这样开源的字体方案,但对方一直不肯接受。不知道是不是因为开发组内有铁杆的简体中文黑。

@xiaolai 在《为Prezi Desktop设置中文字体》
http://www.lixiaolai.com/archives/11264.html
一文中进行了详细的解释,如何设置prezi桌面端的简体中文。prezi的桌面版可以自定义导入字体,但字体必须是swf的。这种怪异的东西貌似可以用sIFR生成来SWF字体,而且还有一个在线的工具
http://www.sifrgenerator.com/wizard.html
可以自动转换出SWF字体。但是,任何一个简单的中文字体都大于这个在线工具所能承受的范围,于是自己动手暂时失败。不过好在有一位不知名的好人已经做好了多个swf字体。原本的下载是这里
http://www.gbcgbc.tk/wiki/%E6%96%87%E4%BB%B6%3APez_GBC_Fonts.7z
但是作者的网站整个失效了,主页也跳转到了网易邮箱。直到最近几天,我才又找到了这个字体包的文件下载,在http://vdisk.weibo.com/s/8L12d
为了以防万一,我还是放了一份到box.net里面,https://www.box.com/s/d35a270947deb0245d0b

转自@xiaolai 的教程:

将解压缩后的文件中所有swf文件拷贝到:

Mac OS X:

~/Library/Preferences/com.prezi.PreziDesktop/Local Store/fonts

Windows 7:

C:\Users\[username]\AppData\Roaming\com.prezi.PreziDesktop\Local Store\fonts

Linux:

~/.appdata/com.prezi.PreziDesktop/Local Store/fonts

注意,要覆盖原有的文件!

创建一个新的Prezi文档。

选择合适的模板。

按下Ctrl+Shift+C打开CSS模板编辑器。

修改@font-face中的src: url(‘xxx.swf’)为GBC Fonts中提供的中文字体,例如:

@font-face
{
src: url(‘STXINWEI.swf’);
fontFamily: body;
}

@font-face
{
src: url(‘STCAIYUN.swf’);
fontFamily: strong;
}

@font-face
{
src: url(‘STXINGKA.swf’);
fontFamily: head;
}

而后点击“Apply”按钮。

不过这个方法只能在prezi desktop上进行简体中文的输入和播放。一旦文件上传的prezi的网站,简体中文还是无法显示的。更麻烦的是,如果通过网站导入或者直接导入到iPad上的prezi
viewer上,文件一开始下载就会引起闪退。因为中文swf文件都是本地文件,prezi的网站上没有,通过网站或者直接导入时,字体也不在文件包之内,于是要从网站索取,无法取得就发生了闪退。

因此对上述简体中文的方案,我做了一点点改进:

选择您喜欢的三个中文swf字体,比如STXINWEI.swf,STCAIYUN.swf,‘STXINGKA.swf,将它们改名成OpenSans-I.swf,OpenSans-B.swf和OpenSans.swf,然后将这三个字体文件copy进
Mac OS X:

~/Library/Preferences/com.prezi.PreziDesktop/Local Store/fonts

Windows 7:

C:\Users\[username]\AppData\Roaming\com.prezi.PreziDesktop\Local Store\fonts

Linux:

~/.appdata/com.prezi.PreziDesktop/Local Store/fonts
覆盖原来的字体。

这样在prezi desktop端,可以顺利的编辑和显示简体中文。之所以选择这三个字体名,是因为OpenSans这是空白模板默认的字体。

然后到本机系统的字体库中,找三个简体中文的TTF字体。copy出来备用,也分别改名为OpenSans-I.ttf,OpenSans-B.ttf和OpenSans.ttf

不失一般性,以windows系统为例:

下载安装itools,http://www.itools.hk/index.html

连接iPad,打开itools,找到应用程序prezi viewer,点击文档管理,找到
/Library/Caches/路径,导入改名后的OpenSan.ttf的三个字体,注意后缀是必须是小写的.ttf。然后就可以通过网站或者itunes应用程序或者itools将桌面版制作好的文件导入到prezi
viewer里面了,简体中文是可以正常显示的,如果发现异常,再重新用itools导入伪装成OpenSans的中文字体即可。

对于prezi网站上要显示简体中文,现在实在是没想出办法。

# Prezi的制作技巧

Prezi可以很华丽的来介绍产品,比如您公司的产品,照张照片,然后就可以在每一个部件中,用prezi来进行讲解。prezi并不太需要指示箭头,因为可以“钻”进细节的部分进行讲解。

思维导图软件是prezi最好的伴侣。利用思维导图软件,可以快速的生成一个演讲的二维思路分布图。如果使用常规的ppt,您还需要将这个二维的思路网线性的串接起来。但在prezi中,则可以直接复制这个二维脑图。prezi可以理解成一个华丽的思维导图展示软件。

如果要在prezi中插入视频,文件不要太大。prezi的多媒体文件都是经过转换以后存放在amazon
s3服务器上,即使用本地的桌面端,视频也要经过上传、转码再下载的过程,文件大了很慢很麻烦。视频则转换成m4v文件。从content.xml中获取的媒体文件地址,复制到浏览器地址栏中是可以直接播放的。因此私人的prezi文件其实也不那么安全。


# Prezi的进一步研究

Prezi的普通用户是无法下载prezi
desktop桌面程序的,但是可以在http://mac.softpedia.com/progDownload/Prezi-Desktop-Download-85131.html
找到。有30天的使用时间限制,这里有延期使用教程:http://blog.sina.com.cn/s/blog_6f4609ed0100z97p.html
所需要的cracklock软件在http://william.famille-blum.org/software/cracklock/index.html,prezi的免费版用户只能生成公开文件,不能制作私有的幻灯,但edu用户可以,如果您还有大学的邮箱,就可以注册一个edu账户,中国的.edu.cn的邮箱也是可以的。如果离开大学太久,淘宝上花10块钱不到就可以找到中国大学邮箱注册。

prezi桌面程序制作好的文件是一个.pez文件,用万能的7z可以直接解包,如果没有7z,把后缀改成.zip然后解压缩也是一样的。

解开文件以后,可以看到一个content.xml文件,里面记录了整个prezi的文件内容。研究一下很有意思。

这里插入一个prezi类似物impress.js的介绍。impress.js是一个利用css的特性,直接在浏览器上实现prezi效果的js框架,是github上的开源项目。它制作出来的效果如:http://bartaz.github.com/impress.js/
被炫过之后一定要看看源代码,里面的注释很清楚,您也可以动手自制。

但是impress.js的麻烦在于,所有的元素定位都要手动,缺乏一个所见即所得的编辑器。这就好像,虽然理论上我通过像素点的坐标也可以使用photoshop,但是缺乏鼠标仍然会让人感觉很不方便。

对比prezi的content.xml与impress.js的源代码,会发现这两个其实是说的一种语言,理论上可以互相转换的。

比如我贴出了一个随手测试用的prezi的content.xml代码:http://pastebin.com/M8aEEYG9

prezi xml里面的是指的播放顺序,这个应该可以用impress.js的`api.goto( idx | id |
element, [duration] )`来实现

prezi xml中的x="-53.95" y="623.25" r="0"
s="11.3",与impress.js中的data-x,data-y,data-rotate和data-scale等价,用来标记元素的位置、旋转和缩放

prezi xml中标签之内还有一组坐标的标签-111.15-18.3,也许是说在上一级object标签内的坐标系之下,再平移的坐标。与processing里的pushMatrix()相似

prezi xml中,object是把每一个项目,比如连续的文字都做成了类似div的东西,于是就不太需要html里面


之类的排版标签了吧。但path中提到的ID序号不是连续的,而是间隔的,比如0,3,5,说明0到3之间是在一屏内显示 也就是说prezi xml中path所提到的object ID,对应到impress.js中要赋予class="step"的属性,而path中没有提到的则不需要。object内的textfield中再提到的坐标则是相对与该object的位置 prezi xml中其他的部分貌似不太需要解释。所以应该是可以制作出一个转换器,将prezi xml转换到impress.js的格式,这样prezi desktop就可以成为一个impress.js的WYSIWYG编辑器了 同理,从impress.js,应该也可以解释成prezi,本地化的文件可以存储在repo目录下,然后打包成zip以后改名成.pez文件,这样的好处是能够利用ipad上的prezi viewer做离线播放impress.js。 EOF()

星期日, 七月 15, 2012

常见头戴实景增强显示器的显示方式

最基本的方法就是使用半反射半透射的镜片。显示器在眼镜的侧面,通过一枚半反射半透射的镜片将计算机生成内容显示在眼前,并与真实场景相叠。
优点:光路简单。
缺点:
整个装置的体积较大,半反半射的镜片如果是45度放置,则显示的宽度与装置的厚度一致。如果限制眼前装置的厚度,则显示面积就比较小。

这是最近出现的一种方案,需要由眼镜上的显示器和人眼佩戴的隐形眼镜之间相互配合。
隐形眼镜上有线性偏振片,中央有一个高度数的凸透镜,其上没有偏振片或者有与周边垂直的偏振片。
在眼镜显示器上,近景显示器前面有一层偏振片,其方向与隐形眼镜周边的偏振片方向垂直。近景显示器之外是没有偏振片,或者有偏振片但方向与隐形眼镜中央的垂直。
于是远处实际景物发出的光线可以顺利通过隐形眼镜的大部分区域,聚焦在眼内。(红色光线)
而近处的显示器上的光线,无法通过隐形眼镜周边的部分,只能通过隐形眼镜中央的高度数凸透镜,也可以顺利聚焦在眼内。近景和实际景物之间互不干扰

优点:人眼平时处于看远处的放松状态,近景的计算机生成图像的位置相当于无穷远点。日常视觉比较放松
缺点:
1. 需要再戴一枚隐形眼镜。由于其中有偏振层加入,对隐形眼镜的透氧性有什么影响还不得而知。有可能降低角膜的氧气供应。
2. 相当于眼前一直有一枚偏振镜,环境亮度减半。在早晨和傍晚时,自然光的偏振性明显增加时,可能会看到周围环境反光中有多种彩色条纹
3. 对液晶显示器的观察有影响
4. 计算机显示的近景会遮挡远处实景。无法实现两者的融合。

这是很热门的一项技术,有文献《A single-pixel wireless contact lens display》已经可以制作出单像素的原型机。但是这个装置作为增强实景的显示器,从理论上来说就是错的,不可能实现。
在文献中所述,隐形眼镜表面上是微小的LED作为显示像素,其下有菲涅尔波带片,利用菲涅尔波带片的衍射作用,等价于一个高度数的凸透镜,将LED所发出的光聚焦在视网膜上。在单像素的实验中,这个是可以实现的。
但是如果扩展到多像素,比如至少是320*240的像素,那么会有一大片范围被显示像素所覆盖。注意每一个菲涅尔波带片等价于一个高度数凸透镜,它既可以聚焦LED发出的光,也可以偏折来自远方实际景物的光,相当于在眼前佩戴了一枚高度数的远视眼镜。那么有显示像素的位置,就是看不清远景的,要让显示器可用,就必须阻挡显示器后面的来光。否则就是严重模糊的成像。
这种显示技术与上面“组合分选”的方式一样,都不可能实现计算机生成图像与实际景物的融合。算不上一种AR显示技术。


这是苹果最近申请专利中所披露的技术,估计google glass可能也是利用类似的技术。这个方法本质上与半反射半透射的原理是相同的,但是利用楔形玻璃内部的全内反射,使图像能够在眼镜片内部反射多次后再进入眼睛。最后一次反射然后透射进入眼内的过程我还没有太搞清楚,有可能楔形的边缘并不是平直的,而是在一定范围内有变化,打破全内反射的过程,使图像进入眼内。
优点:眼镜显示装置可以做得很薄,显示面积也可以比较大。
缺点:显示部分可能有一定的棱镜效应,远处实景进入楔形玻璃时可能有同一个方向的偏转,造成轻微的斜视,佩戴时间长了以后,眼肌容易疲劳。

以上四种显示方案,都有共同的缺陷。就是计算机生成图像的相对位置是固定的。显示器并不知道人眼在看什么位置,通常情况应该是将图像显示的位置通过透镜组透射到远处,使之与远景实景相匹配。但是人眼的调节状态是在不断变化的,因此,当人眼在看近处时,计算机生成图像并没有跟随着改变图像的聚散度,于是发生看近处时,计算机生成图像是模糊的情形,但其在眼镜上的位置有在真实物体之前。于是可能在看报纸时,直面上有一块计算机生成的图像,但需要人眼用看远的方式才能看清,而报纸上的文字又需要调节到近处才能看清,人眼在远近快速调节的过程中会产生疲劳与不适。

磁力耳机绕线器的制作

磁力耳机绕线器的制作。山寨自sinch耳机绕线器(139.00元),自己制作(0.40元)。当然材料品质不同,不够耐用,因此自己可以上300个,坏了就扔。


@王春水Charles :价格高的原因往往是因为想法和设计,而不是因为成本,比如说家具。不知道这个是不是这个原因 

回复@王春水Charles : 王老师批评的对啊,如果不分析想法和设计,就相当于浪费了138.6呢。此设计的过人之处在于:1.物体与耳机线相连,2.合扣与解扣不费力不损线,3.利用手机自身作为缠绕体。之所以前人想不到,是因为手机作为缠绕体时要将绑扎带先行植入。由此受启发稍后上全新设计图

所以以后我会按照之前提出的发明三问来分析这些设计:
1. 不要重新发明轮子
2. 知道轮子是如何发明的
3. 为什么轮子被发明之前,轮子没有被发明

对于此绕线器:
1. 不要重新发明轮子:
绑扎带在线上,有锁扣设计的,均属于同类,可用于所有线材的固定。
2. 轮子是如何发明的:
此设计的过人之处在于:1.物体与耳机线相连,2.合扣与解扣不费力不损线,3.利用手机自身作为缠绕体。
3. 为什么轮子被发明之前,轮子没有被发明
之所以前人想不到,是因为手机作为缠绕体时要将绑扎带先行植入。

附全新设计:

此设计一侧卡住主线,也就是靠近插头的部分,然后以sinch的方式缠绕,最后末尾的时候,将两个细耳机线分别卡住即可