Blue cropped jeans Dsquared2 Sale New Arrival bIAXRHg

Blue cropped jeans Dsquared2 Sale New Arrival bIAXRHg
Blue cropped jeans Dsquared2

Sign in Get started
Havana Nguyen
UX Design / Lead Character Designer + Artist on Kamikaze / Brazilian Jiu-Jitsu Practitioner

Could IX Flows be a key to smoother design/dev handoffs?

As UX Designers, we put care and critical thought in our projects. Every interaction is planted with a specific purpose for the user. This is why it makes it that much more painful for us when the final developed interface does not align with our original vision.

It’s easy to blame the developer, but I’d argue that the onus is on us to improve documentation in the designer/developer handoff. It’s not that the developer is incompetent or that she lacks common sense. When the design comps lack a clear explanation of what happens when X occurs, the developer has to… well, try to make it up as they go. It would kill momentum to stop development, send an email to the designer to ask about a certain interaction, wait, respond to clarify her question, wait, then finally get an answer.

We, as interaction designers, have to explain the behavior of the interface… but how? I searched for various ways to bridge this communication gap. I tried creating user flows, annotated wireframes, and logic trees… but they all fell short of conveying the ideas in my head.

I then started developing Interaction (IX) Flows.

Where the idea for IX Flows camefrom

Dan Saffer’s “Microinteractions”

Dan Saffer’s “Microinteractions” book has to be one of the best books I’ve read on interaction design yet. Though short, it is with great information. He breaks down microinteractions into 4 elements: the trigger, feedback, rules, and loops/modes. To [over]simplify:

Triggers : the user-initiated or system-initiated action that starts the microinteraction

Rules : the capabilities and constraints in the microinteraction; what can and cannot be done in a microinteraction

Feedback : the visual cues that tell the user what is happening

Loops : the repeatability and lifecycle of a microinteraction

Modes : the different versions or states of an element

Nielsen and Norman Group: Wireflows

I also just happened to run across this article on Nielsen and Norman on Wireflows , which argued for the fusion of user/task flows and wireframes. While they show processes and relationships in a simple way, user flows don’t show how the visual elements provide entry points into each page or how they facilitate the user’s goals. Wireframes are great for laying out those visual elements, but by themselves, they are not very descriptive of the relationship or flow between pages.

The wireflow idea was a great solution that shows both the flow and the layouts but there was a gap between how I envisioned the page to versus how the developer would interpret it. The details were still not there.

I looked back on the framework from Dan Saffer’s book and thought: why not combine these two awesome approaches? Why not define the triggers/rules/feedback/loops/modes in the wireflow?

The IXFlow

In this example, I compiled wireframes of the Instagram app. I figured that most readers would be familiar with it and can follow along this example with the app. First, I will show the entire Interaction Flow and then break down the different elements that make up the document:

Why put together an IXFlow?

The thoroughness of the IX Flow can be intimidating, but communicating these interactions has many benefits:

The different parts of an IXFlow

This document consists of 3 layers on the Adobe Illustrator file. The locked layers include the background color(s) and the title and reference panel. We also have separate layers for the linked screen images and the boxes and arrows.

The Reference Panel

This provides the types of gestures involved on this app and the symbols to represent those gestures, definitions for terms used when describing the interactions, and a legend that defines the flow lines, microinteraction-related symbols, and decision nodes.


These were created in Sketch and then dragged onto this Adobe Illustrator file as a linked image. It’s not imperative that you use Sketch or even Illustrator, use what you are comfortable with. I have also done IX Flows for fully designed mockups, too. The key here is to show the visual layout of the actual screens so you can depict and define the interactions of those specific elements. The great thing about linking them on the AI file is that if you revise the screens and override the file in the folder they are linked from, those screens will update on the AI file automatically!

Arrows, Lines, and Containers

These represent sequences and relationships. You define them in the Reference panel and above is an example of those tools in action.

Specifically, this is a container with the microinteraction details:

How long does thistake?

Without the basic concept and the assets, my first run through this took a week for a single app. However, as I work on more, I have been able to whittle down my time to completion to just 5 hours. Copy and pasting the details for similar interactions, mass-editing the lines, and doing initial sketching of how to lay out the flow helped cut down the time it takes to compile the IX Flow. The main challenge in your first attempt will be to switch to the logical, meticulous side of your brain when it comes to writing out the feedback, rules, and modes. The effort, however, is well worth it and will make you a stronger interaction designer moving forward.

An addedbonus

The additional benefit of compiling an IX Flow for the UX Designer is that this also helps us audit the UX of the interface. Despite multiple rounds of approvals on the mobile app wireframes and design comps, compiling this IX Flow was like running a fine-tooth comb through it. While writing the rules for an element, I sometimes discovered that an interaction or flow really did not make any sense at all. Or it was actually quite confusing or not necessary. I was able to run back to my UX team to discuss and resolve the issue before it ever went to development.

Try ityourself

Want to give it a go? Download template to start!

This is something I still want to improve so I would love to get feedback and see what you’ve created. And if you are a developer, I welcome any suggestions about how to make this document even more useful. You can comment, DM me , or contact me through email .

Hope this helps!

Like what you read? Give Havana Nguyen a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.

Fig. 5

FOXA2-DS-S regulates FOXA2 expression. a Screenshot from the Dalliance genome browser [ Wine Knitted Jumper Dress L / BURGUNDY I Saw It First Cheap Best Place i8ATIoWBjx
] showing the FOXA2 locus with tracks displaying coverage data for ChIP-Seq experiments for Pol2, FOXA1, FOXA2, HNF4A, HNF6 and CEBPA. The ChIP-Seq tracks were produced by the ENCODE project on HepG2 cells. b Real time PCR data showing the expression of and in Huh7 cells upon knock-down. Si1 and si2 FOXA2-DS-S indicate two different, non-overlapping siRNAs designed against . The data are expressed relative to the expression of the control transfected with scrambled siRNAs; the indicate the standard error of the mean across three replicate experiments. c Venn diagram showing the number of significantly differentially expressed genes (adjusted value < 0.05 and log2 fold change > or < 1.25) in the microarray experiment on Huh7 knock-down of or . d Heatmap showing microarray data upon knock-down of or in Huh7 cells. The colour scale indicates normalised intensities (z-score). The heatmap contains all genes that were significantly altered (adjusted < 0.05) upon knoc- down of either or . The scatter plots in the lower part of the panel show GO enrichment data for genes that were significantly down-regulated () or up-regulated () in either siFOXA2 or siFOXA-DS-S

We next investigated whether FOXA2-DS-S can affect the expression of the associated coding gene, finding that FOXA2-DS-S is necessary for full expression of the FOXA2 gene (Fig. Cheap Sale Very Cheap Lacetrimmed Shirred Floralprint Silkcrepe Midi Dress Lilac Prada 2018 Unisex For Sale Many Kinds Of Cheap Price k0l0Id
; Additional file 4 : Figure S15a), since its down-regulation by RNA interference results in reduction of FOXA2 expression in Huh7 liver cancer cells (Fig. 5b ) and A549 lung cancer cells (Additional file 4 : Figure S15a). Interestingly, knock-down of FOXA2 also leads to down-regulation of FOXA2-DS-S (Fig. 5b ; Additional file 4 : Figure S15a). These results indicate that FOXA2 not only auto-regulates by binding its own promoter (Additional file 4 : Figure S14), but also affects the expression of the associated tapRNA, providing a positive feedback loop and suggesting interdependence.

Microarray analysis of the global transcriptional effects of FOXA2-DS-S or FOXA2 knock-down showed a large overlap in the repertoire of affected genes (Fig. 5c, d ). This suggests that the major target for FOXA2-DS-S is the FOXA2 gene, although additional direct targets may yet be identified. These findings were recently independently supported by the cis -regulation of FOXA2 in differentiating definitive endoderm cells by FOXA2-DS-S (also knownas DEANR1 , or ‘ definitive endoderm-associated lncRNA1 ’), indicating that this lncRNA regulates FOXA2 in different endoderm-derived tissues [ 51 ].

For Release Dates Authentic Latest Sale Online bridesmaid maxi dress with lace sleeves Sky light Ghost e5PqQQz4
objects, this method only exists if null=True . If the related field can’t be set to None ( NULL ), then an object can’t be removed from a relation without being added to another. In the above example, removing e from b.entry_set() is equivalent to doing = None , and because the blog ForeignKey doesn’t have null=True , this is invalid.

For ForeignKey objects, this method accepts a bulk argument to control how to perform the operation. If True (the default), QuerySet.update() is used. If bulk=False , the save() method of each individual model instance is called instead. This triggers the pre_save and post_save signals and comes at the expense of performance.

Removes all objects from the related object set:

Note this doesn’t delete the related objects – it just disassociates them.

Just like remove() , clear() is only available on ForeignKey s where null=True and it also accepts the bulk keyword argument.

Replace the set of related objects:

This method accepts a clear argument to control how to perform the operation. If False (the default), the elements missing from the new set are removed using remove() and only the new ones are added. If clear=True , the clear() method is called instead and the whole set is added at once.

The bulk argument is passed on to add() .

Note that since set() is a compound operation, it is subject to race conditions. For instance, new objects may be added to the database in between the call to clear() and the call to add() .

Note that add() , create() , remove() , clear() , and set() all apply database changes immediately for all types of related fields. In other words, there is no need to call save() on either end of the relationship.

Get Our Email Newsletter

Follow Us

Get the Atlas Obscura book

The Atlas



Gastro Obscura


Get the Atlas Obscura book
© 2018 Atlas Obscura. All rights reserved.