Sprint 5 summary: UI 界面更新,Azure端部署和用户反馈分析 12/28/2015
本次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的更多相关文章
- 为什么丑陋的UI界面却能创造良好的用户体验?
本文内容由Mockplus团队翻译. 官网:http://www.mockplus.cn 网站界面过于漂亮可能会影响网站的可用性,但本文中提到的5个网站界面可谓是“丑”出了新高度.这样的网站它还有可用 ...
- Spark UI界面原理
当Spark程序在运行时,会提供一个Web页面查看Application运行状态信息.是否开启UI界面由参数spark.ui.enabled(默认为true)来确定.下面列出Spark UI一些相关配 ...
- Python+PyQT5的子线程更新UI界面的实例《新手必学》
今天小编就为大家分享一篇Python+PyQT5的子线程更新UI界面的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧子线程里是不能更新UI界面的,在移动端方面.Android的U ...
- 使用AsyncTask异步更新UI界面及原理分析
概述: AsyncTask是在Android SDK 1.5之后推出的一个方便编写后台线程与UI线程交互的辅助类.AsyncTask的内部实现是一个线程池,所有提交的异步任务都会在这个线程池中的工作线 ...
- 在Android中实现service动态更新UI界面
之前曾介绍过Android的UI设计与后台线程交互,据Android API的介绍,service一般是在后台运行的,没有界面的.那么如何实现service动态更新UI界面呢?案例:通过service ...
- Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
Android应用的开发过程中需要把繁重的任务(IO,网络连接等)放到其他线程中异步执行,达到不阻塞UI的效果. 下面将由浅入深介绍Android进行异步处理的实现方法和系统底层的实现原理. 本文介绍 ...
- Android Handler传递参数动态更新UI界面demo
package com.example.demo_test; import android.app.Activity; import android.os.Bundle; import android ...
- 一种WPF在后台线程更新UI界面的简便方法
WPF框架规定只有UI线程(主线程)可以更新界面,所有其他后台线程无法直接更新界面.幸好,WPF提供的SynchronizationContext类以及C#的Lambda表达式提供了一种方便的解决方法 ...
- Android异步处理系列文章四篇之二 使用AsyncTask异步更新UI界面
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...
随机推荐
- 牛客网剑指offer【Python实现】——part1
斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,n<=39). 循环实现,时间复杂度n def Fibonacci(self, ...
- Flutter 强大的MediaQuery控件
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 MediaQuery 通常情况下,不会直接将MediaQu ...
- 使用scrapy-selenium, chrome-headless抓取动态网页
在使用scrapy抓取网页时, 如果遇到使用js动态渲染的页面, 将无法提取到在浏览器中看到的内容. 针对这个问题scrapy官方给出的方案是scrapy-selenium, 这是一个把sel ...
- tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图
tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图 因为很多 demo 都比较复杂,专门抽出这两个函数,写的 demo. 更多教程:http://www.tensorflown ...
- TensorFlow系列专题(七):一文综述RNN循环神经网络
欢迎大家关注我们的网站和系列教程:http://panchuang.net/ ,学习更多的机器学习.深度学习的知识! 目录: 前言 RNN知识结构 简单循环神经网络 RNN的基本结构 RNN的运算过程 ...
- 使用webhooks进行代码的自动化部署
AutoMaticDeployment---自动部署 项目简介 使用Github的webhooks进行代码的自动化部署 本项目是个人最近搞的一个小工具,自己最近在用hexo部署个人博客(地址:http ...
- Redis 集群--------Redis-cluster
1集群方案 1.官方方案redis-cluster搭建实战 2.客户端分片技术(不推荐),扩容/缩容时,必须手动调整分片程序,出现故障不能自动转移 3.可以使用主从复制方式(不推荐) 4.使用一些代理 ...
- iOS 构建动态库
一.构建步骤 创建一个动态库 MyDynamicFramework 创建一个测试类 在 MyDynamicFramework.h(默认生成,可统一暴露头文件) 中 #import "Pers ...
- 140行Python代码实现Flippy Bird
140行代码实现Flippy Bird 话说这游戏中文名叫什么来着,死活想不起来了,算了话不多说,140行实现小游戏系列第二章,依然是简单小游戏,与数独游戏相比,在游戏界面显示上更难一些,但是在逻辑方 ...
- pre-commit + imagemin 实现图片自动压缩
我们日常开发的前端项目中,图片资源会占到项目资源的很大比例,因此在考虑到性能优化,页面加载速度的时候,如何更好地处理图片就非常重要了. 首先我们可以想到的方案是:使用webpack的image-web ...