本次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. 01背包模板题 hdu2602 Bonecollector

    由于数组的滚动过程中当前值(i,j)的更新需要用到上一层的(i-1,j-wi)的值,所以在更新当前的j之前不能更新上一层的j之前的值,故01背包是从后向前更新的(重量取值是从大到小的). 代码如下: ...

  2. java触发full gc的几种情况概述

    前言 近期被问及这个问题,在此记录整理一下. System.gc()方法的调用 此方法的调用是建议JVM进行Full GC,虽然只是建议而非一定,但很多情况下它会触发 Full GC,从而增加Full ...

  3. Javascript函数之深入浅出递归思想

    一.递归函数的理解 1.生活中的递归 "递归"在生活中的一个典例就是"问路".如图小哥哥进入电影院后找不到自己的座位,问身边的小姐姐"这是第几排&qu ...

  4. 【深度学习】perceptron(感知机)

    目录 1.感知机的描述 2.感知机解决简单逻辑电路,与门的问题. 2.多层感应机,解决异或门 个人学习笔记,有兴趣的朋友可参考. 1.感知机的描述 感知机(perceptron)由美国学者Frank ...

  5. linux常用命令(运维用到)

    0.基础命令 pwd 查看当前目录 ls 查看当前目录所有文件夹和文件 mkdir 新建目录 mkdir -p a/b/c 创建多级目录 touch 新建文件 cat 查看文件 clear 清屏 sh ...

  6. MySQL默认隔离级别为什么是RR

    曾多次听到“MySQL为什么选择RR为默认隔离级别”的问题,其实这是个历史遗留问题,当前以及解决,但是MySQL的各个版本沿用了原有习惯.历史版本中的问题是什么,本次就通过简单的测试来说明一下. 1. ...

  7. MATLAB——时间,日期及显示格式

    一.日期和时间 1.生成指定格式日期和时间 标准日期格式 2.获取当前时间的数值 >> datestr(now,) ans = -- :: >> datestr(now,'yy ...

  8. Base64编码与解码原理

    Base64编码是使用64个可打印ASCII字符(A-Z.a-z.0-9.+./)将任意字节序列数据编码成ASCII字符串,另有“=”符号用作后缀用途. base64索引表 base64编码与解码的基 ...

  9. 使用Gitee搭建个人图床

    使用Gitee搭建个人图床 一.前言 搭建个人的图床可以更加方便地管理个人图片,虽然Github也可以实现个人图床的搭建,但是,Github毕竟是外网,访问速度慢且不稳定.因此采用Gitee来搭建图床 ...

  10. 【JavaScript】js02

    正则对象. 声明: //var reg = new RegExp('', '');// i,g 修正符. // i,不区分大小写,g 全局匹配. //var reg = /\w/i; 方法: //ex ...