打铁路局电话没有订到火车票,我本来想破口大骂。

但想了想其实这不过是钱的事儿,我希望可以电话订票或者说网上订票,是因为这些对我,以及跟我差不多的人群来说是极大的方便。但如果完全没有这些订票手段,那些发奋通宵排队的人,会更容易买到票。

毕竟大不了我可以多住一晚上,换成动车,或者高铁。再大不了也可以坐飞机,也就是贵点,那又怎样。

因为有这些退路,所以我不会想着要不要挤十几个小时的硬座或者无座,也不会12点开始就去代售点排队只为了3点钟开售的时候排个好位子,这样做的成本和机会成本太高。

所以虽然年年都有人抱怨火车票难买,这事儿却没有成为爆发点。

因为你在网上上看到的世界,并不是世界,而是你想看到的世界。

问题:如果你有一个跨平台的智能手机App作品,需要靠它盈利,你会在Android市场和Apple市场上采取什么样的定价策略?

如果是我,大概会这么考虑:

  1. Android用户因为系统更开发,获取App渠道更多,因此从Android Market 付费获得App的意愿比Apple用户从Apple Store购买的意愿更差。这一点不仅我们知道,用户也知道。
  2. 我不应当让我的App定价策略影响用户对平台的选择,而是要让用户觉得用哪一个平台都可以享受我的服务。否则会被平台绑架,不利于销售。

拿“猜火车”这个app来说,Android Market定价是免费,在Apple Store里面只有一个Lite版的免费,完全版则是收费的。

QuickMark这个QR Decoder程序也是类似的情况这样,App Store是收费的,Android不详但在Symbian上的版本也是免费的。

可能他们的市场人员基于这样一个逻辑给出了这样的定价:苹果用户App本来就是收费的,他们自然不在乎出钱; Android用户反正不会给钱,我就成全他们。

我认为他们脑子进水了。

没有人会无缘无故付出更多的价钱的,苹果用户付更多的钱买App甚至手机本身,他们自然诉求更多。当你惊讶的发现苹果用户、Android用户和我自己都已经知道Android市场用户会有更多的途径免费得到App时,你应该同时意识到,苹果用户是一帮不缺钱的玩意儿。

我们知道精神追求是比物质追求更高一层次的追求——就当是真的。那么苹果用户必须为自己的行为找到点合理的冠冕堂皇的解释——Jobs万岁;苹果万岁;我付费支持了App开发商;我用正版。

但是,令他们崩溃的是,他们发现其他平台的用户不用一分钱,买到的就是正版,自己还在当冤大头,支持App公司,那哪是心头火起四个字可以形容的。换你怎么想?无非是两条:

  1. 我操,Android这么便宜,下次买Android。——用户群倒向Android,平均付费意愿降低,App开发商收入降低。
  2. 我操,凭什么我付钱,Android不用付钱??!!——App客户流失,App开发商收入降低。

如果是我,我就在苹果上把价钱定高,Android的市场定价不更高,也至少一样高。这样Android的破解很快出来,有人拿着在苹果用户面前炫耀,被闪瞎双眼的苹果用户压抑着心中使用正版的得意购买了产品,Android用户则满怀占了便宜的得意,不顾背后偷来的对侵占知识产权bs的目光。大家都很爽,App开发商也爽了。

同样的逻辑也适用于苹果的越狱用户。

现在,你应该把在Android市场的定价发布得更高还是更低呢?

上周参加一个移动互联网的座谈会,席间提到一个iPhone App叫做Go try it on,是用来分享服饰照片并可以接受朋友的意见穿或者不穿的。之所以提到它,是因为我把这归类成一个“依赖终端”的应用,而之前我提到过“非终端依赖”的应用,里面列举了新浪微博。

于是炸锅了。

据后来areca说,这个mm是个微博控——她反驳到,她就经常买衣服的时候上传照片,请大家评判是否好用,这是她很重要的购买参考。如我所说,Go try it on,做一模一样的事情,凭什么就跟微博分类不同了呢?

我当时很囧,我觉得这是个挺显然的逻辑诡辩,技术人员不应该问出这种问题来。但无论如何,有问就要有答,于是手忙脚乱乱扯一通通用和专业的区别,搪塞了这个问题过去。这个例子告诉我们,做普瑞森腿森的时候,一定不能对听众做假设,要对问题全盘考虑。

但是反过来,这其实是一个老问题:数量繁多的App只是或多或少地对信息做了一些整理组织,其实原本都可以用更为通用的方式比如微博甚至Email来完成,那么这些App的开发是否有重复建设之嫌?对于用户来说是否应该精简信息入口,只保留通用性强的少数一些App?移动互联网丰富的应用是否只是一个伪命题,是一个随着市场涤荡必将回归沉寂的泡沫?

我以为不是的。因为信息工具的全部意义,就在于以何种方式搜集、组织、整理数据。

拿BBS来说。电子公告栏的功能完全可以用电子邮件列表实现,只是需要精心填写收件人(回复)、抄送人(版面其他网友)、优先级标签(置顶、高亮)、拒收名单(封禁)等等等等一系列参数,BBS上的一个文章,常用Post表示之,这个词本就来源于邮件组。邮件组仍然活跃,但若你作为一个新人,试图闯进邮件组的世界,你会发现,它并不友好:首先有一系列的准入条件,并不是所有的邮件组都公开;不能随便发言,因为这不符合大家的“约定”,可能会骚扰到邮件组成员。其实我认为,如果使用一项工具的时候,需要在其本身能力之外做一系列约定,那么这个工具还能改进的空间太大了。

还拿上面微博个Go try it on来说,没错,微博可以辗转实现同样的功能,但是步骤繁多,需要手动上传,手动添加文字,还需要解释一下自己发图的目的,免得被当成炫耀贴被嘲笑品味差之类;你的微博好友未必有同样的嗜好,即便有他未必就会常常来点评你的着装给出意见;微博不会自动整理你的着装风格,不会推荐与你有相同年龄性别职业背景用途的着装成功案例等等等等等等。

想象一下,全球只有一个纯文本的广播网站:因为没有facebook,你只好通过搜索好友的id来查看好友的更新,查看自己的id来查看别人给自己的回复;因为网站不支持位置信息,你只好手动发布自己的经纬坐标;因为网站不支持图片,于是你发布一长串的bit流并附言说明这是一个png格式的图片请朋友copy成文件改名后查看;屏幕上源源不断涌现出一行行数据,你意识到是有人在打电话给你,于是把网线从电脑上拔下来插到一个电话机上去,并询问对方是谁………………

习惯了的话,所有事情仍然可以完成,只不过,“可以做”还不够,要有良好自然的用户接口。

这个意义上讲,丰富的移动互联网应用必然是有意义的。

原理

常见封锁办法

  1. 在节点路由器对特定地址、端口进行过滤。
  2. 在节点路由器对特定协议进行过滤。
  3. 在节点路由器对特定内容进行过滤。
  4. 无差别过滤,即所有分组交换均无法通过节点路由器。

常见规避手段

  1. 旁路,即绕开被封锁的网络。比如使用卫星上网、使用手机上网。
  2. 绕墙,即通过路由手段,使得自己的数据包绕开过滤节点路由器。
  3. 穿墙,即通过隐藏手段,使得自己的数据包“看起来安全”从而不被过滤。

旁路办法一般代价较高,但总能奏效。

我这里推荐的办法是利用一个不在过滤目标本身也不被过滤的服务器,建立一个安全协议的连接,通过此连接来做跳板,达到翻墙目的。

除了少数变态的公司内网,一般不会有上述4这样的过滤方式。4这样的过滤方式也是无从绕过的。

举例说明

假如有一个公司,网络拓扑图如下,有一些内部IT过滤规则:

  1. 中国区网关上设置了防火墙,无法直连外网(Internet)。
  2. 中国区提供了特殊的代理服务器,可以通过认证方式有限地连接外网(途中以黄色连接表示)。
  3. 中国区的防火墙对http代理协议数据包进行了过滤。
  4. 欧洲区提供了无差别的代理服务器,可以不需要认证以更少的限制访问外网,但对来自中国区的访问加以屏蔽。
  5. 中国区与欧洲区内网之间连接无限制。

image

在这样一个典型的网络拓扑环境下,要从中国区绕过这个“中国区防火墙”以访问欧洲出口代理服务器是轻而易举的事情。

我们所需要做的是找到一台欧洲区的主机,以这台机器的身份经由欧洲出口代理服务器访问Internet即可。

当然,如果你压根不知道有这么一个欧洲出口代理服务器,现在你知道了?

要达到这个目的,我们需要:

  1. 欧洲区一台长时间开机的主机做跳板主机。
  2. 该跳板主机完成对外访问的端口数据转发。
  3. 隐藏本地主机到跳板主机的数据包内容,避免被HTTP代理协议过滤。

Very tough, 幸好,我们有ssh。

SSH工具

ssh, secure shell,在两台主机之间提供安全(多项式数量级计算能力前提下)的访问。使用ssh可以保证数据传输的安全性。

同时,ssh还提供了一系列端口转发功能:

usage: ssh [-1246AaCfghkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
[-D port] [-e escape_char] [-F configfile] [-i identity_file]
[-L port:host:hostport] [-l login_name] [-m mac_spec] [-o option]
[-p port] [-R port:host:hostport] [-S ctl] [user@]hostname [command]

其中

-L 将连接至本地某指定端口的数据透明重定向至目标主机,并从目标主机为源连接指定的主机和端口。这是我们主要要用到的。

还有 –R 参数,实现与-L类似但方向相反的功能。

-D 参数,无需指定端口,但需要以Socks代理的方式使用,不能透明转发。

-g 参数,可以接受子网中其他主机到发起ssh连接的主机的网络连接。也就是说,可以架设给别人使用。

 

至此,你应该了解如何在一台可以使用ssh命令行版的主机上设置端口转发以访问欧洲出口代理服务器了。

你只需要:

  1. 一台欧洲区的主机和它的用户名密码。
  2. 欧洲出口代理服务器。

这当然要找在欧洲的人问啦!

风险

  1. 跳板主机访问欧洲出口的流量会增加,如果增加幅度过大引发异常,可能会被发现。因此,你所使用的源主机最好不要过多泄漏自己的个人信息。
  2. 跳板主机本身流量可能有限,访问量过大会down掉……。因此请注意分散跳板主机,使用你自己的跳板主机。
  3. 跳板主机的重启、当机等各种导致ssh连接断掉的情况,都会使得代理中断。
  4. 如果欧洲区代理不再匿名,则此法不再可用。
  5. 如果欧洲区代理屏蔽了跳板主机,则此法不再可用。

实施

必须的服务器资源

跳板主机,比如说user:passwd@TLO_OMC

代理,比如说EUROPROXY:3128

SSH设置

ssh –L 8080:EUROPROXY:3128 user@TLO_OMC

登录之后,就可以用 localhost:8080 这个http proxy了,等效于在欧洲区直接使用EUROPROXY:3128。

如果同时使用了-g,那么别人也可以使用[IP]:8080 这个http proxy了,IP就是你执行这条命令的机器IP地址。

SecureCRT举例

上面使用了-g的方法不太安全,因为在跳板主机看来,[IP]这个地址来了大量的数据包,很容易发现异常。

所以这里推荐在自己的机器上搭建localhost跳板代理。自己的机器如果是windows,那么很难有命令行的ssh(当然也可以装cygwin),这里我们提供一种用secureCRT设置的办法。

image

image

image  image

其他

以上内容是随机敲键盘所得,本人不识字,对以上内容不负责任。