小屏幕大影响:为功能手机开发Web应用被遗忘的艺术

本文探讨了功能手机市场的现状及其开发挑战,详细分析了硬件限制、性能优化、键盘导航适配以及跨平台开发策略,为开发者提供了实用的技术方案和设计指南。

小屏幕大影响:为功能手机开发Web应用被遗忘的艺术

为何要为功能手机开发应用?

功能手机并未消亡。相反,全球每年售出超过2亿台非智能手机,约等于2024年iPhone的销量。即使在北美,每年也有数百万台翻盖手机售出。随着运营商逐步关闭2G服务,新激励措施进一步推动了预算友好型功能手机的需求增长,尤其是在南亚和非洲地区。

与智能手机类似,功能手机(技术上称为“Feature Phones”)功能日益强大,现支持4G、WiFi、蓝牙及运行应用。针对南亚、非洲或欧美特定市场,有Cloud Phone和KaiOS等平台可供开发,其构建方式类似于渐进式Web应用(PWA),并通过多个应用商店分发。

术语解析

功能手机有多种名称:非智能手机戏称为“dumb phones”,技术行业称“feature phones”,在欧洲叫button phones或basic mobiles,在印度叫keypad mobiles。它们共同特点是预算友好、小屏幕和物理按键。

开发功能手机应用的优势

自然增长

无需付费获取用户。据GoGoChart数据,Android或iOS的每次安装成本(CPI)平均为2.5-3.3美元,而功能手机应用可产生大量自然下载。

品牌引入

功能手机用户升级到智能手机后,会搜索已熟悉的应用,从而为Google Play Store(及少量Apple App Store)带来更多安装。

低竞争

KaiOS仅有约1700个应用,Cloud Phone部件更少;相比之下,Google Play有超过155万个Android应用。在千分之一中脱颖而出比百万分之一容易得多。

技术基础

功能手机并非一直能运行应用。直到2009年Ovi Store(后更名为Nokia Store)推出,功能手机才支持安装第三方应用。当时应用为碎片化的Java 2 Mobile Edition(J2ME)运行时编写,仅限特定诺基亚型号,且常需与文档不全的专有包(如Nokia UI API)集成。

如今,功能手机平台摒弃原生运行时,转向标准Web技术以降低入门门槛并吸引更多开发者。现代功能手机上的应用主要用HTML、CSS和JavaScript编写,但也带来一系列权衡和考量。

硬件

功能手机因使用低端且常过时的硬件而价格亲民。低端预算手机运行实时操作系统(RTOS),如Unisoc T107芯片,RAM仅16MB,通常支持Opera Mini和Cloud Phone。高端如新发布的TCL Flip 4运行KaiOS 4.0,采用高通骁龙4s芯片,1GB RAM。

难以直接比较不同硬件,但苹果最新iPhone 16 Pro的内存是低端功能手机的500倍(8GB RAM),下载速度最快可达1000倍(4G LTE CAT-1)。

性能

您可能认为功能手机应用易受预算硬件稀缺资源限制。KaiOS确实如此,因为应用在设备上执行,需压缩代码、缩小缩略图,并在真实设备上评估性能,不能仅在桌面小视口中测试。

然而,作为远程浏览器,Cloud Phone和Opera Mini通过将计算密集型渲染卸载到服务器来克服硬件限制。这意味着性能通常与现代桌面相当,但可能导致一些怪异且不直观的特性。

例如,如果应用获取1MB文件显示数据表,不会消耗用户1MB移动数据。只有屏幕内容变化会流式传输给用户,消耗带宽。相反,复杂动画和页面过渡会消耗数据,因为每帧至少是部分屏幕刷新。尽管有此特性,Opera Mini估计比传统浏览器节省高达90%的数据。

安全

勿在浏览器存储中存储敏感数据。功能手机的安全问题与传统Web浏览器类似。虽然应用通常无法访问其他应用的数据,但KaiOS不加密客户端数据。远程浏览器的影响不同:Opera Mini完全不支持客户端存储,而Cloud Phone将数据加密存储在数据中心而非用户手机。

为现代功能手机设计

简化而非缩小适配

尽管这些设备持久存在,但几乎所有Web开发框架和库都忽略它们。流行前端框架如Bootstrap v5将所有低于576px的屏幕归类为超小。另一流行选择Tailwind将最小CSS断点设得更高,为40em(640px)。设计行业专家如Norman Nielsen建议最小断点“用于移动设备,一般最多500px”。此类标准倡导小屏幕一刀切方法,但一些小设计更改能为新互联网用户带来大不同。

小屏幕在尺寸、分辨率、对比度和亮度上差异很大。小屏幕可用性需要独特设计考量,而非缩小适配模型。虽然所有设备屏幕宽度小于常见最小断点,但同等对待它们是错误的。

大多数网站在功能手机上渲染过大:字体太大、图形太详细、粘性头部占屏幕四分之一。更糟的是,许多网站通过隐藏水平溢出内容禁用水平滚动,这在触摸屏上实现平滑滚动,但也导致无法阅读功能手机上超出视口的文本。

下表包括物理显示尺寸、分辨率和示例,以更好理解功能手机和预算智能手机小屏幕的多样性。

分辨率 显示尺寸 像素大小 示例
QQVGA 1.8” 128×160 Viettel Sumo 4G V1
QVGA 2.4” 240×320 Nokia 235 4G
QVGA (Square) 2.4” 240×240 Frog Pocket2
HVGA (480p) 2.8-3.5” 320×480 BlackBerry 9720
VGA 2.8-3.5” 480×640 Cat S22
WVGA 2.8-3.5” 480×800 HP Pre 3
FWVGA+ 5” 480×960 Alcatel 1

注意: 功能手机小屏幕通常为1.8”–2.8”,分辨率240x320(QVGA)或128x160(QQVGA)。相比之下,Apple Watch Series 10有1.8”屏幕,分辨率416x496。按现代标准,功能手机显示小,分辨率、像素密度、对比度和亮度低。

为小屏幕开发

为框架默认值添加自定义命名断点,而非手动使用媒体查询覆盖类定义的布局尺寸。

Bootstrap v5

Bootstrap在_variables.scss Sass文件中定义映射$grid-breakpoints,包含从SM(576px)到XXL(1400px)的默认断点。使用map-merge()函数扩展默认值并添加自己的断点。

1
2
@import "node_modules/bootstrap/scss/functions";
$grid-breakpoints: map-merge($grid-breakpoints, ("xs": 320px));

Tailwind v4

Tailwind允许在tailwind.config.js配置文件中扩展默认主题。使用extend键定义新断点。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const defaultTheme = require('tailwindcss/defaultTheme')
module.exports = {
  theme: {
    extend: {
      screens: {
        "xs": "320px",
       ...defaultTheme.screens,
         },
    },
  },
};

成功关键(键盘)

成功的功能手机应用支持使用方向键(D-pad)进行键盘导航,与电视遥控器导航模式相同:四个箭头键(上、下、左、右)和中央按钮。构建优秀功能手机优化应用时,提供导航方案,让用户快速学习如何使用有限控件导航应用。确保用户可导航到屏幕上所有可见控件。

尽管一些功能手机平台支持使用模拟光标进行空间导航,但这并非普遍可用且用户体验更差。此外,支持键盘导航的应用可与模拟光标配合工作,但反之不一定成立。Opera Mini Native仅提供虚拟光标,Cloud Phone仅提供空间导航,KaiOS支持两者。

如果开发时考虑键盘可访问性,支持功能手机导航很容易。一般指南:永不移除焦点轮廓。相反,覆盖默认样式并使用框阴影匹配应用配色方案且合适适配。自动聚焦序列中的第一项(列表或网格),但小心避免键盘陷阱。最后,确保列表将新聚焦项完全滚动到视图中。

不要让用户打字

如果您曾在智能手机上输入长消息却意外删除而感到沮丧,请想象在功能手机上用T9输入消息时的挫败感。尽管预测输入有进步,但仅用九个键填写表单甚至编写180字符的推文仍是苦差事。

无论做什么,不要让功能手机用户打字!

幸运的是,调整设计以减少打字需求很容易。尽可能偏好数字:允许用户使用电话号码注册(易输入),发送仅含数字的PIN码或一次性密码(OTPs),并从邮政编码查找地址详情。每种方法都节省大量时间,避免常导致用户流失的挫败感。

或者,与单点登录(SSO)提供商集成“使用Google登录”,用户无需重新输入安全团队要求至少8字符且含字母、数字和符号的密码。只需记住,许多新互联网用户没有电子邮件地址,可能不知如何访问,或手机无法访问电子邮件。

最后,允许用户在可用时通过语音搜索。用T9输入英语已很难,输入泰米尔语等语言更难,该语言在南印度和斯里兰卡有超过9000万使用者。尽管有数十年进步,但自动完成和预测输入技术很少为此类语言提供。虽不完美,但有AI模型如Whisper Tamil可执行语音转文本,得益于像IIT Madras语音实验室等大学的研究人员。

功能手机浏览器和操作系统

开发功能手机Web应用的另一挑战是其碎片化生态系统。不同公司采用不同方法让网站和应用在有限硬件上运行。至少有三个主要基于Web的平台操作方式不同:

  • Cloud Phone是最新解决方案,2023年12月推出,使用基于Puffin(Chromium)的现代远程浏览器作为应用商店。
  • KaiOS,2016年推出,以Firefox OS为基础,是整个系统为Web浏览器的移动操作系统。
  • Opera Mini Native是最古老的,2005年推出作为广告支持的远程浏览器,仍使用十年前已停产的Presto引擎。

尽管两者都是远程浏览器,Cloud Phone和Opera Mini之间有显著差异且不立即明显。

从左到右:诺基亚6300 4G(KaiOS)、Viettel Sumo 4G V1S(Cloud Phone)和Itel Neo R60+(Opera Mini)。

平台 缺点 优点
Cloud Phone 缺少WebPush等功能,无离线支持,未提供货币化 现代Chromium v128+引擎,富多媒体支持,无需优化,积极开发,2024年推出100+型号
KaiOS 过时Gecko引擎,硬件受限,2024年发布型号少,需KaiAds集成 两个应用商店,完全离线支持,低级集成API,应用可打包或托管
Opera Mini Native 已停产Presto引擎,~2.5秒异步执行限制,有限ES5支持,无多媒体支持,无应用商店,2020年最后更新 预装数亿台手机,部分离线支持,稳定、跨平台

功能手机已有长足进步,但每个平台支持不同功能。您可能需要根据支持情况移除或缩减功能。最好以应用可行的最低共同标准为目标。

对于信息密集型新闻网站、维基或博客,Opera Mini的过时技术足够好用。对于视频流服务,Cloud Phone和KaiOS都表现良好。相反,Opera Mini和Cloud Phone等远程浏览器无法处理高帧率,因此只有KaiOS适合实时交互游戏。就像设计一样,功能手机开发没有一刀切的方法。尽管所有平台都基于Web,但它们需要不同权衡。

小屏幕大影响

功能手机市场在增长,尤其是4G型号。信实的JioPhone是最成功型号之一,旗舰KaiOS手机销量超过1.35亿台。该公司计划稳步增加4G功能手机推广,将印度2.5亿2G用户迁移到4G和5G。

类似活动在新兴市场进行,如Vodacom的14美元Mobicel S4(南非Cloud phone设备)和Viettel向当前2G用户赠送70万台4G功能手机以升级偏远和农村地区用户。

总活跃功能手机市场规模估计难以获得,按平台细分更难。KaiOS声称“全球超过1.6亿台手机”,而“超过3亿人使用Opera Mini保持连接”。Cloud Phone推出仅一年后称“100万用户从90个国家访问服务”。按大多数估计,已有数亿支持Web的功能手机用户渴望发现新产品和服务。

结论

数亿人仍依赖功能手机保持连接。然而,这些用户甚至被针对新兴市场的产品忽略。现代软件开发常优先考虑最新最好,而非寻找方法经济实惠地服务超过26亿未连接人口。如果您不为小屏幕设计键盘导航,就将整个人群拒之门外。

功能手机在2025年仍重要。随着网络过渡,数百万人将升级,数百万人将首次使用4G功能手机连接。这为将应用交到新连接用户手中创造机会。多亏现代远程浏览器技术,现在比以往更容易在功能手机上构建和启动应用,无需昂贵耗时的低端硬件优化。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计