每个在网上发布图片的人都面临两个问题:
1. 图片压缩加快载入
2. 去除 Metadata 保护隐私

这两个问题对于在网上写 Blog 贴图的人更为突出。首先就是照片体积,一张 iPhone 的照片视不同环境文件大小一般在 3M 左右,这样的文件一旦作为网页静态元素加载,请求一多服务器受不了,客户端也受不了。加载慢体验差,消耗蜂窝流量,还会造成浏览器占用过多系统资源崩溃。

虽然我的服务器每月有 2T 的 Outbound Traffic,架不住每次请求都要横跨太平洋海底的亚太光缆。电信国际出口紧张,就不添堵了。如果把照片图床放CDN,七牛和又拍云每月 10G 的免费流量,消耗起来别提有多快。

另一个问题是去除 EXIF,或者叫 Metadata。你可不想让别人右击图片 "Save As" 后知道你的地理位置、时间、设备型号和曝光参数。一旦 GPS 位置信息暴露,容易给人开展 "Social Engineering" 的机会,即所谓的「社会工程」或「社工」,俗称「人肉」。

是的,用微信发送图片能同时压缩照片与去除 Metadata。可我不怎么用微信,更不会注册两个帐号从自己的微信手机端发送到电脑端。

还有一点,手机或相机的照片一般在 3200×2400px,而我主题的 container width 只设到 890px,过大的分辨率是浪费,压缩图片不仅是压缩质量还要缩减尺寸(Resize,非Crop)。假设每张照片都要自己手动处理,工作量大了去了,必须是自动化批处理的。如果能在 iOS 和 Mac 上找到趁手的批处理应用,肯定事倍功半。

因此总结出来四点需求:

  1. 图片质量压缩
  2. 图片尺寸缩小 ( Resize )
  3. 移除照片内的 Metadata / EXIF
  4. 支持自动化批处理

既然有了这四个需求,就尝试分头在 iOS 和 Mac 平台上解决这些问题。