clooket/DeploydKit UIKit User Interface Catalog: About Views Views are the building blocks for constructing your user interface. Rather than using one view to present your content, you are more likely to use several views, ranging from simple buttons and text labels to more complex views such as table views, picker views, and scroll views. Each view represents a particular portion of your user interface and is generally optimized for a specific type of content. Purpose. Experience app content Navigate within an app Implementation. Configuration. Content of Views All views in UIKit are subclasses of the base class UIView. Use the Mode (contentMode) field to specify how a view lays out its content when its bounds change. The Tag (tag) field serves as an integer that you can use to identify view objects in your app. Behavior of Views By default, the User Interaction Enabled (userInteractionEnabled) checkbox is selected, which means that user events—such as touch and keyboard—are delivered to the view normally. Appearance of Views Appearance Proxies
Building a Visual Language This article is part of a series on our new Design Language System. Karri recently answered questions about this topic in a Designer News “Ask Me Anything” interview. Click here to read the transcript. Working in software development and design, we are often required to ship one-off solutions. Visual language is like any other language. Design has always been largely about systems, and how to create products in a scalable and repeatable way. A unified design system is essential to building better and faster; better because a cohesive experience is more easily understood by our users, and faster because it gives us a common language to work with. Why we need design systems Airbnb has experienced a lot of growth over the years. Too few constraintsSoftware design has few physical constraints compared to many other design disciplines. Multiple designers and stakeholdersSoftware is often built by teams– sometimes incredibly large teams– of people. Getting to work Laying the foundation Sketch.
Spark Inspector - Runtime Inspection for iOS Apps 10 things designers need to know about iOS 7 | Apple Apple has long been criticised for the slightly haphazard approach it's taken to the user interface design of its apps, and the iOS platform in general. Some apps have featured heavily skeuomorphic design, while others have been purely functional with little or no design flourish. Yesterday, though, that all changed. At its annual developers conference, WWDC, Apple introduced an all-new design language for iOS 7, eschewing the pseudo-3D patent-leather, wood and felt in favour of a clean approach that’s typography-led and heavily (although not exclusively) influenced by flat design. This shift in approach is a game changer to designers responsible for crafting iOS app interfaces. We’ve scoured Apple’s Transition Guide and picked out the 10 most important considerations for designers. Read all our app design-related articles here 01. One of the most important changes in iOS 7 for interface designers is the introduction of transparency and translucency. 02. 03. 04. 05. 06. 07. 08. 09. 10.
Components, styles, and shared library best practices This question comes up often and the answer varies greatly based on individual designers' workflow preferences. That said, we generally recommend turning things into components fairly early in the design process. Once you have elements repeated across multiple screens, it's a good time to start thinking about components (even if you at fairly low-fidelity stages of your project). The design may change and go through many refinements, but creating components at this stage means you can save time later by making those changes once (with the original component), and having them update across all of your screens (with the instances). Main components live wherever you create them, usually in context within your design, which makes them easy to tweak as your design progresses (except for bigger companies which house their main components in a separate design system file). Structuring your components atomically Quick tip: By prefixing component names with a '_' or a '
75 Essential Tools for iOS Developers - Ben Scheirman If you were to go to a master woodworker’s shop, you’d invariably find a plethora of tools that he or she uses to accomplish various tasks. In software it is the same. You can measure a software developer by how they use their tools. Experienced software developers master their tools. It is important to learn your current tools deeply, and be aware of alternatives to fill in gaps where your current ones fall short. With that in mind, I present to you a gigantic list of tools. I tried to categorize these the best I can. And without further ado, we’ll start from the beginning of any project, and that Inspiration pttrns – A great library of iOS screen designs categories by task. Design Mocks ($) – An easy to use tool to create a quick mockup of an iOS app. Source Control Git – If you’re not using source control stop what you’re doing and rectify that. Dissecting Apps Editors I know what you’re thinking, don’t all iOS developers use Xcode? Documentation Dependency Management Diagnostics & Debugging
10 tips on using components in Figma | by Jake Tsacudakis | Design with Figma | Medium You have a clear system for structuring, organizing and maintaining your components. Now let’s review some best practices on creating components to improve your team’s workflow and productivity. 4) Set up constraints and layout grids for predictable behavior Once you have the core design set for a component, take some time to set the constraints and layout grid (as needed). One note on layout grids. 5) Preserve text overrides on instance swaps One of the great things about Figma is you can preserve text overrides when you need to swap instances. 6) Use Clip content to reduce repetitive instances Since components act like frames for all intents and purposes, we can utilize the clip content feature to toggle whether or not elements that extend beyond the bounds of the component are cropped or hidden. 7) Add component documentation Master components come with a description field where you can add information about the component’s usage, behavior, and other relevant context.
quartermaster/QSKit The Rules for Modern Navigation Websites provide access to all sorts of information. Whether we want to to learn more about an organization, purchase an item, donate to a cause, or access a resource, we’re dependent on site navigation to help us find what we’re looking for. However, many websites have navigation that just works “well enough,” allowing people to access what they need to – but after some struggle. A few best practices allow designers to create more effective, clearer navigation experiences. In his article “Navigation is more important than search,” Gerry McGovern discusses how his team “did some extensive task testing with a technical audience. 70 percent started the task by clicking on a link, 30 percent used search.” McGovern states that people rely on navigation first because it’s easier and faster to click on links than to use search. However, if there are too many links, if it’s poorly organized, or confusingly named – people are deterred from using links. Prioritize Consistency Breadcrumbs
Building Automated Analytics Logging for iOS Apps | Heap Blog Analytics is often the first tool developers add to their iOS app. A standard approach is to write logging code like this: Let’s call this manual event-tracking. With manual event-tracking, you write logging code for each analytics event you care about. A logEvent: for signing in, a logEvent: for inviting a friend, a logEvent: for opening the Settings view, and so forth. Here, we’ll describe a different approach: automatic event-tracking. In this post, we’ll provide a blueprint for building automatic event-tracking into your own app. The Problem with Manual Event-Tracking Let’s say you’ve launched your new iOS app. But after the initial fanfare subsides, you start to think: “Where did all my visitors drop off in our signup form?” Oh, right. Now your next two weeks will be spent: Mourning launch data that’s forever lost.Instrumenting your signup flow with logging code.Waiting for your app to get approved by Apple.Waiting.Waiting some more for data to trickle in.Analyzing your data.
UX Design Glossary: How to Use Affordances in User Interfaces | by tubik | UX Planet Obtaining professional knowledge and skills, designers face a variety of specific terminology. We have already published the posts with key terms for the topics of usability and web design, business terms and abbreviations, navigation elements and color terms. New article continues the theme of psychology in user experience design and adds a new issue to UX Design Glossary. Affordance is a property or feature of an object which presents a prompt on what can be done with this object. Check the screen of Watering Tracker below. The term was first introduced by the psychologist James Gibson who deeply researched visual perception. Being applied to design, the term referred to only those physical action possibilities of which the user is aware. With the advent of various user interfaces, affordances got a new vector of development. Affordances in UI can be classified according to their performance and presentation. Based on their performance, we can find obvious and hidden hints in UI. Icon
iOS testing framework User Interface Design Basics User Interface (UI) Design focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to access, understand, and use to facilitate those actions. UI brings together concepts from interaction design, visual design, and information architecture. Choosing Interface Elements Users have become familiar with interface elements acting in a certain way, so try to be consistent and predictable in your choices and their layout. Doing so will help with task completion, efficiency, and satisfaction. Interface elements include but are not limited to: Input Controls: buttons, text fields, checkboxes, radio buttons, dropdown lists, list boxes, toggles, date field Navigational Components: breadcrumb, slider, search field, pagination, slider, tags, icons Informational Components: tooltips, icons, progress bar, notifications, message boxes, modal windows Containers: accordion Best Practices for Designing an Interface Keep the interface simple. References