唉,一年了无人问津,开源算了

2024-05-16 23:56:07 +08:00
 joye

最近重构了我的个人项目图小小( Pic Smaller ),无论是技术上还是 UI 上都进行了重构,改动巨大,这次我决定完全开源它( Github 地址在文末)。因为之前跑了一年几乎无人问津,它一直是一个完全免费项目,没有广告,没有打赏,甚至联系方式都没有,做成这个样子属实让人很不甘,所以干脆完全开源算了,希望能吸引一些关注,先看看新版本预览效果:

图小小是一个图片压缩工具,基于 Vite+React 技术栈开发,它可以完全取代类似 TinyPNG 之类的在线图片压缩工具,且压缩之后视觉表现效果往往更好。但图小小有个更大的优势:通过图小小进行图片压缩完全是基于浏览器本地的,没有任何服务端交互,图片不会上传到远程服务器,所以非常安全,不用担心隐私图片被泄露。

目前图小小支持 JPEG/PNG/WebP/Gif 四种格式的图片压缩,基本上能满足绝大部分日常使用需求,本项目为个人业务时间开发,为了节约时间,采用了大量的第三方开源项目,所以图小小本身是没什么技术含量的,我个人认为图小小优秀在于提供了良好的 UI 和使用体验,虽然是缝合怪,但鲜有人做出类似的产品

技术实现

简单说一下技术实现,感兴趣的自行研究,不得不感谢 Webassembly 技术的加持,让 PNG/Gif 编解码这类 CPU 密集计算型需求在纯网页端实现成为了现实,并且还有不错的性能表现

为了防止 UI 阻塞,运用了 Web Worker 技术进行编解码和压缩,同时为了防止同一时刻浏览器的内存占用过大(内存占用过大也会导致卡顿),用了一点小技巧在 Worker 端实现了一个简单的队列 Queue,这里不展开,有兴趣的自行研究源码

部署实现

网站部署在 vercel 上,主要原因是穷,所以初次访问速度会有一定的影响,国内其实大部分地区已经屏蔽了 vercel ,为了让国内用户也能访问,不得已通过 Cloudflare 做别名解析了 txx.cssrefs.com 这个域名。这里要强烈推荐个人开发者采用国外的解决方案,这个网站除了域名(域名是以前在腾讯云买的),其他证书服务器等都是免费的,感谢万恶的资本主义

不足之处

由于图小小是纯本地执行,因而不同的电脑配置会有不同的压缩表现,实测批量压缩成百上千张图片会有明显的卡顿甚至浏览器崩溃现象。这是正常的,由于没有任何限制,使用本工具可能会导致浏览器耗尽 CPU 和内存资源,所以使用时请自行评估


项目地址:https://github.com/joye61/pic-smaller


23731 次点击
所在节点    程序员
122 条回复
zealotxxxx
2024-05-17 09:34:40 +08:00
压缩率很不错啊,而且看着很可以。
不过产品对于有需求的轻量用户来说,还是偏复杂了。
收藏了,这个挺好用的。比 tiny 还好点。
dylan593
2024-05-17 09:34:52 +08:00
看了一下该站点的域名是 19 年就开始使用的,下面是我作为 PM 给楼主一些优化建议:
1. 简化用户操作步骤,让用户以上传图片——等待压缩——下载图片的工作流进行体验(可通过自行测试设置一个默认参数,保证压缩体积与图片质量的平衡);
2. 优化板块布局,上传页面还可以,下载页面的下载按钮应突出展示,另外压缩的比例以及具体数值可以在下载按钮上方进行展示;
3. SEO 优化,你的标题、元描述、关键词等内容都存在优化空间,另外爬虫文件也没设置,这样对于自然流量的获取会很吃亏;
4. 营收点:通过数据分析了解用户上传图片的主要体积大小范围,设置分级收费制度,如 50M 以上的图片上传处理需要收费;
以上是个人看完你的网站后的一些思路,希望对你有帮助。
giyear
2024-05-17 09:35:29 +08:00
压缩图片绝大部分目的就是为了传播吧,你这个巨大的隐私优势完全无用武之地……
AmaQuinton
2024-05-17 09:35:46 +08:00
op 有没有考虑通过 url 方式获取图像文件,例如 B 站的壁纸
rlds
2024-05-17 09:37:45 +08:00
挺好的,支持!!!
rookie2luochao
2024-05-17 09:37:55 +08:00
害,我也重复造了个新 swagger-ui 的轮子, 也是无人问津,还好我的 UI 设计和使用体验和其他竞争者大部分不一样,不然我真的好像是抄袭了,至少我没出圈我也不至于被吐槽吧😂,其实早就完成了 60%,但是没有设计成通用的开源包,我要是早 2 年放出来估计好很多,我给 swagger-ui 也成立了一个组织用于收录 所有后端语言的 swagger-ui, 链接在下面

核心 UI 包: https://github.com/rookie-luochao/openapi-ui
后端 swagger-ui 中间件: https://github.com/openapi-ui
skyworker
2024-05-17 09:38:21 +08:00
@giyear 为了传播的用户, 一般不会付钱

比如商业用户, 需要保护图片隐私, 不会使用网络工具, 如果能够定制化(比如增加 AI 功能, 符合特定行业对图片处理的需求, 比如自动加用户水印之类), 我觉得商业化不是问题.
Xinu
2024-05-17 09:39:21 +08:00
很棒!
chf007
2024-05-17 09:44:48 +08:00
squoosh 不香么,同类的还有很多种,这种工具太多了,没有什么特别的优点很难胜出
LowBi
2024-05-17 09:44:54 +08:00
支持 太难了 我想也让濒死/死亡项目开源 留下最后的痕迹
polobug
2024-05-17 09:46:07 +08:00
另外你这个如果能在小程序 那才能获取流量。
yuyuf
2024-05-17 09:46:29 +08:00
感觉稍微缺少的用户思维。
1 、调整图片尺寸那里。适应宽度,适应高度、这些词,普通用户大概率是不知道什么意思的。
2 、图片质量那里。可以就给几个选项就行了,
等等,下面的那些参数,普通用户也基本都不知道是什么意思的。可以都设置为默认,隐藏起来。给个高级选项按钮,给专业人用。普通用户就用默认的就好了
cndenis
2024-05-17 09:54:24 +08:00
现在产品太难, 别说免费, 贴钱给用户人家都不见得会肯用.

靠技术和功能来吸引用户真要做得非常独到才行

这几年我在桌面上使用的新工具软件, 每年可能就一两个而已
joye
2024-05-17 10:11:52 +08:00
@dylan593 作者是个程序员,产品思维很缺,我会认真考虑你的建议,谢谢
Grefer
2024-05-17 10:15:24 +08:00
star 支持一下,加油
joye
2024-05-17 10:19:34 +08:00
@daimao 已采纳
joye
2024-05-17 10:20:08 +08:00
insignificance
2024-05-17 10:24:47 +08:00
给你点个赞
joye
2024-05-17 10:31:17 +08:00
@AmaQuinton 当前技术无法实现,由于采用的 Vite ,它是一个非常纯粹的前端 SPA 项目,在技术上会存在 [跨域和画布污染]( https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image) 的问题,因为前面有人提到 SEO ,所以等有时间我会考虑用 nextjs 实现,就可以做到通过 URL 获取图像文件,但本质上是借助于服务器实现
realJamespond
2024-05-17 10:37:56 +08:00
感觉可以考虑用 electron ,或 wails 实现,压图更多可能是要批量运行所以结果要实时写回本地

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1041478

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX