一直在写渲染相关的东西,前两天想放松一下,就用GAE搭了个照片日志。基本的设计思路是,每天用照片记录下生活的点滴,然后上传到网络供亲友间分享和日后回味。照片按拍摄日期进行管理和检索,并以日志的形式来显示。
相对于现有的各大门户提供的相册服务,大都是以照片集的方式来进行管理,貌似还没有原生支持日志式发布的产品。而且界面复杂,揉合了各种杂七杂八的社交功能(甚至广告),非常不喜(尤其以QQ空间为最)。所以我将页面简洁作为首要的设计原则。此外,GAE有1G的免费空间,足以媲美大部分的免费相册。借助GAE部署工具,照片更新上传速度非常迅速。而免费用户有1G的下行带宽,在我实际使用中,即使在开着VPN的情况下,访问速度也很令人满意。
但有一个最致命的缺陷,这也是我在部署到GAE服务器之后才发现的,那就是Google App被墙了(Fuck GFW 10,000遍啊!)。我原本是写了命令行发布工具的,结果部署之后死活连不上服务器,枉我还调试了半天。最后只好改为基于HTML的客户端,走浏览器以便使用各种翻墙工具。
具体效果请访问我的相册日志(请开启翻墙模式),而代码则托管在Google Code上。
工程下包括3个目录:
- Client:客户端照片更新工具和帐号管理工具,用Python3写的
- Server:部署到GAE的服务器部分,Python2.6
- Tools:照片处理工具(基于FreeImage,目前只有Windows版本)
第一次使用的时候需要到 client/config.py 和 server/config.py 下设置一些参数,包括本地照片目录,你的APP地址,照片规格等。然后运行 client/user.py,创建管理员帐号。这样初始化就完成了。每天更新照片的时候就执行 client/upadate_photos.py,它会自动搜索指定日期的照片并调整尺寸,然后复制到Server目录下。完成之后会弹出一个页面,你可以为每一张照片添加说明,并提交到服务器。最后就是运行GAE部署工具,将照片文件实际上传到GAE的服务器。
整个过程还是不够简单。如果对网络通信熟悉,应该可以再写一个脚本来自动化整个流程(原本我也是这样做的,但由于墙的存在…)。对于普通用户来说,可能还需要一个漂亮简洁的客户端。但作为我的玩具,暂时这样也就足够了
。当然,我是欢迎有兴趣的朋友加入进来继续完善的。

0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.