和WWDC相比,AltWWDC也非常有趣——这是一个由苹果开发者自发形成的活动,一群产品开发者、设计师、创业者在WWDC期间聚在一起观看直 播视频,随后一些去到现场的开发者也会加入进来。在接下去几天里,他们一起讨论新的开发趋势、针对苹果发布的新功能、新产品的应对策略和给开发工作带来的 变化等。
在AltWWDC上,我有幸和Raizlabs的产品工程师Ben Johnson聊了聊,他从动画及动态效果的角度上给出了对iOS 7另一种的解读。
他告诉PingWest:“苹果提供了很好的开发者工具,所以在iOS上开发程序和添加动画效果,要比Andriod上简单。因此你会发现,不少设 计感和交互体验很棒的软件,最初是从iOS平台上火起来的。但我认为,iOS 7发布后会有一些新的影响,你可以看到他们简化了很多东西——比如,半透明的控制中心面板使得原先应用程序间切换的效果变得多余了。”
不过Ben Johnson同时也提出,在iOS 7之后的App开发中,动画及动态效果还是有它的用武之地的。“1个单元的欢迎动画+6个单元的向导动画+1-2个单元让人愉悦的细节性动画”是Ben Johnson在AltWWDC上给出的应用程序内动画的基本公式。
1)一个单元的欢迎动画(Welcoming Animation)
欢迎动画是用来告知用户他正在打开的产品是什么样、可以实现什么效果的。有时这部分动画会增加一些煽情的效果——比如当你的生活和这款产品结合后,结果会是怎样的。
而另一个重要作用则是增加趣味,保持用户的耐心。很多程序打开时的欢迎动画实际上是让用户不要轻易退出或关闭程序,让他们知道这款程序是可以打开的,而不是死机了,从而给予程序加载的时间,比如加载进度条(Loading Bar)就是我们习以为常的一种欢迎动画。Johnson强调说:“一个好的欢迎动画在增加互动性体验上效果很大,它能提高用户的预期,使得人们更乐于探索程序。”(我们前几天写过的Any.Do.Cal就类似这种。)
2)六个单元的告知性动画(Informative Animation)
有些程序选择播放一段视频,而有些开发者采用幻灯片,不管哪一种方式,重要的是教会用户如何使用你的程序。Ben Johnson说:“了解使用方法的用户力量是最强大。” 但超过六个页面的使用指导则会让用户觉得“嗯……你的程序看起来有些难用啊”。
而另一些告知性动画,则是为了让动作效果更加直观,暗示动作的结果。比如邮件软件中的删除动作,邮件会向垃圾桶所在方向收卷起来。这一动作模拟现实中揉纸团和扔垃圾的动作,其实是在告知用户——“你清楚地知道这些邮件会被怎么样的吧”。
好的告知性动画在让用户觉得有趣,增加使用产品的动力——不知有多少人用Passbook后看到碎纸效果会觉得十分痛快?像这种动作所产生的心理效果在GTD软件中会非常有效。
而且这种效果产生的用户心理也同样适用于购物类应用程序。用户会因为期待这种动画效果而增加购买。Ben给出的例子是Zappos.com的移动客户端软件,在这款程序中添加物品进购物车时,物品会以动画效果掉入下方购物车,“这很有趣,像游戏一样,让我想再玩一次。”
3)一到两个让人愉悦的小细节(Delightful Animation)
不论你是否会遵循“1+6+2”公式,开发者需要知道的是,不管是页面到页面还是按钮和按钮之间,用户都不会满足简单的从A点到B点的、直愣愣的体验。通常这些细节动画是为了让过渡和转换的过程更加无缝和平滑,增加程序内设计的统一感。
比如Path中点击其他用户头像,用户信息卡片会从上方以重力加速方式掉落下来——如果放慢这个过程,可以看到卡片有一个弹跳过程,当不需要访问对 方页面选择后退时,卡片也是在弹跳后退出界面的。这个轻微的弹跳和点击Path主页面左下角(+)按钮后菜单弹跳出来的体验是一致的。
另外细节性的动画效果有时也可以把用户的注意力吸引到你希望他关注的区域去。Path的主页(+)按钮是一个例子,另一个例子是 Jetsetter,一款订酒店和度假屋的软件。当进入下一个页面时,左上角的方向按钮会有动画的翻转效果。比起静态的变化,这个动画吸引了注意,重点提 示你——“嘿,这里有些什么不同了”——现在,这是一个回到主菜单的按钮了。
4)千万别过头
尽管并没有什么动画效果是在“禁用列表”之中的,但添加动画的原则是,动画效果是辅助相关动作的,不会阻碍到用户,并且动画不能导致用户反而要做一些多余的动作——弹出式广告动画需要用户点击×去关闭它就是一个典型的错误。
和动作结合的动态效果最重要的一点是简洁干净,像是原先iPhone锁屏时,用户向上滑动、画面的弹跳效果(apple bounce)就是最好的例子——你甚至可以看到一些人无聊时反复在手机上做那个动作,因为它简洁但有趣。再者,任何和动作结合的动画效果都不要超过0.5-1秒。
最后Ben还有个小细节上的提醒:注意动作的同步性。比如当页面切换时,标题栏文字、导航栏内容等也是会以同样的速度跟着主要内容移动的。
相关推荐
1. 强化品牌特性:交互动画可以传达APP产品的品牌个性和内涵,因为众多APP产品的动画设计效果非常出色,甚至已经成为它的标志。 2. 增强用户感觉:随着移动设备的不断更新和发展,用户的选择空间也逐渐扩大,用户...
在IT行业中,尤其是在移动应用开发或者游戏开发领域,动态效果和用户体验是至关重要的。"仿天猫加入购物车商品做抛物线动画"这个主题聚焦于如何实现一个与天猫App类似的,将商品图标以抛物线轨迹动画的方式添加到...
对于波浪效果,我们可以使用数学公式来生成动态的波形。例如,使用正弦函数可以创建波动的线条。同时,需要通过重写`onMeasure()`方法来确定View的大小,以便正确地绘制波浪。 光圈扩散效果通常通过渐变颜色来实现...
4. **组合动画**:可以将多个动画组合在一起,实现复杂的动态效果。 5. **交互式界面**:虽然manim主要是命令行工具,但可以通过与其他库(如ipywidgets)结合,实现交互式的动画制作。 manim的灵活性和强大的功能...
- JavaScript:一种解释型的、跨平台的编程语言,主要用在Web浏览器中,用于实现客户端的动态交互效果。 - 卡路里:能量单位,用于衡量食物中的热量,人体消耗卡路里来进行日常活动和维持生命功能。 2. **应用...
4. **可视化**:提供搜索过程的动画展示,帮助理解算法动态。 5. **性能评估**:工具箱会记录并显示算法的收敛性能,便于分析和比较不同参数设置的效果。 6. **保存和加载**:用户可以保存优化结果,或加载以前的...
3. **资源(Assets)**:包括3D模型、贴图、音频、动画等,是构建游戏视觉效果的基础。Unity的资源管理器能方便地导入、预览和管理这些素材。 4. ** Prefabs**:预设体是Unity中的一个强大工具,它可以将游戏对象...
在Android应用开发中,抖动窗口(Jittering Window)是一种常见的交互效果,通常...通过阅读和分析源码,可以学习到如何在Android应用中创建富有动态效果的交互,这对于移动开发App的毕业设计是非常有价值的实践案例。
8. **动画效果**:通过`wx.createSelectorQuery`和`wx.createAnimation`等API,可以实现页面元素的动态效果,提升用户体验。 9. **性能优化**:为了确保小程序运行流畅,开发者可能采用了懒加载、分包加载等策略,...
2. **体重计算**:体重计算涉及到用户输入体重和身高,然后根据BMI公式(BMI = 体重(kg)/ 身高^2(m))计算结果。在`utils`文件夹下的一个函数可以处理这个计算,返回BMI值和相应的健康评估。这个函数可以在页面...
4. **图表动画**:gnumeric允许为图表添加动态效果,让数据变化过程更加生动。 5. **公式审计**:提供公式追踪和错误检查功能,帮助用户发现并修复计算错误。 四、gnumeric 1.12.17新特性 1. **性能提升**:在...
- 实现动态效果,例如通过修改坐标或颜色参数使图形发生改变。 - 使用数学库`math`中的常量和函数(如`pi`、`sin`、`cos`)进行精确的坐标计算。 #### 第六课:常用几何数学公式详解 - **主要内容**:讲解了几何...
总的来说,"Android百度地图实例详解之仿摩拜单车APP"是一个综合性的Android开发实践,它不仅要求开发者具备扎实的Android基础知识,还需要对百度地图API有深入的理解,同时还需要掌握地理位置服务、路径规划算法、...
"水波滚动和地震波效果"是一个特别的自定义控件实现,它主要用于创建动态的、视觉上吸引人的用户界面元素,比如模拟水面波动或者地震的动态效果。这种效果常用于游戏、天气应用或任何需要增加交互性和视觉吸引力的...
3. **PowerPoint高级**:可能包含动态幻灯片的制作、动画效果的应用、交互式设计,以及如何创建专业的演示文稿。 4. **案例分析**:提供实际工作中的例子,帮助考生理解如何在特定情境下应用这些高级功能。 5. **...
6. **Material Design**:Flutter遵循Material Design设计原则,所以界面将具有清晰的布局、动画效果和色彩搭配。`RaisedButton`、`FlatButton`等Material组件会用于交互元素。 7. **国际化支持**:为了适应不同...
8. **DOM操作**:了解Document Object Model(DOM)的概念,以及如何使用JavaScript对DOM元素进行操作,可能对实现某些动态效果或交互性功能有所帮助。 9. **事件处理**:HTML元素可以绑定JavaScript事件监听器,...
通过对源码的阅读和理解,我们可以学习到如何在小程序中实现数据绑定、事件处理、网络请求以及动画效果等技术。 总结,24点游戏小程序的开发涉及前端UI设计、逻辑算法实现、事件处理等多个方面,是学习微信小程序...
在实际应用中,除了基础的多边形绘制,还可以结合动画效果,如旋转、缩放或平移,使得图形更具动态性。另外,还可以添加事件监听器,使用户能够交互地改变多边形的属性,如边数、颜色等,从而提高用户体验。总之,...
此外,为了提高用户体验,还可能涉及到动画效果、主题颜色自适应等高级特性。 总之,这个"android计算器源代码"项目是一个很好的学习资源,涵盖了Android应用开发的基础,如UI设计、用户事件处理、逻辑计算以及异常...