
扫描软件已经很多了,我为什么还要自己做一个?
我用2年的时间,开发了一款免费用户没水印的,没有自动续费的,多数功能可离线使用的扫描软件
我是一个有将近 20 年的开发经验的老程序员,2024年的夏天开始,我决定自己做一款产品,于是有了「扫描仙人」。这是一个扫描软件,只看功能列表,它似乎没有什么特别之处。毕竟,扫描软件已经是一个非常成熟的市场了,市面上有很多知名产品,功能也相当丰富。 既然如此,为什么还要自己做一个?
一、我想做一款不那么折腾用户的扫描软件
使用过主流扫描软件的人,大概都遇到过类似的问题。 有些功能免费使用时会带有水印,想要导出干净的文件,就需要购买会员;有些产品采用自动续费订阅,不经常使用的人也需要时刻留意续费时间;还有一些产品,免费使用时会受到广告或功能限制的影响。 这些商业模式本身并没有什么问题,软件开发和维护都需要成本,开发者也需要获得合理的收入。 但我一直觉得,对于扫描软件这种工具来说,用户的实际需求可能并没有那么复杂。 有些人每天都需要扫描大量文件,愿意为专业功能付费;也有些人一个月只用几次,只是偶尔需要把纸质文件转换成 PDF,或者处理一下手头的文档。 对于后一类用户来说,为了偶尔使用一次功能而长期订阅会员,未必是一件划算的事情。 所以,我想尝试做一款收费方式更加灵活的扫描软件。 免费用户生成的 PDF,同样可以没有水印;用户可以根据自己的需要选择合适的付费方式,不必为了使用一次功能而承担长期订阅的负担;对于不愿意付费的用户,也提供通过观看广告解锁部分功能的方式。 与此同时,我也比较重视隐私问题。证件扫描、PDF 文件处理等功能,尽可能采用本地处理的方式,让用户不必为了处理一份私人文件,就把文件上传到服务器。 我希望,用户选择一款工具时,可以更多地考虑它是否好用,而不是先研究怎样绕过各种限制。 这就是扫描仙人最初的想法。
二、真正开始做,才发现扫描软件并不简单
如果只是调用现成的扫描 SDK,拼接几个页面,再加上 PDF 导出功能,开发一个简单的扫描应用并不算特别困难。但如果希望把它做成一款真正可用的产品,事情就完全不同了。
首先是扫描效果。
拍摄一张纸质文件的照片,并不意味着扫描就完成了。实际使用中,照片可能存在倾斜、透视变形、阴影、光照不均、背景杂乱等问题。我没有资金租用昂贵的服务器,为了降低运维成本,我训练了可以在用户手机上运行的文档检测,扭曲矫正和图像增强模型,甚至后续的去手写和试题分割,也有对应的手机版本模型。这么做,即节省了我的服务器费用,也尽可能的保护了用户的隐私安全。
其次是 PDF 处理。
PDF 看起来只是一个文件格式,但真正涉及页面拆分、合并、旋转、压缩、格式转换、文件导出等操作时,会遇到很多细节问题。尤其是在移动设备上,还需要考虑内存占用、处理速度、不同设备的兼容性,以及大文件处理时的稳定性。再往后,还有 Android、iOS、鸿蒙和 Web 等不同平台。 同一个功能,在不同系统上可能涉及不同的文件访问方式、权限机制和系统接口。如何尽可能复用核心逻辑,同时保证各个平台的使用体验,也需要投入大量精力。 这些工作很少能在产品介绍页面上体现出来,但它们决定了一款软件究竟只是一个能运行的 Demo,还是一款可以长期使用的产品。
还有转word,表格识别等等
从一个想法,到一款功能相对完整的产品。从古法编程,到如今的Agent开发。一个人做下来,其中的艰辛只有自己清楚。
三、技术之外,还有一道更难的题:如何让用户知道它
作为一个开发者,我过去花了很多时间思考技术问题。一个功能怎么实现,算法怎样优化,怎样减少内存占用,怎样让不同平台的体验保持一致……这些问题通常都有比较明确的研究方向。但当产品逐渐成形后,我发现,另一类问题同样重要。 如何让真正需要这款软件的人知道它? 市面上的扫描软件已经很多,用户也有自己的使用习惯。即使产品做得不错,也不意味着用户就会主动发现它,更不意味着用户会轻易更换已经使用多年的工具。 对于一个没有营销预算的创业项目来说,这个问题尤其现实。 我很欣喜的看到,在2026年,扫描仙人的日活跃持续增长,收入已经可以覆盖运营成本,这离不开每一位用户的耐心反馈与批评,这让我更有信心去坚持下去。
四、接下来,企业用户你们还有更高性价比的选择
我对B端市场的态度,和对C端是一样的。扫描仙人还在继续开发和完善,积累的算法和模型,已经满足了若干企业用户的需求,我虽然是个技术狂热者,但也深深的发现,一人公司在市场上的最大壁垒,其实是替企业完成那些没人愿意做的‘脏活累活’。Agent的时代,扫描仙人也不会缺席
