O Xcode fornece ferramentas para gerenciar todo o seu desenvolvimento de fluxo de trabalho desde a criação de seu aplicativo e projetar a sua interface de usuário, para testes, otimização e enviar seu aplicativo para o Mac App Store. Você pode personalizar o Xcode para se adequar ao seu estilo de trabalho, mantendo-se focado na tarefa de desenvolvimento na mão.
Interface Humano Computador com Xcode
Não é o suficiente apenas criar um aplicativo que funcione. Os usuários esperam aplicativos para Mac poderosos, intuitivos e envolventes. Deve-se pensar sobre a experiência do usuário quando você projetar todos os aspectos da sua aplicação com o Xcode.
O guia “iOS Human Interface Guidelines” fornece diversas dicas sobre o que podemos fazer para que as aplicações (também chamadas de apps) possam ser aceitas na “App Store” (loja de aplicativos da Apple). Vale lembrar que para ser aceito na App Store existe uma rigorosa avaliação realizada por especialistas contratados pela Apple. O guia também trás muitos detalhes e recomendações. Algumas recomendações são mais genéricas e outras mais específicas detalhando mais como realizar determinada funcionalidade, por isso o guia caracteriza-se por ser bastante completo. O guia sempre é adaptado para a última versão do sistema operacional, atualmente iOS 7. Segue partes do texto retirado do link [1]:
O sucesso de um aplicativo Mac depende em grande parte da qualidade de sua interface de usuário. Se os usuários não encontrarem um aplicativo atraente e fácil de usar, mesmo o mais rápido, mais poderoso, mais app full-featured pode ser um fracasso na Mac App Store. Há muitas maneiras de obter uma inspiração inicial para uma app popular, e não há um caminho único que garante o sucesso. Mas há uma directiva sobre a qual o desenvolvimento bem sucedido depende app: Projeto com o usuário em mente. As estratégias e melhores práticas resumidos a seguir são baseadas nesta directiva, e eles representam alguns dos muitos princípios e diretrizes que você precisa seguir como você projeta um aplicativo. Quando você estiver pronto para começar a trabalhar, certifique-se de ler OS X Human Interface Guidelines [2]
Entenda o OS X Ambiente
Se você é novo no desenvolvimento de aplicativos OS X, o primeiro passo é tornar-se um usuário do OS X você mesmo. Então, tanto quanto possível, explorar as características da plataforma OS X como um usuário, não como um desenvolvedor. Se você é um usuário de longa data Mac ou você é novo para a plataforma, o tempo necessário para articular as suas expectativas e analisar as ações depende do quanto você está disposto a explorar.

Por exemplo, considere como os seguintes recursos da plataforma afetam a experiência do usuário:
- OS X inclui muitas características que aliviam os usuários de tarefas comuns de gerenciamento de aplicativo. Por exemplo, Auto Save e Versões de documentos e controle de versão contribui para que os usuários possam se concentrar em seu conteúdo.
- Todos os aplicativos com os seus menus em uma única barra de menu. Com uma única barra de menus, os usuários sempre sabem onde procurar os comandos da aplicação.
- OS X oferece suporte a vários monitores de diferentes tamanho e resolução. Os usuários podem personalizar seu espaço de trabalho, adicionando e exposições rotativas.
- OS X aplicativos responder aos gestos, cliques e teclas sem fazer quaisquer suposições sobre o tipo de dispositivo de entrada o usuário está usando. Os usuários esperam serem capazes de interagir com seu Mac usando o dispositivo de entrada de sua escolha.
- OS X é compatível com um ambiente de janela imersiva e em tela cheia. Uma experiência janela de tela cheia faz sentido para aplicações em que os usuários querem se concentrar em tarefas específicas e evitar distrações.
- OS X é um sistema de múltiplos usuários. Ele suporta diferentes contas de usuário e permite que vários usuários sejam conectados ao mesmo tempo. Os usuários esperam serem capazes de compartilhar o mesmo computador rapidamente sem sair.
- Preferências permitem aos usuários personalizar a forma como eles experimentam um aplicativo. Além do built-in Preferências do Sistema app, apps de Mac podem oferecer suas próprias preferências, que permitem aos usuários fazer alterações em comportamentos e aparências específicas da aplicação.
- Um ótimo aplicativo aproveita os recursos da plataforma e fornece uma experiência de usuário que se integra perfeitamente com o ambiente OS X.
Saiba os Princípios Fundamentais de Interface Humana
Ao projetar seu aplicativo, tenha em mente os seguintes princípios de design HI:
- Metáforas. Quando objetos e ações virtuais em um aplicativo são metáforas para objetos e ações no mundo real, os usuários rapidamente compreendem como usar o app. As metáforas mais adequadas sugerem uma utilização ou experiência sem impor as limitações do objeto do mundo real ou ação sobre a qual eles estão baseados.
- Modelo mental. A maioria dos usuários já tem um modelo mental que descreve a tarefa executada por um aplicativo. Um aplicativo que se baseia no modelo mental de seus usuários tende a ser intuitivo para as pessoas usarem.
- Ações explícitas e implícitas. Cada operação OS X envolve a manipulação de um objeto usando uma ação. Ações explícitas indica, claramente o resultado da manipulação de um objeto, enquanto as ações implícitas transmitem o resultado de uma ação através de pistas visuais ou contexto.
- Manipulação direta. Quando as pessoas manipulam diretamente os objetos na tela e as suas mudanças são imediatamente visíveis, eles estão mais envolvidos com a tarefa e mais facilmente compreendem os resultados de suas ações.
- Controle de usuário. Embora um aplicativo pode sugerir um curso de ação ou advertir sobre conseqüências adversas, geralmente é um erro para o aplicativo tirar a facilidade de tomada de decisão. Os melhores aplicativos encontram o equilíbrio correto entre dar às pessoas as capacidades de que precisam e ajudá-los a evitar desfechos desfavoráveis.
- Feedback e comunicação. Qualificações reconhecem as ações das pessoas e asseguram-lhes que o processamento está ocorrendo. Por exemplo, as pessoas esperam feedback imediato quando operam um controle, e eles apreciam atualizações de status durante operações longas.
- Consistência. Consistência na interface permite que as pessoas transfiram seus conhecimentos e habilidades a partir de um aplicativo para outro. O ideal é que um aplicativo é compatível com os padrões OS X, consigo mesmo, e com versões anteriores do próprio.
- WYSIWYG (o que você vê é o que você obtém). Os usuários esperam aplicativos para mostrar os resultados reais das ações que eles tomam e fornecer pré-visualizações precisas do conteúdo que eles criam. Por exemplo, quando os usuários personalizam um documento na tela, eles esperam encontrar as suas alterações na versão impressa do documento.
- Desfazer. As pessoas precisam sentir que eles podem experimentar coisas sem danificar o sistema ou comprometer o seu conteúdo. Aplicativos de sucesso incentivam os usuários a explorar através da construção no desfazer e fazer a maioria das ações facilmente reversível.
- Estabilidade percebida. Para dar aos usuários um sentido conceitual de estabilidade, a interface fornece um conjunto claro, finito de objetos e um conjunto de ações a serem executadas nesses objetos. Elementos e ações padrão criar um ambiente familiar em que os usuários saibam como as coisas se comportam e o que fazer.
- Integridade estética. Integridade estética não é uma medida de quão bonito é um aplicativo; é uma medida de quão bem a aparência de um aplicativo combina com a sua função.
Siga as orientações
OS X Human Interface Guidelines contém diretrizes que vão desde a experiência do usuário, recomendações para regras específicas que regem o uso de tecnologias OS X e elementos na tela. Grandes aplicativos OS X dão às pessoas acesso simplificado ao conteúdo que eles se preocupam. Para fazer isso, esses aplicativos incorporam diretrizes de experiência do usuário, como estes:
- Concentre-se em soluções, não características.
- Lidar com gestos de forma adequada.
- Cativar com belos gráficos.
- Usar elementos da interface do usuário padrão corretamente.
- Use o ponteiro certa para o trabalho.
- Ajudar os usuários a ser produtivo imediatamente.
- Faça exploração segura.
- Adaptar-se às mudanças no ambiente do usuário.
- Ganhar a confiança dos usuários com fiabilidade, a previsibilidade e a estabilidade.
Quando um aplicativo usa corretamente elementos de interface do usuário, como botões e barras de ferramentas, os usuários são propensos a notar apenas que o aplicativo se comporta como eles esperam. Mas quando um aplicativo usa elementos da interface do usuário incorretamente, os usuários são muitas vezes rápido para expressar sua insatisfação e deixar feedback negativo na Mac App Store. Grande aplicações Mac tomar cuidado para seguir as diretrizes de uso de elemento de interface do usuário. As diretrizes listadas nesta seção representam uma fração das orientações contidas no OS X Human Interface Guidelines. Lendo esse documento na sua totalidade é um passo essencial no processo de desenvolvimento de aplicativos.
E aí, achou que era só baixar o Xcode e começar a fazer uma App né?
[1] http://developer.apple.com/library/mac/referencelibrary/GettingStarted/RoadMapOSX/books/DesignwiththeUserinMind_Mac/DesignwiththeUserinMind/DesignwiththeUserinMind.html
[2] http://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html
Fonte: http://developer.apple.com/library/mac/referencelibrary/GettingStarted
É interessante notar que a Google e a Microsoft também fornecem um guia para criação de app's com uma interface pensando no usuário.
ResponderExcluirGoogle: https://www.google.com/design/
Microsoft: https://dev.windows.com/pt-br/design
Boas práticas de desenvolvimento são sempre bem-vindas. Mas para Microsoft e Apple chegar ao nível de popularização do desenvolvimento é muito difícil.
ResponderExcluirBlog muito bem estruturado abordando os assuntos de forma bem elaborada.
ResponderExcluirO blog apresenta uma estrutura de tutorial, com muitas imagens, o que facilita a compreensão geral do tema. Foca bastante na aplicação das tecnologias e pode servir de suporte para desenvolvedores.
ResponderExcluirInteressante saber como cada empresa orienta a produção de aplicativos para mobile. Fiquei com a ideia de que a Apple é a que tem a maior preocupação com a interface voltada para o usuário!
ResponderExcluirBem estruturado, com imagens ilustrativas, facilitando para o melhor entendimento do assunto.
ResponderExcluirAchei muito interessante a ideia do tutorial, assunto bem desenvolvido!!
ResponderExcluirTodas plataformas bastante preocupadas em disponibilizar ferramentas e disseminar o conhecimento para criação de aplicativos. No meu ver, Android leva muita vantagem em popularidade e Apple em interface para o usuário.
ResponderExcluirAchei o post um pouco extenso, mas muito bem detalhado. Já que vocês citaram a questão do desenvolvimento de jogos, recomendo dar uma olhada aqui: http://www.stencyl.com/ É um software específico para desenvolvimento de jogos mobile, e é bem fácil de mexer.
ResponderExcluirApesar do tamanho, o post é rico em detalhes, permitindo ao leitor que não tem o minimo de noção, entender o desenvolvimento de uma interface.
ResponderExcluir