可操作的应用的自动发现和检索的制作方法

文档序号:12167083阅读:153来源:国知局
可操作的应用的自动发现和检索的制作方法与工艺
本申请要求提交于2014年12月9日的临时申请号62/089,641的优先权,其全文以引用的方式并入本文。
背景技术
:许多用户都拥有智能手机和/或平板电脑,其可以利用由应用商店托管的应用。应用商店可以托管各种内容,诸如应用、音乐、电影和电子书籍。所述内容可提供给属于终端用户的客户端计算设备。在应用商店中可用的应用的数量可能是数以百万计的,其中可能每天发布数千个新的应用或更新的应用。然而,大多数用户通常只有少数是他们频繁使用的安装的应用。已安装的应用可能是指与在用户购买计算设备时已经安装在储存器件上的应用(例如,操作系统应用、制造商应用、移动或无线提供商应用,等)相比,用户选出安装在用户的计算设备上的那些应用。在客户端设备上安装应用的用户可能不会尝试测试可能更适合用户需求的其他应用,因为不断搜索不同的应用可能是困难和费时的。例如,当新的应用可用时,用户可能不知道。此外,用户可能不愿意测试其他应用,因为用户的数据与已安装的应用是相关联的。此外,对于用户来说,定位和/或确定试验哪些是替选应用可能是困难的。应用商店或第三方通常试图通过生成可基于终端用户个性化的推荐图表(例如,前10名列表、最受欢迎的排名、类似的应用,等)来解决上述问题。这样的技术可能是无效的,因为用户可能无法在推荐列表中定位最佳的替选应用。例如,用户可能只测试前10个列表中的前几个应用,在其中的一个应用中找不到所需的特征之后,会放弃对替选应用的搜索。用户也可能基于这个简短的试用,确定没有替选应用包含用户所需的特征,并且永久放弃对其的搜索。技术实现要素:根据本公开主题的实施方式,可以确定应用属于第一应用所属的应用类别。第一应用可以确定为在客户端设备上被频繁使用。由第一应用生成的数据可以具有基于类别与应用可互操作的格式。每个应用的安装包可以被发送给客户端设备,该安装包指示客户端设备自动安装每个应用。可以向客户端设备提供该应用已被安装的指示。客户端设备可以呈现该应用对客户端设备的用户是可用的通知。该通知可以与第一应用相关联。在实施方式中,可以从应用商店接收安装包。该安装包可以对应于属于安装在客户端设备上的第一应用所属的应用的类别的一组应用。第一应用可以确定为由客户端设备频繁使用。应用可以安装在客户端设备上。可以在客户端设备上生成指示应用已被安装的通知。可以接收启动已安装的应用中的一个的对用户界面元素的选择。在对第一用户界面元素的选择之后,由第一应用生成的数据可以根据已启动的应用的用户界面进行显示。公开了一种系统,该系统包括具有计算机可读存储介质和处理器的客户端设备。存储介质可被配置为存储用户数据和应用数据。处理器可以通信耦合到所述存储介质。所述处理器可以被配置为接收对应于应用的安装包,该应用属于安装在客户端设备上的第一应用所属的应用类别。所述第一应用被确定为由客户端设备频繁使用。在所述客户端设备上可以安装所述应用。在所述客户端设备上可以生成指示所述应用已被安装的通知。可以接收启动所述应用中的一个的对第一用户界面元素的选择。在选择所述第一用户界面元素之后,根据所启动的应用中的一个的用户界面显示由所述第一应用生成的数据。如本文所公开地,一种客户端设备可以接收属于与频繁使用的第一应用同一类别的应用(例如,替选应用)的安装包。客户端设备可以安装替选应用。可以在客户端设备上生成指示替选应用已被安装的通知。可以接收可以显示替选应用的图形表示的对第一用户界面元素的选择。可以接收启动替选应用中的一个的对一个或多个第二用户界面元素的选择。在选择一个或多个第二用户界面元素之后,由第一应用生成的数据可以根据启动的替选应用的用户界面进行显示。在实施方式中,根据当前公开的主题的系统可以包括用于从应用商店接收与属于在客户端设备上安装的第一应用所属的应用类别的应用对应的安装包的装置。第一应用可以确定为由客户端设备频繁使用。该系统可以包括用于将应用安装在客户端设备上的装置。该系统可以包括用于在客户端设备上生成指示应用已被安装的通知的装置。该系统可以包括用于接收启动应用中的一个的对用户界面元素的选择的装置。在选择第一用户界面元素之后,该系统可以包括用于根据启动的应用的用户界面显示由第一应用生成的数据的装置。本公开主题的附加功能、优点和实施方式可以通过考虑下列具体实施方式、附图说明和权利要求进行阐述或变得明确。此外,应该理解,上述
发明内容和以下具体实施方式提供了实施方式的示例,并旨在提供进一步的解释,而不限制权利要求的范围。附图说明被包括在这里以提供对所公开主题的进一步理解的附图被纳入并构成本说明书的一部分。附图还说明了所公开主题的实施方式,并且与具体实施方式一起用于解释所公开主题的实施方式的原理。除了对于所公开主题的基本理解和可以实践的各种方式所必需的以外,不尝试更详细示出结构细节。图1是根据本文公开的实施方式的由应用商店等执行的将与已安装在客户端设备上的应用相关的应用自动安装在客户端设备上的过程的示例。图2A是如本文所公开的可以提供的用以指示应用已安装在客户端设备上的通知的示例。图2B示出如本文所公开的通过使第一应用的图标的显示相对于代表其他应用的图标进行区分,来突出显示第一应用的通知的示例。图2C示出如本文所公开的可以使代表第一应用的图标相对于为其他应用所示出的默认图标显示稍微更透明的通知的示例。图2D是如本文所公开的与第一应用的替选应用的类似文件夹显示对应的用户界面元素的示例。图2E是如本文所公开的与第一应用的替选应用的类似文件夹显示对应的用户界面元素的示例,并且用户界面元素包含第一应用。图2F是如本文所公开的与用户界面手势交互以使类似文件夹显示元素出现在客户端设备上的示例。图2G是如本文所公开的在标题栏中显示通知的应用(例如,第一应用)用户界面的示例。图2H是如本文所公开的可用于导航可用的替选应用和/或第一应用的用户界面元素的示例。图2I是如本文所公开的可用于根据替选应用,讲用户界面向前或向后移动的手势用户界面元素的示例。图2J是如本文所公开的经由启动的应用的标题栏,导航替选应用和/或第一应用的用户界面元素的示例。图2K是如本文所公开的用户当前正在观看相对于其他替选应用的位置的替选应用的指示的示例。图2L是如本文所公开的可用于保留/移除一个或多个替选应用和/或第一应用的用户界面元素的示例。图2M是如本文所公开的可以显示以从诸如类似文件夹显示的另一用户界面元素内,保留/移除第一应用和/或一个或多个替选应用的用户界面元素的示例。图3示出如本文所公开的由客户端设备执行的以自动安装用户从应用商店等请求安装的对于第一应用的替选应用的过程的示例。图4是如本文所公开的客户端设备上的硬件和将替选应用安装在客户端设备上的应用商店的示例配置。图5示出根据所公开的主题的实施方式的网络配置。图6示出根据所公开的主题的实施方式的计算机。图7是如本文所公开的通过选择两个或多个用户界面元素,在客户端设备上自动安装替选应用的过程的示例。具体实施方式本文所公开的实施方式提供了一种应用生态系统,该系统能够使终端用户能够定位在终端用户的计算设备上当前未安装的新的和/或更新的应用。本公开的实施方式防止用户变得被锁定在特定的应用,并且允许用户从用户的计算设备无缝地测试新的应用或替选应用,而无需搜索、评论和下载替选或推荐应用。虽然大多数用户通常访问或有规律地使用移动设备(例如,平板电脑、笔记本电脑、智能手机)上的少量应用,但搜索替选应用以定位当前应用缺失的特征的过程可能是一个繁重的过程。该过程可能需要用户搜索所需的应用和/或特征、阅读评论/评级、在用户的计算设备上下载并安装应用、评估新的应用、如果新的应用是适合用户的还要移除旧的应用。在某些情况下,用户可能无法导入旧应用生成的数据,这可能会使用户更不愿意切换应用。作为示例性示例,一个骑行爱好者可能具有称为“Cat6Stig”的第一应用,其收集关于用户的骑行的数据。它可以存储有关用户里程、速度和路线的统计或数据。安装Cat6Stig后的六个月,用户可能希望有一个先进的特征,诸如用图形表示用户的进程(例如,骑行或爬行的总公里数)或用户在骑行时输出的功率(wattage)。这些先进的特征可能无法在Cat6Stig中呈现。出现上述问题,除非用户不断在骑行类别中检查应用,否则用户可能不知道较新或最近更新的应用提供了先进的特征。在某些情况下,用户可以在应用商店中搜索具有这些高级特征的替选应用,但替选应用在当时可能还没有发布,并且用户可能会放弃搜索替选应用。例如,一个新的骑行应用“LeVelo”可能在用户搜索应用商店之后的一个月发布,并且它可能包含用户寻求的高级特征。除非用户定期并持续地在应用商店上搜索替选应用,否则由于搜索疲劳,用户将被锁定到提供次优体验的应用中。继续该示例,即使用户在应用商店上定位到LeVelo,但是用户可能被“锁定”为使用Cat6Stig,因为用户的所有骑行数据已经由Cat6Stig生成、监管和/或维护和/或可能与LeVelo不兼容(例如,数据不能导入到LeVelo或由LeVelo读取)。用户需要将数据手动移动到LeVelo这样很费劲的工作可能会阻止用户使用LeVelo而继续使用次优的应用。用户也可能不想下载多个骑行应用以试图找到用户的高级应用,LeVelo。许多用户可能不愿意花费所需的时间来定位替选应用。此外,下载应用可能将应用与应用商店上的用户账户相关联。在某些情况下,下载的替选应用可能会传播到与用户账户相关联的其它设备,这可能会使这些设备杂乱。此外,用户可能不希望使Cat6Stig所位于的设备杂乱。上述说明类似地见于许多其他类型的应用。例如,管理股票投资组合或金融应用、旅游应用、事件管理应用、票据管理/支付应用、摄影应用、烹饪应用、视频游戏应用(例如,拼图应用、老虎机应用,等),等。本公开的实施方式提供对替选应用的自动发现和快速安装新的或改进的应用的选项。此外,可互操作的框架被公开,其允许终端用户容易在类似的任务的应用或属于应用的同一类别或子类别的应用集合之间传递数据。最后,替选应用可以以优雅的用户界面呈现给终端用户,以防止用户变得没有兴趣试验新的应用和/或避免从主应用或设备的日常使用分散用户的注意力。如前面所述,许多用户通常只在给定设备上利用少数应用。如下文进一步公开地,可以确定最频繁使用的应用。该系统可以生成替选应用集合,包括新的或最近改进的应用,这些应用与用户频繁使用的应用中的一个相关。可以在不需要来自用户的直接输入或与用户交互的后台过程中生成应用集合,从而减少用户识别相关应用所需的工作量。替选应用可以基于多种因素确定。非穷举的列表可以包括受欢迎度度量、评级、情感评级、安装速度、应用发布日期、应用的保留情况(retention)、应用相似度、用户相似度等。可提供沙盒环境,其允许应用的“精简”或试用/演示版本来以与用户最少量的交互而进行安装。例如,用户可能会被呈现以“安装所有”选项。试用版本可能会受到开发者或应用商店的时间或功能的限制。例如,用户可以被允许只玩有限数量级别的游戏。该系统可以提供如下所述的功能,其允许用户使用用户设备上使用最频繁的应用中的一个所生成的用户的现有数据来试用或测试替选应用。类似地,还提供了一种以最少量的用户交互移除或卸载应用集合的机制。例如,系统可以经由用户计算设备上的用户界面提供“坚持主应用”和/或“移除所有替选应用”选项。因此,本公开的系统可以减少或消除用户临时逐一搜索替选应用的需要,从而节省用户在搜索新应用时所花费的时间和困难。在实施方式中,数据可以在替选应用集合和已经安装在用户计算设备上的主应用之间传递。可以创建用于不同类别应用的一系列参考文件,以允许用于类似的应用的统一框架和允许应用数据之间的互操作性。例如,骑行应用的参考文件(例如,由应用生成的数据文件)可能包括属性,诸如距离、路线、开始时间、结束时间等。骑行类别的应用可能需要提供类似的功能以输入、保存和/或导出该属性。导入/导出数据可以在用户的许可下执行。参考文件可以由主应用导出(例如,导出到基于云的系统或在计算设备上的存储介质)。参考文件可以是灵活的或能够包含其他类的变量(例如,骑行应用的瓦特)的数据条目或对象。因此,相对于由特定应用生成的数据,用户可以从应用中得到释放。在用户的计算设备上提供的用户界面可能是不显眼的。在某些情况下,用户可能不希望接收到对替选应用的推荐或建议,如本文所述地。本文所公开的实施方式只能在用户许可的情况下激活。类似地,用户可以在激活特征之后去激活该特征。用户界面,如将在下文中详细描述的,可以包括对主应用的替选应用的可用性的视觉指示。例如,主应用的图标可能会示出一个数字,以指示替选应用已准备好由用户进行评估。该数字可能与可用的替选应用的数量相对应。应用或主应用的图标的透明度可能会改变,以指示有可用的替选应用。因此,可以展现应用群组而不会使用户的计算设备的用户界面杂乱。用户可以通过例如在一个方向上滑动以移动到下一个替选应用而在替选应用之间切换。系统可以批量安装替选应用,并在用户的指导下类似地卸载应用(包括主应用)。图1是在客户端设备上自动安装应用的过程的说明,该应用与已安装在客户端设备上的应用相关。该过程可以通过与应用商店关联的合适的计算机硬件来实现。应用商店可以包括托管应用和/或内容的服务器和/或处理器的集。应用商店可以指位于地理上不同区域的多个服务器集群和/或数据库。用户可以通过在客户端设备上操作的应用(诸如Web浏览器)或独立应用与应用商店进行交互。应用商店可以根据受欢迎度、评级、类别等呈现应用。用户可以拥有用户账户,用户可以通过该用户账户购买由应用商店和/或应用中项托管的内容和/或应用。类似地,应用商店可以存储哪些应用和/或项安装在特定客户端设备上的指示。此外,给定用户可以具有多于一个的客户端设备,并且应用商店可以确定与每个特定设备相关联的应用/项。类似地,应用商店可以基于接收到的设备标识符(例如,通过web浏览器向商店请求)来确定用户用来与应用商店交互的设备。在110,应用可以被确定为属于第一应用所属的应用类别。例如,当开发者向应用商店发布应用时,开发者可能需要为应用选择一个类别(例如,文字处理、实用程序、游戏、Web等)。应用类别可以具有子类别。例如,“游戏”的类别可以具有子类别,诸如第一人称射击游戏、拼图游戏、角色扮演游戏、战略游戏和赛车游戏。在类别大且有多个子类别的情况下,在110的类别可能是指子类别。第一应用可以安装在诸如通过用户账户与用户相关联的客户端设备上。客户端设备可以在用户的许可下,将关于安装在客户端设备上的应用的使用数据提供给应用商店或与其相连的服务器。例如,它可以指示每天应用启动的实例数和/或每天每个应用活动的时间长度。应用商店或与其相连的服务器可以确定用户在客户端设备上频繁使用的应用。例如,应用可以基于在指定时间段内使用的总时间和/或启动次数来进行排名。频繁使用的应用可能是指由用户比大多数其他应用更频繁地激活和/或使用的应用。在某些配置中,频繁使用的应用可以对应于在用户的请求下安装在客户端设备上的、相对于客户端设备上的启动次数和/或活动时间量的、所有应用的前30%内的应用。在某些配置中,频繁使用的应用可以对应于在用户请求下安装在客户端设备上的、相对于客户端设备上的启动次数和/或活动时间量的、所有应用的前10%内的应用。被认为频繁使用的应用可能被视为是客户端设备上“最频繁使用”的应用。系统可以基于应用的特定用户的使用数据确定阈值。例如,如果用户在客户端设备上已安装了十个应用,则应用商店可以存储用户已下载这十个应用中的每一个的指示。应用商店可以预期定期从客户端设备接收这十个应用的使用数据。使用数据可以指示用户每天启动五次或更多次所述应用中的六个和每天启动少于一次其他四个应用。系统可以基于使用,对使用数据执行聚类分析或采用算法确定存在两个应用集群。聚类技术的示例可能包括层次聚类、k-均值聚类和基于密度的聚类。可以采用其他的算法技术来诸如通过根据机器学习算法来对数据进行分类,确定数据群组中哪里存在差异。系统可以对六个应用的群组执行图1中所示的过程,因为在这种情况下相对于四个应用的群组它们被更频繁地使用。不同的用户可以具有安装在客户端设备上的十个应用。由服务器基于十个应用的使用数据而执行的聚类分析可以指示存在三个集群。一个集群由三个应用组成,可以与每天至少一小时的活动相关联。第二个集群由四个应用组成,可以与每天十分钟和十五分钟之间的活动相关联。第三个集群可以与每天少于一分钟的活动相关联。系统可以为图1所示的过程选择第一个集群,因为它代表了这个特定用户最频繁使用的应用。因此,诸如图1中的第一应用的应用可以被确定为是频繁使用的应用和/或是在客户端设备上安装的最频繁使用的应用群组之中的应用。关于类别和/或子类别的数据可以由情绪评级、安装速度、应用发布日期、应用保留情况、应用相似度、用户相似度来提供,并且可以是在应用商店数据库中开发者监管或手动监管的。在110中,一旦由客户端设备上的用户确定一个或多个频繁使用的应用,系统就可以确定频繁使用的应用的类别和/或子类别中的应用。系统可以被配置为在110中选择已经在阈值时间段内发布在应用商店中的应用。例如,阈值时间段可以是六个月。该系统可以确定属于与频繁使用的应用相同的类别和/或子类别的哪些应用已经在阈值时间段内发布。在某些配置中,系统可以以阈值时间段编程。在某些配置中,用户可以指示用于在此公开的实施方式的阈值。例如,当用户选出使用服务或在此公开的实施方式时,用户可能会被提示录入阈值时间段。应用发布可能指的是应用商店上的新应用。在某些配置中,发布可能指的是发行的现有应用的更新版本。在这种情况下,由于应用已经使用较长的一段时间,因而安装的用户基础立即变高,所以系统会计算从发布更新到当前的应用评级、情绪评级、保留情况等,而不考虑从应用第一次发布时的应用的整个历史。类似地,安装速度和安装数量可能会被排除或减轻,因为预期大多数拥有旧版本应用的用户将会安装更新版本,也可能是自动地安装更新版本。这可能会使安装速度和安装值偏离(skew)。代替地,系统可以在发布更新之后计算应用的独特安装。除了发布日期或可选择的日期外,在110中,系统还可以基于受欢迎度度量、用户评级、外部评级、保留情况、情绪评级、安装速度、应用相似度和/或用户相似度选择应用。受欢迎度度量可能指的是应用在客户端设备上的安装数量。如前所述,用户可以对应用商店上提供的内容和/或应用进行评级。接收到的评级的平均值可以在应用商店上的应用页面上显示或表示。类似地,应用商店可能会与外部应用评级服务联系以获得外部评级。可以结合外部评级与用户评级,以达到一个组合评级度量。保留情况评级可能指的是客户端设备已安装并维护应用的实例数量。在某些情况下,可能指的是卸载应用的实例数量的反过来的情况。例如,保留情况评级可以计算为从1减去卸载与独特安装的总数的比率(即,1-卸载/安装)。安装速度可能指的是在客户端设备上安装新应用的速率。它可以由独特安装的数量除以时间段(例如,上述的阈值时间段、六个月或180天)来计算。情绪评级可能指的是应用如何被接收。例如,对用户评级执行的词分析可以提供与应用关联的“好”(例如,好、舒服、方便、准确,等)的词或“坏”(例如,臭、坏、可怕,等)的词的指示。系统可以计算“好”的词与“坏”的词的比率,以得到情绪评级。应用相似度可能超出应用的类别。它可以基于应用特定的各种特征,诸如游戏的长度、水平、复杂性等。用户相似度可能指的是具有类似的应用群组的用户占据了类似的人口统计情况(例如,年龄、性别、地点)等。用于根据图1中所示的过程选择应用的前述基础的每一个都可以使用本文所公开的技术或本领域普通技术人员已知的其他计算技术来确定。此外,可以生成一个度量,其组合了这些基础中的每一个以供选择。例如,系统可以只选择那些在过去六个月内已发布的应用、在五点尺度上具有四点以上的评级的应用、且安装速度大于每天安装10000次的应用。系统可以生成满足这些准则的应用的另一个列表,并在所生成的列表中选择应用的一部分。例如,可以基于预先确定的值,选择列表上的前五个应用或另一个数量的应用。用户也可以在某些实例中配置从列表中选择的应用的数量。例如,一些用户可能喜欢一次接收十个应用,而另一用户可能喜欢只接收三个应用。系统可以具有五个或其他的预设值的默认值数量的应用以在110中选择。在实施方式中,系统可以确定是否存在应用的精简版本、演示、或试用版本(以下称为“精简”版本)。精简版本可以是限制可用于终端用户的功能或特征的应用的版本。例如,精简版本可以只具有有限数量的等级,或允许用户仅访问选定数量的可用项。精简版本可以由应用的开发者提供。一般来说,突出显示应用的特征将吸引用户试验应用和/或保留应用,这是开发者的兴趣所在。如果存在应用的精简版本,系统就可以在120发送精简版本的安装包,而不是完整的安装包。第一应用和选择的应用可以读取、写入和/或执行以可互操作的格式的数据。可互操作的框架可以是给定类别和/或子类别的应用所特定的。框架可以以本领域普通技术人员已知的任何数量的方式来限定。上述示例仅仅是说明可以根据本公开的实施方式所采用的可互操作框架的说明。在实施方式中,框架的特征可以在于关于存储的应用的基本信息、类别和/或子类别的指示和数据类型。例如,数据类型可以由应用商店预定义,以便应用商店和/或客户端设备了解列出或以其他方式与数据类型相关联的数据对象、值和/或变量对应于特定的数据类型。作为一个示例,下面的表1示出各个字段和预期值的相应示例。标题、发布者、发布日期、大小、类别和子类别可以是由开发者提交到应用商店的应用所需的字段。此外,在本例中,开发者提供的应用必须定义应用所需的四种数据类型,如下所示。第一个数据类型可以是应用中的变量或对象,并且对应于速度。任何数据字段的单位可以设置为默认系统(例如,度量)。类似地,可能还有由开发者定义的其他数据类型,这些数据类型可能在应用之间是不兼容的,如下面的数据类型5。在Cat6Stig应用内的用户成就可能无法导入到遵循由数据类型1-4限定的格式的其他应用。不符合数据类型(例如,数据类型5)的数量可能是无限的。也就是,应用可以具有一打不符合的数据类型,但在骑行子类别中的每个应用必须具有数据类型1-4(除了诸如标题、类别、大小、发布者等的基本数据以外)。类似的,系统可能不允许开发者将速度作为不符合数据类型提交。因此,任何应用生成的数据必须符合系统定义的格式,因此容易使系统能够在应用之间导入/导出数据。应该理解,作为说明性的示例提供了特定的字段、符合数据类型的数量等,并且更通常地,可能需要任何数量的符合数据类型和/或特定数据类型。字段值<title>Cat6Stig<publisher>MerxWerx<publishdate>17.06.2014<category>Sportsfitness<subcategory>Cycling<size>8400kb<datatype1>Spced<datatype2>Location<datatype3>Cadence<datatype4>Heartrate<datatype5>Userachievements表1作为与本文所公开的实施方式兼容的互操作框架的另一示例,系统可以包括两个组件。一个组件可以包括基本信息,诸如名称、类别、子类别、大小、发布者等,如表1中所示。但是,代替由系统(例如,应用商店或与其相连的服务器)提供的预置格式定义数据类型,开发者可以定义对象并指向由开发者定义的指示数据对象。例如,系统可以预期在骑行应用中找到用于速度的数据类型1。开发者的应用可以在数据表中提供指示。开发者的应用可以包含代码以指示开发者创建的对象<SPEED(速度)>对应于<datatype1(数据类型1)>或速度。第二应用LeVelo可以定义<VELOCITY(速度)>为<datatype1>。因此,应用可以以应用(例如,Cat6Stig)所特定的格式生成数据,但是当系统试图输出数据到另一个应用时,可以理解在开发者的应用中对应于<SPEED>的值可以在不同应用(例如,LeVelo)中对应于<VELOCITY>。在实施方式中,框架可以完全由系统定义。例如,系统可以定义例如与<SPEED>对应的对象、值和/或变量。开发者在编程应用时可以利用系统提供的对象、值和/或变量。在这样一个框架中,某些应用可能包括,例如,数据类型1-3而不是4,但是其他应用可能包括数据类型1-4。还有其他应用可能包括系统没有定义的数据类型(例如,对应于瓦特的数据类型5)。在开发者选出不利用所提供的框架用于预定义对象的情况下,系统会尝试确定哪些变量对应于预定义对象。例如,系统可以基于值的行为确定与特定数据类型相关联的值与速度相对应。例如,在骑行应用中的速度可以与特定的测量单位(例如,公里/小时)相关联,该系统由此可以推断这样的测量单位之前的值对应的速度。基于所确定的数据类型可以导入/导出数据。因此,安装在客户端设备上的第一应用可以以与第一应用属于同一类别的其他应用兼容的格式生成数据。兼容格式可能指的是与不同应用已知的特定数据类型相关联的原始数据。例如,第一应用中的速度的值可以从第一应用导出并作为速度值导入到第二个应用。返回到图1,在110确定和/或选择的应用的安装包可以在120发送到用户的客户端设备。一旦客户端设备接收到该安装包,就可能使得客户端设备自动安装与该安装包相关联的应用。在某些配置中,应用的安装可能会延迟到客户端设备不活动的时段(例如,在早上以前,诸如3:00AM)。系统(例如,应用商店或与其相连的服务器)可以确定已在过去的六个月内发布并具有高的安装速度(例如大于每天安装1000次)的与第一应用相关的五个应用。安装包可能指的是用于分发和/或安装应用和/或操作系统的计算机可读代码。安装包可以由应用商店在应用被开发者上传到应用商店时编译。安装包可以包括应用的代码、资源、资产、证书等。安装包可以具有一个标志集合,其指示客户端设备以特定方式、在特定时间、以特定保留时间和/或在客户端设备的计算机可读存储中特定位置安装应用。保留时间可以指示客户端设备在没有从用户接收到指令的情况下,从客户端设备移除或删除已安装的应用。这可以防止客户端设备的用户界面的外观变得杂乱。例如,标志可以给应用设定五天的时间限制。如果用户在该时间内未与已安装的应用进行交互,则客户端设备可以移除该已安装的应用。在实施方式中,安装包可以指示应用要与第一应用相关联。这些应用可能没有链接到用户的账户,使得它们可能不会被与用户的账户相关联的其他设备下载。例如,如果客户端设备是用户的智能手机,并且与第一应用相关的应用被下载到该智能手机,则它们可能不会被下载到也与用户的账户相关联的用户的平板电脑。应用可以安装到客户端设备的计算机可读存储介质的安全部分中。安全部分可以防止应用访问在设备上存储的用户数据,除非并且直到用户授予应用这样的许可和/或用户选出保持一个或多个应用。在120中发送的安装包可以与由用户专门指示应用商店在客户端设备上安装的应用不同地由客户端设备处理。通常情况下,例如,用户使用Web浏览器或独立的应用浏览应用商店上的应用,并且从由应用商店提供的界面,选出安装应用(例如,在Web浏览器或独立的应用中)。如在此所公开地,相反地,用户不参与在120下载应用。例如,用户可能已经为客户端设备和应用商店提供初始权限,以便共享数据并自动安装在110中确定的应用。用户不手动选择安装在110中确定的每个应用。用户与图1中所示的过程的交互可能不存在,直到用户需要经由在此所公开的用户界面特征查看已安装的应用为止。安装包可以将应用安装在客户端设备上,并将其与安装在客户端设备上的第一应用相关联。在130,可以向客户端设备提供该应用已被安装的指示。当用户可以使用应用时,可以考虑安装该应用。例如,用户可以从客户端设备上提供的用户界面启动应用,而不必从应用商店或外部服务器下载后续安装包。对应用的安装可以包括从第一应用将数据导入到安装的应用。在130提供的通知可在导入数据后提供。安装包可以包含一个标志,用于指示应用要与特定应用相关联,并在客户端设备上利用特定的用户界面元素或特征,如在本文所公开的。图2A是可以被提供的用以指示应用已安装在客户端设备上的通知的示例。图2A示出客户端设备201,其可以是智能手机。设备201可以显示状态栏205,其示出当前时间、电池电量、无线信号强度的表示、以及其他消息,诸如文本和/或电子邮件消息。示出对应于应用A202、应用B203和应用C204的三个应用。在客户端设备201的这个屏幕上,应用C203可以例如通过客户端设备或应用商店服务器确定为频繁使用的应用。给用户的通知206可以对应于用户界面元素,诸如圆圈内的5,如图2A所示。通知206中示出的值可以对应于可用于由用户进行评估的与应用C206相关的应用的数量。图2B示出通过使应用C204的图标的显示相对于代表其他应用202、203的图标进行区分,来突出显示应用C207的通知207的示例。图2C是可以使代表应用C204的图标相对于为其他应用202、203所示出的默认图标显示稍微更透明的通知208的示例。通知或用户界面元素的其他实施方式可以根据本文公开的实施方式而被利用。图2A-2C和图2G只是可以使用的某些用户界面元素的说明。图2D是已安装的应用可以如何与终端用户交互的示例。例如,用户可以执行对应用C204图标的长按或轻敲,以展现类似文件夹的显示210,其包含对于应用C204的替选应用211、212、213、214、215。图2E是类似文件夹显示204的示例实施方式,其中应用C204被包括在文件夹210中并且可由用户选择。在图2F中,用户可以执行手势209,诸如围绕应用划个圆圈以启动类似文件夹显示210。图2G是可以如何从第一应用本身内提供通知220的示例。例如,用户可以启动第一应用。通知220可以出现在应用的标题栏208中,并且它可以指示可用的替选应用的数量。图2G是应用Cat6Stig的示例用户界面。用户界面可以显示平均速度221、行进的距离222、速度相对于行进的距离的图形表示223、和攀爬量相对于行进的距离的图形表示224。在图2H中,用户可以利用前进箭头226或后退箭头225在五个替选应用中的一个之间切换。例如,分别响应于设备201的显示器的右侧或左侧附近的长按,箭头可能会出现。例如,如果用户选择了前进箭头226,则第一应用生成的数据可以根据下一个替选应用(例如,LeVelo)的用户界面而显示。图2I是可以用来使用户界面前进到下一个替选应用的手势的示例。在图2I中示出的手势是顺时针圆周运动227。逆时针圆周运动可以将用户界面移到前一个应用。可以根据本文所公开的实施方式,利用其他手势,诸如左/右或上/下滑动。在某些配置中,手势可能不需要接触客户端设备的显示器。例如,用户可以做一个向左的滑动运动,以前进到下一个可用的替选应用。该滑动动作可由客户端设备上的相机(例如,红外相机)捕获,并且可以不接触客户端设备的显示器。在图2J中,前进和后退箭头228可以在第一应用(Cat6Stig)的标题栏中显示。用户可以按下前进箭头,以使用户界面前进到下一个替选应用。图2I是可以评估的替选应用的示例,LeVelo。用户可以使用在标题栏中的箭头228中的一个使在图2J中示出的Cat6Stig的用户界面前进到在图2K中示出的LeVelo的用户界面。因为Cat6Stig生成的数据是可以由LeVelo读取或导入的格式,用户界面可以无缝地和/或快速地从一个应用移动到下一个。例如,LeVelo可以示出平均速度241和行进的距离242,其类似于Cat6Stig。然而,LeVelo可以将速度图形表示243和海拔244的图形表示结合为单一的图表。LeVelo可以包括产生的平均瓦特245和最大瓦特246的附加用户界面元素。因为这些数据没有被Cat6Stig生成,所以可能没有数据导入,并且LeVelo的用户界面可以不显示其值。图2K在247示出用户查看的替选应用的指示。在本例中,指示247通知用户,存在用户已经查看的一个替选应用和用户待查看的另外三个替选应用。在这方面,指示247可以通过显示相对于其他替选应用和/或第一应用的启动或激活的替选应用的相对位置,帮助用户浏览可用的替选应用。如前所述,在图2A-2M中提供的示例中示出的用户界面元素仅仅是非限制性的示例。其他可能的用户界面元素、其位置和其显示可以与本文所公开的实施方式相适应。用户可以经由用户界面元素在应用运行时(onthefly)选出保留和/或移除应用。图2L是保留和/或移除替选应用的示例。用户界面可以显示用于保留应用的复选框251,和用于从客户端设备移除应用的“X”252。例如,可以显示附加选项,用于移除所有的替选应用。在某些配置中,当用户诸如通过选择复选标记251的用户界面元素来选出保留替选应用时,则可以从客户端设备移除其他替选应用和第一应用(例如,在本例中是应用C204或Cat6Stig)。在某些配置中,用户可以保留多于一个的替选应用。如果用户选择保留替选应用,则客户端设备可以从沙箱环境(例如,计算机可读存储器的安全部分)移动替选应用,并且显示与其他用户安装的应用(例如,像应用A202和/或应用B203)类似的保留的替选应用。客户端设备可以给应用商店发送应用已被保留的指示,并且应用商店可以将保留的应用与用户的账户相关联。然后,可以将保留的应用传播到与用户的账户相关联的其他设备上。图2M是保留或移除替选应用211、212、213、214、215和/或第一应用(例如,应用C204)中的一个或多个的示例。在应用上长按可以使代表类似文件夹类显示210中的应用的图标旋转180度,并且显示复选标记和“X”,用户可以由此保留或移除应用。可以立即选择多个应用。例如,可以在文件夹210中的多个应用上执行长按。用户可以通过轻敲选择复选标记或“X”,以指示对每个或两个或两个以上的应用的选择。当用户例如通过在显示器上的其他地方轻敲来关闭文件夹210时,选择的动作可以由客户端设备执行。在某些配置中,当在文件夹内选择多个动作(例如,保留或移除多个应用)时,可以显示第二用户界面元素,其当被激活时,由客户端设备执行请求的动作。在某些配置中,可以具有一个选项来保留所有或移除所有的替选应用。在某些配置中,当用户选择保留替选应用和/或第一应用中的一个或多个时,客户端设备可以不需要移除这些应用的用户请求,因为没有从用户接收过对这些应用的指示。图3是由客户端设备执行的以自动安装用户从应用商店等请求安装的对于第一应用的替选应用的过程的说明。在310,可以从应用商店接收一个或多个安装包。安装包可以对应于属于与在用户的请求下安装在客户端设备上的第一应用相同的应用的类别和/或子类别的应用。第一应用可以被确定为如上所述的频繁使用的应用。在320,客户端设备可以使用从应用商店获得的安装包来安装应用(例如,替选应用)。如上所述,与经由应用商店用户请求的应用的典型安装相比,对在310接收的安装包的安装处理可能会有所不同。在应用的典型安装中,应用可以与用户账户相关联并且传播到与之相关联的设备,并且例如在用户设备的显示屏上与在图2A中如何表示应用A202和应用B203类似的由图标表示。相反地,如图3所示自动安装的应用可以不与用户账户相关联和/或传播到与其相关联的设备。应用的图形表示(例如,图标)可以与第一或主应用相关联,并且响应于用户选择与第一应用相关联的用户界面元素而示出(例如,见图2D和图2E)。此外,如图3所公开的应用安装过程并不响应于用户请求来安装应用。在330,可以在客户端设备上生成通知,其指示替选应用已安装。通知可以与如前面描述的第一应用相关联。类似地,可以在由第一应用生成的数据的成功导入/导出之后显示通知。如上所述,在340,对第一用户界面元素的选择可以由客户端设备接收,该选择启动替选应用中的一个或第一应用。如前描述的,在350,在选择第一用户界面元素之后,从第一应用导入的数据可以根据被启动的替选应用指定的用户界面而显示。在某些配置中,通知可以指示用户有可用的替选应用,并且可以响应于如图7所示的对通知的选择或激活,启动特定的用户界面元素。如上所述地,在710,可以从应用商店接收安装包,其与频繁使用的应用的替选应用相对应。在720,替选应用可以安装在客户端设备上。在730,可以在客户端设备上生成指示应用已安装的通知。在740,可以接收对第一用户界面元素的选择,其使得显示替选应用和/或第一应用的图形表示。在750,可以接收对一个或多个第二用户界面元素的选择,其启动替选应用中的一个或多个和/或第一应用。因此,响应于对第一用户界面元素的选择,可以显示第二用户界面元素。例如,用户可以轻敲在图2A中示出的应用C204的图标。通知206可以是用户界面元素。长按图标可以使第一用户界面元素显示,诸如在图2E中提供的示例中的特征210。可以根据本文公开的实施方式使用第一用户界面的其他实施方式。例如,第一用户界面元素可以是第一应用和/或替选应用的基于文本的列表。用户可以使用第二用户界面元素,诸如在图2E中为应用C2212所显示的图标,来选择将启动的第一应用和/或替选应用。对图标的选择可以使C2应用212在客户端设备上启动。返回到图7,在760,在选择至少一个第二用户界面元素之后,第一应用生成的数据可以根据替选应用中的至少一个的用户界面进行显示。在某些配置中,用户可以识别用户想要评估的替选应用和/或第一应用。例如,当用户长时间轻敲在图2E的类似文件夹显示210中显示的图标时,该图标可以翻转以展现可以选择的复选标记和“X”。用户可以选择这两个选项中的一个,并在210中显示的其他应用上执行同样的操作。类似地,用户可以在用户想要评估的210中示出的应用周围画圆。当选择的应用中的一个被启动时,使用由第一应用生成的数据只能查看选择的应用。在某些配置中,客户端设备可以负责确定频繁使用的应用或最频繁使用的一个或多个应用。频繁使用或最频繁使用的一个或多个应用的指示可以提供给应用商店或与其连接的服务器。应用商店可以响应于接收频繁使用的应用的客户端设备提供的指示来生成安装包。如前面所述,如果没有用户许可,图3或其他实施方式中所示的过程可能不会发生。例如,在配置新客户端设备时可以提示用户,以指示用户是否想要接收对客户端设备上频繁使用的应用的替选应用建议。如果用户不选出接收替选应用建议,则系统可以不执行自动安装应用或其精简版本。相反地,用户需要执行搜索,并经由应用商店单独请求安装应用。如本文所公开地,如果用户授权对系统提供替选应用推荐的许可,则应用商店或客户端设备可以周期性地确定在客户端设备上哪些应用是频繁使用的,并且在与客户端设备上安装的频繁使用的应用中的至少一个相同的类别中选择替选应用的一部分。如果替选应用中的一个是如前所述的精简版本,则系统响应于保留精简版本的应用的指示,可以安装应用的对应的完全版本或完整版本。例如,用户可以选择是精简版本的替选应用中的一个以保留。客户端设备可以向应用商店发送对于应用的完整版本的请求,并响应于使用选择而移除第一应用和其他替选应用。根据实施方式,如图4所示,提供了一种系统,包括客户端设备401,其具有计算机可读存储介质420和通信耦合到其上的处理器410。该客户端设备可以包含单独的只读存储器430,该存储器可以存储设备401的固件,诸如用于与设备相关联的硬件(例如,GP、相机、处理器410、加速度计,等)的制造商提供的固件。客户端设备可以包括通信芯片组440,其例如可以是无线无线电天线(如LTE、CDMA、GSM,等等)、蓝牙芯片、近场通讯芯片组(“NFC”)、或无线无线电天线(例如,WLAN)。客户端设备可以使用通信芯片组440与应用商店服务器402通信。应用商店402同样可以具有通信芯片组490,其可以提供有线(例如,以太网)或无线通信。应用商店402可以连接到一个或多个与数据库470通信的处理器460。数据库可以分布在多个地理位置,并且物理上不同于处理器460,该处理器处理应用安装请求和/或为由应用商店402托管的应用提供应用页。客户端设备401可以将用户数据和/或应用数据存储在存储介质420上。例如,应用数据可能指的是应用使用、激活(例如,每时间段启动)的数量、每时间段或整个使用的长度、成就数据、购买历史、应用进展、由应用生成的数据,等。一些或所有应用数据可以由芯片组440从客户端设备401传达到应用商店402。应用商店402可以将应用数据存储在数据库470中。对于连接到应用商店402的不同类型的信息可以具有独立的数据库。例如,一个数据库可以存储应用数据,一个数据库可以存储用户数据,一个数据库可以存储安装包,等。用户数据可能指的是用户的人口统计数据、浏览历史、购买历史、用户购买数据(例如,信用卡号码)等。用户数据也可以被周期性地发送到应用商店服务器402并存储在与其连接的数据库470中。处理器410可被配置为接收对应于第一应用的替选应用的安装包,该第一应用存储在客户端设备401的存储介质420上。替选应用和第一应用可以属于同一类别和/或子类别。替选应用可以如上所述地,基于安装速度、用户评级、安装数量、应用发布和/或更新的日期等而选择。第一应用可以是如由客户端设备401和/或应用商店服务器402确定的频繁使用的应用。替选应用可以如前所述地安装在客户端设备402上。处理器410可以在客户端设备401上生成通知,指示替选应用已被安装和/或第一应用生成的数据已被导入到替选应用。例如,如上所述地,所述通知可以是与所述第一应用相关联的用户界面元素。处理器410可以接收对第一用户界面元素的选择,其在客户端设备401上启动替选应用中的一个。在选择第一用户界面元素之后,处理器410可以根据应用的用户界面,显示由第一应用生成的数据。第二用户界面元素可以被显示或与第一应用和/或启动的应用相关联,如前面所述地,该第二用户界面元素当被激活时将用户界面从已启动的应用转换到第二替选应用。类似地,用户界面元素可以在激活时指示客户端设备保留替选应用并移除其他替选应用和第一应用。在某些配置中指示可以被传达到应用商店402,以检索应用的完整版本和/或将选择的应用与应用商店402上的用户账户相关联。在某些配置中,当用户选出保留替选应用时,该替选应用的图标可以显示在以前由第一应用占用的地方。例如,如果来自图2E的应用C1211被用户保留,则它会占用在图2A中为应用C204示出的用户界面的空间(没有通知206)。当前公开的主题的实施方式可以在各种组件和网络体系结构中实施和与之一起使用。图5是适用于当前公开的主题的实施方式的示例计算机20。计算机20包括与计算机20的主要组件互连的总线21,所述主要组件诸如中央处理器24,存储器27(通常是RAM,但也可能包括ROM、FlashRAM等);输入/输出控制器28;用户显示器22,诸如经由显示适配器的显示屏幕;用户输入接口26,其可以包括一个或多个控制器和相关联用户输入设备,诸如键盘、鼠标等,并可紧密耦合到I/O控制器28;固定存储器23,诸如硬盘驱动器、闪存、光纤信道网络、SAN设备、SCSI设备等;以及可操作以控制和接收光盘、闪存驱动器等的可移除介质组件25。总线21允许中央处理器24和存储器27之间的数据通信,所述存储器可包括只读存储器(ROM)或闪存(图中未示出)和随机存取存储器(RAM)(图中未示出),如先前所述。RAM通常是操作系统和应用程序加载于其中的主要存储器。除其他代码外,ROM或闪存可以包含控制诸如与外围组件的互交互的基本硬件操作的基本输入输出系统(BIOS)。常驻于计算机20的应用通常存储在计算机可读介质上并且经由计算机可读介质访问,所述计算机可读介质诸如硬盘驱动器(例如,固定储存器23)、光驱、软盘或其他存储介质25。固定储存器23可以与计算机20集成,或可以是单独的并通过其它接口访问。网络接口29可以提供经由电话链接到远程服务器的直接连接,以经由互联网服务提供商(ISP)连接到互联网,或经由直接网络链接到远程服务器的直接连接以经由POP(存在点)或其他技术连接到互联网。网络接口29可以使用无线技术提供这样的连接,所述无线技术包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等。例如,网络接口29可以允许计算机经由一个或多个本地、广域或其他网络与其他计算机通信,如图6所示。许多其他设备或组件(未示出)可以以类似的方式连接(例如,文档扫描仪、数码相机等)。相反地,图5中示出的所有组件不需要都出现以实践本公开。组件可以以与所示出的不同的方式相互连接。诸如图5中示出的计算机的操作在本领域是很容易知道的,并且在本申请中没有详细讨论。实施本公开的代码可以存储在计算机可读存储介质中,诸如存储器27、固定储存器23、可移除介质25中的一个或多个,或存储在远程存储位置上。图6示出根据本公开主题的实施方式的示例网络布置。诸如本地计算机、智能手机、平板计算设备等的一个或多个客户端10、11可以经由一个或多个网络7连接到其他设备。该网络可以是本地网络、广域网、因特网或任何其他合适的通信网络,并且可以在包括有线和/或无线网络的任何合适的平台上实施。客户端可以与一个或多个服务器13和/或数据库15通信。设备可以由客户端10、11直接访问,或一个或多个其他设备可以提供中介访问,诸如服务器13提供对存储在数据库15中的资源进行访问。客户端10、11还可以访问远程平台17或远程平台17提供的服务,诸如云计算布置和服务。远程平台17可以包括一个或多个服务器13和/或数据库15。更通常地,当前公开的主题的各种实施方式可以包括计算机实施的过程和用于实施这些过程的装置,或以计算机实施的过程和用于实施这些过程的装置的形式来实施。实施方式也可以以具有计算机程序代码的计算机程序产品的形式来实施,该计算机程序代码包含在非暂时性的和/或有形的介质中实施的指令,该介质诸如软盘、CD-ROM、硬盘、USB(通用串行总线)驱动器、或任何其他机器可读存储介质,其中,当计算机程序代码载入计算机并由计算机执行时,计算机成为用于实践本公开主题的实施方式的装置。实施方式也可以以计算机程序代码的形式来实施,例如,该计算机程序代码或者存储在存储介质中,载入计算机和/或由计算机执行,或通过诸如电线或电缆的一些传输介质、通过光纤、或经由电磁辐射传输,其中当计算机程序代码载入计算机并由计算机执行时,计算机成为用于实践本公开主题的实施方式的装置。当在通用微处理器上实施时,计算机程序代码段配置微处理器来创建特定的逻辑电路。在某些配置中,存储在计算机可读存储介质上的计算机可读指令集合可由通用处理器执行,该通用处理器执行可以将包含通用处理器的通用处理器或设备转换为被配置为实施或执行指令的专用设备。实施方式可以使用硬件来实施,该硬件可以包括诸如通用微处理器和/或专用集成电路(ASIC)的处理器,其根据本公开主题的实施方式在硬件和/或固件中实施全部或部分的技术。处理器可以耦合到存储器,诸如RAM、ROM、闪存、硬盘或能够存储电子信息的任何其他设备。存储器可以存储适于由处理器执行的指令,以根据本公开主题的实施方式来执行所述技术。在本公开的主题的实施方式收集关于用户额个人信息或者也可以使用个人信息的实施方式中,用户可以被提供以如下机会:控制程序或特征是否收集用户信息(例如,用户表现的评分、用户的工作产品、用户提供的输入、用户的地理位置、以及与用户相关联的任何其他类似的数据),或控制是否和/或如何从应用商店接收内容和/或从客户端设备提供可能与用户相关的数据。此外,某些数据可以在被存储或使用之前以一种或多种方式进行处理,从而移除个人可识别信息。例如,可以处理用户的身份,从而无法针对用户确定个人可识别信息,或用户的地理位置可以是被一般化为获取位置信息的地方(诸如,城市、邮政编码,或州级),从而不能确定用户的具体位置。因此,用户可以控制如何收集有关用户的信息以及例如由应用商店如何使用该信息。为了解释目的的上述说明已经参照具体实施方式被描述。然而,上述说明性的讨论不意图是详尽的或将本公开主题的实施方式限制为所公开的精确形式。鉴于以上教导,可以进行许多修改和变更。实施方式被选择和描述以说明本公开主题的实施方式及其实际应用的原理,从而使本领域技术人员能够利用适合于所预期的特定用途的这些实施方式以及具有各种修改的各种实施方式。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1