views:

624

answers:

3
  1. How do you design a UI like Facebook?
  2. Is it hard to implement a custom skin into a iphone app? How is it done?
  3. Do I need to follow apple's guideline? What if I don't want to?
A: 

3- You don't need to follow the AHIG. But be careful if you don't, because it's very easy to go wrong doing so. Users like to not have to learn anything new. They know the typical Apple software UI, so if you use it, users will know how to use your app as soon as they buy it. If you don't use it, it is important to make sure that the UI is exceedingly easy and intuitive, and looks good to an iPhone user's eyes (and fingers).

yodie
Thanks, so apple isn't going to reject me, if i dont want to follow their guideline? One thing i want to change is the tabs at the bottom of the screen. i have too many options and it would be best to display them in a grid view just like how apple displays application on the iphone, in a grid view.
K001
You won't be rejected. If it makes more sense for your needs, use your own guidelines.
yodie
+4  A: 

How do you design a UI like Facebook?

Facebook's iPhone app appears to be built around using UITableView in various guises. It looks like it adheres to the Apple Human Interface Guidelines.

Is it hard to implement a custom skin into a iphone app? How is it done?

Skins are just graphic elements that are designed to have their image components swapped out. They are not difficult to implement.

Do I need to follow apple's guideline? What if I dont want to?

Apple will not penalize you for a non-standard interface. The only interface restrictions are (1) some issues of obscene content and (2) you can't create the illusion that the device itself is broken, has crashed or otherwise failed.

A bit of advice. Don't use non-standard interfaces.

Good interfaces are almost by definition standardized so that users don't have to think about them. Novel interfaces slow users down even if they have no problems otherwise. Just try switching rapidly between Mac, Windows and Linux sometimes. None of the interfaces has major problems per se but having to stop and think how to do something in each particular interface is a pain. You can create the same problem by using a good but non-standard interface within an app.

That is assuming of course that you can actually create a good interface. There are far, far more ways to make bad interfaces than there are to make good ones. Most interfaces fail even those designed by interface gods. The standardized interfaces are the result of tens of thousands of hours of testing and years of experience. You're unlikely to whip out something really new and useful your first time out.

If you try something novel I suggest you mock it up first and then test let people test it without giving them any instruction. You'd be surprised how complex it can get. We used to just make photoshop mockups and then ask test users what they thought each element did or which element they would choose to accomplish a particular task. We were surprised at how poorly our (the developers) perception of the interface differed from that of the users.

In sum, a novel interface is more likely to hurt your app than help it.

TechZen
Hi TechZenThanks for the tips! It was useful.
K001
If this is the answer to your question. Please hit the check mark next to it so that (1) the system knows that the question has been answered and (2) I get the reputation points that are so critical to my self-esteem. ;-)
TechZen
+3  A: 

With regard to how to build an app like Facebook, check out Three20. In particular, the TTLauncherView is the class that implements the Springboard-like grid of icons.

Sixten Otto
thanks alot Sixten Otto, thats very valuable information. BTW: so the "TTLauncherView is the class that implements the Springboard-like grid of icons." would you know how the shaking icons done? (when you press hold before deleting a icon).
K001
I haven't read the code carefully enough to know exactly how it was implemented, but I do know that `TTLauncherView` has that behavior built in.
Sixten Otto