本次sprint主要完成的任务有对手机APP的UI界面的更新,同时对Azure客户端的部署进行了相应的学习和有关的程序设计。同时对于ALPHA release的用户反馈做出相应的分析以确定接下来工作的重点。

工作进度:

1. UI 的界面更新和完善工作主要由兆阳负责,主要是对APP中的自动标签和浏览布局进行了相应的改进。其中大部分与Sprint2中的界面有所区别,并且对整体的APP工作性能有了一些改善。相应的改进feature有如下:

1). 个人活动分类浏览: 其中将用户的各个照片依据内容,时间,地点信息进行分类。从而使用户可以依据不同的活动类型对照片进行浏览,方便用户体验。

2). 搜索推荐: 对于用户所输入的词句进行预测,并且推荐相应图片的缩略图,方便用户在无法准确拼写相应单词的时候可以进行精确的搜索。

3). 语音搜索: 利用 oxford Speech API 与 Stanford NLP API 的结合, 成功实现了语音模糊搜索的功能。用户可以直接说一段句子,利用 oxford Speech API 实现语音到文本的转换,随后利用 Stanford NLP API 对文本中的关键词进行提取以用作最后搜索的关键词。

4). 自动标签生成: 利用流行的深度神经网络模型CNN对图片进行处理,同时进行相应的分类生成相应的标签。同时对图片已有的GPS,拍摄时间等信息也进行相应的保留和布局处理以方便用户浏览。

                   

2. 同时后台处理进行了相应的优化, 主要是有将NLP的resful从eclipse环境中转移到Tom Cat,这部分由敏龙负责。

3. 相应的代码整合工作则focus在一些线程处理机制上面的优化,同时对讲代码转移到IOS系统上进行了一定的尝试,这些工作主要由拂尘和延东负责。

4. 在Azure Server部署方面,首先对Azure架构进行了学习,同时在部署方面做了相应的尝试,这一部分主要由栋和延东负责。

Azure 端部署情况分析:

Azure端的部署工作目前处于尝试阶段,在接到相应的用户反馈以后,我们通过相应的分决定将Azure端产品作为一个中间过渡产物,最终工作将转向对APP的offline版本的新的尝试。

用户反馈结果分析:

有相应用户拥有如下评论:

1. 对于这款手机APP,我有时上传照片收到网速的限制,无法迅速获得结果。而且总体来所返回的图片结果还是不错的,但是有一些还是不是特别理想。用户活动分类这个特别合口味,为我浏览相应的照片省去了不少麻烦!

2. 总体性能不错,细节还是可以的。不过有时候会返回莫名其妙的一些结果,比较无语啦~

对于以上两位用户评论进行分析可以得出如下一些可以改进的地方:

1. 利用流行的CNN模型在实际运用中不能简单套用,也许可以通过相应的阈值或者简单的操作暗示进行用户体验的提升。

2. 在线版本受网速等其他因素的限制,同时实现上也相当复杂,以长远眼光来看,这确实是个不错的选择。但就目前要想短期实现相同性能,完成CNN的IOS模型架构建立,实属不易。offline版本或许会成为最终的目标,但绝不会是本次课程最后的结果。软件开发之路任重道远,一蹴而就或许只会物极必反。

Sprint 5 summary: UI 界面更新,Azure端部署和用户反馈分析 12/28/2015的更多相关文章

  1. 为什么丑陋的UI界面却能创造良好的用户体验?

    本文内容由Mockplus团队翻译. 官网:http://www.mockplus.cn 网站界面过于漂亮可能会影响网站的可用性,但本文中提到的5个网站界面可谓是“丑”出了新高度.这样的网站它还有可用 ...

  2. Spark UI界面原理

    当Spark程序在运行时,会提供一个Web页面查看Application运行状态信息.是否开启UI界面由参数spark.ui.enabled(默认为true)来确定.下面列出Spark UI一些相关配 ...

  3. Python+PyQT5的子线程更新UI界面的实例《新手必学》

    今天小编就为大家分享一篇Python+PyQT5的子线程更新UI界面的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧子线程里是不能更新UI界面的,在移动端方面.Android的U ...

  4. 使用AsyncTask异步更新UI界面及原理分析

    概述: AsyncTask是在Android SDK 1.5之后推出的一个方便编写后台线程与UI线程交互的辅助类.AsyncTask的内部实现是一个线程池,所有提交的异步任务都会在这个线程池中的工作线 ...

  5. 在Android中实现service动态更新UI界面

    之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的.那么如何实现service动态更新UI界面呢?案例:通过service ...

  6. Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面

    Android应用的开发过程中需要把繁重的任务(IO,网络连接等)放到其他线程中异步执行,达到不阻塞UI的效果. 下面将由浅入深介绍Android进行异步处理的实现方法和系统底层的实现原理. 本文介绍 ...

  7. Android Handler传递参数动态更新UI界面demo

    package com.example.demo_test; import android.app.Activity; import android.os.Bundle; import android ...

  8. 一种WPF在后台线程更新UI界面的简便方法

    WPF框架规定只有UI线程(主线程)可以更新界面,所有其他后台线程无法直接更新界面.幸好,WPF提供的SynchronizationContext类以及C#的Lambda表达式提供了一种方便的解决方法 ...

  9. Android异步处理系列文章四篇之二 使用AsyncTask异步更新UI界面

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...

随机推荐

  1. 数据库安装和基本sql语句

    数据库概念 文件作为数据进行存储,数据格式千差万别 将保存数据的地方统一起来 MYSQL--------->一款应用软件 用来帮你操作文件的 只要是基于网络通信,底层就是socket 服务端 - ...

  2. Recursive-Brace Expansion II

    2019-11-26 11:05:10 1096. Brace Expansion II 问题描述: 问题求解: 经典的字符串扩展问题. 一般来说这种问题有两种解法,一个是采用stack,一个是采用r ...

  3. 教你如何利用threejs对3D模型皮肤进行DIY

    一步一步教你如何利用threejs加载gltf模型来实现DIY换肤功能. 模型准备 模型制作 模型可以通过网上下载,也可以自己通过c4d.maya.blender等模型制作软件得到.这里就不叙述有关模 ...

  4. Python:(使用matplotlib画图)次坐标轴,两个坐标轴

    https://blog.csdn.net/Poul_henry/article/details/82533569

  5. 【狂神说】JAVA Mybatis 笔记+源码

    简介 自学的[狂神JAVA]MyBatis GitHub源码: https://github.com/Donkequan/Mybatis-Study 分享自写源码和笔记 配置用的 jdk13.0.2 ...

  6. 从阿里、腾讯的面试真题中总结了这11个Redis高频面试题

    前言 现在大家的工作生活基本已经是回归正轨了,最近也是迎来了跳槽面试季,有些人已经拿到了一两个offer了. 这段时间收集了阿里.腾讯.百度.京东.美团.字节跳动等公司的Java面试题,总结了Redi ...

  7. ASP.NET Core技术研究-探秘Host主机启动过程

    当我们将原有ASP.NET 应用程序升级迁移到ASP.NET Core之后,我们发现代码工程中多了两个类Program类和Startup类. 接下来我们详细探秘一下通用主机Host的启动过程. 一.P ...

  8. 作为 attribute 和 property 的 value 及 Vue.js 的相关处理

    attribute 和 property 是 Web 开发中,比较容易混淆的概念,而对于 value,因其特殊性,更易困惑,本文尝试做一下梳理和例证 attribute 和 property 的概念 ...

  9. codeforces 466c(暴力枚举)

    题目链接 思路如下 *题意: 给定一个序列,问有多少种方案可以将此序列分割成3个序列元素和完全相同的子序列.(子序列不能为空).即问有多少个点对(i,j)满足a[1]+-+a[i-1]=a[i]+a[ ...

  10. springboot 启动时执行方法

    Springboot提供了两种“开机启动”某些方法的方式:ApplicationRunner和CommandLineRunner.下面简单介绍下ApplicationRunner 1.创建个Tests ...