手机应用开发者需注意的20个事项

作者:Paulo Fierro

你想要成为手机开发者吗?你的目标可能是从应用商店中赚取大量金钱,也可能只是为了寻找新的挑战。无论你的目的是什么,当你设计应用时,可能需要考虑到代码层面之外的某些东西。

在你开始进行开发之前,你需要弄清楚那些必须解决的问题。谁会使用你的应用?他们会在何处使用应用?他们会如何使用应用?如果他们同时参与其他的活动,会对应用的使用有何影响?

得出这些问题的答案后,将它们写下来粘在墙上。如果你在做决定时遇到困难,可以回头看看这些答案,它们会引导你选择正确的方向。

mobile apps(from netmagazine)

mobile apps(from netmagazine)

1、选择平台

平台的选择取决于你构建的应用类型和用户群体。用户数量最多的平台是网页。如果你想要出售应用,那么可以将它投放到应用商店中。如果你需要访问Camera或其他设备的特殊API,那么你可以选择本土化路径或使用AIR、PhoneGap和Titanium之类的包装器。

不存在最完美的平台。影响平台选择的因素很多,你需要从上述问题的答案中寻找适当的平台。

2、你不会一夜暴富

许多人将当前App Store的状况比作19世纪40年代末的加州淘金热。这种想法固然极具吸引力,但却是对行业的误解。我不推荐仅仅为了赚钱而制作手机应用,通过这种方法来致富还不如直接去赌场。

但是,我们都曾经听到过媒体报道的成功故事。我最喜欢的故事是,加拿大开发者Matt Rix花数个月晚上的闲暇时间制作出的游戏最终超越《愤怒的小鸟》登上榜单前10名,这款游戏便是《Trainyard》。

面对当前App Store和Android Market的数十万竞争者,获得用户关注并非易事。

3、阅读HIG

可供你选择的任何平台都有Human Interface Guidelines(游戏邦注:简称“HIG”)文件。它告诉你如何在目标平台上创建用户界面。在这个方面,每个平台都有所不同,你应当有一定的了解。

HIG(from netmagazine)

HIG(from netmagazine)

比如,iOS用户习惯于在界面左上角寻找后退按钮。而在Android上,多数设备都有个硬件的后退按钮,所以在应用中设置额外的后退按钮便显得多此一举。

在BlackBerry PlayBook上,用户期望能够在拉下顶部斜面时能够看到设置和选项。使用这些用户熟悉的设置并不一定会赢得用户好感,但如果不这么做的话,势必会使用户反感。

所以,请阅读HIG,了解其中的概念。但是要记住,这些只是指导意见而已,并不是规则,也不是应用审查的项目。

4、将功能与趣味性融合

构建实用应用并不意味着它必须显得乏味无趣。2009年,在我们的《Flash on the Beach》会议指导中,我们使用了iOS组件的标准设置,但是设计出完全不同的外观和感觉。我们想要让应用更有特色,但同时不会让用户感到困惑。

我最喜欢的iPhone摄影应用是《Camera+》,它的按键和名称看起来很普通,但是有可爱的自定义字体。

Camera+(from flickr.com)

Camera+(from flickr.com)

我最喜欢的Twitter客户端《Tweetbot》精妙地结合使用了阴影和偏斜,使得自定义警告栏的风格与应用设计的其他成分相符,应用整体看起来很美观。从这个方面可以看出开发团队对应用细节的关注。

所以,我们可以在遵从指导的前提下呈现一定的趣味性。现在,使用支持iOS5的新Appearance API,这样的目标更容易实现。

5、挑战传统

这个方面最著名的例子便是“拉动更新”。你应该知道我所说的是什么功能。Loren Brichter在《Tweetie 2》中将这种设计概念呈现给全世界,自那时起便如同野火般迅速传播,并蔓延至其他手机操作系统上。

想法很简单,你将列表拉动到某个点,放开后就会发生某些事情,比如重新加载Twitter等数据。尽管乍看之下显得很普通,但是一旦你理解了它的原理,就会认同这是个天才般的发明。

今天,我们可以在Gowalla、Facebook、Google+、Tweetbot、foursquare、oink和Fribi中看到“拉动更新”。

raising a button in the bottom toolbar(from netmagazine)

raising a button in the bottom toolbar(from netmagazine)

在底部工具栏突出某个按键也是个流行的创新。Oink、foursquare和Fribi等许多应用都通过这种方式来突出重点。

6、行为差异

在开发手机应用时,你的产品需要在30秒到1分钟的时间内吸引用户。你的应用应当设计成,我们一看到应用就愿意使用。这意味着不要使用复杂的界面,只需要给用户提供细节内容,是吗?

可以说是,也可以说不是。有时,我坐在沙发上看电视,那时平板电脑就会受到限制。有时,我又会需要平板电脑和应用。用户在不同情况下对应用有不同的需求。

所以,要弄清楚用户有可能在哪些地方使用应用,他们当时可能会在做什么事情,根据这些问题的答案进行相应的设计。

7、内容的差异性

简单就是良好,但简单并不意味着愚蠢,我们需要专注于应用的核心功能,编写有效且与该功能相关的复制应用。

对其他应用进行微妙的复制是件非常困难的事情。

8、注意操作便捷性

我的手指比较粗大,所需的最小点击区域为44像素。任何小于这个尺寸的图标都有可能造成应用使用过于困难。我们在《FOTB 2010》应用上犯过这方面的错误。

尽管后退按键的高度只有10个像素,但是我们设计了很大的点击区域,使操作更加容易。这样做会产生什么问题呢?这样的按键在屏幕上几乎看不到。不要犯这样的错误!

9、独立的分辨率

如果你希望自己的应用能够与各种设备兼容,很可能需要对你的应用进行缩放,但针对平板电脑放大图像并非良策。

实现这个目标最简单的方法是,让设计师自开发一开始就以矢量形式来创建美术图像。这样,当你需要以512X512的形式在iTunes上呈现图标时,就不会产生问题。

10、设计漂亮的图标

icon(from netmagazine)

icon(from netmagazine)

这个古老的真理目前依然适用。你只有一次给玩家留下印象的机会,你的图标便是整个应用的基础。

我们可以利用图标在呈现应用精美的一面,好好利用这个机会。

所以,让我们在图标细节上花点时间和精力。去年,针对《Flash on the Beach》,我们构建了FOTB.me,我们最初试图构建的是只适用于手机设备的web应用。

当站点被添加到iOS的主屏幕上时,你可以自行设定图标和屏幕。所以,我们利用这个机会,创作了许多种类的图标。一个用于较老的iPhone,一个用于retina屏幕,一个用于iPad。

诚然,很少人会注意到我们所做的这项工作。但是如果他们发现了,希望这会令他们感到惊讶,也可能会让他们感到高兴。如果取得这样的效果,着实是件令人惊叹的事情。

11、手机就是身份

之所以需要注意到这点,是因为我的手机会告诉你许多有关我的信息。

你可能会看到我在手机上安装了许多应用,虽然它们被分成多个不同的文件夹,但是我的桌面看起来仍显得一团乱麻。看到这一切,你会怎样看待我呢?

iPhone apps(from netmagazine)

iPhone apps(from netmagazine)

我的底线是,不能用丑陋的图标来污染我漂亮的屏幕,因为这会让我给别人留下不好的印象。

12、不要让用户阅读使用手册

如果你知道人们不愿意去阅读桌面软件的使用手册的话,那么对于手机应用,他们不阅读使用手册的可能性是桌面软件的两倍到三倍。

当iPad面世时,有款杂志应用设计了各种导航手势。一开始我觉得,这样的设计真得很酷!

然而一周之后,我不知道要如何使用这款应用。帮助屏幕也被应用隐藏,所以唯一的选择是重新安装应用。这可不算是什么好的体验。

如果你计划使用某些疯狂和基于手势的导航,这是可以的。但是,请确保在应用中可以随时选择查看帮助,而且让用户觉得这些特别手势是值得学习的。

13、不要伪装原生应用

我并不喜欢那些模仿原生应用外观和感觉的web应用。许多开发者尽量使自己应用的UI框架看起来像原生应用的控制方式。当它们最终被发布到App Store上时,问题就产生了。

这些web应用运行较为缓慢,但是因为其外观和感觉像是原生应用,所以用户也期望它们的速度类似于原生应用。也就是说,开发者似乎做出了承诺,但是却无法兑现。

我不会选择这种做法。

14、想法并不重要

2001年,Nas说过:“世间不存在原创的想法。重要的不是你做什么,而是做得怎么样。”

事实在于,开发者有可能萌生出多种想法,但执行才是应用成功的关键。只有精心设计的产品才能够走得更远。

15、针对自己的需求进行设计

这样,你至少能够确保让一位用户开心。但是,更重要的是,如果你针对自己的需求来设计应用,你可以精确地知道自己想通过应用解决那些问题,以及如何妥善地解决这些问题。

16、倾听用户的需求

某些情况下用户会提供反馈,所以拥有与他们交流的方法是件很重要的事情。使用GetSatisfaction这样的服务可以使用户与你对话,包括报告应用漏洞或提出功能要求。这个关键在于,交流应当公开且透明。

Twitter自然也是个值得考虑的工具,但需要做更多的工作。

虽然我们需要倾听用户的反馈而且用户有时也确实有些精妙的想法,但应用的设计并非集思广益。你不需要完全根据用户的看法来设计应用,要相信你自己的直觉。

17、跟踪用户

分析是很重要的步骤。我们可以从中学习用户行为,看到他们是如何使用应用的。

我们在FOTB.me上使用Google Analytics,主要关注Android、iPhone、iPad和PlayBook。我也使用Twitter来跟踪人们谈论应用的内容,曾经看到如下评论:

“@FOTBme 我希望在今年看到web应用的梦想实现了,但是应用完全无法在Symbian系统的Opera上运行…”——Thomas Kräftner (@tkraftner) 2011年9月11日

于是,我想知道有多少人遇到了同样的问题。查看Google Analytics,我发现在4241个独立访客中,只有4个人有此问题。比例只有0.09%,我们还能够接受。

数个小时后,出现了以下评论

“#Fotb 应用无法在所有Android版的Opera上运行。”——Andreas R (@sunjammer) 2011年9月12日

我们看到,受这种情况影响的用户有20个,比例为0.5%,我们依然可以接受。

关键点在于,如果没有这些数据,我们根本不知道问题的严重性。拥有这些数据,或许可以让我们晚上睡得踏实些。

18、测试原型

这是个向其他人展示想法和探索技术易用性的良好工具。我们会编写计划和部分功能,由此来测试解决问题的可行方法。无论你设计何种应用,都要先针对设备制作出原型。

你可以用来制作出可触碰原型的工具很多,比如Prototypes、Balsamiq和FieldTest。你甚至可以使用Keynote。

无论你选择何种工具,都要用设备来运行游戏原型,将其展示给好友,获得他们的反馈。获得足够的反馈意见后,你就可以将原型抛弃。

没错,我的意思就是将原型抛弃。尽管这听上去有点可惜,但是任何你已经编写过的代码都会被运用到游戏的制作中,它们不会就此消失。

无论使用何种方法,你都需要快速地制作出原型。但是,你不能为修改此代码花费大量的时间,所以要将其抛弃。

19、开始动手

以你的想法为基础,开始应用的开发。尽管开发很困难,但也很令人兴奋,将想法变成现实吧!

当然,我们很希望能够从一开始就将所有内容制作得相当完美,但这是无法实现的,我们只能努力去做到这一点。

20、用产品改变世界

这是个崇高的目标,但是我认为值得拥有。作为设计师和开发者,我们有能力创造出影响自己和他人生活的产品。

如果我们能让生活更加简单,同时还能够解决生活中的问题,那么我们创造出的就是好产品,是值得我们骄傲的产品。

游戏邦注:本文发稿于2012年2月13日,所涉时间、事件和数据均以此为准。(本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

20 things every mobile developer should know

Paulo Fierro

So you want to develop for mobile? Maybe you want to chase those long foretold millions that await you in an app store or maybe you are just looking for a new challenge. Whatever the case may be there are specific things to consider when it comes to the design of your app and I’m not talking code-wise.

Before you get started you need to figure out what problem you’re trying to solve. Who will be using your app? Where will they be? How will they be using it? If they are engaged in an activity at the same time how does this affect your app?

When you have the answers to these questions write them down. Stick them to a wall. If you face a tough decision come back to these notes and they will guide you in the right direction.

1. Choose your platform

Choosing what platform to target depends on what you’re building and who your users are. The platform with the highest reach is the web. If you want to sell your app, then you probably want to get it on an app store. If you require access to the Camera or other device specific APIs, then you can go the native route or use a wrapper like AIR/PhoneGap/Titanium.

There is no correct answer. The platform you choose depends on many things so go back to those notes and see what they tell you.

2. You’re not going to get rich

Many people compare the current App Store climate to the Californian gold rush in the late 1840s. Just as it was back then, it’s hit and miss – mostly miss. I wouldn’t recommend getting into the app game just to make money, you’re more likely to strike it rich by heading over to your nearest casino and putting a few thousand quid down on black.

But we’ve all heard of the huge success stories that get blown up in the media. My favourite story is Canadian developer Matt Rix who spent months working in the evenings on a game that eventually surpassed Angry Birds on the top 10 list, no mean feat. That game is Trainyard and he writes about it here openly, even sharing numbers.

Two months ago Flurry, an analytics company, blogged that there are now over 500,000 apps in the Apple App Store and about 350,000 on the Android Market.

Getting noticed is not going to be easy.

3. Read the HIG

The Human Interface Guidelines or HIG is a document that exists for any platform you are developing for. It tells you how to create a User Interface that feels at home on the device you’re targeting. Each platform is different and you should embrace these nuances.

For example, iOS users are used to having a back button at the top left corner. On Android, most models have a dedicated hardware back button so having another in the app is unnecessary clutter.

On the BlackBerry PlayBook, users expect settings and options to show up when you swipe down from the top bezel. Reusing these types of known behaviours are not necessarily things users will thank you for but they will scream at you if you don’t.

So read the HIG and get to know the concepts but remember that these are simply guidelines, not rules, and definitely not some sort of checklist.

4. Put fun in functionality

Just because you’re building a Utility app doesn’t mean it has to be boring. For the Flash on the Beach conference guide we built in 2009 we used the standard set of iOS components but designed them to look and feel completely different. We wanted to give the app a certain character but at the same time not alienate users. This was less common back then and the result was an award at Gulltaggen.

My favourite camera app on the iPhone, Camera+ has buttons and titles that look like the generic ones but are styled with a lovely custom font.

Tweetbot, my favourite Twitter client mixes the subtle use of shadows and gradients to make custom alert boxes that fit with the rest of the app’s design and make the whole thing look beautiful. That is attention to detail.

In his book Tapworthy, Josh Clark refers to this kind of thing as ‘tap-worthiness’. I prefer the term ‘lickability’ and it’s this attention that makes me want to lick my phone.

So we can follow the guidelines and still have some fun. And this kind of thing is much easier to do now using the new Appearance APIs available in iOS5.

5. Challenge convention

The most obvious example of this is ‘pull to refresh’. You probably know exactly what I’m talking about. Introduced to the world in Tweetie 2 by Loren Brichter this design concept has since spread like wildfire and across to other mobile OS’s.

The idea is simple. You pull a list to a certain point and when you release it something happens, eg reloading of data, like say your Twitter stream. Although not immediately obvious at first, once you get it, it’s genius and is a perfect example of ‘surprise and delight’.

Today we can find ‘pull to refresh’ in Gowalla, Facebook, Google+, Tweetbot, foursquare, oink, Fribi – and the list goes on and on.

Another popular paradigm is raising a button in the middle of the bottom toolbar. Oink, foursquare, Fribi and many others do this to bring attention to the main point of the app.

6. Behaviour is different

When developing for mobile, you have the attention of your users for approximately 30 seconds, maybe a minute. Your app should be designed in a way we can glance at it and go. Forget a complicated interface, just give us the details, right?

Well, yes. And no. Sometimes I’m on the couch, watching something on TV with my tablet on my lap and have all the time in the world. Or sat in the bathroom bored out of my mind. Stats say its not just me!

So where will your users be? What will they be doing? Design accordingly.

7. Content should be different

Simple is good and simple does not mean dumb – we need to focus on the core function of our app and write efficient copy. Relevant copy.

And micro-copy is really hard to write. Super hard.

8. My finger is fat

My finger has an addiction to bacon and as such it needs a hit area of minimum 44 pixels. Anything less and it’s going to be really hard to tap. We made this mistake in the FOTB 2010 app.

The back button is 10 pixels tall but had a massive hit area to make it easy to tap. The problem? It was nearly impossible to see. Avoid!

9. Resolution independence

If you are going to build an app for various devices chances are your assets will need to scale. Scaling images up to fit on a tablet won’t look great.

The easiest way to do this is ask your designer to create the artwork in vector format from the beginning. That way when you need an icon that’s 512×512 for iTunes it’s not going to be a problem.

10. Design a beautiful icon

That old adage holds true. You only have one chance to make a first impression and your icon sets the stage for your entire app.

We have a blank canvas on which to make something great. Use this opportunity to solve your problem in a functional and beautiful way.

I love that.

So let’s take the time and sweat the details. Last year, for Flash on the Beach, we built FOTB.me, our first attempt at building a web app targeting only mobile devices.

When the site is added to the home screen on iOS, you have the ability to set a custom icon and splash screen. So we took this opportunity to create a variety of them.

One for older iPhones, one for retina displays, and one for each orientation on the iPad.

Granted, this will be seen by very few people. But if they notice, hopefully it will surprise them and possibly make them smile. And if so, then that’s awesome.

11. My phone is my identity

The reason all this matters is because my phone tells you a lot about me.

You can see that I have way too many apps installed, but they are all neatly categorised in different folders yet my desk is a mess. And what does that say about me? I have no idea.

The bottom line is there’s no way I’m going to infect my beautiful home screen with an ugly icon – because what would that say about me?

12. Don’t make me RTFM

Please! Think of the children.

If you think people don’t, read the manual for desktop software. This goes double, triple even for mobile apps.

When the iPad came out, there was a magazine app (not to be named here) that used tons of gestures for navigation. At first I thought, cool! This is some Minority Report type stuff, interesting.

A week later I had no idea how to use it. The help screen was also hidden away, so the only option was reinstalling it. Not a great experience.

If you are planning to use some crazy, gesture-based navigation we can’t stop you. But if you must: please keep the help screen close by and most importantly make it worth our time.

13. Don’t pretend

I’m not a fan of web apps that mimic the look and feel of native apps. There are several sets of UI frameworks out there that try their best to look like native controls. The problem occurs when they end up on the App Store.

These web apps inherently run slower, but the level of expectation is the same as other apps due to their look and feel and the fact that they were downloaded from a store. They are making an implicit promise and can’t deliver.

I would avoid it.

14. Your idea is not original

Nas said it best back in 2001,

“No idea is original, there is nothing new under the sun. It’s never what you do, but how it’s done.”

“No Idea’s Original”, Nas

The bitter truth is that ideas are a dime a dozen, execution is everything. A well-designed product at the right time and a little luck can go far.

15. Build for you

This way you’re guaranteed at least one happy user. But more importantly if you’re building for yourself, you know exactly what it is you want solved and how to best scratch that particular itch.

16. Listen to your users

If you’re lucky, at some point your users will be paying your rent, so having a way to communicate with them is important. Using a service like GetSatisfaction allows users to have a conversation with you, whether it be reporting bugs or requesting features. The key here is that it’s done in public and the communication is transparent.

Twitter works too but can be a lot more work and you may end up repeating yourself a good deal.

Now just because we’re listening to users and they sometimes have great ideas, this is not design by committee. You don’t have to do everything they tell you, trust your own instinct.

17. Stalk your users

Analytics is super important. They allow us to learn from user behaviour and can let you see how they flow through your app.

For FOTB.me we used Google Analytics and were primarily targeting Android, iPhone, iPad and PlayBook. I was using Twitter to track what people were saying and saw this:

@FOTBme I was hoping for this year when I heard web app, but on Opera/Symbian the site doesn’t work at all…

— Thomas Kräftner (@tkraftner) September 11, 2011

At first I thought, crap! How many people does this affect? Checking Google Analytics I saw that there were only four people affected out of 4,241 unique visitors. As unfortunate as that is, it’s 0.09 percent – we can tolerate that. Of course you may not have that luxury.

A few hours later came this:

#Fotb app doesn’t run at all on opera for android

— Andreas R (@sunjammer) September 12, 2011

We saw that this affected 20 users – 0.5 percent. Again, unfortunate, but we can live with that.

The point is, without stats we would have no idea how big or small the problem was. Having them there made sleeping at night a little bit easier.

18. Prototype!

It’s a great tool for illustrating your idea for others and also to explore technical feasibility. We tend to write spikes, small sets of functionality to test possible techniques to solving a problem. Whatever you do, get your prototype on the device. Nothing beats testing on the device itself, even if it means a series of images you can swipe through.

There are many tools that will let you create tappable prototypes such as Prototypes, Balsamiq and FieldTest. You can even use Keynote.

Whatever you choose, get it on a device and show a friend over a beer to get their feedback. But once you’re done, throw the prototype away.

I mean it, throw it away! This takes discipline, but know that any code you write – once it makes it into production – will never die.

You write prototypes fast, in whatever way works. Hack it up! But you do not want to spend the next few years supporting that code. Throw it away.

19. Get started

Move on your idea, because it’s time to get it out there. It’s hard but also exciting and ideas are no good stuck in your head. Get them into the world!

It’s very easy to get paralysed about doing everything perfect from the start, and you’re not going to do it perfect, but we owe it to ourselves to try.

20. We can make the world a better place

It’s a lofty goal but bear with me. As designers and developers we have the power to create something that can affect not only our lives, but the lives of others.

And if we can make life just a little bit easier, a little bit simpler and at the same time fix a problem, then we’ve done something good.

Something we can be proud of. (Source: Net Magazine)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值