待办事项列表长期以来一直是 Basecamp 中最受欢迎的功能之一,因此我们认为,将该特定功能与整个世界分享将是一次很好的尝试。免费。于是 Ta-da List 诞生了!
Ta-da 用户导向亮点
- 广泛使用 XMLHttpRequest:使用远程调用添加新项目并勾选它们,这些调用更改它们在数据库中的状态,同时使用 Javascript 更新视图。这使向列表中添加新项目变得非常快,并且不受大多数此类应用中 10 个预定义字段的限制。
- 使用唯一 URL 进行海量分享:分享列表是从未有的容易,因为无需记住密码。取而代之的是,每个人都会收到一个独特的 URL,他们可以立即将其加入书签。32 个字符和 MD5 哈希,对于此类应用程序来说,它提供了充足的安全性,而且使用起来更容易。
- 收集所有分享:通过允许你与任何电子邮件地址分享任何列表,我们已经实现了病毒传播。在对你上瘾之前,注册障碍已被推迟,而一旦上瘾,你就会在注册时自动收集所有分享。这意味着你可以在控制台中获得它们,并将加入书签的列表减少为一个 URL。
适合技术人员
- 三个级别的缓存:我在 Rails 中为 Action Pack 实施了页面、动作和片段 缓存,这样我才能在 Ta-da 中使用它。它工作得非常好。由于缓存,许多页面从 50-70 次/秒的请求增加到 400-1100 次/秒的请求。
- 579 行代码:包括模型、控制器和帮助器。它真的非常精炼,也很容易读懂。令人高兴的是,使用最新版本的 Rails(特别是 0.9.x 系列)在新的代码库中制作应用程序时,它可以做到多么小。在 Basecamp 中,我经常使用早于 Rails 发布时期的代码,因此,这是一次令人愉快的风景变化。
- 最后 FastCGI:由于各种原因,Basecamp 仍在运行 mod_ruby,但 Ta-da 在 FastCGI 上全新推出。它在内存消耗方面带来了多么大的不同啊!我们目前正在运行五个 FCGI 进程(这已经相当足够),每个进程大约消耗 15MB 内存。最重要的是,我们获得了 50 个 Apache 进程,每个进程大约消耗 3.5MB 内存。对于整个设置,这仅仅是 250MB。与我们在 Basecamp 中的情况非常不同,在 Basecamp 中,我们拥有 40-60 个 Apache 进程,每个进程消耗 40MB 内存。
此外,当我们突破注册人数 1000 人仅数小时后,情况似乎已经开始飞速发展!并且它正在随处成为博客话题。Justin French 在一篇非常棒的博文中讲述了他如何切换了他的工作流程。Tobias Luetke 已经编写了一个脚本 使用 Ruby 将 Ta-da 集成到你的网站中。