“作为这个应用程序的唯一创始人,我不仅负责网站、应用程序、Chrome扩展和网页抓取工具的开发,同时还负责包括营销在内的业务方面的工作。我真的没有多余的时间去做任何事情,也绝对没有时间去重建整个Web应用程序——所以我给了自己一个月的时间,打算把整件事情搞定......”

作者 | Justin

译者 | 苏本如,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

Instagram(照片墙)是目前最受欢迎的平台之一,去年,Instagram的商业账户数量、广告费用,甚至直接在应用程序中进行的采购量,都出现了爆炸式的增长。各种规模的企业蜂拥到这个平台上,并且都想参与其中。Instagram的流行使它成为一个伟大的营销工具,但同时也使它很难脱颖而出,并接触到潜在客户。Hashtag(标签)是一种社交媒体概念,在Instagram上被大量使用,以帮助对帖子进行分类,并允许用户把他们的内容展现在更多的人,而不仅仅是他们的追随者面前。

不幸的是,在Instagram上采用有效的标签策略是一项艰苦的工作,而且非常耗时。很少有企业拥有这些知识和资源,而真正做到这一点的企业甚至更少。

Curate应用程序通过消除复杂性和节省他们每周的时间来帮助企业获得他们的标签提升。Curate与Instagram直接集成,它知道每个账户使用过的所有标签,以及它们如何影响到每个帖子。一旦用户注册,所有他们可用的标签都可以唾手可得,以帮助他们选择最佳的和最大的曝光。Curate可以帮助创建标签列表,提供可视化界面,跟踪禁用的标签,获取建议,甚至自动定时发布你的标签。

随着应用程序的不断发展,Curate达到了一个转折点,我知道再基于当前设计的基础构建新的功能是不会再有好的回报了。越来越多的用户体验问题不是仅仅简单的风格改变可以解决的。最初设计中的应用程序导航甚至数据的显示方式开始变得不那么有效了。在它上面构建任何新的功能也变得越来越麻烦,而且应用程序也可以使用一些lipstick来摆脱它的标准Material界面。

由于Curate开始获得用户的关注,并且已经有了付费客户,是时候为他们提供更好的解决问题的方案了。作为这个应用程序的唯一创始人,我不仅负责网站、应用程序、Chrome扩展和网页抓取工具的开发,同时还负责包括营销在内的业务方面的工作。我真的没有多余的时间去做任何事情,也绝对没有时间去重建整个Web应用程序。但是不管怎样,我知道我的想法是正确的,所以我给了自己一个月的时间,打算把整件事情搞定。

一直工作中……

在正好30天内,第一次的生产部署完成了,它全面提升了Curate的用户体验。

如果你发现自己也正面临着类似的挑战,下面我想分享我在这一过程中学到的一些技巧。

确定你要改变的功能

在我开始进行任何开发工作之前,我就开始确定那些需要重新设计的具体功能,确保在我的时间范围内可以实现。在我计划的30天的时间上,我多给了自己一周的机动时间,因为我知道会有一些我没有考虑到的事情发生,或者我根本没有足够的时间去做我想做的所有事情。

设定一些你能实际完成的事情是很重要的。你的目标不要设得太高,设定一个你知道你自己可以达到的目标就好。没有人会因为他们只花了短短20天就完全重新设计了他们的SaaS应用程序而感到不安。相反,扩大项目范围并超越你设定的时间期限是一种错误的做法,它会让你期望的发布很难真正到来。

对于Curate应用程序来说,这意味着包括菜单、布局和大约10个主页面可以包括在这次的重新设计中。而一些辅助页面和设置/计费页面等内容在这30天的重新设计中将只会有最少量的更新。我知道什么样的变化可以通过纯粹的前端更新来达成,什么样的变化需要后端改变来实现,我也知道其他的一些变化需要一些独特的复杂的步骤来完成。

我还把我的UI开发推到了最后,因为我使用的UI框架是React,它自然地适合构建可重用组件。在理想情况下,最后一步或两步工作只需要将我在这一过程中构建好的组件组合起来。

一个月的时间对于我设定的功能范围或多或少需要做些冲刺,但我明白,当30天的计时器滴答作响时,我必须在最后一刻前交付一个完整的产品。我的目标是在30天内完成从编写代码到产品发布这一过程的所有工作,重要的是不要有任何事情半途而废。

我知道哪些部分的工作可以被排除在这次“大修”之外,如果它必须要做的话,我也可以在“大修”接近尾声时自然而然地完成这些部分。在这一过程中,让你的一些工作暂时不完成是可以接受的,但是随着结束的临近,你要集中精力完成你已经开始的工作,而不是致力于新的改变。这样做会让你剩下最后几天的时间可以用来专注于功能完善和产品发布。

把你的计划分解成几块,以便你对下一步的工作了然于胸

既然你已经锁定了你想要完成的所有事情,就开始把它们分解吧。想一想你想要什么样的改变,开始着手做一些页面模板。你需要考虑页面的外观,同时还要注意它在用户交互中的动作和行为。因为我是从整体上考虑了重新设计,所以当我开始做的时候,我可以给未来的自己一些关于UI/UX(用户界面/用户体验)的提示。

当我对我的重新设计看起来像是有了某种形式的理解后,我就开始仔细考虑我应该如何构建它。什么是我要先编码的?在我完成一个新页面后,我将如何测试?哪些部分是最难的?你需要写下所有这些答案,并在开发过程中作为指导。你可以使用文本列表、看板(如Trello)、笔记本,甚至电子表格,帮助你跟踪重新设计工作的每一部分。

我是一个低保真模型的粉丝,在这部分工作上我选择了旧时上学用的铅笔和纸。我把我要改变的10个页面,包括菜单,按照我认为的它们应该的样子都画了出来。我不是一个职业设计师,所以对我来说,在制作模型时出现灵感是很重要的。我深信,如果我们喜欢使用一个工具并理解它们如何解决面临的类似问题,我们就能从其中发现设计的洞察力。

从其他SaaS应用程序中获得灵感也有助于保持强大的内聚力,因为你可以看到你的参考站点如何处理你的应用程序拥有的所有相同的设计元素。Curate从各种搜索引擎优化关键字工具中获得了很多灵感。人们在如何搜索有合适数量和搜索引擎优化竞争的关键词,和他们在Instagram上发现针对特定客户群的标签的过程,有着惊人的相似之处。

一个人利用一个月的业余时间重建一个生产性的SaaS应用程序的整个用户界面,这可不是一件小事。我不必考虑接下来会发生什么,这一点非常关键。这样我的每一点时间都可以用于致力于我的全部设计工作和实际开发工作。事实上,我并不需要做太多的计划,只需要朝着终点前进,正是这样使得整个旅程成为了可能。

如果你在开发的过程中还要花一部分时间在设计和思考部分UI,那么30天的目标很快就会变得不切实际。在我开始准备完成一个编码阶段的工作量之前,我需要准备三个编码阶段的工作量以确保我有足够的工作,以备不时之需。相信你的直觉,专注于你制定的计划。

做好一份Bug修复的任务列表,并记录将来的升级

对于软件来说,如果你走得很快,就会产生bug(漏洞)。在你开发的过程中,有些事情你在设计阶段没有考虑过,可能会带来一个你不能马上解决的挑战。重要的是不要让这些在开发过程中减慢你的开发速度,同时不要让它们在整个30天内累积起来。

在部署前或上线后,把这些问题写下来,以便在完善期间进行处理。我会写下我在开发过程中看到或引入的bug,然后在我完全完成那个页面、组件或部件之后再检查确认一次。通常我会发现自己在列表中记下了一个bug,然后继续完成这个功能的开发工作,等开发工作完成,回过头来再检查时,我发现我已经很自然地把它修复了。

另一件要记住的重要事情是,你的应用程序最终不会是完美的,所以不要试图使它成为完美。如果有些bug没有影响到功能,比如UI不一致,不要强迫自己保证在全面更新结束之前确保所有bug都得到了处理。在部署前或上线后,记下这些bug,以便在完善期间进行处理。这是另一个有助于在30天结束前成功地交付应用程序的策略。

在开发过程中,你会提出一大堆新的想法和概念来仔细考虑,而这些想法和概念是你以前从未想过的。你不想失去那些新的想法,这一点值得鼓励。既然你想低头完成你的计划,就花一点时间思考一下你的新概念,记下来,然后继续前进。Curate应用程序的backlog中积压的一些最佳特性的想法是在实际开发过程中产生的。重要的是不要让这些想法分散你的注意力,因为它们会分散你的注意力。这些想法看起来很好,以至于你会问自己“我怎么能不添加这个功能呢?”但你必须要有所控制。随着时间的推移和不断反思,想法会变得更好,这有助于你达到平衡,最终创造出最佳的解决方案。

如果你被困住了不要停下来,保持持续向终点前进

可能你还没有注意到,在我们目前所谈论的许多事情中,有一个共同的主题,那就是保持专注。为了达到目标,我不能长时间地纠结于一个bug或一个技术挑战。如果我发现自己在同一个问题上花了一个多小时的时间,我会写下这个问题,把我的代码更改保存起来,然后切换到另一个问题来处理。我在开发时使用了番茄工作法(Pomodoro Technique),它能帮助我很容易地了解我在一个特定任务上花费了多长时间。我一定要等到第二天我的大脑恢复后再拿下一个任务。这有助于从一个新的角度来处理问题,并降低了重复工作和无进展工作造成的时间浪费。

不要让这些路障绊倒你。遇到难题,写下来,然后再解决,这会给你一种满足感。我甚至故意从打字变成用铅笔记问题。在长时间的编码过程中,转换似乎有助于保持我的新鲜感。而且,把每一个我解决掉的问题从纸上划掉,对我来说也是一种奖励。

截止时间到了的时候,如果有些功能还不可用,这也是可以接受的。我的做法是确保它们不会出现,把它们关掉,而不是让它们以bug的形式出现。记住,如果你需要花费3天时间来解决一个问题,那么这已经占了你所有时间的10%了。挑战总会出现,但要想出办法解决这些挑战,以确保这个项目在一个可以接受的时间内完成。

在这一个月的旅程中,我在规划、设计、开发和执行方面积累了丰富的经验。在这一个月里,我一直想方设法保持自己的积极性,比如让我的妻子参与进来,帮助追踪我还有多少个页面需要完成。我随身带着一个旧的学校剪贴簿,上面写着我一直记在脑海里的设计。

保持兴奋和上进心是帮助我成长的原因,我每天早睡早起,醒来后立即投入工作。这是一次无法抗拒的有趣的经历。我不仅为Curate应用程序完成了一些了不起的事情,而且我还收获了一份个人成就感。希望这份经历能激励其他人进行类似的冒险,并为我找到适合我的方法提供一些启示。

原文:https://hackernoon.com/how-i-redesigned-my-entire-b2b-saas-app-in-30-days-1s2m2g3c

本文为 CSDN 翻译,转载请注明来源出处。

【End】

热 文 推 荐 

☞“微软让我损失了两亿美金!”

☞小米回应“米家”商标争议;人人 App 回归社交市场;TiDB 2.1.19 发布| 极客头条

程序员该如何进行 SQL 数据库的优化?

☞抗住 60 亿次攻击,起底阿里云安全的演进之路 | 问底中国 IT 技术演进

☞4万程序员学了10万次的课程,今天,曝光背后的讲师!

☞俄罗斯“扎克伯格”:创建区块链版“微信”,27 岁身价达 2.5 亿美元

☞什么是数字孪生?

☞6 个重要模块,带你编写一个基于Golang的区块链公链demo!| 博文精选

点击阅读原文,即刻参加!

你点的每个“在看”,我都认真当成了喜欢

如何在 30 天内重新设计整个应用程序?相关推荐

  1. ios开发 mvp实践_实践中开发人员的工作流程-我们如何在30天内建立​​MVP

    ios开发 mvp实践 by Léna Faure 莱娜·福雷(LénaFaure) 实践中开发人员的工作流程-我们如何在30天内建立​​MVP (The developer's workflow i ...

  2. 请使用recaptcha_如何在30分钟内使用ReCaptcha和PHP构建Bootstrap电子邮件表单

    请使用recaptcha by Ondrej Svestka 通过Ondrej Svestka 如何在30分钟内使用ReCaptcha和PHP构建Bootstrap电子邮件表单 (How to bui ...

  3. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  4. 如何在30天内,通过TikTok变现一万美金。按照我的方法,你也可以

    ​大家好,我是项柚,最近创作者基金愈发火热,Tiktok又热了起来,但还是很多朋友停留在川普封停TT的时间节点上.一直没有时间,今天特意写一篇文章来详细分析,其实圈子很重要,方向很重要,所以很多Tik ...

  5. 一招教你如何在30天内提高销售额,这样的装修公司才能赚大钱

    以下是从事装修行业10多年的包工头的原话. 我是老张今年43岁,从事承包工程工作已经很多年了.有些人叫我"包老板",有人叫我"黑包工头",回忆自己的经历,有许多 ...

  6. 使用java进行婚礼庆祝_#102030:在30天内运行20 10K,庆祝Java 20年

    使用java进行婚礼庆祝 1995年5月23日是技术史上的重要时刻. 业界似乎并未意识到当天发布的语言会在未来几年内完全改变技术的格局. Java将在今年的同一天庆祝20岁生日. Java 20年,哇 ...

  7. #102030:在30天内运行20 10K来庆祝Java的20年

    1995年5月23日是技术史上的重要时刻. 业界似乎并没有意识到当天发布的语言会在未来几年内完全改变技术的格局. Java将在今年的同一天庆祝20岁生日. Java 20年,哇! 回顾20年前的存储器 ...

  8. #102030:在30天内运行20 10K,庆祝Java 20年

    1995年5月23日是技术史上的重要时刻. 业界似乎并没有意识到当天发布的语言会在未来几年内完全改变技术的格局. Java将在今年的同一天庆祝20岁生日. Java 20年,哇! 回顾20年前的存储器 ...

  9. 如何在20分钟内批量部署20台ESXi服务器?

    如何在20分钟内批量部署20台ESXi服务器? https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=2650642256&idx ...

最新文章

  1. javascript 调用c#变量实例
  2. maven+jenkins自动化构件
  3. wps流程图怎么不能添加文字_windows不能访问共享文件夹,不能添加共享打印机时,怎么解决呢...
  4. vue——走马灯-类轮播图
  5. 已知圆心及半径,通过MATLAB画圆
  6. Xcode 建立 UIKit 项目(Hello World)
  7. PeopleSoft 登录页面更换
  8. php微信公众号消息推送
  9. 合成文本图像_设计中哪个更重要:图像还是文本?
  10. 如何简单的管理API
  11. Vulnhub-Moneybox
  12. 【计算机网络学习笔记】计算机网络
  13. Whitelabel Error Page访问
  14. 瑞友天翼远程接入平台的应用
  15. [读书笔记]《深度探索C++对象模型》
  16. 电影乱弹:我脑中的橡皮擦 - A Moment to Remember (2005.02.21)
  17. 用c语言if语句实现判断闰年
  18. win10千万不要重置_win10更新失败蓝屏修复方法.
  19. 根据掩码位计算IPv6地址掩码
  20. 游戏用户体验设计洞察之《行尸走肉》

热门文章

  1. MAC Eclipse 快捷键
  2. UVa 116 (多段图的最短路) Unidirectional TSP
  3. DataGridView默认不选中
  4. Spark逻辑图的执行
  5. [FFmpeg] 官方例子 demuxing_decoding.c
  6. 查看/提取某文件夹中所有文件
  7. Windows上用VSCode链接矩池云的时候遇到的坑
  8. android网络游戏开发实战pdf_python爬虫开发与项目实战PDF高清文档下载
  9. yolov5-detect.py解析与重写
  10. leetcode题库10--正则表达式匹配