童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

Writeathon:从0开始实现的一个sideprojec

6月26日 喵小咪投稿
  世界上99的需求都已经有人想到了,但只有多想一步,才能转化为产品。
  在国外,人们将各种业余时间打造的产品或项目称为“sideproject”。这些sideproject的灵感都来自于生活,一开始均为兴趣使然,有的逐渐走向商业,有的归于平静,但每个创造者都能从中获得快乐与满足。
  作为互联网IT从业者,会有更多机会接触新鲜事物,相信大家一定会有很多奇思妙想。这篇文章,就是关于一个sideprojectWriteathon从0到1的过程,同时,也会分享遇到的各种技术坑和产品开发经验,希望能够给各位参考,实现自己的sideproject。
  产品构想,从0到1
  Sideproject的初始需求,往往来源于自己或身边人。年初的时候,我计划写一个关于几年前到新西兰进行WorkingHoliday的系列文章。从最基本的word,到最专业的scivener,还有获得无数好评的ullyses,和后起之秀bear,typroa,byword等等,从上手难度,写作体验,使用便捷性,专业性等综合考虑,均难以让我趁手。
  于是,作为一个技术出身的产品,对写作工具平台做了一番研究。
  世界上99的需求都已经有人想到了,但只有多想一步,才能转化为产品。
  上文提到的产品,均可以归为专业写作工具,核心是辅助写作者组织、输出内容。除此之外,还有写作社区,像国外的medium,国内的简书(这里不得不插一句,简书从一开始的高质量内容社区,到如今充斥着各类鸡汤营销软文,非常可惜),让作者分享、交流有深度的内容。
  还有就是最近兴起的AI写作工具,通过AI对文章进行分析,以及相关素材的收集,甚至根据给定的主题和关键字自动创作内容。
  最后,是比较少接触到的,我称之为创意写作工具,虽然也属于写作工具,但核心不在于写作,而在于写作灵感激发,例如:http:dailypage。co,http:twords。2lch。com,http:blankpage。io等。这些工具的写作功能往往比较简单甚至简陋,但专注于提供一系列激发灵感的服务,例如写作话题推送,写作进度分析等等。
  回到最开始的需求,我是想找一个各方面达到平衡的产品。一个sideproject最开始只要满足自己或者最小的需求就足够了,而这样的需求究竟是大众的痛点还是痒点,则可以通过MVP方法交由用户和市场去验证。
  MVP(MinimumViableProduct),最小可用产品,从产品的核心功能开始构建产品。
  那么,如何从这些信息和需求中构思一个产品?
  首先要确定的是产品定位,它决定了要做什么。对于专业写作工具,我认为现有的产品已经足够多且优秀,暂时没有更好的切入点。而写作社区,则对后期的运营能力有极高的要求。
  AI写作是趋势,但有相当的技术门槛。创意写作工具目前比较缺少,是一个可行的切入点。所以初步的定位是融合了专业与创意写作工具的特点,一款能满足基本写作需求的,能够激发作者灵感与创作热情的产品。
  同时,微信、微博、短视频等各种应用造成的碎片化时间,让人很难静下心去做一件事,这款产品的理念也是希望提供纯粹的写作体验,让人专注于写作。
  writeathon的名称,来源于编程马拉松(hackathon),也寓意着写作就像马拉松。
  然后,则是要考虑资源,它决定了能做什么。大部分sideproject开始往往都只有一个人,而且只能利用业余时间。这就决定了必须要从最核心的部分开始,对于writeathon来讲,作为一款写作工具的核心则是编辑器。所以现阶段,主要精力都应该放在如何实现一个简单而高效的编辑器上。
  明确了定位和资源,剩下就是怎么做,也就是产品计划。对于大部分sideproject来说,一个完整而长远的计划并不是必须的,只要明确了核心诉求,其它部分都可以灵活安排。但出于产品的职业习惯,还是为writeathon安排了一个分3步走的计划:
  实现一个简单、高效的编辑器,并提供基本的写作统计功能,让人能专注于写作;
  提功写作灵感激发功能,激发创作热情,让人爱上写作;
  通过AI等技术,提高写作效率与质量,让人写得更好。
  产品技术选型,稳定与可扩展
  除非你的sideproject涉及到前沿领域,否则应该选择稳定可扩展的技术框架,稳定是指产品的迭代无需过多考虑其变化,而可扩展是指相关的生态圈能够支持产品的扩展。
  是产品为技术服务,还是反之,取决于产品的定位和用户的需求,以及产品的发展阶段。
  writeathon首先满足的是自己的需求,对于中长篇的写作我还是习惯在传统电脑上完成,同时考虑到通用性,所以优先以web的方式展现。
  在三大前端库react、vue和angular中,我选择了vue,其生态社区非常活跃,而且相关的文档也很完善,同时配合Nuxt实现SSR(这里其实对SSR没有强烈的需求,只是借sideproject作为试验)。
  样式框架采用了bulma,与bootstrap相比,其column布局更为灵活,自定义也很方便。后端接口基于阿里团队推出的eggjs,虽然阿里的开源产品经常无疾而终,甚至被称为KPI产物,但不得不说eggjs从目前的发展来看还是很稳健的,非常适合小团队的快速开发。数据库选择了mongodb,配合mongoosejs作为ODM。而基础服务部分,选用的是阿里云。
  整体技术框架如下:
  产品开发,快速迭代
  我们经常提到产品的快速迭代,但快速迭代并不是只求速度,还要把握好质量和速度之间的平衡,多久迭代一次,每次迭代多少内容。
  writeathon由两个项目构成:writeathonweb和writeathonapi,截止至写这篇文章,断断续续2个月,writeathonweb经历了70次的迭代,writeathonapi也有30次。
  目前的产品版本为1。0。2,实现了以下功能:
  在开发过程中,遇到了大大小小的难题,相信做过开发的同学都知道程序员的十大谎言之首:“我这里是正常的啊”,开发中遇到的问题只是开始,处理生产环境及用户环境产生的问题,才是最耗费精力的。
  这里列举一部分爬过的坑:
  编辑器的开发;
  基于jwt的校验;
  passport库的浏览器兼容性问题;
  目录层级及其呈现方式;
  NodeBB论坛系统的单点登录;
  zen模式的设计考量;
  移动端适配;
  夜间模式的样式设计;
  markdown语法提示;
  通过Let’sEncrypt获取ssl证书及配置。
  限于篇幅,这里先分享编辑器的开发,其它话题有机会再单独展开。
  为了避免重复造轮子,编辑器是基于codemirror来打造的。Codemirror的功能十分强大,github上的很多编辑器项目,都有它的身影,其丰富程度足以打造一个线上的IDE。编辑器主要用到了codemirror的markdown语法模式,自定义主题,自定义插件等特性,与vue结合成了一个名为zeneditor的组件,后续会考虑将其开源。
  在格式支持上,得益于codemirror,除了基本的markdown格式,还支持github推出的GFM(GithubFlavoredMarkdown),GFM扩展了表格、图片和复选列表等特性。在预览功能上,使用了marked这个库,并通过hightlightjs进行语法高亮。
  同时,为zeneditor设计了zen主题及配套的夜间主题zendark,其中夜间主题的背景及字体颜色是反复优化得出的。zen主题还提供了zen模式支持,在该模式下编辑器的高度会固定为半屏,同时非当前编辑的段落会弱化视觉效果,类似于其它开源编辑器中的打字机模式。
  此外,还专门开发了markdown语法提示插件,通过输入‘’快捷插入markdown语法。为了提高效率,zeneditor的主要功能如新建、切换夜间模式、zen模式、保存、导出等均设置了键盘快捷键。
  当前版本zeneditor呈现的效果,就像一张白纸,让用户最大程度地专注于写作,后续会在细节如字体、颜色、格式支持、zen模式2。0等持续优化。
  产品上线推广,选择合适的渠道
  很多sideproject开发完后,没有进行任何推广,权当自娱自乐当然没有任何问题,但其实可以做适当的宣传,一来与大家分享成果,二来可以倾听来自用户的反馈,作为下次迭代的参考。
  Sideproject基本不会有任何的市场推广预算,但只要多花一点精力,一样可以取得不错的效果,一般来说可以考虑以下渠道:
  产品社区;
  产品目标用户群的社区;
  相关技术社区;
  自身的社交媒体圈。
  writeathon选择了在producthunt(产品社区)、豆瓣小组(产品目标用户群的社区)、v2ex(相关技术社区)和朋友公众号(自身的社交媒体圈)作为第一次推广尝试。
  从结果来看,producthunt带来的效果是最多的,在上线的一周内获得了130多个赞,近千次的访问量。这个数据虽然算不上多高,但至少迈出了第一步。同时正由于其关注度很高,在上线前一定要做好充分的准备,不然会浪费曝光的机会。
  豆瓣我选择了与写作相关的小组进行宣传,从效果来看关注量并不高,需要调整相关的用户社区宣传策略。
  如果在产品目标用户群的社区推广并不理想,需要思考是否产品的定位出现了偏差,或者缺乏吸引目标用户的亮点。
  v2ex虽然浏览量不少,但相关的讨论为0,在技术社区如果只是简单的宣传,而没有相应的干货,是很难产生互动的。
  而朋友的公众号本身关注的人就不多,仅作为友情推广。
  第一轮推广过后,应该根据各种渠道的关注度和用户的反馈,及时调整后续的推广策略,甚至产品的定位及迭代计划。
  最后
  一个sideproject,无论最终能否得到广泛的使用和任何,但把自己的想法从0到1实现,本身就是一个快乐而充实的过程,希望这篇文章能够给大家一点启发,谢谢。
投诉 评论 转载

优化产品设计流程,从这三个维度入手维基百科对流程定义是:Aprocessisasetofactivitiesthatinteracttoproducearesult。当我们想到流程,脑海中浮现的是什么?刻板、教……Writeathon:从0开始实现的一个sideprojec世界上99的需求都已经有人想到了,但只有多想一步,才能转化为产品。在国外,人们将各种业余时间打造的产品或项目称为“sideproject”。这些sideproject的灵……网路爬虫:不生产内容,只是内容的搬运工搜索引擎和聚合类新闻App之所以有源源不断的新内容供予用户浏览,原因就在于有网络爬虫技术的加持。网络爬虫的应用对于用户来说,是一大福利我们可以从一个搜索引擎轻松搜索到各个领域的……从0到1搭建消息推送管理平台本文意在帮助大家从零到一,搭建一套较为完善的公司内部消息推送管理平台,对公司内部各业务线、产品线的消息推送进行统一管理、统一发送。一、推送的定义与价值个人将推送的定……终极设计师指南:语音用户界面(VUI)一个日益数字化的世界意味着,我们在设备上花费的时间可能比在彼此上花费的时间要多。而语音交互是否会成为我们与世界互动的主要方式呢?“设置早上7:15的闹钟”“好的,呼……页面跳转交互方式,如何设计更合理?常见的页面跳转方式有直接跳转、左右跳转、上下跳转等,再设计时需要考虑好其中的关联性,给出最符合用户心理预期的过渡方式,从而做出最合适的设计。页面跳转在APP中属于最常见,……发现设计细节,原来单选和多选也有这么多讲究本期文章主要研究单选和多选控件的设计细节,虽然是很常见的控件设计,但是也是有非常多需要注意的地方。能提炼总结常见事物的一般规律,这本身就是一件值得大家都去做的一件事。无论……策略型设计:面向未来的决策机制这可能是一篇比较干、注重方法论的文章,是作者对于他多年工作经验的总结。我们常说的设计趋势总是聚焦于某种风格,某个细分领域上的变化,但是在如今的系统性设计方法上,同样存在着明显的……从Web到App:多终端设计中如何实现全场景满足用户需求?互联网产品的基本特征之一是通过多终端的无缝连接、全场景满足用户需求,从而抢占用户的时间和心智以达到商业目的。不同终端所具有的特征各异,因此同一产品在开展多终端设计会存在一定差异……丢掉“说明书”,用户喜欢容易上手的产品不用看说明书就会使用的产品,用户喜欢吗?肯定喜欢啊!一款能让用户满意的产品,设计一定是便于用户使用的。这在我们看来是非常简单的道理,但是,产品设计师们却常常反其道而行之。所以,……高效or灾难?应用程序设计要“具体问题具体分析”应用程序设计没有普适性原则,只有根据具体领域、具体情况来针对性地进行设计或者后期优化。一个运行高效的应用程序用到另外一个领域可能就会成为一个灾难性的应用。那么,如何有针对性地设……如何模块化设计出款系统(一)出款系统可以分为这几个主要模块:应用层、服务层、业务层、核心交易层、渠道网关层。和收款业务相对,出款业务是支付业务的另一个重要板块。出款业务是指,从支付机构的角度来……
如果快速提升网站排名?提升网站排名的方法HTTPS对网站SEO有哪些影响网站标题与描述的注意事项如何做好网站锚文本链接如何写高质量伪原创文章?如何减少网页相似度网站被K如何快速恢复外链建设的目的及优质外链如何寻找外链平台使用论坛的好处什么是第三方博客?友情链接的好处及如何交换

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界