精英盒子 -> 零毫秒 -> 总结一下大家给我的建议,大家讨论一下哪些有必要采纳 [打印本页]

<<   1   2  >>  Pages: ( 2 total )

jybox 2011-10-18 22:38

总结一下大家给我的建议,大家讨论一下哪些有必要采纳

该贴长期有效,请尽力坚持自己的观点!!
等0.2版开始开发的时候,会组织投票!



注:有关通讯协议的不写在这里了!
如题

//--------------------------议题1:核心开发人员是否应该尽量牺牲自己的时间
Abreto:另外,你不能以你的时间要求我们的时间,不是谁都不用做作业

精英王子:我认为你选择加入核心开发人员,就应当付出时间,反之,你没有时间就不应当加入
ps.核心开发人员指最核心的开发人员,目前只有我和Abreto,欢迎大家的加入


//--------------------------议题2:是否支持加强SNS的支持,whtsky列举的功能是否可行
whtsky:
最终用户是不会在乎你开不开源的,多开放也只是浮云......他只关心,好不好用。
“跨平台”和“开放”对于最终用户来说,毫无竞争力——他只对开发者有吸引力。
就像两个饭店,第一个饭店完全开放,厨师可以带自己的厨具、用自己的原材料,把自己负责的区域按照自己的设计进行装修,
第二个饭店只有一个厨师,只能使用固定的厨具和原材料。
作为厨师可能会喜欢去第一个饭店,但对于来吃饭的用户来说,你厨房开放了跟我有什么关系?他不会关心你厨房设计的有多开放、有多人性化,他只会做到位子上,喊:“给我上菜!要好吃的!”
第一个饭店就算再开放,如果服务和菜的质量无法和第二个饭店竞争,也不会有人去吃吧。
而且IM这种东西,用户迁移成本和用户粘性都是很高的。零毫秒有什么能吸引用户的地方?既然没有,用户为什么要转用零毫秒?
为什么人们会前仆后继的研究QQ协议,用各种方式在linux上跑QQ?
零毫秒想要成功,就要有一些有竞争力的东西。而且是要对最终用户有竞争力的东西。
想想IRC吧。开放、自由、完全跨平台,但不也只有技术人员才用吗?
目前网络的发展模式是社区化、一切都以社交网络为基础。看看现在的Facebook吧。
现在一个单纯的IM是很难成功的,应该作为一个SNS的延伸。毕竟一切交流都是在“关系”的基础上的。
如果零毫秒能够和某些SNS进行整合(最好是基于开源的SNS系统进行二次开发),注重视频、语音,同时能够对文字、语音、视频记录都能进行存储,同时可以提供一个完美的timeline进行展示、回顾,才能和传统的IM相比有一定竞争力。
基于真实社会的社交即时通讯软件,可以通过某些地图服务的API,在用户完善一部分信息之后(住址、学校、工作单位),自动推荐可能认识的好友;
对于活动和聚会,可以查看人员名单,查看对方资料感兴趣之后可以直接进行即时交谈(或者通过手机端签到,列出在场人员,查看资料感兴趣之后开始即时交谈)

个人感觉现在单纯做IM的话不会有很大竞争力,毕竟个人的力量没法和那些大公司比;
关于对于社交的整合,现在还没有什么比较好的方案
可以在聊天的时候显示对方动态,好友互相评价(本人不可以删除评价),参加聚会的时候自动介绍也在聚会但不认识的人等等

人的交流本身是建立在人际交往的基础上的,所以即时通讯和sns整合的话成功的可能性应该比较大;
就像itunes,它出现之前人们普遍认为自己不需要音乐管理软件

kevin:
sns+im+各种技术圈的黑阔、程序猿、大牛
就可以推广了
至少是在这个圈子内
我想没人拒绝同时挂0MS和QQ还有MSN
SNS必须的,要不没吸引力
跨MAC。。。。谁用MAC。。。MANBOOK大多装WIN7去了。。。。。
以及要开放啊,我指别像疼树一样和谐言论
言论自由。

精英王子:
提炼出来,观点有两个:加强SNS的支持,加强粘性、关注小白用户(关心最终用户的使用体验)
有人怀疑这个项目的可行性,我想说,零毫秒有着和其他IM不同的发展路线、设计理念和追求
现在的主流IM确实不能满足极少数人的需求,虽然比例很少,但数量很客观。得到它们的认可以后。才能和其他的IM抢到一定的市场。
比如现在QQ在Linux上跑的就很不爽

//--------------------------议题3:用户体验、可读性和可维护性、运行效率哪个重要
Abreto:
你以为计算机好快?
不需要那点效率?
某个模块哪怕浪费那么一丁点儿时间, 所有模块加起来就可以慢很多
慢到卡死用户的机器
你以为那个不重要?

精英王子:
我想说,whtsky也说了,应当关心最终用户的使用体验,而不是过分的追求技术
服务器的效率很重要,这个我承认。但是客户端,我认为没有用户关心那么一点点效率问题,只要保证没内存泄露就行了
而服务器,也尽可能以代码清晰度为第一准则,因为零毫秒这样的定位,注定更新是非常频繁的。
开发效率远比运行效率重要的多。当然,服务器方面,在不影响可读性和可维护性的情况下,效率优先
而客户端,用户体验第一,可读性和可维护性其次,最后才是运行效率


//--------------------------议题4:是否采用“只有捐赠这一条收入,只接受捐赠,而且是不记名捐赠”这样的运营模式
精英王子:
零毫秒打算采用这样的运营模式:
不采用任何商业化运作,所有功能免费使用、而且开放源代码。只接受捐赠,而且是不记名捐赠,这样才能真正做到平等对待所有用户,把用户体验放在第一位。

Abreto:
10年后你看看会有几个捐赠
你捐赠过自由软件么?

精英王子:
没...
那就当我无私奉献了
毕竟我也没捐赠过别人

whtsky:
国内的氛围还是不好,捐赠的人普遍偏少,unix-center这么伟大的东西都没收到过几毛捐款

bingfeng:
连田众和都说捐赠模式不可行

精英王子:
我觉得国内捐赠很少的原因就是,根本没有真正意义上的非营利软件
很多软件除了捐赠,还有其他的收入,比如出售商业授权、广告
如果一个软件,只有捐赠这一条收入,我相信会有人捐赠的

//--------------------------议题5:不使用服务器程序直接读取用户(密码)信息数据库是否是正确的
请看   http://jybox.net/bbs/read.php?tid-315.html

//--------------------------议题6:是否应该减少宏的使用,而使用const和inline
精英王子:
很多情况下最简单的就是用宏替换,但这样会失去C++的类型检查和IDE的代码提示功能。
几乎所有书上都写着尽量不要用宏,而是用C++的特征来实现。
//--------------------------议题7:是否应该尽量使用原生介面
whtsky:
真正的跨平台并不是在各个平台上做出长相功能完全一样的程序,而是核心功能之外为每个平台用户提供特色方便的功能。
就是要在各平台充分利用各平台的特色,比如windows的任务栏右键,桌面组件什么的
还有Gnome的通知系统什么的。。

精英王子:同意,但是还有一点,我觉得初期应该采用原生介面,而不要过度美化
因为零毫秒是跨平台的,如果经过了自己的美化,在各个平台下显示效果都一样,和各个平台的系统介面格格不入,难看的很
而如果使用原生介面,QT可以保证在合适的系统下使用合适的外观。与系统介面贴和更紧密,才算真正的简洁大方
//--------------------------议题8:源文件是否应该在头部添加版权和作者信息
精英王子:
文件头部保持空白,所有作者、修改者、修改内容等信息请通过svn查看

Abreto:
难道我update了过后还要上svn慢慢的翻记录么?
我直接看一下注释就可以明白的事情为什么要复杂化成查svn
你去看看其他软件的源码的文件头部

精英王子:
你打算在头部留多少信息?也就是一次嘛..
再说以后svn是天天都要去的地方
...但是这会让文件看起来更复杂
而且关键问题是源文件不应该承担这个任务,版本控制应该是版本控制系统应该做的
其他大型软件有专门用来维护文件头部的批处理,不信你看他们的头部都有些奇怪的字符
也是自动化的,而且我估计只有对外发布的源文件头部才有版权信息

你要在文件和svn里双份保存?
资源重用是最基本的,同一个东西不能同时保存在两个地方
在看完修改者和原因之后势必要看看他到底修改了哪些代码,这还是要回到svn


abreto 2011-10-18 22:50
捐赠实在不是一条很好的路,现在来说

jybox 2011-10-18 23:06
abreto:捐赠实在不是一条很好的路,现在来说 (2011-10-18 22:50) 

那么多议题呢,你就打算说这些?

但是我感觉,国人的版权意识需要我们来培养

abreto 2011-10-18 23:16
jybox:[表情]那么多议题呢,你就打算说这些?
但是我感觉,国人的版权意识需要我们来培养 (2011-10-18 23:06) 

我们这一代可以培养,上一代废了

whtsky 2011-10-19 19:59
JAVA这种慢到渣的东西都能拿来写爪机操作系统了
Client的开发效率比运行效率重要得多

jybox 2011-10-19 20:22
whtsky:JAVA这种慢到渣的东西都能拿来写爪机操作系统了[表情]
Client的开发效率比运行效率重要得多 (2011-10-19 19:59) 

服务器呢?

whtsky 2011-10-19 20:32
jybox:服务器呢? (2011-10-19 20:22) 

服务器如果VPS的话果断c系啊
如果资源充足的话......其实豆瓣、dropbox和facebook(一部分)的后台都是python的
完全可以用脚本语言,虽然运行效率低但是开发效率高

jybox 2011-10-19 20:54
whtsky:服务器如果VPS的话果断c系啊
如果资源充足的话......其实豆瓣、dropbox和facebook(一部分)的后台都是python的
完全可以用脚本语言,虽然运行效率低但是开发效率高 (2011-10-19 20:32) 

对了,关于用户信息获取的问题,经过我的再次考虑,这个项目使用php代码确实不恰当
但是肯定不能直连,(0.2版起)可以用一个C++的程序,代替PHP行使验证密码的功能
这样,如果某些用户需要直连,也可以简单的COPY一下代码,实现直连

jybox 2011-10-19 20:54
whtsky:服务器如果VPS的话果断c系啊
如果资源充足的话......其实豆瓣、dropbox和facebook(一部分)的后台都是python的
完全可以用脚本语言,虽然运行效率低但是开发效率高 (2011-10-19 20:32) 

我是说你觉得服务器方面,运行效率和开发效率哪个重要

whtsky 2011-10-19 21:16
jybox:我是说你觉得服务器方面,运行效率和开发效率哪个重要 (2011-10-19 20:54) 

必然开发效率
运行效率可以慢慢改进

whtsky 2011-10-19 21:17
jybox:对了,关于用户信息获取的问题,经过我的再次考虑,这个项目使用php代码确实不恰当
但是肯定不能直连,(0.2版起)可以用一个C++的程序,代替PHP行使验证密码的功能
这样,如果某些用户需要直 .. (2011-10-19 20:54) 

模块化......

jybox 2011-10-19 21:26
whtsky:模块化...... (2011-10-19 21:17) 

咋了

kevin 2011-10-19 21:26
jybox:我是说你觉得服务器方面,运行效率和开发效率哪个重要 (2011-10-19 20:54) 

运行,没得说

jybox 2011-10-19 21:33
kevin:运行,没得说 (2011-10-19 21:26) 

出分歧了..

whtsky 2011-10-19 21:41
必然开发…一个光速的简陋im和一个稍慢的牛xIM,想必都会选后者…再说运行效率可以慢慢改进,开发效率这货…

内容来自[手机版]

kevin 2011-10-20 13:45
jybox:[表情]出分歧了.. (2011-10-19 21:33) 

关键你要做多大的,要是几十个人那随便怎么都行,要是规模大了你懂得

jybox 2011-10-20 19:27
kevin:关键你要做多大的,要是几十个人那随便怎么都行,要是规模大了你懂得 (2011-10-20 13:45) 

这和多少个人没关系啊

abreto 2011-10-21 19:52
whtsky:必然开发…一个光速的简陋im和一个稍慢的牛xIM,想必都会选后者…再说运行效率可以慢慢改进,开发效率这货…
内容来自[手机版]  (2011-10-19 21:41) 

你是打错了还是打错了

jybox 2011-10-21 19:56
abreto:你是打错了还是打错了 (2011-10-21 19:52) 

没发现错字,你就不能说点有用的?

abreto 2011-10-21 20:37
jybox:[表情]没发现错字,你就不能说点有用的? (2011-10-21 19:56) 

自己分析逻辑去

jybox 2011-10-21 20:54
abreto:自己分析逻辑去 (2011-10-21 20:37) 

你就不能看看后半句话?

whtsky 2011-10-26 22:02
聊天软件如果保存聊天记录会涉及到大量数据库读写
mysql性能令人堪忧啊。。
mongodb或许是个好选择
至于和论坛互通,完全可以提供论坛用户一键注册0MS的功能。。还避免了数据库冗余。。

jybox 2011-10-26 23:17
whtsky:[表情] 聊天软件如果保存聊天记录会涉及到大量数据库读写
mysql性能令人堪忧啊。。
mongodb或许是个好选择
至于和论坛互通,完全可以提供论坛用户一键注册0MS的功能。。还避免了数据库冗余。。 (2011-10-26 22:02) 

消息记录打算用SQLite
不过没关系,QT换数据库就是一句话的事

为神马你们那么抵触和论坛互通呢.....
一键注册那样才有数据冗余呢...

whtsky 2011-10-26 23:25
倒不是抵触,(建议官方源码不互通,方便二次开发和部署等等),只是再说效率。sqlite的插入性能还不如mysql呢(而且这货很容易锁死)…传统关系数据库在面对高并发的时候比较无力啊。

内容来自[手机版]

jybox 2011-10-26 23:28
whtsky:倒不是抵触,(建议官方源码不互通,方便二次开发和部署等等),只是再说效率。sqlite的插入性能还不如mysql呢(而且这货很容易锁死)…传统关系数据库在面对高并发的时候比较无力啊。
内容来自[ .. (2011-10-26 23:25) 

我已经表态过了...我会方便开发者的二次开发的....开发者更改验证方式将会很简单

另外,貌似你说的那个数据库还没QT的驱动....有点困难,还是在mysql和sqlite选一个吧,可以通过其他途径来解决效率问题

whtsky 2011-10-26 23:31
sqlite并发低、大数据量效率低、插入慢,jy你居心何在→_→

内容来自[手机版]

jybox 2011-10-26 23:34
whtsky:sqlite并发低、大数据量效率低、插入慢,jy你居心何在→_→
内容来自[手机版]  (2011-10-26 23:31) 

部署方便,mysql需要安装和配置,而sqlite什么都不用做
再说,在QT里面,改数据库就是一句话的事,到时候再说也行.......

你的话似乎有点矛盾
你希望服务器直连数据库是为了方便,易于部署
选用mysql又是为了效率

再ps..我没对比过mysql和sqlite,相信你也没实际测试过,到时候试试再说吧

whtsky 2011-10-26 23:34
蛋疼,有联通需求的肯定小于没有的啊,还是源码没有然后上一份联通教程比较好。至于数据库,如果坚持关系型数据库的话用户信息sqlite,聊天记录mysql比较好。

内容来自[手机版]

whtsky 2011-10-26 23:38
其实mongodb装好之后就有c++头文件可以用了…而且mongodb在im里表现肯定比关系型数据库好

内容来自[手机版]

jybox 2011-10-26 23:39
whtsky:蛋疼,有联通需求的肯定小于没有的啊,还是源码没有然后上一份联通教程比较好。至于数据库,如果坚持关系型数据库的话用户信息sqlite,聊天记录mysql比较好。
内容来自[手机版]  (2011-10-26 23:34) 

互通实在是为了安全性.....这个...我感觉不应该有什么分歧

至于消息记录,sqlite确实效率不佳.........

whtsky 2011-10-26 23:39
直连是因为php根本没有必要…

内容来自[手机版]

whtsky 2011-10-26 23:42
其实我试过mysql和sqlite,以前python写的一个文件搜索,很明显感觉sqlite插入那叫一个慢…具体select的性能倒是没感觉出明显差别(数据量小)

内容来自[手机版]

whtsky 2011-10-26 23:45
疼了,真不明白互通和安全性之间的关系…

内容来自[手机版]

jybox 2011-10-26 23:53
whtsky:疼了,真不明白互通和安全性之间的关系…
内容来自[手机版]  (2011-10-26 23:45) 

大体上,软件设计有这样一个原则
“最小权限原则”,即要在可能的情况下,给一段代码或一个程序最小的权限。

不让程序接触到与它无关的数据。
这样一方面是保证安全性,一方面是方便设计。

在这里,服务器程序只需要知道密码(是经过不可逆加密的)对不对,而没必要知道密码。
再从整体上看,服务器程序只有这么一个地方需要访问数据库,而数据库实际上是属于论坛服务器的。本来只有php可以访问数据库,如果允许服务器程序直连,那就又引入了一个可以访问服务器的模块,把敏感数据带出了更远。
所以要通过一个具有最小权限的api借口来验证密码。

而对开发者来说,同样,服务器程序不需要访问整个数据库。登陆验证是一个比较敏感的操作,而且登陆验证又不像记录聊天记录那么频繁,所以不给服务器程序访问数据库的权限是有必要的。

//下面来自百度
最小特权原则是系统安全中最基本的原则之一。所谓最小特权(Least Privilege),指的是"在完成某种操作时所赋予网络中每个主体(用户或进程)必不可少的特权"。最小特权原则,则是指"应限定网络中每个主体所必须的最小特权,确保可能的事故、错误、网络部件的篡改等原因造成的损失最小"。


whtsky 2011-10-27 00:02
php和c速度不在同一数量级;而且im不可能只有这一个数据库操作;“本来只有php可以访问数据库”是你个人的情况…

内容来自[手机版]

whtsky 2011-10-27 00:08
试试mongodb吧,效率高而且不会锁死,扩展也方便

内容来自[手机版]

jybox 2011-10-27 19:47
whtsky:php和c速度不在同一数量级;而且im不可能只有这一个数据库操作;“本来只有php可以访问数据库”是你个人的情况…
内容来自[手机版]  (2011-10-27 00:02) 

以后是会有专门负责管理数据库的服务器程序的...

jybox 2011-10-27 19:47
whtsky:试试mongodb吧,效率高而且不会锁死,扩展也方便
内容来自[手机版]  (2011-10-27 00:08) 

表示没QT插件

whtsky 2011-10-27 20:03
…装好mongodb之后就可以直接调用头文件了,官方自带

内容来自[手机版]

jybox 2011-10-27 20:20
whtsky:…装好mongodb之后就可以直接调用头文件了,官方自带
内容来自[手机版]  (2011-10-27 20:03) 

那样需要为mongodb和mysql/sqlite编写两份代码.....

太蛋疼了,要不咱直接给mongodb写个Qt驱动吧


不过话说它的知名度有点低,更偏离你易用的宗旨了

whtsky 2011-10-27 20:26
mongodb完全可以代替mysql和sqlite..写qt驱动求意义;而且最近mongodb应该是比较火啊…facebook和sf.net都用,知名度也不低哎+_+

内容来自[手机版]

jybox 2011-10-27 21:24
whtsky:mongodb完全可以代替mysql和sqlite..写qt驱动求意义;而且最近mongodb应该是比较火啊…facebook和sf.net都用,知名度也不低哎+_+
内容来自[手机版]  (2011-10-27 20:26) 

不写驱动就得单独给它写一份代码,就不能随时更换到其他数据库
会失去Qt的很多功能

到时候要来回转换数据类型,太蛋疼了

不过它确实没知名度,我之前都没听说过.......另外,话说你用过么,我怀疑我都配置不好

whtsky 2011-10-27 21:48
直接安装完破…你没听说过什么的…自粽吧…用函数封装数据库操作啊

内容来自[手机版]

jybox 2011-10-27 22:03
whtsky:直接安装完破…你没听说过什么的…自粽吧…用函数封装数据库操作啊
内容来自[手机版]  (2011-10-27 21:48) 

需要把qstring转换成const char*,然后还得转换回来,还有其他的类型Qbytearray、QList、QVariant云云的都要转换
数据集要用他定义的格式.....QT的功能都用不上

PHP怎么连接还不知道呢

用户听没听说过也未知

whtsky 2011-10-27 22:12
qstring不用转,直接insect

内容来自[手机版]

whtsky 2011-10-27 22:19
http://www.linuxidc.com/Linux/2011-08/41045p2.htm

内容来自[手机版]

whtsky 2011-10-27 22:42
没办法了…数据库是给服务器用的,你不得不承认qt写server不是一个好选择…

内容来自[手机版]

jybox 2011-10-27 22:51
whtsky:http://www.linuxidc.com/Linux/2011-08/41045p2.htm
内容来自[手机版]  (2011-10-27 22:19) 

发现MongoDB的几个严重问题
1.基于AGPL,要求必须开放源代码,即使是个人使用...
2.对SQL支持不是很好(貌似根本不支持),太坑爹了....你叫我怎么用啊.....
3.没全文检索,这个关系倒不是很大
4.只对C++支持比较好......这个关系也不算太大,但也有些坑爹


而且SQLite可以开启非关系模式...再而且你没有证据证明他们有多大的差异
我发现还是SQLite好,起码可以快速切换到其他数据库(mysql、mssql等等)

用QT搞MongoDB基本没戏,你太极端了

jybox 2011-10-27 22:56
whtsky:没办法了…数据库是给服务器用的,你不得不承认qt写server不是一个好选择…
内容来自[手机版]  (2011-10-27 22:42) 

不可能了,它没SQL...根本不行
mongodb适用于极大量数据,但事实上消息记录的数据并不多
而且在我的设计里,数据库只存最近一两个月的,其他导出到文件,或者到其他数据库

whtsky 2011-10-27 23:17
jybox:发现MongoDB的几个严重问题
1.基于AGPL,要求必须开放源代码,即使是个人使用...
2.对SQL支持不是很好(貌似根本不支持),太坑爹了....你叫我怎么用啊.....
3.没全文检索,这个关系倒不是很大
....... (2011-10-27 22:51) 

1.你本来就开放源代码
2.坑爹,他就不是SQL啊!!!!!!!!!!!!人家是NoSQL!!!!!!
你当是GAE啊还给你搞个GQL!!!!!!!!!!!
3.略过
4.据我所知python没有问题




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.067881 second(s),query:5 Gzip enabled