iPhone 4 sam漏洞软解

23
Apr 12

无意中看到iPhone 出了利用ICCID漏洞可以软解的新闻,到weiphone看了一下原贴,照着做下来,激活一直显示您的iPhone有问题。我的美版AT&T的机器,帖子教程中提供的IMSI另外的前缀也一直出错。后来看到另外帖子中提供一个AT&T的IMSI,成功激活。遇到相同问题的AT&T的机器,不妨试试这个IMSI 310150121192317

其它版本机器同学可以参照weiphone的帖子:SAM 虚拟SIM激活解锁原理及操作全攻略,如果卡在第15步,可以咨询同机型的童鞋用过成功的IMSI。

Weibo

遇到App对角同时有可点击区域的时候真是无语,设计师你们从来不用大姆指点屏幕的么,你点右上角的按钮的时候,姆指肚不会误触发左下的按钮么?

WebApp化(二)apple-touch-startup-image

18
Apr 12

当把网站通过safari添加到主屏幕功能放置到移动设备桌面上以后,通过设置apple-touch-startup-image可以为WebApp设置一个类似NativeApp的启动画面。

<head></head>区域加入<link rel="apple-touch-startup-image" href="/startup.png">即可。

在iPhone及iTouch设备上,只支持竖屏模式,图片分辨率为320×460。在iPad上支持竖屏和横屏两种模式,分辨率分别为768x1004748x1024,注意横屏模式的图片宽高以及内容显示方式。参考下面的示意图: 启动画面示意图

apple-touch-startup-image不支持sizes属性,因此,不能像 apple-touch-icon 一样用sizes来支持多种设备屏幕,这里要用到media querys属性:

<link rel="apple-touch-startup-image" href="/startup-landscape.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape)" />

<link rel="apple-touch-startup-image" href="/startup-portrait.png" media="screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)" />

<link rel="apple-touch-startup-image" href="/startup.png" media="screen and (max-device-width: 320)" />

视网膜屏下的启动画面(Retina)

iPhone4及4S的屏幕分辨率为640×960,用320×460的启动画面显得有些模糊,可不可以用更高的分辨率呢,测试iPhone4及4S在IOS5.0以上系统是支持更高分辨率的显示画面的,不过用media queries是无效的。

国外看到一篇文章中提出用javascript来操作,经实验是有效的,具体步骤如下:

  1. 在DOM载入完毕以后执行js脚本;
  2. 检查浏览器是否为IOS系统;
  3. 检查是否为视网膜屏幕(Retina);
  4. 检查IOS系统是否为5.0及以上;

以上条件成立,刚在head区域插入相应的link标签

<link rel="apple-touch-startup-image" href="/startup2x.png" />

startup2x.png为640×920分辨率的启动画面。

具体JS代码如下:

    <script type="text/javascript">
        // Hides the addressbar on non-post pages
        function hideURLbar() { window.scrollTo(0,1); }
        addEventListener('load', function() { setTimeout(hideURLbar, 0); }, false );
    </script>
    <script type="text/javascript">
        function hasRetinaDisplay() {
            return (window.devicePixelRatio >= 2);
        }
        function isAppleDevice() {
            return (/iphone|ipod|ipad/gi).test(navigator.platform);
        }
        function iOSNewerThan(majorVersion) {
            if(isAppleDevice()) {
                // Check the version
                var pattern = /iPhone OS (.*) like Mac/;
                var result  = navigator.userAgent.match(pattern); // Returns "iPhone OS X_Y like Mac, X_Y"
                var version = result[1].split(''); // Returns X, Y
                var release = version[0];
                return (release >= majorVersion);
            }
            return false;
        }

        // When we're ready to go...
        jQuery(document).ready(function() { 
            if(hasRetinaDisplay() && iOSNewerThan(5)) { 
                var highResSplash = '<link rel="apple-touch-startup-image" href="/startup2x.png" />'; 
                jQuery('head').append(highResSplash); 
            }
        });
    </script>

The New iPad上的启动画面是否可以同理用JS脚本来解决,尚未测试,有兴趣的同学可以试一下。

参考网址: http://www.paulofierro.com/

Safari Web Content Guide — Configuring Web Applications

WebApp化(一)apple-touch-icon

13
Apr 12

在iPhone,iPad,iTouch的safari上可以使用添加到主屏按钮将网站添加到主屏幕上。apple-touch-icon是IOS设备的私有标签,如果设置了相应apple-touch-icon标签,则添加到主屏上的图标会使用指定的图片。在<head></head>区域加入下面代码即可。

<link rel="apple-touch-icon" href="/custom_icon.png"/>

apple-touch-icon 标签支持sizes属性,可以用来放置对应不同的设备。

<link rel="apple-touch-icon" sizes="57x57" href="touch-icon-iphone.png" />
<link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone4.png" />

分别放置57×57(默认值)的图标对应320×640的老设备,72×72对应ipad,114×114对应retina屏的iPhone及iTouch。由于手头没有iPad3,所以没测试是否支持144×144的图标在iPad3上的显示。

虽然官方都用的png图片做说明,但实际测试jpg格式也可用(不推荐),图片无需做圆角处理,同Native App一样,系统会自动为图标添加圆角及高光。如果不想系统对图标添加效果,可以用apple-touch-icon-precomposed代替apple-touch-icon

图标搜索的优先级如下:

  • 如果没有跟相应设备推荐尺寸一致的图标,那个会优先使用比推荐尺寸大,但最接近推荐尺寸的图标。
  • 如果没有比推荐尺寸大的图标,会优先选择最接近推荐尺寸的图标。
  • 如些有多个图标符合推荐尺寸,会优先选择包含关键字precomposed的图标。

如果未在区域指定用link标签指定图标,会自动搜索网站根目录下有apple-touch-icon...或者 apple-touch-icon-precomposed…前缀的图标。 如设备推荐尺寸为57x57,优先级如下:

  1. apple-touch-icon-57×57-precomposed.png
  2. apple-touch-icon-57×57.png
  3. apple-touch-icon-precomposed.png
  4. apple-touch-icon.png

偷懒的方法,可以直接设置一个最大尺寸的图标,如我测试使用一个114×114大小的图标,在iPhone4以及iPad2上都可以正常显示。以上内容在iPhone4以及iPad2上测试通过。

参考网址: Safari Web Content Guide — Configuring Web Applications

Block Formatting Context (块格式化上下文)

10
Apr 12

Block Formatting Context (块格式化上下文)是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。

在创建了 Block Formatting Context 的元素中,其子元素会一个接一个地放置。垂直方向上他们的起点是一个包含块的顶部,两个相邻的元素之间的垂直距离取决于 ‘margin’ 特性。在 Block Formatting Context 中相邻的块级元素的垂直边距会折叠(collapse)。

在 Block Formatting Context 中,每一个元素左外边与包含块的左边相接触(对于从右到左的格式化,右外边接触右边), 即使存在浮动也是如此(尽管一个元素的内容区域会由于浮动而压缩),除非这个元素也创建了一个新的 Block Formatting Context 。

当一个HTML元素满足下面条件的任何一点,都可以产生Block Formatting Context

  • float的值不为none。
  • overflow的值不为visible。
  • display的值为table-cell, table-caption, inline-block中的任何一个。
  • position的值不为relative和static。
前一篇提到的IE的hasLayout 与BFC大同小异,但IE系列的浏览器,直到IE8才有BFC的概念,所以当一个元素在IE6/7下触发了hasLayout而在其它浏览器下未触发BFC,或者在IE下未触发hasLayout,而只触发了BFC的时候,就可能有兼容性问题。

IE6/7最常用的就是zoom:1这个属性触发hasLayout了,结合BFC的触发条件,常用zoom:1和overflow:hidden这对组合。

 

IE 专有的 Layout 及 hasLayout 属性

5
Apr 12

‘Layout’ 是 IE 的专有概念,它决定了元素如何对其内容进行定位和尺寸计算,与其他元素的关系和相互作用,以及对应用还有使用者的影响。

    • 概念说明:
      • ‘Layout’ 可以被某些 CSS property(特性)不可逆的触发,而某些 HTML 元素本身就具有 layout 。
      • ‘Layout’ 在 IE 中可以通过 hasLayout 属性来判断一个元素是否拥有 layout ,如 object.currentStyle.hasLayout 。
      • ‘Layout’ 是 IE 浏览器渲染引擎的一个内部组成部分。在 IE 浏览器中,一个元素要么自己对自身的内容进行组织和计算大小, 要么依赖于包含块来计算尺寸和组织内容。为了协调这两种方式的矛盾,渲染引擎采用了 ‘hasLayout’ 属性,属性值可以为 true 或 false。 当一个元素的 ‘hasLayout’ 属性值为 true 时,我们说这个元素有一个布局(layout),或拥有布局。
    • 默认拥有hasLayout的元素
<html>, <body>
<table>, <tr>, <th>, <td>
<img>
<hr>
<input>, <button>, <select>, <textarea>, <fieldset>, <legend>
<iframe>, <embed>, <object>, <applet>
<marquee>
    • 可触发hasLayout的属性
display: inline-block
height: (除 auto 外任何值)
width: (除 auto 外任何值)
float: (left 或 right)
position: absolute
writing-mode: tb-rl
zoom: (除 normal 外任意值)
    • IE7的一些css属性同样可触发(不完全,考虑到目前国内IE6份额,不建议使用)
min-height: (任意值)
min-width: (任意值)
max-height: (除 none 外任意值)
max-width: (除 none 外任意值)
overflow: (除 visible 外任意值,仅用于块级元素)
overflow-x: (除 visible 外任意值,仅用于块级元素)
overflow-y: (除 visible 外任意值,仅用于块级元素)
position: fixed

适合wordpress使用的社会化评论-多说

20
Jan 12

这半年来,国内好几家网站推出了社会化评论服务,友言评论啦贝米多说其实是最近几天才知道的。另外社会化登录平台灯鹭刚刚也开启了社会论评论功能的内测。

以上几家平台,都推出了wordpress的专用插件,安装起来也很方便,直接在wordpress的插件平台下载安装即可。第一次打开多说的主页http://www.duoshuo.com,其实是有些失望的,随随便便的的一个WP的博客,看起来像新手随便装了个模板。不过多说的评论框却恰恰相反,UI做的相当不错,个人觉得是上面几家里中最为出彩的,做为通用性的服务,会被放到各种各样设计风格的网站上,默认的评论框看起来简单,其实很考察设计师的功力,即使可以添加自定义的CSS来适应自己的网站,但默认的风格仍然会是用的最多的。

说到最适合,当然不止是UI好看,多说的亮点在于,评论是实时与wp自带的评论同步的。就是说,有一天你不想用了,可以随时关掉多说的插件,这些评论不会丢失。由于国内互联网的环境问题(你懂的),使用一项公用服务是有相当风险的,多说的这个功能,则将使用者的风险降到了最低。

多说的评论系统,没有像disqus及友言等提供自身的登录帐号,个人觉得这是个优点,已经可以基于各种微博以及sns帐号登录了,再推出自己的登陆帐号,实在是多此一举,做自己擅长并专业的事,想让自己的帐号系统成为一站式登录的起点,未免想太多了。


在起用多说插件之说,如果在其它网站上已经登录过多说,绑定sns帐号的时候会有冲突。应该是安装插件时候生成了一个新id,和之前在其它地方第一次登录多说产生的id冲突了,目前只能联系多说官方人员来处理,希望多说能在后台根据绑定的帐号相同,自动合并多说id,虽然现在多说官方人员处理很及时,但随着用户增多,人力总会有限,而且也显得不专业。

另外,当wordpress已有的帐户在登录情况下,如果未绑定多说,评论的时候会识别成未登录用户,仍然弹出登录框,让用户社会化帐号或者输入用户名,邮箱,网址。希望多说能在用户登录的情况下自动读取当前用户的名称,邮箱和网址信息。而且,多说目前没发现有关闭游客评论的功能。

总的来说,多说目前功能不多,比起友言及评论啦在管理功能上相差还远,但用起来很舒心,希望新一年越来越好。

简洁请勿简陋,QQ对话框的“进化”

6
Jan 12

知乎上为了上图,发送旁边为什么有一个关闭按钮好多人争论了一番。大体上说这个按钮是老版本遗留下来的,由于用户已经习惯了,曾经试着去掉过,用户反馈很不适应所以又保留下来。

1.部分认为这个关闭按钮跟右上角的X重复了,是个多余的东西,但用户习惯了也就无所谓了,留着就留着吧。

2.另外某位兄台坚持认为这个按钮背离了什么什么原则,并会与发送产生冲突,应该引导并改善。

3.另外一些说自己从来都是快捷键流,既然重复了,都去掉也无妨。

对这个对话框有兴趣其实是因为最近老家装了宽带,年近六十的老爸就想学学上网,平时可以跟在外地的我和弟弟视频。我们常常说,要以用户为中心,所谓的用户是哪些呢,有些时候边缘用户才是我们要考虑的。

无论你把自己想像成中学生,大学生,白领,还是操作线上的流水工人,其实他们都是主流用户,适应性极强,你把这个按钮哪怕扔了移动了,缩小了放大了,都不是什么问题,用不了几分钟他们就适应了。但对于我刚学上网的老爸来讲,他看这个关闭按钮就肯定比右上角的 X 直观且容易理解的多。

对于当了一辈子农村小学教师的老爸来讲,打字仍然成问题,到现在最熟悉的就是登陆QQ打开对话框点视频按钮,常常视频的时候我打几个文字过去,他都看不到。是的,他的视觉焦点常常在很小的范围内,要顾及到整个屏幕来说还很有难度,以至于有一阵子360多事的在打开视频的时候会拦截视频功能,并在屏幕右下角弹出提示,是否允许打开视频。但老爸在尝试十与次以后仍没有发现这个提示,以为是视频坏了。

我也常常对老爸接受电脑水平的缓慢而无奈,第一次告诉他点击视频图标,电话了解释了半天才弄明白,到最后是直接告诉他上面有一排图标,你点第一个有镜头的标志就可以了。后来有一次我想让他申请远程协助,我帮他看一下视频是否有问题,更是费了好大劲,因为自己一时糊涂,忘了MAC版本的QQ没有远程协助功能,让他找这个功能图标时候又不记得是第几个,一直到最后我开了虚拟机里的QQ数出来告诉他。

我想如何QQ对话框上面的一排图标有文字的话,就不会那么麻烦了。但这排文字不记得什么时候退化消失了,也话因为QQ因为7亿用户的使用量,觉得大家早都明白了吧。

再看看Mac版QQ的聊天对话框,如果是我老爸面对如此“简洁”的界面,我该如何让他快速明白发消息不用点发送按钮而是直接回车就可以了呢。Mac版QQ如此的设计,应该是受ichat的影响吧。一直有喜爱Mac产品的人说如果给没有计算机使用经验的人使用,Mac上手要比Win的要快,这点我不否认,但在这个对话框的设计上,显然不能认同。

场景:你有没有试过无聊的时候,跟QQ上的好友没事做,只是随手点个表情调侃一下。最近南京气温已经相当低,冷的让人难受。前几天女友在床上抱着笔记本,因为冷,把无线鼠标放在被子里随意的点新闻看。无聊中想发个表情给我,发现如果不把手从被窝里拿出来,根本没办法发出去。

当产品越做越简洁的时候,请注意不要让简洁变成了简陋,有时候用户比我们想的往往要笨的多。计算机和互联网越来越普及,但其实普及程度可能没我们想像的那么广,从前做为专业技能的东西,在往生活中过渡的过程中,必然要越来越简单,学习成本也要降低降低再降低才行。

那些张嘴就说我快捷键用的多么熟悉的朋友,我觉得没有资格讨论可用性,快捷键不是给新用户入门来用的,只拿计算机来娱乐消遣一下,不想花时间在上面进阶的人,谁会去钻研快捷键呢。Photoshop的快捷键是如何的全,可为什么还有各式和样的工具按钮,如果以快捷键来评判,大约大家用命令行模式的linux也功能很全了……

心智模式(Mental Models)

6
Dec 11

原文地址:http://wiki.mbalib.com/wiki/%E5%BF%83%E6%99%BA%E6%A8%A1%E5%BC%8F

什么是心智模式

心智模式又叫心智模型,是指深植我们心中关于我们自己、别人、组织及周围世界每个层面的假设、形象和故事。并深受习惯思维定势思维、已有知识的局限。也通常指人们一种习以为常、理所当然的认知。
心智模式这个名词是由苏格兰心理学家Kenneth Craik在1940 年代创造出来的,之后就被认知心理学家Johnson-Laird和认知科学家马文・明斯基(Marvin Minsky)(1975)、西蒙.派珀特(Seymour Papert)所采用,并逐渐成为人机交互的常用名词。

心智模式的特点

心智模式有以下七个特点:

1.每个人都具有心智模式;

2.心智模式决定了我们观察事物的视角和做出的相关结论;

3.心智模式是指导我们思考和行为的方式;

4.心智模式让我们将自己的推论视为事实;

5.心智模式往往是不完整的;

6.心智模式影响着我们的行为的结果,并不断强化;

7.心智模式往往会比其有用性更加长寿。

心智模式的形成[1]

心智模式形成的前因后果

图1 心智模式形成的前因后果

心智模式的形成是先由讯息刺激,然后经由个人运用或观察得到进一步的讯息回馈,若自己主观认为是好的回馈,就会保留下来成为心智模式,不好的回馈就会放弃。心智模式不断地接收新讯息的刺激,这种刺激的过程可分为’强化’或’修正’。

心智模式的特性[1]

Norman(1983)观察许多人从事不同作业时所持有的心智模式,归纳出六个关于心智模式的特质,这六个特质并非相互独立的:

1.不完整性(Incomplete):人们对于现象所持有的心智模式大多都是不完整。

2.局限性(Limited):人们执行心智模式的能力受到限制。

3.不稳定(Unstable):人们经常会忘记所使用的心智模式细节,尤其经过一段时间没有使用它们。

4.没有明确的边界(Boundaries):类似的机制经常会相互混淆。

5.不科学(Unscientific):人们常采取迷信的模式,即使他们知道这些模式并非必要的。

6.简约(Parsimonious):人们会多做一些可以透过心智规划而省去的行动。

心智模式的功能 [1]

心智模式的功能

图2  心智模式的功能

心智模式是一种机制,在其中人们能够以一种概论来描述系统的存在目的和形式、解释系统的功能和观察系统的状态、以及预测未来的系统状态。人们改善自己心智模式的方法主要有两种方式,一是反思自己的心智模式,通过反思与学习改善自己的心智模式;二是探询他人的心智模式,从自己与别人的心智模式的比较中完善自己的心智模式。心智模式可以影响我们如何看待事物,可以影响我们的认知方法。良好的心智模式、积极的人生心态可以帮助我们战胜自卑和恐惧,可以帮助我们克服惰性,可以发掘自己的潜能,使我们工作得更有成效。 换句话说,即是人们对于世界的理解方式是透过询问:这是什么?为什么这样?这样有什么目的呢?、这个东西是如何运作?它会造成什么后果?将这些问题简化成下列的架构图:

剖析心智模式[2]

  剖析心智模式
管理者实现自我超越的前提

  心智模式在不同的个人、人群、团体及组织中有不同的特点。

就管理者来说,管理者个体的心智模式,由于个人的文化层次、认知水平、个性心理及社会经历的不同,具有复杂的特性,但也有共同的方面;而管理层团体的心智模式,在一定的社会经济条件和文化背景下,主要具有相对的一致性,同时也存在差异。管理者不断浮现并认识到自己存在的不良心智模式,是提高自身修养的重要前提。

  管理者个体的不良心智模式常见的有

  (1)管即官,我说了他就应该听,最起码不应当面顶撞。

(2)这事有风险,多一事不如少一事,稳定平安最要紧。

(3)有才难用不如不用。

(4)你好我好大家好,争来争去伤和气。

(5)年轻人懂得什么,纸上谈兵。

  管理者团体不良心智模式的主要特点有

  (1)管理群体把他们所作出的假设合理化,当遇到与他们已有的假设冲突的意见时,他们总是要维护这种假设。

(2)对独出心裁或怀疑群体观点的人,群体往往在心理上排斥并对他施加压力。

(3)由于管理团体过去形成的某种氛围,那些持有怀疑或不同看法的人,为了尽力避免与群体观点的不一致,往往保持沉默,或者有意减少自己与群体观点的分歧。

(4)好象存在一种无疑义错觉,如果某个人保持沉默,大家往往认为他表示赞同,缺席者也就被看成是赞成的。