标签 产品 下的文章

从今天开始一个介绍Google Analytics进阶运用的系列日志,其实没有多少技术含量,主要内容来自
http://code.google.com/apis/analytics/docs/index.html

首先,要清楚以下几点:
1、Google Analytics用document.domain定义一个网站的cookies
2、独立的域名意味着独立的访问者和流量数据,也就是说,在只使用Google Analytics默认代码的情况下,即使是访问不同的二级域名,都会被单独计算
3、独立的域名并不一定是不同的内容
4、子目录使用主域名的cookies

ps:本系列的ID都是google文档中的,想使用的话请更换成自己的

只统计一个子目录

假如我有一个网站www.example.com,还有一个网店www.example.com/myStore/,我只想统计网店的访问数据,需要用到_setCookiePath()方法,统计代码这么写:
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setCookiePath("/myStore/"); pageTracker._trackPageview();
这是因为cookie路径设置为您的子目录,而不是根目录www.example.com

统计同域名下连个子目录

假如我有一个网店,还有一个购物车
www.example-commerce-host.com/myStore/
www.example-commerce-host.com/myCart/
想统计他们的访问数据,需要用的_cookieCopyPath()方法,统计代码这么写:
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setCookiePath("/myStore/"); pageTracker._cookiePathCopy("/myCart/"); pageTracker._trackPageview();
这样就是设置了一个特殊的cookie,由第一个目录提供,也就是myStore目录,这些cookie数据会被复制到myCart目录cookie中

统计A域名及B域名的一个子目录

这是我认为比较有用的应用方式。
假如我有一个网店,使用的是第三方的购物车,这时候需要设定主次,一般自己的是主,第三方的东西是次。统计代码这么写:
主:www.example-petstore.com
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setAllowLinker(true); pageTracker._setAllowHash(false);
次:www.example-commerce-host.com/petStoreCart
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._setAllowHash(false);
_setAllowLinker()方法是为了让目标网站读取到post过来的数据和cookie,但是这样还不够,还需要用到_linkByPost()方法,将网店的cookie通过HTTP POST传到购物车,因此,在网店的表单里需要这样修改:
onSubmit="pageTracker._linkByPost('www.example-commerce-host.com/petStoreCart/begin.php');"
当然网店的相关链接也要改为这样的:
购物车
还有js形式的写法,用到_link方法
购物车

统计主域名及其二级域名

类似这样的:
www.example-petstore.com
dogs.example-petstore.com
cats.example-petstore.com
统计代码这么写:
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setDomainName(".example-petstore.com"); pageTracker._trackPageview();
用_setDomainName方法设定主域名

统计多域名及二级域名

这是一种混杂的情况,基本上是前两种情况相加,统计代码要这么写:
主:www.example-petstore.com
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setDomainName(".example-petstore.com"); pageTracker._setAllowLinker(true); pageTracker._setAllowHash(false);
如果有表单指向了其他域名,需要用_link()方法和_linkByPost()方法将cookie传到其他域名去,用法上面已经写过了。如果表单指向的是二级域名,就不一定要使用_link()方法和_linkByPost()方法了,因为已经设定了主域名。
次:dogs.example-petstore.com
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setDomainName(".example-petstore.com"); pageTracker._setAllowLinker(true); pageTracker._setAllowHash(false);
同样的,如果有表单指向了其他域名,需要用_link()方法和_linkByPost()方法将cookie传到其他域名去
其他域名:www.my-example-blogsite.com
var pageTracker = _gat._getTracker("UA-12345-1"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._setAllowHash(false);

统计框架(iFrame)

假如想把框架中的www.my-example-iframecontent.com数据传到父一级www.example-parent.com的窗口中去,需要用到_getLinkerURL()方法,用js读取框架,统计代码要这么写:
var iframe = document.getElementById("myIFrame"); iframe.src = pageTracker._getLinkerUrl("http://www.my-example-iframecontent.com/");

今天先到这里,谢谢收看,欢迎交流 sluke520##yahoo.com.cn

typecho0.7还在开发之中,很多关键的改进都在进行,其中就包括后台菜单的修改,我们希望通过这些努力,为大家提供一个更加友好的blog程序。
typecho0.6的后台主菜单设计如下,
typecho0.6后台

这是一个二级结构,把各项功能放在不同的分类里,结构清楚,我们常见的应用软件,比如wps系列,都采用了这种菜单设计,类似下图:
wps菜单

在实际的使用中,我们发现这样的设计虽然方便理解,但是还存在一些问题,就是用户要找到一个功能,鼠标需要移动多次(即使我们在第一级菜单也是可点击的链接,可以进入最常用的创建文章等页面)。在0.7版设计的开发团队内部讨论中,70提出来使用一级菜单的设想,其中在导航栏上直接列出的是最常用的(后台自动统计)几个链接,而点击箭头后就可以展开后续菜单,这样可以更快地定位用户所需要的功能。示意图如下:
typecho0.7菜单设计示意图

这样结构就更简单了,只是后续菜单可能会比较长,用户选中某一个功能鼠标需要移动很长,所以菜单项的排序需要更优秀,常用的功能要放在鼠标更容易点击到的位置,非常考验设计功力。
在开发团队内部的讨论中,我还提出来另外一种菜单设计的方式,首先要看Edraw Mind Map采用的新设计(跟微软的office2007是一样的):
Edraw Mind Map菜单设计

左上角的圆圈可以展开长长的菜单项,繁多的功能也是通过分类的方式分布,typecho作为一个轻量级的blog程序,没有这么多功能,但是这种设计却给了一种新的思路,看一下最熟悉的菜单之一:
windows开始菜单

不管有多少内容,都被收进了“开始”里,常用的功能用快速启动的方式放在“开始”的旁边,可以由用户自由调整,于是,就有以下的设计原型:
ytpcho0.7后台菜单设计原型

typecho0.7的细节还在磨合,菜单设计也是,除了程序本身,官方网站和论坛的建设也在进行,过完这个孕育的夏天,我们会带给大家一个更优秀的typecho。

在google reader里看到了挺多人在写群组的内容,原来是UCDChina的讨论话题,跟我最近在思考的一个项目有交集,写几句记录一下。抛去开场白,直接进入主题。

按参与沟通用户的数量规模,我想先定义几个名词,可能与常用的定义不符,只是为了更准确表达我的意思:
1、论坛,活跃成员数超过1000
2、群组,活跃成员数低于100
3、临时会话,参与成员数低于10

沟通,必然有话题,人多嘴杂,所以就会有下面这个图
论坛、群组和临时会话

临时会话就是为了某一个话题存在的,生命周期短,伴随话题结束而销毁,话题集中性最高,当然话题参与者之间的沟通效果是最好的。话题性大于社交性。
论坛是长期性的,会有多个话题存在,这些话题有相关性,与论坛主题契合度越高,话题存活时间越长,论坛不会因为某个话题结束而结束。单个用户之间的沟通并不完全。社交性大于话题性。
群组介于临时会话和论坛之间,群组是组织同一类话题的一种形式,是一个一个话题节点。社交性与话题性持平。

这里单说一下群组,这是一个很有趣的东西,我见过不少SNS产品运营人员(尤其是个人站长)在疑惑:注册用户在增加,群组数在增加,为什么群组的活跃度又不高呢?我想这是因为网络社区里存在明显的马太效应,热门群组会很热,成员增长速度要远远超过新群组,在任何SNS网站混过一段时间都会发现,人数众多的群组有话题失控的趋势,同时用户活跃度也有降低的趋势,而群组数本身又在不断增长,形成了一个长尾。群组的存在,是社区结构扁平化的表现,而传统的论坛是树状结构的。从管理学的角度说,组织呈现树状结构,比较适合科层制,逐级管理,每级管理人员直接管理的量比较少,控制较严格,沟通成本高。组织结构扁平化意味着需要更有效的沟通方式、更高素质的参与者和更具智慧的管理者。在网络社区中没有现实里那么精确的管理从属关系和强大的控制力,这是一个节点型网络,群组的管理是非强制性的,所以,群组的话题混乱,我认为是一种必然。说到保证群组的质量,我觉得完全没有必要去考虑,群组大了,必然管不过来,就让它变成论坛好了。群组小了,多半会慢慢死掉,让风吹散它吧,无为而治就好了。

群组话题混乱一定会影响到用户沟通,尤其是注重沟通质量的高端用户。所以高端用户会有出现一个向更私密沟通方式流动的趋势,比如站内信的使用会增加、私密小组出现、个人留言增加、使用广播或者twitter等等,也就是临时会话的使用率会提高。

最后用一个不太恰当的比喻来说明论坛、群组和临时会话的关系:论坛就是一个湖;群组就是湖的不同水域,有深有浅;临时会话就是掉落在湖面上的雨点;高端用户大多在湖底,大部分用户在湖面热闹。(也可以这么比喻:临时会话是session,群组是cookie,所以没有价值的群组还是向清cookie一样清掉好了,产生的内容可以保存在论坛里或者个人记录里)

网站运营是一个大话题,某一天晚上,在酒精的催化下画了这个图,抛砖引玉。

点击查看大图:
网站运营思维导图

网站运营工作非常琐碎,需要极大的耐性,很多刚入门的网站运营人员可能会感觉无从下手,容易陷入某些细节而忽视费效比,这个图的目的就是帮助梳理一下网站运营工作的一些大方向。

当我画完这个图之后,又一次感到书到用时方恨少,即使是自己的专业领域,也依然后广阔的未知世界……多读书没坏处。

市场上的拼音输入法已经相当完善,目前大概算是进入了产品的成熟期,也许是我眼光有限,我觉得拼音输入法再有创新将很难。曾经有那么几天时间,我跟输入法可能会走得很近,以下写的就是那几天的一点思考。

细分市场是重要的,在铺安装量的时期过去之后,如何满足细分用户将更加重要。做细分市场就要研究细分用户,这里我虚拟这样一群用户,可能就是那一群所谓互联网意见领袖...

这群用户有这样一些特性:
1、受过比较好的教育,收入较高
2、从事脑力劳动,需要撰写比较正式的文档,词组要求准确
3、有时会使用英文与国外人士交流

再看市场上主流的拼音输入法,都有在线升级词库的功能,能够输入网络上各种流行的词语和符号,而且这些词语往往排在可选词的最前面(让我想起来在参加中关村在线一个活动时,搜狗市场人员说的一句话:,大意是如果有一天搜狗不能马上输入网络流行词汇了,网友们一定会骂)。我想,输入法的PM们一定听过这样的抱怨:什么乱七八糟的词都排在前面,影响输入,这些反馈大概都是上面那群用户提交的。

怎么满足这群用户的需求又不忽视大量娱乐性用户的需求呢?我觉得现实中有个相当成熟的应用,那就是手机的情景模式,不同的情景模式不过就是不同的设置组合而已,比如声音大小、是否震动、是否有提示音等等。那么拼音输入法里有什么可以设置的呢?那就是词库和词频。

满足需要准确输入的用户,可以设定一个商务(政务)模式,载入商务词库,正式用语优先,自定义词组和网络流行词组放后面。同样的,娱乐模式就是可以最快输入那些网络热门词,这样工作生活两不误。这样的功能现在输入法都可以做到,只是设置没有那么方便而已,需要对选项进行逐项修改,遗憾的是我虚拟的这群用户里有大量的电脑操作白痴,他们根本不会知道或者恐惧去面对详细设置。拼音输入法的情景模式除了在功能上有一点区分之外,还需要在视觉上有一个区别,这个更简单,换个皮肤就行了。

扩展一下,同样的思路可以做出来男性版、女性版、周杰伦版、小沈阳版、魔兽世界版、征途版,估计运营们该高兴了,多省事儿的推广啊。

接下来解决英文输入的问题,现在的拼音输入法已经有多种的拼音输入模式,可以提示输入英文单词,但是万一我忘记或是不知道单词怎么拼写,该怎么开始呢?去查字典?所以,输入法可以跟词典结合,起到一个翻译的功能:

中文字词->汉英词典查询->英文单词->用户选择输出
PS:如果google来做,还可以整合google语言工具,实现整句翻译。

这是一个多对多的关系,所以在输入时会多一步选词的过程,在操作设计时要谨慎考虑。

最后总结一下给拼音输入法加的两个功能:
1、情景模式
2、整合翻译