CN102460413A - 网络可访问的协作注解工具 - Google Patents
网络可访问的协作注解工具 Download PDFInfo
- Publication number
- CN102460413A CN102460413A CN2010800287815A CN201080028781A CN102460413A CN 102460413 A CN102460413 A CN 102460413A CN 2010800287815 A CN2010800287815 A CN 2010800287815A CN 201080028781 A CN201080028781 A CN 201080028781A CN 102460413 A CN102460413 A CN 102460413A
- Authority
- CN
- China
- Prior art keywords
- suggestion
- user
- content
- input
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Economics (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种网络可访问工具箱准许进行协作注解,从而促进用户间的交互和通信。在一种实施方式中,可以对web页、或者可通过网络或互联网访问的其他页面或文档上的内容进行注解。用户可以查看页面,并且利用工具箱选择页面上的内容并做出注解或者建议。多个用户可以同时查看相同页面并对该页面做出注解。在注解被做出之后,用户可以查看具有其他用户所做的注解的页面。页面的创作者或者所有者可以接受或者拒绝对该页面所做的注解或者建议。如果所有者接受特定建议,则所选内容被该建议替代。
Description
相关申请的交叉引用
本专利申请要求于2009年4月24日递交的美国临时专利申请61/172,605和于2009年5月15日递交的美国临时专利申请61/178,933的优先权,它们的内容以及本申请中引用的所有其他参考文献的内容通过引用被结合于此。
技术领域
本发明涉及信息网络领域,更具体地涉及在社交网络社区中开发、提供、以及共享内容的技术,尤其涉及提供用于学习的沉浸式协作环境的一种技术。
背景技术
互联网和万维网(WWW)在如何交换信息方面带来了巨大的变化。互联网被称为“信息高速路”,并且方便了在美国以及全世界范围内向大量人快速传播信息。通过Web,用户可以诸如通过超链接页面更容易地“公布”或者使其他人能够获取很多不同种类的信息和内容。这种信息包括例如,报纸文章、科学论文、文学作品、商业文章、社会评论、政治评论、以及娱乐专栏。
互联网继续发展和进步。Web不仅仅方便了人们从社会机构源提取信息。通过诸如网络日志或博客、维基(wiki)、播客、论坛、以及在线社交社区之类的呈现信息的新来源和途径,信息正在被民主化。结果是人们可以在其中公布、添加以及编辑内容的更加社会化地连接的社区。
通过互联网,人们想要找到分享类似的兴趣和活动的其他人并与这些人连接。他们想要获知其他人知道的东西。他们想要教给其他人他们知道的东西。所以,需要用于开发、提供以及共享内容,尤其用于支持充满活力的社交网络社区的新的改进技术。
发明内容
一种网络可访问工具箱准许进行协作注解,从而促进用户间的交互和通信。在一种实施方式中,可以对web页或者可通过网络或互联网访问的其他页面或文档上的内容进行注解。用户可以查看页面,并且利用工具箱选择页面上的内容并做出注解或者建议。多个用户可以同时查看相同页面并对该页面做出注解。在注解被做出之后,用户可以查看具有其他用户所做的注解的页面。页面的创作者或者所有者可以接受或者拒绝对该页面所做的注解或者建议。如果所有者接受特定建议,则所选内容被该建议替代。
Web页或者其他网络可访问的页面上的内容可以被注解。在一种具体实施方式中,基于web的工具箱或者其他网络可访问的工具箱包括用于选择页面上的内容部分并且针对所选择的内容做出建议的工具。其他用户可以查看建议、所选择的内容、以及该内容。内容创作者或者提供者可以接受或者拒绝建议。如果建议被接受,则所选择的内容被建议替代。在一种实施方式中,建议被存储在与该页面分离的位置(例如,分离的文件或者分离的数据库)中。
在一种具体实施方式中,该系统包括在在线英语教育方面提供帮助的工具箱程序或者应用。该工具箱包括建议工具(例如,选项或者应用)。建议工具可以被用来例如对诸如EnglishCafe.com上的web页之类的任何web页上的任何键入的文本提出对拼写、语法、或者标点编辑的建议。
即,本发明的具体方面被实现在被称为EnglishCafe的web站点处。EnglishCafe为专注于英语学习的社区提供服务。EnglishCafe可以被与具有教授学生英语的在线课程的电子学习站点(例如,GlobalEnglish)相关联。可以给电子学习站点的每个学生加入EnglishCafe社区站点的机会,其中每个学生可以创建它们自己的页面供其他人查看。社区成员不需要必须是老师或者与电子学习站点有关的用户。
如果建议被博客所有者接收到,则博客所有者可以批准该建议或者丢弃该建议。可以通过简单地选择用户觉得可以改善的文本来提交建议。可以访问工具箱程序的一个或多个选项的用户的示例包括EnglishCafe用户、经认证的EnglishCafe用户、以及匿名用户。
在一种具体实施方式中,工具箱被用来对博客贴子(blog post)给出纠正建议。该工具箱是用户友好的,并且对于所有用户来说都是很容易访问的。
在这种具体实施方式中,可通过EnglishCafe.com环球网站点来访问该工具箱。当EnglishCafe用户登录到该web站点时,用户被连接到EnglishCafe服务器。当该工具箱被访问时,输入的任何内容被保存在数据库服务器中并且从该数据库服务器中被检索。这些数据将被反映在博客或者web站点的“给出的建议”和“接收的建议”部分中。在这种具体实施方式中,工具箱不是孤立的单个用户系统组件。即,任何EnglishCafe用户都可以做出建议,但是只有博客所有者可以批准、同意、或者丢弃建议。
提供给工具箱的用户的各种服务是基于用户类型的。在一种实施方式中,工具箱包括五个组件。这五个组件包括做出建议、对其进行翻译、对其进行收听、复制、以及援引。
经认证的用户可以利用工具箱所提供的所有的以上服务。匿名用户尽可以利用针对博客贴子的文本的“对其进行翻译”、“对其进行收听”以及“复制”服务。
更具体地,做出建议组件被用来向博客所有者给出用于表达他们自己的被选方式的建议。对其进行翻译组件被用来将博客的特定文本翻译为用户期望的语言。工具箱中已经设置了能用于翻译的一些预先安装的语言。对其进行收听组件被用于以所选择的期望的声音来收听博客的特定文本。复制组件被用于复制博客的特定文本并将其用于参考。援引组件在评论博客的特定文本而不是对整个博客给出一般性评论时被使用。
在一种实施方式中,使用建议工具做出的评论在被博客作者批准之后可以替换掉被选择的文本。这种方法不仅对于评论而且对于建议和纠正都比较简单。该工具允许对建议进行说明。该工具允许对相同文本做出多个建议。在进一步的实施方式中,该工具不仅允许建议,而且允许对其进行翻译特征、对其进行收听特征、对其进行复制特征、对其进行援引特征、以及它们的任何组合。
在一种具体实施方式中,对文档进行注解的方法包括允许第一用户访问文档。由第一用户访问的文档包括由第二用户提供的内容和被嵌入的可执行代码。使用文档的可执行代码来检测对第一用户对于内容中的第一文本选择的指示。在检测到对第一用户的指示之后,使用可执行代码来搜寻来自第一用户的第一建议输入。存储来自第一用户的第一建议输入。在存储了来自第一用户的第一建议输入之后,向第二用户示出来自第一用户的第一建议输入。向第二用户呈现用于接受第一建议输入的第一选项和用于拒绝第一建议输入的第二选项。当第二用户接受第一建议输入时,用第一建议输入来替换文档的由第二用户提供的内容中的第一文本选择。
在一种实施方式中,当第二用户拒绝第一建议输入时,该方法包括:不用第一建议输入来替换该文档的由第二用户提供的内容中的第一文本选择。
向第二用户示出来自第一用户的第一建议输入可以包括向第二用户显示由第二用户提供的内容和该文档。显示包括第一框和第二框的工具箱对话框,其中第一框包括第一文本选择,第二框包括第一建议输入,并且工具箱对话框被叠加在该文档的至少一部分上。
在一种实施方式中,在第二用户接受第一建议输入之前,对第一文本选择进行替换,该方法包括:允许第三用户访问该文档。使用文档的可执行代码来检测对第三用户在内容中的第二文本选择的指示,其中第二文本选择包括第一文本选择的至少一部分。在检测到对第三用户的指示之后,使用可执行代码来搜寻来自第三用户的第二建议输入。存储来自第三用户的第二建议输入。在存储了来自第三用户的第二建议输入之后,向第二用户示出来自第三用户的第二建议输入。向第二用户呈现用于接受第二建议输入的第三选项和用于拒绝第二建议输入的第四选项。当第二用户接受第二建议输入时,用第二建议输入替换该文档的由第二用户提供的内容中的第二文本选择。并且在进行第二文本选择的替换之后,不准许第二用户接受第一建议输入。
在一种实施方式中,在第二用户接受第一建议输入之后,用第一建议输入替换该文档的由第二用户提供的内容中的第一文本选择,该方法包括:允许第三用户访问文档,其中第三用户访问的文档包括由第二用户提供的内容、被接受的第一建议输入、以及被嵌入的可执行代码。使用文档的可执行代码来检测对第三用户在内容中进行的第二文本选择的指示,其中第二文本选择包括被接受的第一建议输入的至少一部分。在检测到对第三用户的指示之后,使用可执行代码来搜寻来自第三用户的第二建议输入。存储来自第三用户的第二建议输入。在存储了来自第三用户的第二建议输入之后,向第二用户示出来自第三用户的第二建议输入。向第二用户呈现用于接受第二建议输入的第三选项和用于拒绝第二建议输入的第四选项。并且当第二用户接受第二建议输入时,用第二建议输入替换包含有被接受的第一建议输入的至少一部分的内容中的第二文本选择。
该方法还可以包括:寻求来自第一用户的对第一建议输入的说明,存储该说明,以及在向第二用户呈现用于接受第一建议输入的第一选项和用于拒绝第一建议输入的第二选项期间向第二用户呈现该说明。
在对由第二用户提供的内容中的第一文本选择进行替换之前,该方法可以包括:提示第二用户确认对于第一建议输入的接受。
该方法还可以包括:当第二用户接受第一建议输入时,向第一用户发送通告以通知第一用户第一建议输入被接受。
在一种具体实施方式中,一种系统包括服务器,一组客户设备能够经由网络访问该服务器。该服务器存储一组文档,其中每个客户端设备能够经由网络访问这些文档。每个文档包括被嵌入的执行代码,并且当该代码被传送到客户端设备时,调用建议工具应用以在客户端设备处运行。在客户端设备处执行的建议工具检测客户端设备处的第一用户对被传送到客户端设备的第一文档的第一内容做出的任何选择,并且对于每个被检测出的对第一内容的一部分的选择从第一用户请求建议。第一内容由第二用户提供。
存在驻留在连接到服务器的存储设备上的建议数据库。建议数据库包括针对第一文档的第一内容做出的每条建议的条目,每个条目包括建议字段和位置字段。建议字段包括建议的文本,位置字段包括该建议在第一内容中被做出的位置。
存在驻留在连接到服务器的存储设备上的用户内容数据库。用户内容数据库包括包含有内容字段的条目。内容字段包括第一内容的文本,并且当第二用户接受建议时,由该位置所指示的该建议被做出的第一内容的文本部分被该建议替代。
建议数据库中的每个条目包括用于参引用户内容数据库中的第一内容的段落标识符字段。在一种实施方式中,建议数据库中的每个条目的位置字段是第一位置字段,并且建议数据库中的每个条目包括第二位置字段。第一位置字段指示所检测出的选择的起始位置,第二位置字段指示所检测出的选择的结束位置。
在一种实施方式中,在客户端设备上执行的建议工具针对每个所检测出的对第一内容的一部分的选择从第一用户请求对建议的说明。该说明可以被存储在建议数据库中。该说明是可选的。
在一种具体实施方式中,一种方法包括从第一用户的第一客户端设备接收针对内容的第一被选部分的第一建议信息。该内容由第二用户提供。第一建议信息包括供第二用户接受或拒绝的针对内容的第一被选部分的第一建议。
该方法包括将第一建议、以及第一起始和结束位置存储在建议数据库中。第一起始位置指示内容中的第一被选部分开始的位置,第一结束位置指示内容中的第一被选部分结束的位置。第一被选部分在第一起始和结束位置之间。
该方法还包括:接收对第二用户已经接受第一建议的指示;在接收到指示之后,从建议数据库检索第一建议;并且在第一起始和结束位置所指示的位置处将所检索出的第一建议插入到内容中,从而使得内容的第一被选部分被第一建议替代。
在一种具体实施方式中,该方法还包括:从第三用户的第二客户端设备接收针对内容的第二被选部分的第二建议信息。第二建议信息包括供第二用户接受或拒绝的针对内容的第二被选部分的第二建议。该方法还包括将第二建议、以及第二起始和结束位置存储在建议数据库中。
第二起始位置指示内容中的第二被选部分开始的位置,第二结束位置指示内容中的第二被选部分结束的位置,并且第二被选部分在第二起始和结束位置之间。该方法还包括:接收对第二用户已经接受第二建议的指示;在接收到对第二用户已经接受第二建议的指示之后,从建议数据库检索第二建议;在第二起始和结束位置所指示的位置处将所检索出的第二建议插入到内容中,从而使得第二被选部分被第二建议替代。第二被选部分可以包括第一建议的至少一部分。
在一种具体实施方式中,该方法还包括:在接收对第二用户已经接受第一建议的指示之前,从第三用户的第二客户端设备接收第二建议信息。第二建议信息包括供第二用户接受或拒绝的针对内容的第二被选部分的第二建议。第一和第二被选择部分的至少一部分重叠。
该方法还包括:将第二建议存储在建议数据库中;在接收到对第二用户已经接受第一建议的指示之后,不准许第二用户接受第二建议。
第一起始位置可以是第一数值,第二起始位置可以是大于第一数值的第二数值。
内容可以被存储在与建议数据库相分离的用户内容数据库中。建议数据库可以远离第一客户端设备。在线内容可以被存储在与建议数据库相分离的用户内容数据库中。在一种实施方式中,工具箱工具被实现为基于云端的工具。建议或者注解可以被与内容本身分开存储(例如,不同的文件)。但是,建议和内容可以驻留在相同的硬件驱动器上或者相同的文件夹或者目录中,或者被存储在不同的硬件驱动器上或者不同的目录中。
在各种具体实施方式中,建议工具准许选择页面上的文本的任意数目的字符(而不仅仅是选择空格之间的单词或者字符)。建议工具准许选择跨越段落边界的多个段落或单词(或者包括回车字符)。选择工具允许以下选择:通过在单词上双击(例如,使用鼠标、手指或触笔)来选择单词;在所选择的单词上双击来选择句子(该句子以句号、问号、或者其他标点符号结束);或者在所选择的句子上双击来选择段落(该段落可以以回车结束);或者这些选择技术的任何组合。该选择工具允许用户做出在建议中包括回车字符的建议。所以,两个以上段落可以被作为建议键入。
在考虑下面的详细描述和附图后本发明的其他目的、特征、和优点将变得显而易见,其中相同的参考标号贯穿附图代表相同的特征。
附图说明
图1示出了可以实现本发明的实施例的客户端—服务器系统和网络的简要框图。
图2示出了可以用于实现本发明的示例性客户端或计算机的更详细的示意图。
图3示出了用于执行诸如Web浏览器之类的应用程序的客户端计算机系统的系统框图。
图4A示出了本发明的系统的具体实施方式的框图。
图4B示出了由第一用户提供的内容被第二用户创建的建议替代的示例。
图5示出了存储信息的各种数据结构中的一些数据结构的具体实施方式。
图6示出了本发明的用于访问工具箱程序的选项的流程图。
图7示出了当用户选择内容的一部分时被调用的工具箱的示例。
图8示出了用于向提供内容的用户做出建议的流程图。
图9示出了工具箱的建议视图。
图10示出了用于批准和拒绝建议的流程图。
图11示出了具有针对用户所提供内容的建议的Web页的示例。
图12示出了批准或拒绝建议的工具箱的查看视图的示例。
图13示出了其中两个建议被与同一被选内容相关联的Web页的示例。
具体实施方式
图1是结合了本发明的实施例的分布式计算机网络100的简要框图。计算机网络100包括经由多个通信链路128耦合到通信网络124的多个客户端系统113、116和119、以及服务器系统122。通信网络124提供用于使分布式网络100的各种组件相互通信并交换信息的机制。
通信网络124本身可以包括多个相互连接的计算机系统和通信链路。通信链路128可以是硬件链路、光纤链路、卫星或其他无线通信链路、波传播链路、或者用于信息的传达的任何其他机制。各种通信协议可以被用来帮助图1中所示的各种系统之间的通信。这些通信协议可以包括TCP/IP、HTTP协议、无线应用协议(WAP)、特定于供应商的协议、定制协议、以及其他协议。尽管在一个实施例中,通信网络124是互联网,但是在其他实施例中,通信网络124可以是包括局域网(LAN)、广域网(WAN)、无线网、内联网、专用网、公用网、交换网、以及这些网络的组合等在内的任何适当的通信网络。
图1中的分布式计算机网络100仅用于说明包含本发明的实施例,而不用于限制权利要求中叙述的本发明的范围。本领域的普通技术人员将认识到其他的变形、修改、和替代。例如,一个以上服务器系统122可以被连接至通信网络124。作为另一个示例,多个客户端系统113、116和119可以经由接入运营商(未示出)或者经由一些其他的服务器系统被耦合至通信网络124。
客户端系统113、116和119一般从提供信息的服务器系统请求信息。因此,服务器系统一般具有比客户端系统更大的计算和存储容量。但是,特定的计算机系统可以根据该计算机系统是在请求信息还是在提供信息而充当客户端或服务器。另外,尽管已经使用客户端—服务器环境描述了本发明的多个方面,但是应该明白本发明也可以被实现在单独的计算机系统中。
服务器122负责从客户端系统113、116和119接收信息请求,执行满足请求所需的处理,以及将对应于请求的结果递送回作出请求的客户端系统。满足请求所需的处理可以由服务器系统122执行,或者替代地可以被委派给连接至通信网络124的其他服务器。
根据本发明的教导,客户端系统113、116和119使得用户能够访问并查询服务器系统122存储的信息。在一个具体实施例中,客户端系统上执行的“web浏览器”应用使得用户能够选择、访问、检索、或者查询服务器系统122存储的信息。Web浏览器的示例包括由Microsoft Corporation(微软公司)提供的Internet Explorer浏览器程序(例如,版本6.0和7.0)、由Mozilla提供的Firefox浏览器、由Apple Corporation(苹果公司)提供的Safari浏览器和Mobile Safari浏览器、由Google(谷歌)提供的Chrome浏览器、以及由Opera Software提供的Opera浏览器等。
图2示出了本发明的示例性客户端系统(或服务器系统)。在一个实施例中,用户通过诸如图2中所示的计算机工作站系统与该系统交互。图2示出了包括监控器(例如,彩色监控器)203、屏幕205、机箱(cabinet)207、键盘209、以及鼠标211的计算机系统201。鼠标211可以具有诸如鼠标按钮213之类的一个或多个按钮。机箱207容纳有常见的计算机组件(其中的一些没有被示出),这些计算机组件诸如是处理器、存储器、大容量存储设备217等。
大容量存储设备217可以包括大容量磁盘驱动器、柔性盘、磁盘、光盘、磁光盘、固定盘、硬盘、CD-ROM、可记录CD、DVD、可记录DVD(例如,DVD-R、DVD+R、DVD-RW、DVD+RW、HD-DVD、或者蓝光盘)、闪存或者其他非易失性固态存储装置(例如,USB闪存驱动器)、电池备份易失性存储器、磁带存储装置、阅读器、以及其他类似媒介和这些存储装置的组合。
计算机实现或者计算机可执行的本发明的版本可以使用计算机可读介质或者计算机程序产品来实现,或者可以被存储在计算机可读介质或计算机程序产品上,或者可以被与计算机可读介质或者计算机程序产品相关联。计算机可读介质可以包括参与向一个或多个处理器提供指令以供执行的任何介质。这种介质可以采用很多形式,包括但不限于非易失性、易失性、以及传输媒介。非易失性媒介包括例如,闪存、或者光或磁盘。易失性媒介包括诸如高速缓冲存储器或者RAM(例如,128兆字节)之类的静态或者动态存储器。传输媒介包括同轴电缆、铜线、光纤线、以及排列在总线中的线路。传输媒介还可以采用诸如在无线电波和红外数据通信期间生成的电磁、射频、声波或光波等的形式。
例如,本发明的软件的二进制的机器可执行的版本可以被存储在或者驻留在RAM或者高速缓冲存储器中,或者大容量存储设备217上。本发明的软件的源代码还可以被存储在或者驻留在大容量存储设备217(例如,硬盘、磁盘、磁带、或者CD-ROM)上。作为进一步的示例,本发明的代码可以经由线路或者无线电波或者通过诸如互联网之类的网络来传送。
图3示出了用于执行本发明的软件的计算机系统201的系统框图。如图2中所示,计算机系统201包括监控器203、键盘209、以及大容量存储设备217。计算机系统501还包括诸如中央处理器302、系统存储器304、输入/输出(I/O)控制器306、显示适配器308、串行或通用串行总线(USB)端口312、网络接口318、以及扬声器320之类的子系统。本发明还可以被用于具有另外的或者更少子系统的计算机系统。例如,计算机系统可以包括一个以上处理器302(即,多处理器系统),或者系统可以包括高速缓冲存储器。
诸如322之类的箭头代表计算机系统201的系统总线架构。但是,这些箭头图示说明了用于链接子系统的任何互连机制。例如,扬声器320可以通过端口被连接至其他子系统,或者可以具有到中央处理器302的内部直接连接。处理器可以包括准许信息的并行处理的多个处理器或者多核处理器。然而图2中所示的计算机系统201只是适用于本发明的计算机系统的示例。适用于本发明的子系统的其他配置对于本领域的普通技术人员来说将是显而易见的。
计算机软件产品可以被以不同的适当编程语言中的任意一种语言编写,其中这些编程语言诸如是C、C++、C#、Pascal、Fortran、Perl、Matlab(来自MathWorks,www.mathworks.com)、SAS、SPSS、JaveScript、AJAX、Java、Adobe Flash、Adobe Shockwave、或者MicrosoftSilverlight、或者这些语言的组合。计算机软件产品可以是具有数据输入和数据显示模块的独立应用。替代地,计算机软件产品可以是被例示为分布式对象的类别。计算机软件产品还可以是诸如Java Beans(来自Oracle)或者Enterprise Java Beans(来自Oracle的EJB)之类的组件软件。
用于该系统的操作系统可以是Microsoft Windows系列的操作系统(例如,Windows 95、98、Me、Window NT、Windows 2000、WindowsXP、Windows XP x64 Edition、Windows Vista、Windows 7、WindowsCE、Windows Mobile)、Linux、HP-UX、UNIX、Sun OS、Solaris、MacOS X(例如,Macintosh)、Alpha OS、AIX、IRIX32、或者IRIX64中的一个。可以使用其他操作系统。Microsoft Windows是MicrosoftCorporation(微软公司)的商标。计算机可以包括诸如音频驱动器之类的任意数目的被安装的驱动器。
另外,计算机可以被连接至网络,并且可以使用该网络被接口连接到其他计算机。网络可以是内联网、互联网或者因特网等。网络可以是有线网络(例如,使用铜线)、电话网络、分组网络、光网络(例如,使用光纤)、或者无线网络、或者这些网络的组合。例如,可以使用利用诸如Wi-Fi(IEEE标准802.11、802.11a、802.11b、802.11e、802.11g、802.11i和802.11n,仅列举了一些示例)之类的协议的无线网络在本发明的系统组件(或步骤)和计算机之间传递数据和其他信息。例如,来自计算机的信号可以至少部分地被无线传输到组件或者其他计算机。
在一个实施例中,利用计算机工作站系统上执行的web浏览器,用户通过诸如互联网之类的网络访问万维网(WWW)上的系统。Web浏览器被用来下载包括HTML、XML、文本、PDF和附录(PostScript)在内的各种格式的web页或者其他内容,并且可以被用来将信息上载到系统的其他部分。Web浏览器可以使用统一资源定位符(URL)来标识web上的资源,并且可以在web上传输文件时使用超文本传输协议(HTTP)。Web浏览器可以包括诸如用于播放音频信息的插件之类的任意数目的各种插件。
本发明的具体实施方式是用于教和学英语的社交网络。本领域的技术人员将理解,本发明的原理可以应用于教和学其他科目,这些科目包括英语以外的其他语言。本发明的原理可以应用于教和学诸如法语、德语、葡萄牙语、韩语、俄语、土耳其语、西班牙语、意大利语、汉语、日语、阿拉伯语、以及其他语言之类的语言。该系统为用户提供了不同的语言、文化、和习俗的虚拟沉浸环境,因为用户可以具有与来自世界各地的其他用户的丰富的互动体验。
本发明的多个方面还可以被用来实现其它类型的web站点和应用,这些web站点和应用包括具有各种不同目的(相亲、买卖、音乐、视频、并且不必是协作性或者电子学习性质的)的社交网络站点、教育站点(例如,Wiki百科全书—类似于Wikipedia(维基百科))、协作性的电子学习站点、协作性的内容开发、协作性的评阅、桌面或者在线单词处理应用、以及其他。
本领域的技术人员还将理解,本发明的原理可以应用于对任意数据块给出评论以及对这些评论进行评级,该数据块诸如是以HTML或者其他格式(文本、XML、PDF、以及附录)编写的Web页或者其他文档、视频、图片、文件。
在一种具体实施方式中,该系统允许用户针对博客贴子(blog post)做出建议。在该具体实施方式中,针对特定博客给出的建议被反映在两个位置,该两个位置包括博客所有者的详细资料(profile)的“收到的建议”部分、以及做出建议的用户的详细资料的“给出的建议”部分。
一旦建议被博客所有者接收到,则博客所有者具有包括批准建议或者丢弃建议在内的两个选项可以做出。当建议被接收到时,建议的状态将是“等待批准中”。一旦建议被批准,则该状态改变为“已被批准”。如果建议被丢弃,则状态改变为“已被丢弃”。只有博客所有者被允许批准或丢弃建议。其他用户只可以查看建议。
当英语咖啡屋(EnglishCafe,EC)用户觉得想要建议一种用户可能使用过的表达事物的替代方式时,“做出建议”特征被启动。在一种实施方式中,这是通过选择用户希望对其建议的文本并且给出针对该文本的建议来实现的。在一种具体实施方式中,想要做出建议的用户是EC用户。
做出建议的流程的示例如下。
1.EC用户阅读博客贴子。
2.用户发现该博客存在拼写错误。
3.用户希望建议博客所有者:该文本存在拼写错误。
4.用户使用光标选择具有拼写错误的文本。
5.工具箱的弹出窗口(pop-up window)开启。
6.工具箱中存在五个选项。选择“做出建议”选项。
7.将被如下显示的另一个窗口开启。
8.从博客中选择出的文本将在“所选择的文本”文本框中被以红色突出显示。其下面是“键入你的建议”文本框,用户应该在该文本框键入他所建议的文本。默认的是,光标将在该文本框中。其下面是“说明你的建议”文本框,在其中填入建议的理由;但是,该文本框是可选的。
9.一旦详细内容已经被填充在这些框中,则“提交我的建议”按钮被点击以进行提交。
10.一旦建议被做出,工具箱将以“当前的建议”链接出现在博客右侧。该工具箱每当建议被做出时便出现,并且允许用户做出关于博客贴子的建议以及关于其他用户所建议的内容的建议。利用右侧的该工具箱,用户可以查看做出的建议,并且可以在需要的情况下从位于建议窗口右上角的可用的“编辑我的建议”选项对建议进行编辑。
11.当所提交的建议被用户从位于博客右侧的该工具箱查看时,当前示出的建议将被以红线在博客中突出显示出来。
12.匿名用户和博客所有者不能使用“做出建议”这个选项。
在一种具体实施方式中,每个段落具有唯一的段落标识符,该段落标识符是由服务器侧代码“个人主页)”(Personal Home Page(PHP)生成的。在该具体实施方式中,突出显示(例如,加下划线)用户选择的内容使用了段落标识符、起始单词计数和结束单词计数。
一旦建议被提交,其将位于博客所有者的详细资料的“收到的建议”部分中。该建议也将在给出建议的用户的详细资料的“给出的建议”部分中被看到。然后,博客所有者可以从“收到的建议”查看建议,并且有权批准建议或者丢弃建议。当建议被提交时,建议的初始状态为“等待批准中”。
当“等待批准中”被点击时,页面被定向到这样的博客贴子页面:通过用红线突出显示建议文本而给出该建议。博客所有者现在具有“批准”和“丢弃”选项。如果建议被批准,则收件箱中接收的建议的状态将为“已被批准”;如果建议被丢弃,则收件箱中接收的建议的状态将为“已被丢弃”。在该具体实施方式中,只有博客所有者有权批准或丢弃建议。
当博客所有者编辑建议时,将在工具箱中“当前建议”下面生成“建议历史”链接。当点击建议历史时,其将示出建议及它们的状态。
由一个用户给出的建议可以与另一用户给出的另一建议重叠。例如,在存在针对段落1的建议1且存在针对段落1的一部分的建议2的情况下。最初,这两个建议的状态将为“等待批准中”。当建议1被博客所有者批准时,建议2的状态从“等待批准中”改变为“等待同意中”。建议1现在将具有状态“已被批准”。同意建议2还是丢弃建议2是博客所有者的决定,因此其状态将被改变为已被同意或者已被丢弃。
当重叠的建议被从工具箱的“当前建议”选项查看时,所选择的当前建议将被以红线突出显示,并且重叠的建议将被以红色的虚线突出显示。
在一种具体实施方式中,当页面被用户刷新时,当建议被博客所有者批准、丢弃、同意或者等待同意时,以及当工具箱被用户关闭时,博客内容被动态地修改为更新后的内容。
在一种具体实施方式中,系统追踪新的或者未查看的内容,并且显示新的或者未查看的内容的视觉指示符。在该具体实施方式中,视觉指示符包括星号(例如,橘黄色的星号)。所以,还未被查看的内容将被以橘黄色的星号符号显示。对于其他用户提出的新的建议,针对每个登陆的用户将出现橘黄色的星号符号。
图4A示出了本发明的系统的具体实施方式的框图。该系统包括诸如第一和第二客户端403和406之类的任意数目的客户端,其中该第一和第二客户端经由通信网络412访问服务器409。通信网络如在图1中示出的,并且在以上部分中被描述。
客户端是具有硬件和软件的通用目的计算机,诸如以上所述以及图2至3中所示。客户端包括所述的一个或多个硬件和软件组件。例如,第一客户端包括第一显示器415、第一应用程序418(例如,第一浏览器应用程序)、点选设备、处理器、存储器、以及存储装置。类似地,第二客户端包括第二显示器421、第二应用程序424(例如,第二浏览器应用程序)、点选设备、处理器、存储器、以及存储装置。客户端执行实现本申请中描述的技术或算法的可执行代码(或者计算机可读代码)。浏览器是可以请求、接收、以及处理来自用户、服务器或者它们二者的数据的应用程序。该数据可以经由第一显示器被示出。
服务器包括与以上描述的图3中所示的组件类似的组件。例如,服务器包括处理器、存储器、应用427、以及存储装置430。在一种具体实施方式中,存储装置包括电子学习课程内容433、web内容436、用户web页439、以及数据库442。电子学习课程内容是可选的,并且可以不被包括在其他实施方式中。
诸如web服务器445之类的应用将web页(例如,用户web页)和其他数据从存储装置递送到浏览器。Web服务器的示例包括来自ApacheSoftware Foundation(Apache软件基金会)的Apache Web服务器。在一种具体实施方式中,应用包括电子学习应用或系统448。电子学习应用与电子学习课程内容交互,以提供各个用户的电子学习或在线学习体验。电子学习应用和电子学习课程内容的各种实施方式在于2005年6月8日递交的美国专利申请11/160,098和于2005年12月2日递交的美国专利申请11/164,726中描述,其内容以及本申请中引用的其他参考文献通过引用被结合于此。
图4B示出了两个用户对内容做出建议的示例,其中内容创建者接受了这两个建议中的一个建议。该示例的流程如下。本申请中呈现了一些具体流程,但是应该理解本发明不限于所呈现的具体流程和步骤。本发明的流程可以具有附加的步骤(本申请中不必描述)、替代所呈现的一些步骤的不同步骤、更少的步骤或者所呈现的步骤的子集、或者不同于所呈现的次序的步骤、或者它们的组合。另外,本发明的其他实施方式中的步骤可以不与所呈现的步骤完全相同,并且可以针对特定应用或者基于数据而被适当修改或者改变。
1.第一用户(或用户A)创建内容。
2.第二用户(或用户B)访问内容,选择内容的一部分,并且做出针对所选择的内容的第一建议。
3.第三用户(或用户C)访问内容,选择内容的一部分,并且做出针对所选择的内容的第二建议。
4.用户A访问所存储的第一和第二建议,并且批准这两个建议中的一个建议。
5.所选择的内容被所批准的(或者接受的)建议替代。
更具体地,在第一步骤中,用户A处于计算机处(例如,台式计算机、膝上型计算机、智能电话、平板电脑、或者任何种类的便携式或者非便携式电子设备),并且创建诸如段落450a和450b之类的内容。在一种具体实施方式中,用户A创建作为博客贴子的一部分的内容。可以使用诸如键盘、鼠标、触笔、或者它们的组合之类的任何类型的输入设备来创建内容。键盘可以是物理键盘或者被显示在诸如电子触摸屏或者触敏屏之类的电子屏幕上的键盘。触敏屏可以包括允许用户使用手指(或者指尖)、数字笔、触笔、或者它们的组合在触摸屏上进行书写来提供输入的手写辨认软件。
在用户A创建内容之后,内容被传送452给服务器454。内容被存储在远离用户A的计算机的服务器处。在该具体实施方式中,内容被存储在处于服务器处的第一数据库456(或者第一数据库的表格)中。该表格包括段落标识符字段458和内容字段460。段落标识字段存储分别对应于段落450a和450b的段落标识符100和101。内容字段存储段落450a和450b的内容(或者段落内容)。
在第二步骤中,用户B访问462用户A创建的内容。例如,用户B可以使用显示了包括用户A创建的内容的文档(例如,web页博客)的web浏览器程序来访问内容。用户B可以是用户A的博客的经常阅读者或者追踪者。当存在新的活动时(诸如,当用户A做出新的博客贴子时),系统可以向用户A的博客的追踪者发送通告。通告的示例包括电子邮件、文本消息、经由推特(Twitter)的微博客(tweet)等。
用户B可以查看、评阅、或者阅读用户A创建的内容。当用户B希望做出建议时,用户B选择内容的一部分464(图4B中下划线部分示出)。该系统提示、请求、或者寻求来自用户B的第一建议465。用户B使用输入设备(例如,键盘)做出建议,并且提交第一建议。
第一建议被传送466到服务器,并且被存储在服务器处。在该具体实施方式中,第一建议被存储在处于服务器处的第二数据库468(或者第二数据库的表格)中。该表格包括段落标识符字段470、建议标识符字段472、建议字段474、以及位置字段476。
段落标识符字段标识其中建议被做出的段落。在该示例中,段落标识符字段指示建议在对应于段落标识符101的段落450b中被做出。段落标识符可以被称为内容标识符。
建议标识符字段标识对应于第一建议465的建议标识符(例如,200)。建议字段存储第一建议。
位置字段标识段落中的被选择的内容的位置或者区域。在一种具体实施方式中,该系统为段落中的每个单词分配第一和第二数值。第一数值指示段落中的单词的起始位置。第二数值指示段落中的单词的结束位置。
所以,在该具体实施方式中,段落中的位置数目等于段落中的单词数目加1。替代地,段落中的位置数目可以等于段落中的字符群组数目加1。字符群组可以包括不是空格的一个或多个字符或者连续字符。例如,与段落标识符101相关联的段落450b具有25个单词(或者25个字符群组),所以具有26个位置。这些位置在下面被示出并且由括号内的数字指示:
[1]Well,[2]I[3]was[4]lucky[5]enough[6]to[7]be[8]invited[9]back[10]this[11]year[12]as[13]a[14]judge.[15]For[16]3[17]weeks[18]I[19]regularly[20]was[21]delivered[22]with[23]chocolate[24]samples.[25]Yum![26]
所以,所选择的内容部分,即“For 3 weeks I regularly was deliveredwith chocolate samples.”具有起始位置[15]和结束位置[25]。所选择的内容部分在起始和结束位置之间。起始位置和结束位置被存储在位置字段中。本领域技术人员将认识到,位置字段可以被划分为两个单独的字段—起始位置字段和结束位置字段—其中起始位置字段存储起始位置并且结束位置字段存储结束位置。
位置信息可以是准许参引内容选择的起始位置、内容选择的结束位置或者它们二者的任意内容或者任意参考标号。例如,在另一具体实施方式中,该系统为段落中的每个单词分配数值。使用段落450b作为示例,该段落中的单词被如下这样标识:
[1]Well,[2]I[3]was[4]lucky[5]enough[6]to[7]be[8]invited[9]back[10]this[11]year[12]as[13]a[14]judge.[15]For[16]3[17]weeks[18]I[19]regularly[20]was[21]delivered[22]with[23]chocolate[24]samples.[25]Yum!
在该具体实施方式中,单词“Well,”(或者字符群组)被分配有带括号的数字[1],单词“I”被分配有带括号的数字[2],单词“was”被分配有带括号的数字[3],等等。所以,所选择的内容部分,即“For 3 weeks Iregularly was delivered with chocolate samples.”具有被分配给单词“For”的起始位置[15]和被分配给单词“samples”的结束位置[24]。
在另一具体实施方式中,该系统向段落中的空格分配数值或参考标号,用于定位段落中的内容选择。例如,所选择的内容部分,即“For 3weeks I regularly was delivered with chocolate samples.”可以被参引为处于具有空格分配值[15]的第一空格和具有空格分配值[25]的第二空格之间。在各种实施方式中,一种方法包括以下的一个或多个步骤:向段落中的每个空格分配数字顺序值(其中对该段落做出了建议);针对段落中的等于或者紧邻第一位置之前的间隔,为第一位置分配数值;针对段落中的等于或者紧邻第二位置之后的间隔,为第二位置分配数值;为段落(其中正针对该段落做出建议)中的每个字符分配数字顺序值;为内容(其中正针对该内容做出建议)中的每个字符分配数字顺序值;或者这些步骤的组合。
在一种具体实施方式中,在段落的起始位置分配数值或者参考标号。但是,如上所述,位置信息可以是准许参引对内容的选择的任何内容或者任意参考标号。例如,在另一种实施方式中,值是从段落的末尾处开始分配的,并且系统从段落的末尾开始向段落的起始处向后计数,以分配位置信息。在另一种实施方式中,值是从段落中的某个任意点开始分配的,该位置例如是段落的中间,并且该系统从该任意点开始向段落的起始位置向后计数,并且从该任意点向段落的末尾向前计数,以分配位置信息。
在一种具体实施方式中,值(例如,第一和第二数值)是针对段落中的单词的,或者是针对单词的起始位置和单词的结束位置的。例如,使用段落450b作为示例,单词“Well,”分别被分配有第一和第二数值[1]和[2]。单词“I”分别被分配有第一和第二数值[2]和[3]。单词“was”分别被分配有第一和第二数值[3]和[4]。
这有助于帮助在段落中选择内容从而做出建议。例如,该系统检测出用户已经选择了单词的一部分。在一种具体实施方式中,系统自动选择整个单词。即,被存储的第二数值是对应于整个单词的末尾的数值(或者对应于后续单词(即,整个单词之后的单词)的起始位置的数值)。所以,为了做出选择,用户不必在选择中完全选择每个单词。这可以帮助不能灵巧地操作输入设备(例如,鼠标)的残疾人做出完整的选择。
在另一种实施方式中,系统自动取消选择整个单词。也就是说,所存储的第二数值是对应于整个单词的起始的数值(或者,对应于前一单词(即,整个单词之前的单词)的末尾的数值)。这在用户不想选择该单词作为选择的一部分进而做出建议的情况中是有优势的。
在另一种实施方式中,第一和第二数值是针对段落中的字符的。也就是说,在该具体实施方式中,系统为段落中的每个字符分配第一和第二数值。第一数值指示段落中的字符的起始位置。第二数值指示段落中的字符的结束位置。使用段落450b作为示例,段落中的字符被标识为如下:
[1]W[2]e[3]l[4]l[5],[6]I[7]w[8]a[9]s[10]1[11]u[12]c[13]k[14]y[15]e[16]n[17]o[18]u[19]g[20]h[21]t[22]o[23]b[24]e[25]i[26]n[27]v[28]i[29]t[30]e[31]d[32]b[33]a[34]c[35]k[36]t[37]h[38]i[39]s[40]y[41]e[42]a[43]r[44]a[45]s[46]a[47]j[48]u[49]d[50]g[51]e[52].[53]F[54]o[55]r[56]3[57]w[58]e[59]e[60]k[61]s[62]I[63]r[64]e[65]g[66]u[67]l[68]a[69]r[70]l[71]y[72]w[73]a[74]s[75]d[76]e[77]l[78]i[79]v[80]e[81]r[82]e[83]d[84]w[85]i[86]t[87]h[88]c[89]h[90]o[91]c[92]o[93]l[94]a[95]t[96]e[97]s[98]a[99]m[100]p[101]l[102]e[103]s[104].[105]Y[106]u[107]m[108]![109]
所以,例如,所选择的内容部分,即“For 3 weeks I regularly wasdelivered with chocolate samples.”具有起始位置[53]和结束位置[104],其中该起始位置[53]被分配给单词“For”中的开头位置的字符“F”,该结束位置[104]被分配给单词“samples.”中的末尾位置的字符“s”。在以上示例中,为了清楚省去了单词之间的空格。但是,应该明白,空格可以被看作字符,并可以分配有位置信息,从而使得空格的开头位置和末尾位置可以被标识。
基于字符分配位置信息使得用户可以选择单词的一部分。这种特殊的实施方式可以准许用户选择单词的一部分。例如,用户可以选择字母“W”和“e”,在这种情况中第一和第二数值分别为[1]和[3]。在用户要求粒度(即,要求选择单词中的一个或多个字符的能力)的情况中,这种特殊的实施方式是有利的。例如,如果用户A输入单词“thier”,则用户B可以通过选择字符“ie”并且做出建议“ei”来纠正拼错的单词。
在以上讨论的实施方式中,位置信息是按照段落级或者针对段落分配的。但是,位置信息也可以按照文档级分配。例如,在一种具体实施方式中,系统为文档中的每个单词分配第一和第二数值。第一数值指示文档中的单词的开头位置。第二数值指示文档中的单词的末尾位置。例如,图4B中所示的具有段落450a和450b的文档将具有以下分配的位置信息:
[1]Remember[2]the[3]San[4]Francisco[5]Chocolate[6]Salon[7]I[8]attended[9]last[10]year?[11]
Well,[12]I[13]was[14]lucky[15]enough[16]to[17]be[18]invited[19]back[20]this[21]year[22]as[23]a[24]judge.[25]For[26]3[27]weeks[28]I[29]regularly[30]was[31]delivered[32]with[33]chocolate[34]samples.[35]Yum![36]
这种具体实施方式可以允许横跨两个以上段落做出选择。例如,用户可以做出选择“attended last year?Well,I was lucky.”。该选择包括来自段落450a的内容(即,短语“attended last year?”)和来自段落450b的内容(即,短语“Well,I was lucky”)。因此该选择具有开头位置[8]和末尾位置[15]。开头位置指示文档中的单词“attended”的位置。末尾位置指示文档中的单词“lucky”的位置。
文档中的回车、跳格(tab)或者它们二者也可以分配有位置信息,从而使得系统可以识别出选择中的前一段在何处结束以及后一段在何处开始。
以上的针对文档分配位置信息的技术可以被用于如上所述地按照字符级分配位置信息。例如,在一种具体实施方式中,系统为文档中的每个字符分配第一数值和第二数值。第一数值指示文档中的字符的开头位置。第二数值指示文档中的字符的末尾位置。
另外,应该明白,可以基于或者针对系统中的两个或更多个或者所有文档分配位置信息(例如,针对文档群组分配位置信息)。可以基于文档中的两个以上段落分配位置信息(例如,针对段落群组分配位置信息)。这些段落可以是或者不是连续段落。可以基于单独文档中的段落来分配位置信息。可以通过诸如确立句号的位置来基于句子分配位置信息。可以基于作为特定类型的、属于用户、属于用户群组等的文档(或者段落)来分配位置信息。可以使用诸如文档中的内容行的行数、页面、页数、章节、章节数、回车、跳格、标点符号(例如,句号、问号、感叹号、冒号、分号、破折号、长破折号或者短破折号等)或者它们的组合之类的信息来分配位置信息。
在以上所示的示例中,位置信息包括数值,具体地包括连续的或者顺序的正整数。但是,在其他实施方式中,这些值包括非顺序数、非连续数、正数、负数、小数、非重复数、重复数、或者它们的组合。
另外,位置信息可以替代地或者另外地包括字母字符、符号、文字数字式字符、标点符号、或者它们的组合。例如,第一值[A]可以指示内容选择的开头位置。第二值[E]可以指示内容选择的末尾位置。
在一种具体实施方式中,选择包括两个以上连续的单词。在另一种实施方式中,选择包括两个以上不连续的单词,其中用户(例如,用户B)针对该选择做出建议。
在第三步骤中,用户C访问478用户A创建的内容,并且做出第二建议480。用户C可以通过遵循与以上在步骤2中描述的用户B的过程类似的过程来访问内容并做出建议。例如,当用户C希望做出建议时,用户C选择内容的一部分482。该系统寻求来自用户C的第二建议480。用户C做出并提交第二建议,其中该第二建议被传送481给服务器并被存储在第二数据库468中。如图4B中所示,在第二数据库中做出了针对来自用户C的第二建议的条目。该条目包括做出的建议所针对的段落标识符(101)、建议标识符(201)、第二建议、以及位置信息。
在该示例中,用户C和B选择了相同的内容部分来做出建议。但是,用户C和B不必选择相同的内容部分。用户C可以选择不同于用户B所选择的内容部分的内容部分。例如,用户C可以选择来自段落450a的内容部分,用户C可以选择来自段落450b的不与用户B所选择的内容部分相重叠的内容部分,或者用户C可以选择至少部分地与用户B所选择的内容部分相重叠的内容部分。
在第四步骤中,用户A访问484来自用户B的第一建议和来自用户C的第二建议。用户A可以接收已经对博客贴子做出了建议的通告。该通告可以包括去往博客贴子的链接。用户A可以导航到博客贴子,选择用于查看建议的链接,并且该建议将被显示在用户A的计算机屏幕上。用户A可以评阅建议并且决定是批准(例如,接受)还是拒绝建议。
也就是说,用户A可以评阅第一和第二建议并且决定接受这两个建议中的哪个建议。用户A也可以决定不接受任何建议,即拒绝第一和第二建议。
在第五步骤中,当用户A接受第一或第二建议中的一个建议时,所选择的内容被所选择的建议替代486。在该示例中,用户A接受了来自用户B的第一建议。该系统在接收到对接受第一建议的指示时,用第一建议替换所选择的内容。在一种具体实施方式中,替换操作可以包括以下的子步骤:
5.1使用与来自第二数据库468的第一建议相关联的段落标识符(例如,段落标识符101)来在第一数据库456中标识出被做出建议的段落(例如,段落450b)。
5.2使用所选择的内容的起始位置(例如,[15])和结束位置(例如,[25])来标识出所选择的内容在段落中的位置。
5.3从段落中提取起始和结束位置之间的内容—所提取的内容是所选择的内容。
5.4在起始和结束位置之间插入第一建议。
5.5将具有替代了所选内容的第一建议的更新后段落存储在第一数据库中。
当用户导航到用户A的博客贴子或者以其他方式访问该博客贴子时,用户将看到具有更新后段落的文档或Web页488。在一种具体实施方式中,所选择的内容被第一建议替代的操作包括将第一建议插入第一段落并且从第一段落删除所选择的内容。删除所选择的内容可以在将第一建议插入第一段落之前、之后、或者期间。所选择的内容可以被第一建议覆写。在另一具体实施方式中,所选择的内容被第一建议替代的操作包括用第一建议换掉第一段落中的所选择的内容。
如以上所讨论的以及在本申请的其它地方中,本发明的具体实施方式的特征在于允许多个用户协作进行查看并对相同文档做出建议。在这种实施方式中,用户将不会接收诸如“文档被锁定以不被另一用户编辑(或查看)”之类的消息。在其他用户彼此同时地或者在不同时间评阅内容并做出评论或者输入建议的同时,内容创建者可以编辑该内容。例如,第一用户可以正好在第二用户向同一页面,或者甚至同一被选择的文本输入不同建议的同时输入建议。有助于这个特征的数据库组织在图5及所附文本、以及本申请中的其它地方被描述。
另外,即使做出建议的用户没有被连接到系统或者网络或者被从网络或系统断开连接,用户也可以查看、访问、以及接受建议。建议被存储或者保存在例如数据库或文件中(参见下面的图5及所附文本)。在一种具体实施方式中,用户A访问或者查看用户B的建议。当用户A查看或者访问用户B的建议时,用户B可以从该系统断开连接。当用户B从该系统断开连接时,用户A访问用户B的建议,因为该建议被保存在数据库或者文件中。用户可以选择用密码来保护或者加密文档或者通过其他手段来保护文档,从而使得文档只可以被所选择的用户查看(例如,被用户A授权的用户A的特定的朋友群组)。在另一实施方式中,用户A可以向用户B(以及可能的很多其他人)发送具有去往文档的链接的电子邮件。在敲击该链接之后,如果用户B没有被辨认为已被授权查看文档,则系统可以向用户A发送消息以询问用户B是否被允许访问。然后,用户(B以及可能的很多其他用户)可以评阅文档并且做出任何评论或建议,而不会与其他用户冲突或者无需等待其他用户完成做出它们的评论。可以通过例如经SSL加密的链接(或者包括RSA、HTTPS等在内的其他加密技术)来查看文档,其中SSL或者其他凭证被用来安全地将B链接到文档。用户B所作的评论的任何建议将被加密,从而使得窃听者无法看到文档或者评论。用户B还可以在做出评论时使用一种或多种语言。本发明的系统可以以包括英语、法语、德语、西班牙语、汉字、日本字、普通话、韩语以及其他语言在内的一种或多种语言进行操作。
类似地,即使内容创建者从系统断开连接,用户也可以对该内容做出建议。在一种具体实施方式中,用户B对用户A所创建的内容做出建议。用户A也可以被称为内容组织者、内容仲裁者(moderator)、内容所有者、内容创建者、内容提供者、创建者、所有者、创作者、页面管理者、页面主人、提供者、或者其他用语。在本专利中,用户A是具有授权添加、删除、替换、以及改变内容的权利的用户。尽管用户A可以被称为内容创作者或者内容所有者,但是用户A可能并没有实际创建内容或者并不是创作者。例如,用户A可以将来自查尔斯·狄更斯或者儒勒·凡尔纳的一些文段包括在用户A的页面上。由于用户A是页面的所有者,所以用户A具有选择用户A的页面上包括什么内容以及是否对该页面做出改变(例如,经由建议)的权利。在一种特定实施方式中,用户A可以授予其他用户特权,其中这些其他用户可以被称为从属页面所有者并且被给予了接受或者拒绝对于页面的改变的能力。内容也可以具有联合所有者:两个以上用户可以授权改变的情况,其中来自联合所有者中的任意一个所有者的授权将批准那些改变。在一些其他实施方式中,在改变被做出之前,每个联合所有者必须同意授权。在一些其他实施方式中,在改变被做出之前,联合所有者中的大多数或者法定人数必须同意授权。
当用户B正在做出建议时,用户A从系统断开连接。该系统的这些特征可以有助于促进可能具有不同的工作安排、远离办公室工作、处于世界上不同时区或者不同部分的用户之间的协作。例如,可能处于加利福尼亚的用户A可以查看并接受正在俄罗斯睡觉并且没有连接到该系统(即,不在线或离线)的用户B所作的建议。当用户A正在睡觉并且没有连接到系统时,用户B可以对用户A所创建的内容做出建议。
所以,在这种具体实施方式中,当内容创建者没有被连接到该系统时,多个用户可以对该内容做出建议。当做出建议的用户没有被连接到系统时,用户可以查看建议、接受建议、或者进行它们二者的操作。在各种其他实施方式中,创建内容的用户A和对内容做出建议的用户B必须被连接至系统,以使用户A能够查看建议、接受建议、或者进行它们二者的操作。创建内容的用户A必须被连接至系统,以使用户B能够对内容做出建议。
在一种具体实施方式中,用户B选择内容的第一部分以做出第一建议,用户C选择内容的第二部分以做出第二建议,并且第一和第二部分至少部分重叠。在用户A接受第一和第二建议之一从而替换第一或第二部分之一后,用户A不被准许随后接受没有被接受的第一或第二建议。换言之,系统并不利用没有被接受的第一或第二建议对第一或第二部分之一进行替换。该系统可以向其建议被接受的用户发送通告,以通知该用户其建议被接受。该系统可以向其建议没有被接受的用户发送通告,以通知该用户建议没有被接受。
在另一种实施方式中,在用户A接受第一或第二建议之一从而替换第一或第二部分之一后,用户被准许随后接受没有被接受的第一或第二建议。当用户A随后接受没有被接受的第一或第二建议时,系统撤消用第一建议来替换第一部分,而是用第二建议来替换第二部分。当例如用户A改变主意并且决定尽管她接受了建议之一但是用户A现在更偏向于另一建议时,该特征可以是有帮助的。
在一种具体实施方式中,用户可以对内容的一部分做出建议,其中该部分内容至少包括另一建议的一部分。例如,在该具体实施方式中,用户B选择第一内容部分,以做出第一建议。用户A接受第一建议并且第一内容部分被第一建议替代。在第一内容部分被第一建议替代后,用户C选择内容的第二部分,以做出第二建议。第二内容部分至少包括第一建议的一部分。用户A接受第二建议,并且第二内容部分被第二建议替代。
在建议被提交之后并且在建议被接受之前,用户可以编辑她的建议。例如,用户B选择内容的一部分并且做出第一建议。在用户A接受第一建议之前,用户B决定她要建议一些不同于第一建议的东西或者要编辑第一建议。用户B对第一建议进行编辑。在一种具体实施方式中,用户A被准许访问编辑后的第一建议,而不被准许访问未经编辑的第一建议。当用户A接受编辑后的第一建议时,编辑后的第一建议替代所选择的内容部分。在另一种实施方式中,用户A被准许访问编辑后的第一建议和未经编辑的第一建议。用户A可以接受编辑后的第一建议或未经编辑的第一建议中的一者。当用户A接受编辑后的第一建议或者未经编辑的第一建议中的一者时,所选择的内容部分被所接受的编辑后的第一建议或者未经编辑的第一建议替代。
图4B中所示的示例示出了两个用户(用户B和C)对由另一用户(用户A)所创建的内容做出建议的情况。但是应该明白,可以有任意数目的用户对由另一用户所创建的内容做出建议。例如,可以有三个、四个、五个、六个、七个、八个、九个、十个或者更多用户对由用户A所创建的内容做出建议。
另外,用户可以做出任何数目的建议。例如,用户B可以对用户A所创建的内容做出第三建议。用户B可以对所选择的内容部分做出第三建议,其中该所选择的内容部分至少包括来自用户C、用户B或者它们二者的建议的一部分。用户B可以对所选择的内容部分做出两个以上建议,从而使得用户A可以从该两个以上建议中进行选择。例如,用户B可能希望为用户A提供多个备选建议。所以,用户B选择用户A所创建的内容的一部分,并且做出第一和第二建议。用户A访问第一和第二建议,并且选择第一或第二建议中的一个。该内容部分被所选择的第一或第二建议替代。
本系统的特征在于,有助于促进社区或者社交社区的成员间的交互、参与、和协作。在一种具体实施方式中,该特征被实现在社交网络社区中,并且提供用于学习新语言的沉浸式协作环境。该系统使得用户A可以很容易地结合或者使用来自用户B的建议。所以,评阅用户A所创建的内容的用户B可能感觉更倾向于参与并提供有意义、有帮助的建议。
该系统可以包括多种特征,这些特征诸如是公共讨论群、私有讨论群(例如,我的好友群)、电子邮件、即时消息、视频聊天、照片和视频簿、问答论坛、或者任何其他社交联网工具、或者它们的组合。这些工具可以允许用户分享想法、活动、事件、和兴趣。这些工具可以为用户提供一种与具有类似兴趣的其他用户连接的途径。所以,用户可以在系统上看到各种背景的其他用户或者与这些用户交互。这可以进一步发展社区成员间的信任感,培养对社区的归属感,从而进一步促进协作性交互。
在一种具体实施方式中,该系统包括用于追踪哪些建议被接受、哪些用户作出了被接受的建议并且为其建议被接受的用户指派分数的评级机制。该评级机制允许用户对由其他用户做出的建议进行评级或评分。
这可以培养社区成员中间的看谁能得到最多分数或者最高得分的友好的竞争精神。由于分数是奖励给被接受的建议的而不是奖励给未被接受的建议的,所以这进一步有助于鼓励用户做出有意义且有帮助的建议,这又鼓励了用户进一步创建将被评阅的内容。
可以通过将具有高分的用户的姓名显示在系统的记分板或者排行榜web页上工其他用户看和夸赞,来辨认具有高分的用户。具有高分的用户可以用他们的分数来兑换奖赏,或者可以被奖励诸如现金、电子小器具、玩具、书、糖果、或者其他物品、产品、或者服务之类的奖赏。这可以进一步刺激用户通过有意义且有帮助的建议参与进来。
本领域技术人员将认识到,以上讨论的实施方式只是用于对内容部分做出建议或注解并且用建议或注解来替代所选择的内容的一种特定实施方式。在一种具体实施方式中,内容是由句子来标识的。在另一种具体实施方式中,替代使用段落中的位置信息来标识所选择的内容,该系统执行文本匹配搜索。例如,段落中的所选择的内容可以被复制并存储。当所选择的内容将被建议所替代时,该系统可以使用所选择的内容来执行段落的文本搜索,以标识出哪个文本应该被该建议所替代。
在一种具体实施方式中,系统被这样设计,从而使得用户选择整个单词而不是单词的一部分。这可以有助于确保建议有意义,因为对于单词的一部分的建议可能是没有什么帮助的。在另一种实施方式中,系统被设计为使得用户可以选择单词的一部分。例如,段落中的位置信息可以对应于段落中各个字符的位置而不是对应于段落中的单词,从而使得用户可以选择单词的一部分。在一种具体实施方式中,用户在段落中做出选择。这可以有助于确保建议不会变得太不实用(即,用户做出具有500个单词的选择)。在另一种实施方式中,用户可以横跨两个以上段落做出选择。
在这种具体实施方式中,内容包括文本。在其他实施方式中,内容包括音频、视频、图像、图片、或者它们的组合。如果例如内容包括视频,则所选择的内容可以由该视频的一个或多个帧来标识。所选择的视频部分或片断可以由视频片断的开始时间和视频片断的结束时间来标识。如果内容包括音频或者音频轨道,例如,则所选择的音频轨道的一部分可以由音频片断的开始时间和音频片断的结束时间来标识。
在一种具体实施方式中,系统可以自动选择整个或者完整的单词、整个句子、或者整个段落。例如,在各种实施方式中,用户B选择单词并且点击(例如,在单词上进行单击或者双击),则系统选择整个单词。用户B选择句子的一部分并且点击(例如,在句子上进行单击或者双击),则系统选择整个句子;用户B选择段落的一部分并且点击(例如,在段落的所选部分上进行单击或者双击),则系统选择整个段落。如果选择跨越两个以上段落,则系统选择全部的两个以上段落。
这可以有助于加快用户选择整个单词、句子或者段落所花费的时间。例如,用户不必在整个单词上拖拽他们的鼠标。为了检测整个单词,系统可以通过从单词的被选部分开始直到单词之前的空格被达到为止进行后向选择并且从单词的被选部分开始直到单词之后的空格被达到为止进行前向选择,来检测单词的开头和末尾位置。为了检测整个句子,系统可以从句子的被选部分开始直到达到句号、达到大写字母、达到一组双空格、或者指示前一句子的结束的任何其他符号为止进行后向选择。该系统然后可以从句子的被选部分开始直到对句子的末尾已经达到的指示为止进行前向选择。句子的开头和末尾位置可以通过查找或者搜索标点符号(例如,句号、惊叹号、问号等)来确定。为了检测段落的开头和末尾位置,该系统可以搜索指示例如前一段落的结束和后续段落的开始的跳格键、回车等。
在一种具体实施方式中,用户可以在他们的建议中插入换行字符。当建议被接受时,换行字符出现在更新后的内容中。
在一种具体实施方式中,用户在做出选择之后可以做出两个以上替代建议。例如,用户B可以选择内容的一部分。系统提示用户第一建议和第二(即,替代)建议。系统存储这两个建议。用户A然后可以访问第一和第二建议,并且决定接受哪个(如果有的话)。所选择的内容将被所接受的建议替代。
图5示出了图4A中所示的服务器的存储装置中存储的一些信息的各种数据结构的具体实施方式,并且示出了图4B中所示的示例的一些进一步的细节。服务器409包括用于用户Web页(诸如,Web页508a、508b、和508c)的存储装置505、建议数据库510、建议标识数据库511、以及建议历史数据库513。
这些Web页示出了在web页中的各种具体位置做出的建议511的示例。建议表516示出了用于存储诸如建议数据库中的建议之类的信息的数据结构。建议标识表519示出了用于存储建议标识数据库中的信息的数据结构。建议历史表520示出了用于存储建议历史数据库中的信息的数据库。这些表可以包括任意数目的字段。
在一种实施方式中,当用户B对用户A的文档做出建议时,用户A的文档被存储在用户web页505中,同时用户B的建议被存储在建议数据库510中,它们是单独的文件或者位置。这意味着,建议没有被与建议所针对的文档存储在一起。这种数据组织允许多个用户同时查看、编辑、以及做出建议。所以,用户将不会接收到文档被锁定的消息,该消息不允许他们进行编辑或者做出建议。另外在该示例中,web页505涉及“web”页。本发明不仅适用于“web”页,而且适用于其他类型的文档(而不仅是web页)。可以通过互联网或者诸如内联网之类的其他网络来访问这些文档。
在一种具体实施方式中,建议表存储建议。建议标识表标识做出建议的用户和与建议相关联的、由用户生成的内容的类型(例如,博客条目或者论坛贴子)。建议历史表追踪哪些用户查看了建议以及用户何时查看了建议。
在这种具体实施方式中,这些表分别位于单独的数据库中。但是,在另一具体实施方式中,这些表处于单个数据库中。该单个数据库是存储建议、建议标识、以及建议历史表的共同数据库(例如,MySQL版本5.0.5)。SQL数据库仅是数据库的一种类型,并且包括来自Oracle(甲骨文)、Microsoft(微软)、IBM(国际商业机器公司)、以及Google(谷歌)的数据库产品(例如,Google电子数据表)在内的其他数据库或文件结构可以被使用。
该系统允许用户创建内容。该用户创建的内容然后被显示在诸如Web页508a之类的Web页上,以供其他用户观看。该系统允许这些其他用户中的一个或多个用户选择内容中的特定位置522处的内容部分,并且对所选择的内容做出注解或者建议555a(例如,注解或者评论)。
用户可以看到其他用户所作的建议,并且可以标识出与该建议相关联的内容部分。创作或者创建内容的用户(即,内容创作者)可以审查建议,并且在需要的情况下对建议进行修改或者编辑。内容创作者然后可以接受(例如,批准)或者拒绝(例如,丢弃)该建议。如果内容创作者接受建议,则系统用该建议来替代所选择的内容部分。Web页508a上的用户所创建的内容被更新,从而使得内容中的特定位置处的内容部分被移除,并且由于被建议所替代而不再能被看见。如果内容创作者拒绝建议,则Web页保持不变。即,系统不用建议来替代内容部分。
任何数目的建议可以由任何数目的用户对任何数目的用户创建的内容做出。另外,任何数目的建议可以由任何数目的用户对所选择的内容部分做出。也就是说,两个以上建议可以被针对相同的内容部分做出。这可以被称为重叠建议。
用户创建的内容可以是任何格式或者处于任何介质中,并且可以包括文本、视频、音频、图像、图片、图形、或者它们的组合。在一种具体实施方式中,用户创建的内容包括作为博客的一部分被输入的文本。类似地,建议包括文本。建议被与处于博客文本中的特定位置处的博客文本的特定部分相关联。
在图5中所示的示例中,表格包括六个条目。每个条目被与Web页508a、508b、和508c上所示的六条建议之一相关联。在这种具体实施方式中,建议表516包括建议标识符字段、建议字段、说明字段、段落标识符字段、以及位置字段。
建议表516中的条目533包括建议标识符字段中的建议标识符536、建议字段中的建议555a、说明字段中的说明542、段落标识符字段中的段落标识符545、以及位置字段中的位置548。
建议字段包括代表用户输入的建议的文本字符串(例如,ASCII文本字符串)。输入建议的用户可以被称为建议者。输入可以使用键盘、键区、触笔、或者其他人类输入设备键入,或者也可以使用其他技术输入,这些其他技术诸如是从显示出的一些建议选项中或者建议选项的组合中进行选择;扫描的、视频、相机或者相片输入、视频或者图像(例如,图片或者照片)到文本转换;或者声音识别或者实时语音识别。通过引用结合于此的美国专利6453290、6865536、7330815以及7689415描述了基于网络的语音识别。语音或者声音识别可以由设备执行,其中识别例程(至少部分或者全部)在设备上被执行。
说明字段包括代表建议者输入的说明的文本字符串(即,对于所建议文本的建议者说明)。也就是说,当建议者做出建议时,系统允许建议者输入建议的说明或者原因。输入说明是可选的。建议者可以提交建议,而无需输入说明。在这种情况下,表格中的用于该条目的说明字段将为空。
建议标识符和段落标识符字段可以包括编号、字符、字母、或者它们的组合(例如,文字数字)的唯一序列。每个建议可以与唯一的建议标识符相关联。这使得可以经由建议标识符来引用建议。例如,建议标识符536被与建议555a相关联。建议标识符554被与建议555b相关联,等等。建议标识符针对所作出的每个建议被自动生成。
在该具体实施方式中,建议标识符可以在所有建议中是唯一的。所以,用于Web页508a中的建议555a的第一建议标识符将不同于用于Web页508b中的建议555b的第二建议标识符,并且不同于用于Web页508b中的建议555c的第三建议标识符。第二建议标识符将不同于第三建议标识符。在另一实施方式中,针对特定Web页,建议标识符是唯一的。所以,在该具体实施方式中,与Web页508a中的建议555a相关联的第一建议标识符可以与与Web页508b中的建议555b相关联的第二建议标识符相同。
每个段落可以被与唯一的段落标识符相关联。这允许经由段落标识符来引用段落。Web页可以具有任何数目的段落。
在该种具体实施方式种,跨越所有Web页种的所有段落,段落标识符是唯一的。所以,第一段落标识符被与Web页508a中的第一段落相关联。第二段落标识符被与Web页508a中的第二段落相关联。第三段落标识符被与Web页508b中的第三段落相关联。第一段落标识符不同于第二和第三段落标识符。第二段落标识符不同于第三段落标识符。在另一种实施方式中,段落标识符相对于特定的Web页是唯一的。所以,在该种具体实施方式中,第一段落标识符不同于第二段落标识符,但是可以与第三段落标识符相同。
位置字段包括整数值。在一种具体实施方式中,位置包括起始位置字段和结束位置字段。起始位置指示所选择的内容部分的起始位置(例如,段落中的所选择的文本的起始位置)。结束位置指示所选择的内容部分的结束位置(例如,段落中的所选择的文本的结束位置)。
在一种具体实施方式中,段落中的位置数目等于段落中的单词数目加1。例如,具有四个单词的段落将具有5个位置。段落的第一个单词在第一位置开始,并且在第二位置结束。段落的第二个单词在第二位置开始,并且在第三位置结束。段落的第三个单词在第三位置开始,并且在第四位置结束。段落的第四个单词在第四位置开始,并且在第五位置结束。
在该种具体实施方式中,所选择的文本包括段落中的任意数目的连续的单词。例如,第一所选文本可以包括第一个单词。第二所选文本可以包括第一、第二和第三个单词。第三所选文本可以包括第二和第三个单词,等等。所以,第一所选文本将具有第一位置处的起始位置和第二位置处的结束位置。第二所选文本将具有第一位置处的起始位置和第四位置处的结束位置。第三所选文本将具有第二位置处的起始位置和第四位置处的结束位置。
在其他实施方式中,所选择的文本包括任意数目的不连续的单词、连续的单词和不连续的单词的组合。所选择的文本可以包括一个或多个单词、字符、字母、空格、符号、标点符号、单词分隔符(word divider)、或者任意类型的版式、以及它们的组合。所选择的文本可以包括来自两个以上段落的内容。两个以上段落可以是连续的,也可以是不连续的。
在一种具体实施方式中,建议表516包括五个字段或者栏。这五个字段和每个字段的简要描述在下面的表A中示出。
表A
建议标识表519包括建议标识符字段、建议者标识符字段、以及节点标识符字段。建议标识表中的条目560包括建议标识符字段中的建议标识符536、建议者标识符字段中的建议者标识符563、以及节点标识符字段中的节点标识符566。
建议者标识符和节点标识符字段包括编号、字符、字母、或者它们的组合(例如,文字数字)的唯一序列。建议者标识符指示张贴建议的用户的用户标识符。
在一种具体实施方式中,节点标识符是用户生成的内容(例如,博客、视频、音频、文档、照片、论坛评论、问题、应答、用户创建的群组等)的唯一编号。节点标识符被与节点表格交叉参考,以确定节点的创建者的用户标识。在一种具体实施方式中,节点表包括表的主体字段中的用户创建的内容。具有对每个字段的描述的节点表中的字段的示例在下面的表B中被示出。
表B
在该种具体实施方式种,对用户生成的内容的改变或者修正是使用节点修正表来追踪的。包括在节点修正表中的一些字段的示例在下面的表C中示出。
表C
所以,以上所示出的建议、建议标识、建议历史、节点、以及节点修正表可以被交叉参考,以确定例如提交或者张贴建议的用户、与建议相关联的段落、与建议相关联的段落中的文本的起始和结束位置、以及段落的创作者。
建议历史表520包括建议标识符字段、查看者标识符字段、以及时间戳字段。查看者标识符字段包括编号、字符、字母或者它们的组合(例如,文字数字)的唯一序列。查看者标识符指示查看建议的用户的用户标识。
时间戳字段包括日期(例如,年、月、日)、时间(例如,小时、分钟、以及秒)或者它们二者。时间戳指示用户查看建议的日期和时间。
建议历史表520中的条目575包括建议标识符536、查看着标识符578、以及时间戳581。在一种具体实施方式中,每当唯一用户查看或者点击建议时,就在建议历史表中做出一条目。另外,在该种具体实施方式中,每次该唯一用户查看建议时,时间戳就被更新。
在一种具体实施方式中,建议历史表520可以被与建议表516交叉参考,以追踪哪个用户查看了建议以及该用户查看建议的时间。
图6示出了从本发明的工具箱访问选项的流程图。在步骤605,工具箱被调用。在一种具体实施方式中,在用户选择内容的一部分之后,工具箱被调用。图7示出了来自用户创建内容710的所选内容705的示例。用户创建的内容被作为Web页的一部分显示在浏览器应用程序711的窗口中。
在该种具体实施方式种,用户使用鼠标从段落选择该内容部分。具体地,用户在该部分的起始位置715处点击左鼠标按钮,并在该部分上拖拽光标。当用户拖拽光标时,该系统通过突出显示该部分进行响应。然后,用户在该部分的结束位置720处释放左鼠标按钮。该系统检测到按钮的释放并且调用工具箱725。
在该种具体实施方式中,该系统收集并存储段落标识符和所选择的内容的起始和结束位置。段落标识符和起始和结束位置被从客户端传送到服务器。
下面的表D至K示出了用于选择内容部分、标识与该内容相关联的段落、以及标识段落中的所选择的内容的位置或者定位的代码的示例。
下面的表D示出了用于选择并突出显示该内容的一部分的InternetExplorer浏览器程序的代码的示例。
表D
下面的表E示出了用于选择并突出显示内容的一部分的Firefox浏览器程序的代码的示例。
表E
下面的表F示出了用于捕捉所选择的文本(其中,所选择的文本包括纯文本)的Internet Explorer浏览器程序的代码的示例。
表F
下面的表G示出了用于捕捉所选择的文本(其中,所选择的文本包括HTML标签)的Internet Explorer浏览器程序的代码的示例。
表G
下面的表H示出了用于捕捉所选择的文本的Firefox浏览器程序的代码的示例。
表H
下面的表I示出了用于获取段落标识符的Internet Explorer浏览器程序的代码的示例。
表I
下面的表J示出了用于获取段落标识符的Firefox浏览器程序的代码的示例。
表J
下面的表K示出了用于计算所选择的文本的起始和结束位置的代码的示例。
表K
在步骤610(图6)中,系统绘制出工具箱的顶视图。工具箱可以被绘制在Web页或者文档上的任何位置或者定位。一般,工具箱被绘制为使得其不与所选择的内容重叠。工具箱可以与未被选择的内容重叠。在一种具体实施方式中,工具箱被绘制为其被定位于所选择的内容处或者附近。在该具体实施方式中,工具箱被绘制为使得工具箱的左上角被定位在所选择的内容的结束位置处或者附近。
一般,工具箱被显示在叠加在Web页上的浮动窗口中,即工具箱与Web页重叠或者出现在Web页上面。用户可以将工具箱重新定位到Web页中的任何其他位置。例如,用户可以使用左鼠标按钮选择工具箱的标题栏,将工具箱拖拽到新位置,然后释放左鼠标按钮。在另一实施方式中,工具箱被显示在非浮动窗口中。即,工具箱处于Web页上的固定位置,用户不能将工具箱移动到不同的位置。
在步骤615中(图6),系统示出了工具箱中的工具箱选项。如图7中所示,在该具体实施方式中,工具箱包括五个选项,包括:做出建议选项730a、对其进行翻译选项730b、对其进行收听选项730c、复制选项730d、以及援引选项730e。工具箱包括用户可点击的对象735(例如,图标、链接、或者按钮),当该对象被点击或者选择时,该对象关闭工具箱并且退出工具箱程序。
在一种具体实施方式中,系统确定用户被授权执行哪些工具箱选项并且示出这些选项。用户没有被授权执行的工具箱选项没有被示出。例如,系统可以仅允许已注册用户做出建议。如果用户是注册用户,则做出建议选项将被示出在工具箱中。如果用户不是注册用户,则做出建议选项将不被示出在工具箱中。
工具箱的各种特征在于2009年2月21日递交的美国专利申请12/390450中被描述,其中该美国申请与本申请中引用的其他参考一起被结合于此。
在步骤620(图6)中,系统接收用户选择的工具箱选项。在步骤625中,系统执行与所选择的工具箱选项相关联的任务。在一种具体实施方式中,图6中所示的一个或多个流程步骤是使用可执行代码执行的。该代码可以是可执行的源代码、解释代码、或者汇编代码(例如,二进制或者机器代码)。该代码可以由浏览器或者可在工具箱被调用的客户端设备上得到的其他执行机构(例如,解释器、汇编器、插件、或者浏览器插件)执行。代码可以由客户端设备的处理器执行。
工具箱工具可以使用云端计算来实现,其中用户通过云端来访问工具。工具箱可以在云端中被更新,可以通过例如它们的web浏览器被传送给用户,从而使得用户不需要在他们的系统上人工更新工具箱软件。该代码可以嵌入有从服务器传送给客户端的内容(例如,文档或者web页)。例如,代码可以被嵌入在web页文档中。每当用户拉出web页时,可执行代码被传送给该用户。在其他实施方式中,代码可以被单独从web页下载或者被单独发送到web页。例如,代码可以作为驻留于用户的设备上的插件被下载,并且web页调用该插件。
另外,在一种具体实施方式中,代码用AJAX(异步Java Scrip加XML)来被编写或者使用它。本领域技术人员将明白,创建交互式web应用的其他技术可以替代地或者另外地被利用。例如,一些其他语言和协议包括Microsoft ActiveX、XML、PHP、Adobe Flash、Flex、MicrosoftSilverlight、Jave applets、JavaFX、Jscript、ASP、JavaServerFaces、Objective C、级联样式表单(CSS)、HTML5、H.264/AVC、Visual Basicfor application、VBScript、Microsoft.NET、Lisp、Perl、Python等等。
在进一步的实施方式中,用于工具箱的代码驻留在服务器处并且在服务器处被执行。用户将与服务器交互。在这种实施方式中,当更多用户使用工具箱时,服务器操控这些工具箱为这多个用户服务。相比于代码在客户端上执行的以上实施方式,在客户端上执行代码不需要太多服务器资源;一般,这种实施方式允许系统更容易扩展更多数目的用户。
尽管我们给出了本专利申请中存在两个或三个用户的一些示例,但是这仅用于说明,因为本发明的系统可以同时操控诸如从几个(例如4、5、6、7-16、30)到很多个(诸如5000、10000、40000、100万、500万或者更多)的很多数目的用户。本发明的系统允许很多用户使用工具箱来相互交互。
在一种具体实施方式中,客户端设备上运行的可执行代码检测客户端设备处的用户的输入。例如,用户可以指示,用户想在web页的特定位置处输入一些建议的文本(该同一web页可以包括用于工具箱的可执行代码)。工具箱然后将在客户端设备的屏幕上绘制用于寻求来自用户的建议输入的窗口。
用户键入用户的建议,并且通过敲击回车或者敲击工具箱窗口中的被适当标注的按钮(例如,接受或者完成)来指示完成。用户接受用户的输入并且存储该输入。工具箱可以将该输入临时存储在客户端设备处,诸如用于高速缓存目的,但是该输入将被传送到服务器,其中该输入被存储在服务器处以供随后由拉出该web页的其他人(例如,不同客户端设备处的另一用户)查看。
图8示出了用于对诸如博客中的文本主体之类的用户创建的内容做出建议的流程图。箭头805指示用户选择了做出建议选项730a(图7)。
在步骤810中,系统显示工具箱的建议视图。建议视图包括来自web页的所选择内容、以及建议和说明输入框。
图9示出了工具箱的建议视图905的示例。建议视图包括显示在所选内容框909中的所选择内容705(图7)、web页创作者(或者内容框的创作者)910、建议输入框915、说明输入框920、以及提交按钮925。
所选择的内容当在所选内容框909中被显示时可以使用任何有助于引起对所选内容的注意的颜色来显示。在一种具体实施方式中,所选择的内容被以红色显示,但是可以被以诸如蓝色、黄色、绿色、橘黄色、黑色、粉色、以及紫色之类的任何颜色显示。
如图9中所示,建议视图的布局包括该布局的左上角中的web页创作者、和该布局的右上角中的所选择内容。建议输入框在web页创作者和所选择内容下方。说明输入框在建议输入框下方。提交按钮在说明输入框下方。换言之,建议和说明输入框在web页内容创作者或者所选择内容与提交按钮之间。说明输入框在建议输入框和提交按钮之间。
但是应该明白,图9仅示出了组件(即,web页内容创作者、所选择内容、建议输入框、说明输入框、以及提交按钮)的排列或布局的一个示例。这些组件可以被以任何次序排列或者可以被排列在任何位置中。例如,web页内容创作者和所选择内容的排列可以被交换。所选择内容可以被显示在工具箱的左上角中。Web页内容创作者可以被显示在工具箱的右上角中,等等。
在一种具体实施方式中,所选择内容还被显示在建议输入框中。即,建议输入框默认或者被预先填充了所选择内容。用户可以通过编辑或者改变所选择内容的特定部分来做出建议,而不必重新键入用户希望保持的所选择内容的其他部分。在另一实施方式中,建议输入框是空白或者空的。
一般,建议输入框要求具有输入并且说明输入框是可选的。在用户点击提交按钮后,系统检查建议输入框是否包括建议。该检查可以在客户端进行,在服务器处进行,或者在这二者处进行。如果没有建议,则系统经由对话框提示用户输入建议。
现在参考图8,在步骤815中,系统接受来自建议和说明输入框的输入。
在步骤820中,系统将建议与所选择内容所在的段落(即,段落标识符)和所选择内容在该段落中的位置相关联。
在步骤825中,系统将建议、说明、段落标识符、以及所选择内容的位置存储在建议数据库中。系统在建议数据库中做出包括建议标识符、建议、说明、段落标识符、以及位置的条目。参见图5。该条目可以进一步包括给建议指派状态(例如,指派一新状态)。
在步骤830中,系统对建议标识数据库进行更新。该系统在建议标识数据库中做出包括建议标识符、建议者标识符、和节点标识符的条目。参见图5。
在一种具体实施方式中,当用户创建的内容包括一个或多个建议时,查看建议的链接被显示在web页上。
在一种具体实施方式中,建议者可以在建议被提交后对建议进行编辑。例如,建议者可以在建议被批准或者拒绝之前对建议进行编辑。一般,用户或者建议者不被允许在建议被做出之后删除建议。但是,在其他实施方式中,用户可以在建议被做出后删除建议。
图10示出了用于批准和拒绝建议的流程图。在步骤1005中,来自建议数据库的一个或多个建议被显示在web页上。
在步骤1015中,系统接收对建议的批准或拒绝。在步骤1020中,如果系统接收到对建议的拒绝,则系统将建议状态从“新的”改变为“被拒绝”。在步骤1025中,系统对建议历史数据库进行更新。参见图5。
在步骤1030中,如果系统接收到对建议的批准,则系统通过用该建议来替代web页中的所选择内容来更新web页。在一种具体实施方式中,主体栏(参见表B)利用所建议的文本被更新。在该种具体实施方式中,时间戳栏(参见表B)同样被更新,以指示更新的日期和时间。
在步骤1035中,更新后的web页被存储在用户web页数据库中。浏览器中的web页或者浏览器窗口被刷新,以示出当前所选择内容被建议替代的新web页。
在步骤1040中,系统将建议状态从“新的”改变为“被批准”。在步骤1025中,建议历史数据库被更新。
下面的表L示出了用于用建议来替代所选择内容的代码的示例。该代码示例用可被称为个人主页(Personal Home Page,PHP)的脚本语言来编写。在一种具体实施方式中,所选择内容包括来自博客的文本。当用户确认他们希望用建议来替换所选择内容时(例如,用户点击“是的,我确定”按钮),该代码被执行。换言之,在一种具体实施方式中,系统在接收到接受建议的指示之后并且在用建议替换所选择内容之前,提示用户进行确认(例如,显示请求确认的对话框)。如果用户确认了该接受,则所选择内容被建议替换。如果用户没有确认该接受,则所选择内容不被建议替换。
表L
在一种具体实施方式中,建议状态是包括新的、被批准、被丢弃、同意、以及同意未决的五种状态类型之一。“新的”状态类型被指派给新提交的建议。具有“新的”状态类型的建议尚未被批准或丢弃。在该具体实施方式中,新的建议在诸如建议概要页之类的某些web页上被显示有星号(例如,橘黄色的星号)。这有助于将用户的注意力集中在新的或者近来的建议上。
在一种具体实施方式中,建议概要页包括第一标签页(tab page)和第二标签页。第一标签页包括所给出建议的列表,标识或显示接收到建议的用户,标识所作建议所针对的文档或者博客贴子的标题,标识建议接收者查看建议的日期、时间或者它们二者、建议的状态(例如,被丢弃、批准未决、被接受、被拒绝、同意、不同意、有条件地同意、有条件地拒绝等)、所给出的建议的数目、被批准的建议的数目、以及批准比例。
第二标签页包括所接收建议的列表,并且可以包括类似于第一标签页的信息。例如,具有所接收建议的列表的第二标签页可以标识或者显示做出建议的用户、所作建议所针对的文档或者博客贴子的标题、建议被查看的日期和时间、建议的状态、所接收的建议的数目、被批准的建议的数目、以及批准比例。建议概要页可以被过滤、分类、或者搜索。可以使用本申请中讨论的数据库字段(例如,参见表A)中的任何数据库字段来过滤建议。可以基于用户(或者建议者)、建议状态、建议的时间、建议的日期等来过滤建议。对建议分类包括按照时间顺序、按照时间逆序、以及按照字母顺序对建议进行分类。可以对多个字段在多个层级上进行分类(例如,首先按用户进行分类,然后根据日期进行分类)。
例如,内容所有者可能希望看到来自特定用户的建议并且忽略或者隐藏来自其他用户的建议。可以根据用户(或者建议者)、做出建议的日期、做出建议的时间、建议的长度、建议是否包括说明、建议者的语言流利程度、建议者的祖国、建议者的评级信息、建议、说明或其二者中的一个或多个关键字、建议状态、或者它们的组合(仅给出了一些示例)来对建议进行过滤。
内容所有者可以对建议进行过滤,以查看来自特定用户、或者具有某种评级或者经验等级的用户、或者特定群组的成员(例如,老师或者教员、董事会成员、管理者、学生、特定分布列表、或者对等方)的建议,而不是该群组的一部分的用户将不在概要屏幕中被示出。
内容所有者可以过滤并查看概要中的仅针对页面的一个段落的建议,而忽略页面上的其他建议。内容所有者可以过滤并查看概要中的特定日期之后的建议,而忽略该日期之前所作出的其他建议。内容所有者可以仅过滤并查看特定日期之前的建议,而忽略该日期之后做出的其他建议。内容所有者可以仅过滤并查看概要中的特定日期中的某个时间之后的建议,而忽略该日期的该时间之前做出的其他建议。内容所有者可以仅过滤并查看概要中的某日期的特定时间之前的建议,而忽略该日期的该时间之后做出的其他建议。
在一种具体实施方式中,系统或者工具箱包括允许用户搜索建议的搜索工具。搜索选项包括基于关键字的搜索、基于排他性的搜索、基于确切短语的搜索、基于短语中的任何字的搜索、以及覆盖特定段落、段落的特定分组、文档或者它们二者的搜索等。
当内容的创作者批准建议时,“被批准”状态类型被指派给该建议。当内容的创作者拒绝或者丢弃建议时,“被丢弃”状态类型被指派给该建议。
在该种具体实施方式中,在存在针对相同所选择内容的两条以上建议的情况下,状态类型“同意”或者“同意未决”被使用。例如,第一用户可以针对所选择的内容做出第一建议。第二用户可以针对所选择的内容做出第二建议。最初,第一和第二建议的状态类型为“新的”。内容创作者然后可以评阅第一和第二建议,并且决定例如同意哪条建议。当内容创作者批准建议中的一条建议时,另一建议的状态从“新的”改变为“同意未决”。
例如,如果内容创作者批准第一建议,则第一建议从“新的”改变为“被批准”。第二建议从“新的”改变为“同意未决”。如果内容创作者同意第二建议,则状态从“同意未决”改变为“同意”。如果内容创作者不同意第二建议,则状态从“同意未决”改变为“被丢弃”。
在这种具体实施方式中,当第二建议被同意时,系统将不用第二建议来替换所选择的内容(当前已经被第一建议替代)。而是,状态“同意”被用来指示例如,尽管内容创作者大体同意第二建议,但是内容创作者更倾向于第一建议。在另一种实施方式中,同意第二建议将替换所选择的内容(或者第一建议)。例如,内容创作者在批准第一建议后,可能随后转而更倾向于第二建议。内容创作者然后可以接受第二建议,系统将用第二建议来替换所选择的内容(或第一建议)。
在一种具体实施方式中,用户能够撤消建议。例如,在建议已经被批准并且建议已经替代了用户创建的内容中的一部分之后,用户可以撤消建议以得到或者恢复原始内容。
图11示出了浏览器1110中显示的web页1105的示例。该Web页包括用户创建的内容1115。在该示例中,用户创建的内容包括一个或多个建议。在一种具体实施方式中,如果存在当前建议(例如,新的或者还没有被批准或者拒绝的建议),则当前建议链接1120被显示在web页上的用户创建的内容附近。如果不存在当前建议,则当前建议链接1120不被显示。
在这种具体实施方式中,如果存在老建议(例如,已经被批准或者拒绝的建议),则建议历史链接1125被显示在web页上的用户创建的内容附近。如果不存在老建议,则建议历史链接1125不被显示。
图12示出了用于在用户点击建议链接1120(图11)时用以查看并且批准或拒绝(例如,丢弃)建议的web页1205的示例。工具箱1207的查看视图被调用并被绘制在页面上。第一和第二突出区1208和1209突出显示了用户创建的内容中存在建议的被选择部分。在该示例中,作出了两个建议。第一建议是针对第一所选内容1231做出的。第一所选内容被用第一突出区突出显示。第二建议是针对第二所选内容1232做出的。第二所选内容被用第二突出区突出显示。
下面的表M示出了用于突出显示用户创建的内容中存在建议的部分的代码的示例。
表M
在一种具体实施方式中,工具箱被绘制在浮动窗口中,并且可以被用户重新定位。在另一种实施方式中,工具箱被绘制在固定或者非浮动窗口中。
该工具箱包括内容创作者框1225、所选择内容框1230、建议者框1235、具有编辑建议链接1242的建议框1240、说明框1245、批准按钮1250、丢弃按钮1255、前一个按钮1260、以及下一个按钮1265。如所说明的,在一种具体实施方式中,用户可以提交建议,而不必输入对于建议的说明。如果是这种情况,则说明框1245不被显示,因为不存在要显示的说明。
在一种具体实施方式中,工具箱具有图12的示例中所示的布局。布局的第一行或者首行包括内容创作者框和所选择内容框。第二行包括建议框。第三行包括对于建议的说明框(如果存在的话)。建议者框跨越第二和第三行。第四行包括批准和丢弃按钮。第五行包括前一个和后一个按钮。
但是应该明白,图12仅示出了组件的布局或排列的一个示例。组件可以被按照任意次序排列或者可以被排列在任意位置中。
内容创作者是创作出用户创建内容的用户。在一种具体实施方式中,工具箱一次示出了一个建议和相关联的所选择内容及说明。所以,在该示例中,所选择内容框显示第一所选内容1231或者第二所选内容1232。类似地,建议框显示第一建议或第二建议。前一个和后一个按钮允许用户滚动通过可能针对用户创建内容的不同部分作出的各种建议。但是应该明白,工具箱可以显示任何数目的建议和所选择内容。
通常,使用工具箱遍历建议的次序是相对于用户创建内容中的建议的位置或者定位的。在一种具体实施方式中,该次序是在用户创建内容中从左到右、从上到下。例如,第一所选内容1231的位置处于用户创建内容1115中的第二所选内容1232的位置的上方。所以,所选择内容框1230将显示第一所选内容,并且建议框1240将显示第一建议,即与第一所选内容相关联的建议。
在各种其他实施方式中,遍历建议的次序是相对于用户创建内容中的建议的位置和定位的从右到左以及从下到上。建议是根据它们被做出的时间而被排序的(即,按照时间顺序或者按照时间逆序)。
在一种具体实施方式中,突出区的突出显示风格是基于当前被显示在工具箱中的建议的。这使得用户能够快速将工具箱中显示的建议与用户创建内容中的特定片断的所选择内容的相关联。当在所选择内容框1230中显示第一建议时,第一突出区1208使用第一突出显示风格被显示。第二突出区1209使用不同于第一突出显示风格的第二突出显示风格被显示。
在这种具体实施方式中,第一突出显示风格包括实下划线。第二突出显示风格包括点下划线或者虚下划线。应该明白,可以使用任何突出显示风格或者任何标记或者视觉指示符。其他突出显示风格或技术的一些示例包括颜色、框、云、泡、阴影、图标、动画、不同的字体类型、不同的字体大小、以及它们的组合(例如,红色的实下划线或者红色的虚下划线)。
当用户点击下一个按钮以前进到第二建议时,第一突出区1208的突出显示风格从第一突出显示风格改变为第二突出显示风格。第二突出区1209的突出显示风格从第二突出显示风格改变为第一突出显示风格。
内容创作者在评阅建议和说明(如果有的话)后,可以通过点击批准按钮来批准建议或者通过点击丢弃按钮来拒绝建议。
编辑建议链接1242允许内容创作者在批准或者丢弃建议之前对建议进行编辑。例如,内容创作者在评阅建议之后,可能大体上同意建议,但是可能想要对建议做出一些改动。内容创作者可以点击将以可编辑版本的建议被示出的编辑建议链接。内容创作者然后可以对建议进行编辑。当内容创作者点击批准按钮时,编辑后的建议替换掉所选择的内容。
在一种具体实施方式中,系统或者工具箱包括一个或多个过滤器,以允许用户对建议进行过滤。例如,用户A可能希望看到来自特定用户的建议并且隐藏来自其他用户的建议。该特定用户例如可以是用户A特别相信会提供好建议的人。包括数据库字段的组合在内的、在本申请中讨论的任何数据库字段可以被用来过滤建议。
可以根据用户(或者建议者)、做出建议的日期、做出建议的时间、建议的长度、建议是否包括说明、建议者的语言流利程度、建议者的祖国、建议者的评级信息、建议、说明或者它们二者中的一个或多个关键字(例如,向我示出其中具有单词“lobster”的建议)、建议状态或者它们的组合(这里仅列举了一些示例)来过滤建议。
用户A可以对建议进行过滤,以看到来自具有某评级或者经验等级的用户的建议。例如,用户A可以对建议进行过滤,以看到来自已经做出某个数目的建议的用户的建议(例如,向我示出来自已经做出50个以上建议的用户的建议);用户A可以对建议进行过滤,以看到来自具有某一批准或者接受评级的用户的建议(例如,向我示出来自其建议至少有80%被接受的用户的建议,向我示出来自其建议以前被我接受过的用户的建议);用户A可以对建议进行过滤,以看到来自它们的网友的建议(例如,向我示出来自处于我的好友群中的用户的建议,向我示出来自处于我的家人群中的用户的建议);用户可以对建议进行过滤,以看到来自具有特定的语言流利程度的建议者的建议(例如,向我示出来自作为日语专家的用户的建议,向我示出来自西班牙语流利的用户的建议),等等。
这些过滤器可以帮助用户A对建议进行分类,尤其是在文档包括数十条、数百条、或者数千条建议时。
在一种具体实施方式中,系统或者工具箱包括允许用户搜索建议的搜索工具。搜索选项包括基于关键字的搜索、基于排他条件的搜索(例如,具有单词“rock”但不具有单词“olive”的建议)、基于确切短语的搜索、基于短语中的任何字的搜索、以及覆盖特定段落、段落、文档或其二者的特定分组的搜索等。
现在参考图7,工具箱725除了包括“做出建议”730a以外,还可以替代地或者另外地包括任何其他选项以供用户选择。例如,用户在选择内容705后可以通过点击“对其进行翻译”选项来翻译所选择的内容。
在一种具体实施方式中,当EnglishCafe用户想要读取被翻译为某种其他语言的博客文本时,“对其进行翻译”选项被启动。这可以通过选择用户想要翻译的文本并且从工具箱中选择“对其进行翻译”选项来进行。在另一种实施方式中,用户可以以一种特定语言(例如,西班牙语)输入建议,并且将其翻译为另一种语言(例如,英语)。其他翻译可以是汉语到英语、英语到汉语、英语到德语、德语到英语、英语到西班牙语、西班牙语到英语、西班牙语到北印度语、以及北印度语到英语等。用户可以查看翻译后的建议,并且在指示或者选择输入并保存建议之前对所选择的翻译进行编辑。
在一种具体实施方式中,想要读取期望语言的文本的用户可以是EnglishCafe用户、被认证的用户、或者匿名用户。“对其进行翻译”特征的流程的示例如下。
1.用户浏览博客贴子。
2.用户想要将博客贴子的一部分文本翻译为某种其他语言以供阅读。
3.当工具箱的弹出窗口打开时,用户选择将要翻译的文本部分。
4.通过选择“对其进行翻译”选项,另一窗口打开。
5.来自博客的所选择文本将被在“所选择文本”文本框中以红色被突出显示。其下面是“翻译所选择的文本”标签和列出了所有预定义语言的“英语到”下拉框。
6.用户从下拉框中选择语言。从英语被翻译为所选择语言的文本与标签“翻译后的文本”一起在下拉框下面被示出。
下面的表N示出了用于翻译所选择内容的代码的示例。
表N
翻译特征的多个方面也在于2008年6月17日公开的美国专利7,389,221中有所描述,该美国专利与本申请中的其他参考文献一起通过引用被结合于此。
用户在选择内容705之后可以通过点击“对其进行收听”选项来收听所选择内容的发声。
在一种具体实施方式中,当EC用户想要收听博客的文本时,“对其进行收听”特征被启动。这可以通过选择用户想要听取的文本并且从工具箱选择“对其进行收听”选项来进行。在一种具体实施方式中,想要收听文本的用户可以是EnglishCafe用户、经认证的用户、或者匿名用户。音频驱动器应该被安装。“对其进行收听”特征的流程示例如下。
1.用户浏览博客贴子。
2.用户想要听取博客文本的一部分。
3.当工具箱的弹出窗口打开时,用户选择博客文本的一部分。
4.通过选择选项“对其进行收听”,另一窗口打开。
5.从博客中选择的文本将被在“所选择的文本”文本框中以红色被突出显示。其下面是“收听所选择的文本”标签、列出所有预定义声音的“选择声音”下拉框、以及用于常速或者慢速的“选择速度”选项按钮。
6.用户从下拉框中选择期望的声音,选择速度,并且点击播放按钮。
7.用户以期望的声音收听期望的文本。
下面的表O示出了用于获取所选择内容的音频文件(例如,.wav文件)的代码的示例。
表O
下面的表P示出了用于利用嵌入标签来播放文件的Internet Explorer浏览器的代码的示例。
表P
下面的表Q示出了用于利用嵌入标签来播放文件的Firefox浏览器的代码的示例。
表Q
用户在选择内容705后可以通过点击“复制”选项将所选择的内容复制到剪贴板。
在一种具体实施方式中,当EC用户想要复制博客文本的一部分时,“对其进行复制”特征被启动。这可以通过选择用户想要复制的文本并且从工具箱选择复制选项来进行。在一种具体实施方式中,想要复制文本的用户是EnglishCafe用户、经认证的用户、或者匿名用户。复制特征的示例流程如下。
1.用户浏览博客贴子。
2.用户想要复制博客文本的一部分。
3.当工具箱的弹出窗口打开时,用户选择博客文本的一部分。
4.通过选择选项“复制”,从博客复制的文本被复制到剪贴板。
5.用户可以使用复制的文本作为其参考。
下面的表R示出了用于复制所选择的内容的Internet Explorer浏览器的代码的示例。
表R
下面的表S示出了用于复制所选择的内容的Firefox浏览器的代码的示例。
表S
用户在选择内容705后可以通过点击“援引”选项来援引所选择的内容。在一种具体实施方式中,被援引的所选择内容与将评论张贴到用户创建内容一起被使用(例如,对博客的一部分进行评论)。
在一种具体实施方式中,当EC用户想要对博客文本的一部分进行评论时,“援引”特征被启动。这可以通过选择用户想要评论的文本并且从工具箱选择“援引”特征来进行。在一种具体实施方式中,想要对文本的一部分进行评论的用户是EnglishCafe用户、或者经认证的用户。在这种具体实施方式中,匿名用户没有对博客贴子进行评论的许可。援引特征的示例流程如下。
1.用户浏览博客贴子。
2.用户想要对博客贴子的一部分进行评论。
3.当弹出窗口打开时,用户选择要评论的部分。
4.用户从工具箱选择选项“援引”。
5.“插入评论”框被插入在博客贴子下方。
6.被选择来进行评论的文本出现在“[援引]”和“[/援引]”短语之间。
7.默认光标被放置在“[/援引]”下方。
8.用户给出对所援引文本的评论。
9.评论可以是文本、照片、音频或视频形式的。
10.用户点击“张贴评论”按钮以张贴评论。
11.对所援引文本的评论将被张贴给该博客。
下面的表T示出了用于援引所选择内容的JavaScript代码的示例。
表T
图13示出了在针对同一被选择内容做出多个建议(即,两个以上建议)的情况下web页1305的示例。在该示例中,第一和第二建议1310和1315针对所选择内容1320分别被做出。系统允许针对所选择内容做出任意数目的建议。例如,可以存在针对所选择内容做出的两个、三个、四个、五个、六个、七个、八个、九个、十个、或者更多建议。
所以在一种具体实施方式中,系统允许建议者A选择内容部分(即,所选择内容1320)并且做出第一建议。系统允许建议者B选择相同的内容部分(即,所选择内容1320)并做出第二建议。如果建议者期望的话,建议者可以提供对建议的说明。
用户可以使用工具箱的下一个和前一个按钮来滚动通过并查看第一和第二建议。例如,在该具体实施方式中,所选择内容1320被显示在所选择内容框1230中,并且第一建议被显示在建议框1240中。用户可以点击下一个按钮来查看第二建议。即,工具箱然后在建议框1240中显示第二建议。所选择内容1320将继续被显示在所选择内容框1230中。
所以,诸如内容创作者之类的用户可以查看已经针对所选择内容做出的不同建议。内容创作者可以选择将批准哪个建议(例如,第一或第二建议)。例如,所选择内容可以陈述如下内容:
“The motor vehicle propelled itself up the cliff and landed in nature’swatery bosom.”
建议者A可以提供如下的第一建议:
“The car sped up the cliff and plummeted into the ocean.”,并且提供这样的说明:原来的句子不优美且繁琐”。
建议者B可以提供如下的第二建议:
“The car threw itself off the cliff.”。
内容创作者然后可以评阅这两个建议,并且决定将要批准哪个建议。例如,内容创作者可以决定第一建议更合适并批准第一建议。然后,所选择的内容将被第一建议替代。
另外,建议者可以针对所选择内容做出任意数目的建议。例如,系统允许建议者A针对所选择的内容做出第一建议。在做出建议之后,建议者A可能会想到另一个备选建议。所以,系统允许建议者A再次选择该内容(即,所选择的内容),并且做出第二建议。
所选择内容可以与另一所选择内容重叠或者部分重叠。例如,第一所选择内容的一部分也可以在第二所选择内容中。该部分可以被称为重叠部分。第一建议被与第一所选择内容相关联。第二建议被与第二所选择内容相关联。在一种具体实施方式中,当用户创作者批准第一建议时,第一所选择内容被第一建议替代。在这种具体实施方式中,系统阻止内容创作者批准第二建议,因为第二建议可能不再是相关的。即,包括重叠部分的第一所选择内容已经被第一建议替代。并且,由于第二建议是针对重叠部分做出的,所以第二建议不再相关。
在另一种实施方式中,系统允许内容创作者在第一建议被批准之后批准第二建议。在这种具体实施方式中,第一建议的批准被撤消。即,第一建议被第一所选择内容替代。第二所选择内容然后被第二建议替代。
系统辅助或者准许任何数目的注解(例如,建议或者评论)被关联到或附加到用户生成的内容。这些注解可以由相同的用户或者不同的用户做出。所以,第一用户可以选择整个段落并进行注解。然后在第一用户的注解之后,第二用户可以不受限制地选择该段落的任何部分(或者整个段落)并进行注解。第二用户的注解不是针对第一用户的注解的答复或子注解(subannotation)。该系统的这个特征有助于阻止系统滥用(例如,非索要信息用户)或者可能想要破坏另一人的用户内容的其他人。
在没有这个系统特征的情况下,第一用户可以通过选择整个内容并且留下注释“The dodgers rule!”来破坏另一人的用户内容。然后,在没有本申请中描述的实施方式的情况中,进一步的注解将一起被阻止(但是,其他用户将看到该涂写)。或者如果系统允许针对第一注解的回复或子注解,则其他用户将在看到其他可能更严肃的评论之前首先看到该涂写。所以,本申请中描述的该实施方式有助于实现不准许想要错用该系统的这些人滥用其它用户的内容的开放式系统。
另外,该系统有助于分享诸如对于语言学习的想法,并且没有给予留下评论的第一用户任何优先权。后面的用户可以像留下注解的第一用户那样留下注解。留下注解的后续用户不被阻止对完全相同的用户内容或者先前已经被评论的用户内容的任何部分进行评论。
在一些实施方式中,可以阻止用户做出建议。例如,通过做出不适当的建议(例如,具有下流话、种族污辱性称号、或者骂人话的建议)来滥用系统的用户可以被阻止做出建议。该系统可以包括用以报告做出不适当的建议的用户的链接。
在一些实施方式中,可以阻止用户接收建议。在一种具体实施方式中,该系统包括基于建议的支付机制。例如,在各种实施方式中,用户被准许接收并访问阈值数目的建议,而无需对系统付费。一旦达到阈值数目,则用户必须付费才能接收并访问建议。用户被准许接收并访问不限数目的建议达阈值时间段,诸如在试用时段期间。一旦经过了试用时段,则用户必需付费才能接收和访问建议。
用户可以被准许接收建议(或者接收对建议已被做出的指示),但是可能不被准许访问建议(例如,查看建议)除非该用户付费。支付机制可以包括基于订阅的支付机制、现收现付的支付机制、或者它们二者。在基于订阅的支付机制中,用户支付例如月费,以接收并访问建议。被准许接收或访问的建议的数目可以是无限的,或者可以被限制在特定阈值,此后额外的收费可以适用。在现收现付的支付机制中,用户以每个建议为基础进行支付,以接收并访问建议。
在另一种实施方式中,广告被与建议包括在一起,用户在被准许查看建议之前,必须查看广告、听取广告或者进行这二者。在另一种实施方式中,用户可以付费,以便在被准许查看建议之前不必查看广告、听取广告或者进行这二者。
在一种具体实施方式中,一种方法包括从第一客户端设备接收查看第一web页的请求,该第一web页包括系统的用户web页数据库中存储的用户生成的内容的至少第一段落。将具有计算机代码的第一web页传送到第一客户端设备。计算机代码可以由用于查看第一web页的在第一客户端设备上执行的浏览器来执行。该方法还包括:准许第一客户端设备处的第一用户从浏览器选择第一段落中的文本;使用第一客户端设备处的计算机代码,检测对浏览器中的第一段落中的文本的选择;使用第一客户端设备处的计算机代码,在做出文本的选择之后,准许第一用户键入第一注解;以及将第一注解和第一注解在第一段落中的关联位置存储在注解数据库中。注解数据库与web页数据库是分开的,并且驻留在远离第一客户端设备的存储设备中。
该方法还包括:准许第二用户选择由第一用户选择的文本的至少一部分,并且准许第二用户键入针对由第一用户选择的文本的至少一部分的第二注解。
准许第二用户键入针对由第一用户选择的文本的至少一部分的第二注解可以包括不显示如下的警告消息:针对由第一用户选择的文本的至少一部分的另一注解先前已被输入。
使用第一客户端设备处的计算机代码,在文本的选择被做出之后,准许第一用户键入第一注解可以进一步包括:准许第一用户键入针对文本的选择的第一替代建议。该方法还可以包括:在准许第一用户键入针对文本的选择的第一替代建议之后,如果第一web页的所有者批准,则用第一替代建议来替代该文本的选择。
在一种具体实施方式中,一种方法包括:在第一客户端设备处接收将被显示在第一浏览器应用中的第一web页和将被第一浏览器应用执行的计算机代码;准许第一客户端设备处的第一用户使用计算机代码选择第一浏览器应用中的第一web页的第一段落中的文本;使用计算机代码检测对第一段落中的文本的选择;从第一用户请求将被与检测出的文本选择相关联的注解;以及将注解、标识第一段落的位置信息、以及检测出的第一段落中的文本选择的位置存储在驻留在远离第一客户端设备的服务器处的数据库中。
该方法还可以包括:在第二客户端设备处接收将被显示在第二浏览器应用中的第一web页;准许第二客户端设备处的第二用户批准注解;在第二用户批准注解之后,通过用注解替代所检测出的文本选择来更新第一段落;将更新后的第一段落存储在服务器处的与该数据库不同的第二数据库中;以及在第二客户端设备处接收将被显示在第二浏览器应用中的第二web页,其中第二web页包括更新后的第一段落。
该方法还可以包括在第三客户端设备处接收将被显示在第三浏览器应用中的第二web页。
在一种实施方式中,从第一用户请求注解包括从第一用户请求注解的说明,并且存储注解和位置信息包括将说明存储在数据库中。
在一种实施方式中,该方法包括:在检测出第一段落中的文本选择后,使用计算机代码,在第一web页的上部绘制窗口,其中该窗口包括第一用户可选择选项和第二用户可选择选项。
该方法还可以包括:准许第二客户端设备处的第二用户查看注解,并且将指示第二用户何时查看注解的时间戳存储在服务器处的数据库中。
在一种具体实施方式中,一种方法包括:在第二客户端设备处接收将要显示在第二浏览器应用中的第一web页;准许第二客户端设备处的第二用户对注解进行编辑;在第二用户对注解进行编辑后,通过用编辑后的注解替换检测到的文本选择来更新第一段落;将更新后的第一段落存储在服务器处的不同于该数据库的第二数据库中;以及在第二客户端设备处接收将被显示在第二浏览器应用中的第二web页,其中第二web页包括更新后的第一段落。
该方法还可以包括:在存储注解和位置信息后,在第二客户端设备处接收将被显示在第二浏览器应用中的第一web页和计算机代码;并且使用计算机代码,准许第二客户端设备处的第二用户开启和关闭对检测出的文档选择的突出显示。
在一种具体实施方式中,一种方法包括:在第一客户端设备处接收将被显示在第一浏览器应用中的第一web页和将由第一浏览器应用执行的计算机代码;准许第一客户端设备处的第一用户选择第一浏览器应用中的第一web页的第一段落中的文本,其中第一段落与段落标识符相关联;使用计算机代码检测对第一段落中的文本的选择;使用计算机代码从第一用户请求将被与检测出的文本选择相关联的注解;并且将注解、段落标识符、以及用于标识检测出的文本选择在第一段落中的位置的位置信息存储在驻留在远离第一客户端设备的服务器处的数据库中。
在一种具体实施方式中,一种系统包括驻留在服务器处的一组数据库。第一数据库包括一组web页。每个web页包括一组段落。每个段落具有唯一的段落标识符。还存在具有通过网络请求并接收第一web页的浏览器的客户端计算机。存在通过网络从服务器被传送到客户端计算机的计算机代码。该计算机代码由浏览器执行。计算机代码包括以下能力:检测第一用户在客户端计算机处对第一web页的第一段落中的文本的选择,从第一用户接收将与检测出的文本选择相关联的注解,标识第一段落的第一段落标识符,以及向服务器传送注解、第一段落的唯一的段落标识符、以及指示检测出的文本选择在第一段落中的位置的信息。
在这种具体实施方式中,注解、第一段落的唯一的段落标识符、以及指示检测出的文本选择在第一段落中的位置的信息被存储在第二数据库中。
在一种具体实施方式中,一种方法包括:提供包括有将使用web浏览器被显示在计算机显示设备上的一组内容的Web页;响应于用户使用点选设备对内容的一部分的选择,向用户提供弹出工具箱的第一视图。弹出工具箱的第一视图包括一组用户可选择选项。响应于用户使用点选设备对第一用户可选择选项的选择,向用户提供弹出工具箱的第二视图,其中工具箱的第二视图包括建议文本条目框。
该方法还包括:在服务器处接收来自用户的包括将被输入到建议文本条目框的建议的输入;以及将建议和关于建议的位置信息存储在服务器处的建议数据库中。该组内容被存储在单独数据库中,并且位置信息包括标识内容的信息和标识内容中的被选择部分的位置的信息。
在一种具体实施方式中,一种方法包括:从服务器向客户端传送与web页相关联的内容和系统代码;在用户使用客户端处的点选设备选择内容的一部分之后经由代码调用弹出工具箱,其中弹出工具箱允许用户输入将与所选择的内容部分相关联的建议;从客户端接收与所选择的内容部分相关联的建议和第一信息。第一信息包括内容标识符、内容中的被选择的部分的起始位置、以及内容中的被选择的部分的结束位置。该方法还包括:将第一信息存储在建议数据库中。该建议数据库与存储与web页相关联的内容的数据库相分离。
在一种具体实施方式中,一种方法包括:提供包括将使用web浏览器被显示在计算机客户端显示设备上的一组段落的第一web页。每个段落包括一组字符。该方法还包括:检测显示器上的指示第一段落中的字符的子集的起始位置的、由第一用户对点选设备的左鼠标按钮的点击;准许第一用户按住该左鼠标按钮并且在该字符子集上拖拽点选设备的光标以选择该子集;当第一用户拖拽光标时,在显示器上突出显示该字符子集;在检测到指示子集的结束位置的、第一用户对左鼠标按钮的释放后,以半透明的颜色在显示器上突出显示该字符子集并且在显示器上调用弹出工具箱,其中第一用户可以输入与所选择的字符子集相关联的建议;以及在服务器系统处将建议和第一信息存储在建议数据库中。
第一信息包括标识第一段落的段落标识符、起始位置、以及结束位置,多个段落被存储在远离建议数据库的用户web页数据库中。
在一种具体实施方式中,一种系统包括服务器,其中多个客户端设备可以经由网络访问该服务器。该服务器可操作用于向第一用户的第一客户端设备传送第二用户创建的内容和建议工具。建议工具包括用于检测第一用户对内容的一部分的选择以及从第一用户请求供第二用户接受或拒绝的针对所选择部分的建议的浏览器可执行代码。存在建议数据库。该建议数据库存储建议和用于标识所选择的内容部分的位置的位置信息。存在用户内容数据库。该用户内容数据库存储由第二用户创建的内容,并且当第二用户接受建议时,通过用建议替换所选择的内容部分来利用建议更新内容。更新后的内容被存储在用户内容数据库中。
建议数据库可以存储用于将第二用户创建的内容与来自第一用户的建议相关联的内容标识符。位置信息可以包括所选择的内容部分的起始位置和所选择的内容部分的结束位置。建议工具的浏览器可执行代码可以从第一用户请求对建议的说明。该说明可以被存储在建议数据库中。内容可以包括文本。
在一种具体实施方式中,一种方法包括从第一用户的第一客户端设备接收对于在线内容的第一件建议信息。在线内容是由第二用户创建的。第一建议信息包括针对在线内容的第一被选择部分的供第二用户接受或拒绝的第一建议、以及第一选择的第一起始和结束位置,第一选择位于第一起始和结束位置之间。该方法还包括:将第一建议、以及第一选择的第一起始和结束位置存储在建议数据库中。接收第二用户已经接受第一建议的指示。并且在接收到第二用户已经接受第一建议的指示之后,使用第一起始和结束位置利用第一建议来替换第一起始和结束位置之间的第一选择。
该方法还可以包括:从第三用户的第二客户端设备接收对于该在线内容的第二建议信息,其中该第二建议信息包括针对在线内容的第二被选择部分的供第二用户接受或拒绝的第二建议、以及第二选择的第二起始和结束位置,第二选择位于第二起始和结束位置之间。将第二建议以及第二选择的第二起始和结束位置存储在建议数据库中。接收第二用户已经接受第二建议的指示。并且在接收到第二用户已经接受第二建议的指示之后,使用第二起始和结束位置利用第二建议来替换第二起始和结束位置之间的第二选择。第二选择可以包括第一建议的至少一部分。
在一种实施方式中,在接收到第二用户已经接受第一建议的指示之前,该方法包括从第三用户的第二客户端设备接收对于该在线内容的第二建议信息。该第二建议信息包括针对该在线内容的第二被选择部分的供第二用户接受或拒绝的第二建议。第一和第二选择的至少一部分重叠。该方法包括将第二建议存储在建议数据库中。并且,在接收到第二用户已经接受第一建议之后,不准许第二用户接受第二建议。
出于说明和描述的目的给出了本发明的描述。并不想将本发明排他地限制于所描述的具体形式,并且在以上内容的教导下很多修改和变形都是可能的。为了最好地说明本发明的原理及其实际应用,选择并描述了实施例。该描述使得本领域技术人员更好地利用各种实施方式中的本发明,并且各种修改被适用于特定用途。本发明的范围由下面的权利要求限定。
Claims (20)
1.一种对文档进行注解的方法,包括:
允许第一用户访问文档,其中由所述第一用户访问的所述文档包括由第二用户提供的内容和被嵌入的可执行代码;
使用所述文档的所述可执行代码,检测对所述第一用户对于所述内容的第一文本选择的指示,其中所述可执行代码准许所述文本选择为单词的一部分;
在检测到对所述第一用户的指示之后,使用所述可执行代码,搜寻来自所述第一用户的第一建议输入;
存储来自所述第一用户的所述第一建议输入;
在存储了来自所述第一用户的所述第一建议输入之后,向第二用户示出来自所述第一用户的所述第一建议输入;
向所述第二用户呈现用于接受所述第一建议输入的第一选项和用于拒绝所述第一建议输入的第二选项;以及
当所述第二用户接受所述第一建议输入时,用所述第一建议输入来替换所述文档的由所述第二用户提供的所述内容中的所述第一文本选择。
2.根据权利要求1所述的方法,包括:当所述第二用户拒绝所述第一建议输入时,不用所述第一建议输入来替换所述文档的由所述第二用户提供的所述内容中的所述第一文本选择。
3.根据权利要求1所述的方法,其中向所述第二用户示出来自所述第一用户的所述第一建议输入包括:
向所述第二用户显示由所述第二用户提供的所述内容和所述文档;以及
显示包括第一框和第二框的工具箱对话框,其中所述第一框包括所述第一文本选择,所述第二框包括所述第一建议输入,并且所述工具箱对话框被叠加在所述文档的至少一部分上。
4.根据权利要求1所述的方法,其中在所述第二用户接受所述第一建议输入之前,替换所述第一文本选择,所述方法包括:
允许第三用户访问所述文档;
使用所述文档的可执行代码,来检测对所述第三用户对于所述内容的第二文本选择的指示,其中所述第二文本选择包括所述第一文本选择的至少一部分;
在检测到对所述第三用户的指示之后,使用所述可执行代码,搜寻来自所述第三用户的第二建议输入;
存储来自所述第三用户的所述第二建议输入;
在存储了来自所述第三用户的所述第二建议输入之后,向所述第二用户示出来自所述第三用户的所述第二建议输入;
向所述第二用户呈现用于接受所述第二建议输入的第三选项和用于拒绝所述第二建议输入的第四选项;
当所述第二用户接受所述第二建议输入时,用所述第二建议输入替换所述文档的由所述第二用户提供的所述内容中的所述第二文本选择;以及
在替换所述第二文本选择之后,不准许所述第二用户接受所述第一建议输入。
5.根据权利要求1所述的方法,其中在所述第二用户接受所述第一建议输入之后,用所述第一建议输入替换所述文档的由所述第二用户提供的所述内容中的所述第一文本选择,所述方法包括:
允许第三用户访问所述文档,其中由所述第三用户访问的所述文档包括由所述第二用户提供的内容、被接受的第一建议输入、以及被嵌入的可执行代码;
使用所述文档的可执行代码,来检测对所述第三用户对于所述内容中的第二文本选择的指示,其中所述第二文本选择包括所述被接受的第一建议输入的至少一部分;
在检测到对所述第三用户的指示之后,使用所述可执行代码,来搜寻来自所述第三用户的第二建议输入;
存储来自所述第三用户的所述第二建议输入;
在存储了来自所述第三用户的所述第二建议输入之后,向所述第二用户示出来自所述第三用户的所述第二建议输入;
向所述第二用户呈现用于接受所述第二建议输入的第三选项和用于拒绝所述第二建议输入的第四选项;以及
当所述第二用户接受所述第二建议输入时,用所述第二建议输入替换包含有所述被接受的第一建议输入的至少一部分的所述内容中的所述第二文本选择。
6.根据权利要求1所述的方法,包括:
搜寻来自所述第一用户的对所述第一建议输入的说明;
存储所述说明;以及
在向所述第二用户呈现用于接受所述第一建议输入的第一选项和用于拒绝所述第一建议输入的第二选项期间,向所述第二用户呈现所述说明。
7.根据权利要求1所述的方法,其中在替换由所述第二用户提供的所述内容中的所述第一文本选择之前,所述方法包括:提示所述第二用户确认对所述第一建议输入的接受。
8.根据权利要求1所述的方法,其中当所述第二用户接受所述第一建议输入时,向所述第一用户发送通告以通知所述第一用户所述第一建议输入被接受。
9.一种系统,包括:
服务器,多个客户端设备能够经由网络访问该服务器,其中所述服务器存储能由所述客户端设备中的每一个客户端设备经由网络访问的多个文档,每个文档包括被嵌入的可执行代码,并且当所述代码被传送到客户端设备时,所述代码调用建议工具应用以在所述客户端设备处运行,
其中在所述客户端设备处执行的所述建议工具检测所述客户端设备处的第一用户对被传送给所述客户端设备的第一文档的第一内容所做的任何选择,并且对于每个被检测出的对所述第一内容的一部分的选择从所述第一用户请求建议,其中所述第一内容由第二用户提供;
驻留在耦合到所述服务器的存储设备上的建议数据库,其中所述建议数据库包括针对所述文档的所述第一内容做出的每个建议的条目,每个条目包括建议字段和位置字段,其中所述建议字段包括所述建议的文本,并且所述位置字段包括所述建议在所述第一内容中被做出的位置;以及
驻留在耦合到所述服务器的所述存储设备上的用户内容数据库,其中所述用户内容数据库包括包含内容字段的条目,其中所述内容字段包括所述第一内容的文本,并且当所述第二用户接受所述建议时,由所述位置指示的所述建议被做出的所述第一内容的文本的一部分被所述建议替代,
其中当所述第一用户使用选择工具做出的选择是第一单词的一部分时,所述第一单词的该部分被存储在所述建议数据库中。
10.根据权利要求9所述的系统,其中所述建议数据库中的每个条目包括用于参引所述用户内容数据库中的所述第一内容的段落标识符字段。
11.根据权利要求9所述的系统,其中所述建议数据库中的每个条目的位置字段是第一位置字段,并且所述建议数据库中的每个条目包括第二位置字段,其中所述第一位置字段指示所检测到的选择的起始位置,并且所述第二位置字段指示所检测到的选择的结束位置。
12.根据权利要求9所述的系统,其中在所述客户端设备上执行的所述建议工具针对每个所检测出的对所述第一内容的一部分的选择从所述第一用户请求对建议的说明。
13.根据权利要求12所述的系统,其中所述说明被存储在所述建议数据库中。
14.根据权利要求12所述的系统,其中所述说明是可选的。
15.一种方法,包括:
从第一用户的第一客户端设备接收针对内容的第一被选部分的第一建议信息,其中所述内容是由第二用户提供的,其中所述第一建议信息包括供所述第二用户接受或拒绝的针对所述内容的所述第一被选部分的第一建议,其中所述第一被选部分能够是所述内容中的单词的一部分;
将所述第一建议、以及第一起始位置和第一结束位置存储在建议数据库中,其中所述第一起始位置指示所述内容中所述第一被选部分开始的位置,并且所述第一结束位置指示所述内容中所述第一被选部分结束的位置,所述第一被选部分在所述第一起始位置和所述第一结束位置之间;
接收对所述第二用户已经接受所述第一建议的指示;
在接收到指示之后,从所述建议数据库检索所述第一建议;以及
在由所述第一起始位置和所述第一结束位置指示的位置处将检索到的第一建议插入到所述内容中,从而使得所述内容的所述第一被选部分被所述第一建议替代。
16.根据权利要求15所述的方法,包括:
从第三用户的第二客户端设备接收针对内容的第二被选部分的第二建议信息,其中所述第二建议信息包括供所述第二用户接受或拒绝的针对所述内容的所述第二被选部分的第二建议;
将所述第二建议、以及第二起始位置和第二结束位置存储在所述建议数据库中,其中所述第二起始位置指示所述内容中所述第二被选部分开始的位置,并且所述第二结束位置指示所述内容中所述第二被选部分结束的位置,所述第二被选部分在所述第二起始位置和所述第二结束位置之间;
接收对所述第二用户已经接受所述第二建议的指示;
在接收到对所述第二用户已经接受所述第二建议的指示之后,从所述建议数据库检索所述第二建议;以及
在所述第二起始位置和所述第二结束位置所指示的位置处将检索到的第二建议插入到所述内容中,从而使得所述内容的所述第二被选部分被所述第二建议替代。
17.根据权利要求16所述的方法,其中所述第二被选部分包括所述第一建议的至少一部分。
18.根据权利要求15所述的方法,包括:
在接收对所述第二用户已经接受所述第一建议的指示之前,从第三用户的第二客户端设备接收第二建议信息,其中所述第二建议信息包括供所述第二用户接受或拒绝的针对所述内容的第二被选部分的第二建议,并且其中所述第一被选部分和第二被选部分的至少一部分重叠;
将所述第二建议存储在所述建议数据库中;以及
在接收到对所述第二用户已经接受所述第一建议的指示之后,不准许所述第二用户接受所述第二建议。
19.根据权利要求15所述的方法,其中所述第一起始位置是第一数值,并且所述第二起始位置是大于所述第一数值的第二数值。
20.根据权利要求15所述的方法,其中所述内容被存储在与所述建议数据库分离的用户内容数据库中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17260509P | 2009-04-24 | 2009-04-24 | |
US61/172,605 | 2009-04-24 | ||
US17893309P | 2009-05-15 | 2009-05-15 | |
US61/178,933 | 2009-05-15 | ||
PCT/US2010/032466 WO2010124302A2 (en) | 2009-04-24 | 2010-04-26 | Network-accessible collaborative annotation tool |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102460413A true CN102460413A (zh) | 2012-05-16 |
Family
ID=43011796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800287815A Pending CN102460413A (zh) | 2009-04-24 | 2010-04-26 | 网络可访问的协作注解工具 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN102460413A (zh) |
BR (1) | BRPI1011840A2 (zh) |
WO (1) | WO2010124302A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631768A (zh) * | 2012-08-20 | 2014-03-12 | 三星电子株式会社 | 协作数据编辑和处理系统 |
CN103841001A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 社交网络信息处理方法及系统 |
CN104111789A (zh) * | 2013-04-17 | 2014-10-22 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN104346436A (zh) * | 2013-08-07 | 2015-02-11 | 阿瓦亚公司 | 网页上的私密数据的覆盖 |
CN109791653A (zh) * | 2016-07-19 | 2019-05-21 | 微软技术许可有限责任公司 | 用于内容协作的自动推荐 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9207832B1 (en) | 2010-11-15 | 2015-12-08 | Cisco Technology, Inc. | Intelligent social collaboration watchlist that visually indicates an order of relevance |
US8938690B1 (en) | 2010-11-15 | 2015-01-20 | Cisco Technology, Inc. | Intelligent social collaboration hover card |
US8954863B2 (en) | 2010-11-15 | 2015-02-10 | Cisco Technology, Inc. | Intelligent social collaboration unified media |
TWI474295B (zh) * | 2012-05-18 | 2015-02-21 | Hanking Digital Tec Co Ltd | 輔助教學系統 |
US9407596B2 (en) | 2013-11-20 | 2016-08-02 | International Business Machines Corporation | Interactive splitting of entries in social collaboration environments |
WO2018169711A1 (en) * | 2017-03-13 | 2018-09-20 | Ampersand Technologies, Inc. | Systems and methods for multi-user word processing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1437127A (zh) * | 2002-02-08 | 2003-08-20 | 明日工作室股份有限公司 | 在网络互动教学过程中传递数据的方法 |
CN1841421A (zh) * | 2004-11-08 | 2006-10-04 | 国际商业机器公司 | 多用户、多时间协作批注的方法和系统 |
US20060282762A1 (en) * | 2005-06-10 | 2006-12-14 | Oracle International Corporation | Collaborative document review system |
CN101178794A (zh) * | 2006-11-09 | 2008-05-14 | 国际商业机器公司 | 用于把注释添加到电子日历条目的方法和装置 |
CN101216846A (zh) * | 2008-01-04 | 2008-07-09 | 清华大学 | 一种仿真数据的可视化与协同共享方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7432938B1 (en) * | 1996-08-19 | 2008-10-07 | Qwest Communications International, Inc. | System and method for annotating electronic documents |
US6230171B1 (en) * | 1998-08-29 | 2001-05-08 | International Business Machines Corporation | Markup system for shared HTML documents |
US20060100849A1 (en) * | 2002-09-30 | 2006-05-11 | Ning-Ping Chan | Pointer initiated instant bilingual annotation on textual information in an electronic document |
US7216266B2 (en) * | 2003-03-12 | 2007-05-08 | Thomson Licensing | Change request form annotation |
US7424670B2 (en) * | 2005-09-09 | 2008-09-09 | Microsoft Corporation | Annotating documents in a collaborative application with data in disparate information systems |
-
2010
- 2010-04-26 BR BRPI1011840A patent/BRPI1011840A2/pt not_active IP Right Cessation
- 2010-04-26 CN CN2010800287815A patent/CN102460413A/zh active Pending
- 2010-04-26 WO PCT/US2010/032466 patent/WO2010124302A2/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1437127A (zh) * | 2002-02-08 | 2003-08-20 | 明日工作室股份有限公司 | 在网络互动教学过程中传递数据的方法 |
CN1841421A (zh) * | 2004-11-08 | 2006-10-04 | 国际商业机器公司 | 多用户、多时间协作批注的方法和系统 |
US20060282762A1 (en) * | 2005-06-10 | 2006-12-14 | Oracle International Corporation | Collaborative document review system |
CN101178794A (zh) * | 2006-11-09 | 2008-05-14 | 国际商业机器公司 | 用于把注释添加到电子日历条目的方法和装置 |
CN101216846A (zh) * | 2008-01-04 | 2008-07-09 | 清华大学 | 一种仿真数据的可视化与协同共享方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631768A (zh) * | 2012-08-20 | 2014-03-12 | 三星电子株式会社 | 协作数据编辑和处理系统 |
CN103631768B (zh) * | 2012-08-20 | 2018-01-26 | 三星电子株式会社 | 协作数据编辑和处理系统 |
US9894115B2 (en) | 2012-08-20 | 2018-02-13 | Samsung Electronics Co., Ltd. | Collaborative data editing and processing system |
CN103841001A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 社交网络信息处理方法及系统 |
CN103841001B (zh) * | 2012-11-22 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 社交网络信息处理方法及系统 |
CN104111789A (zh) * | 2013-04-17 | 2014-10-22 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN104111789B (zh) * | 2013-04-17 | 2019-02-19 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN104346436A (zh) * | 2013-08-07 | 2015-02-11 | 阿瓦亚公司 | 网页上的私密数据的覆盖 |
CN109791653A (zh) * | 2016-07-19 | 2019-05-21 | 微软技术许可有限责任公司 | 用于内容协作的自动推荐 |
Also Published As
Publication number | Publication date |
---|---|
BRPI1011840A2 (pt) | 2016-06-28 |
WO2010124302A3 (en) | 2011-03-03 |
WO2010124302A2 (en) | 2010-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8612469B2 (en) | Network-accessible collaborative annotation tool | |
CN102460413A (zh) | 网络可访问的协作注解工具 | |
US11281866B2 (en) | Web-based tool for collaborative, social learning | |
Keenan et al. | Concise dictionary of library and information science | |
US10572589B2 (en) | Cognitive matching of narrative data | |
US20130317994A1 (en) | Intellectual property generation system | |
Kirschenbaum et al. | Digital scholarship and digital studies: the state of the discipline | |
CN102349087A (zh) | 自动提供与捕获的信息例如实时捕获的信息关联的内容 | |
CN104487936B (zh) | 用于对来自应用程序数据文件的信息进行计算机辅助消费的方法和系统 | |
CN101652769A (zh) | 内容评论和货币化 | |
Friese | ATLAS. ti 7 Quick tour | |
KR102132931B1 (ko) | 사용자 맞춤식 가치 정보 검색 및 소셜 네트워크 구성 시스템 및 그 방법 | |
Mills et al. | Democratising monograph publishing or preying on researchers? Scholarly recognition and global ‘credibility economies’ | |
Rowberry | Continuous, not discrete: The mutual influence of digital and physical literature | |
Daniels et al. | Community as resource: Crowdsourcing transcription of an historic newspaper | |
US20230316186A1 (en) | Multi-service business platform system having entity resolution systems and methods | |
WO2018169711A1 (en) | Systems and methods for multi-user word processing | |
Roued-Cunliffe | Towards a decision support system for reading ancient documents | |
Swisher | Global content strategy | |
Forrestal | Knowledge management for libraries | |
Carpenter et al. | The role of language in a journalistic interpretive community: Building on Indonesia’s “biggest scoop ever” | |
Pullman | Writing online: Rhetoric for the digital age | |
Abraham | Coding All-in-one for Dummies | |
Chen | Publishing Nationally or Internationally in the Humanities and Social Sciences: What Do Journal Websites Say about the Divide? | |
Blackmore et al. | Hidden humans: exploring perceptions of user-work and training artificial intelligence in Aotearoa New Zealand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1167485 Country of ref document: HK |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120516 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1167485 Country of ref document: HK |