<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: clem-boss</title>
    <description>The latest articles on DEV Community by clem-boss (@clemboss).</description>
    <link>https://dev.to/clemboss</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F945000%2F360cb7db-07f6-41a0-9d8c-5eed144053d8.jpg</url>
      <title>DEV Community: clem-boss</title>
      <link>https://dev.to/clemboss</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/clemboss"/>
    <language>en</language>
    <item>
      <title>Design Thinking for Web Redesigns</title>
      <dc:creator>clem-boss</dc:creator>
      <pubDate>Sun, 23 Oct 2022 12:21:06 +0000</pubDate>
      <link>https://dev.to/clemboss/design-thinking-for-web-redesigns-3f2n</link>
      <guid>https://dev.to/clemboss/design-thinking-for-web-redesigns-3f2n</guid>
      <description>&lt;p&gt;Since I've been working in corporate world, I can see that web redesign projects always lack on planning and methodology, resulting in solutions that does not solve any problem and that took a lot of time and effort to build. &lt;br&gt;
Working in a team can be a bit messy, and we might lose sight of the bigger picture, so this article has the purpose to give concrete plan of delivery for a meaningfull solution that's ready for development, starting from a user experience problema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NjPq3eaa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gr7l7zzv4nnm3wvpm8ct.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NjPq3eaa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gr7l7zzv4nnm3wvpm8ct.png" alt="Image description" width="880" height="712"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each phase can also be understood as semi-diamonds. Empathise is a time to diverge, define is a time to converge, ideate is a time to diverge, and so on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2LYVDRc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdag2ud2rya3w1xq16au.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2LYVDRc_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdag2ud2rya3w1xq16au.png" alt="Image description" width="341" height="201"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;IDEO&lt;/strong&gt;, &lt;em&gt;Divergent and Convergent Thinking&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  1. 💗 Empathise
&lt;/h2&gt;

&lt;p&gt;This is the time to do interviews of actual users. Every use has to be considered, this work really needs to be exhaustive as we're in a "diverge" phase. You can look for templates to build a few really different personas based on those interviews.&lt;br&gt;
Even if you don't see now how it will benefit your project, even if it might feel like a waste of time, trust the process and do your best working on your personas or you'll regret this later, asking yourself why didn't your project reached expectations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mindset&lt;/strong&gt; : craving for accuracy. Don't judge, don't project your own needs, don't sort information you get.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Delievery&lt;/strong&gt; : minimum 4 different personas, interviews of users filled with questions about their expectations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. ✍️ Define
&lt;/h2&gt;

&lt;p&gt;Now it's time to take a paper and a pen, and to try to formulate the problems that emerged from phase 1 in the most precise way possible. It's good to start by "How to ..", "How could we ..." to produce a convenient output in next phase. But for now, only focus on formulating this question really well, an don't try to awnser it yet. You should really take the time that's needed for you to be perfectly happy with your problema. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mindset&lt;/strong&gt; : synthesizing everything discovered through phase 1, trying to both encompass and be precise.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Delievery&lt;/strong&gt; : A problem statement sentence, but a really thoughtful one.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. 💡 Ideate
&lt;/h2&gt;

&lt;p&gt;Let's gather all your collaborators and do a brainstorming. Guided by the problem statement elaborated in phase 2, you would produce very different propositions or ideas. In order for those ideas to not be all similar, and get the most of this exercise, you should work on preparing an environment that's not judgmental. There's no bad ideas, and one "out-of-the-box" approach consists in playing a game of The Worst Possible Idea to generate new ones.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mindset&lt;/strong&gt; : not judgmental, focused on producing a lot of very different output, as you're in a "diverge" phase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Delievery&lt;/strong&gt; : Photos of the brainstorming whiteboard with sticky notes all-over. Drawings / writings that has been made by the team. Keep everything.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. 🛠️ Prototype
&lt;/h2&gt;

&lt;p&gt;We're not done yet, so this is not about the final prototype that you do on Figma. You rather do paper prototypes that doesn't take a lot of effort to make. &lt;strong&gt;Card Sorting&lt;/strong&gt; can be a way to prioritize and gather information regarding sections of a website, and &lt;strong&gt;Crazy Eights&lt;/strong&gt; can help you find the most appropriate layout for your web interfaces.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mindset&lt;/strong&gt; : keep in mind it's for testing and it's not the final output. Find a great balance between rapidity of execution and realism/ projection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Delievery&lt;/strong&gt; : Low-fidelity prototypes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. ✔️ Test
&lt;/h2&gt;

&lt;p&gt;Here, a designer's ego might be threatened. Try to make the users you've identified during phase 1 to interact very purely with you prototypes. The difficulty here is to not try to guide their usage, but you rather observe what comes from the interaction between your user and your prototype. Tell yourself that every problem you might discover is an opportunity to improve.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mindset&lt;/strong&gt; : Observe, analyse, don't guide the user even if it feels awkward.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Delievery&lt;/strong&gt; : Notes, or maybe videos of the user/prototype interaction.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To conclude, polyvalence is needed for an UX designer to be great, because each phase is very different in it's mindset. Also, for most of us, it costs effort to erease our pre-convieved ideas in order to only rely on proofs that users gives us.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sources: Interaction Design Foundation, IDEO&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>design</category>
      <category>agile</category>
    </item>
    <item>
      <title>Pure CSS Animations : A Walkthrough [no-library]</title>
      <dc:creator>clem-boss</dc:creator>
      <pubDate>Mon, 17 Oct 2022 16:25:12 +0000</pubDate>
      <link>https://dev.to/clemboss/pure-css-animations-a-walkthrough-no-library-nn5</link>
      <guid>https://dev.to/clemboss/pure-css-animations-a-walkthrough-no-library-nn5</guid>
      <description>&lt;p&gt;This is a walkthrough of what's possible to do animation-wise with only CSS. &lt;br&gt;
It’s a good idea to reduce the use of third-party packages or modules, in order to keep a project light-weighted and stable. &lt;br&gt;
That’s the reason why a developer might need to watch out for those pure CSS tricks that allows to do almost anything that's needed, and it's  easy to implement in any web project.&lt;/p&gt;


&lt;h2&gt;
  
  
  • Keyframes Control
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@keyframes my-animation-title {
  0% { transform: scale(1); }
  100% { transform: scale(1.3); }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Use the &lt;strong&gt;@keyframes at-rule controls&lt;/strong&gt; to set different steps through time. Those steps will be displayed on a timeline based on the value in percentage before each set of properties. &lt;br&gt;
You can set as many steps as you want.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;in the example above, 0% and 100% can be replaced by &lt;em&gt;from&lt;/em&gt; and &lt;em&gt;to&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To use it, declare the identifier in a css animation property, also as the duration.&lt;/p&gt;


&lt;h2&gt;
  
  
  • Animation property
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;animation: my-animation-title 1s; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Those 2 values are sufficient to begin to see something moving but there's a lot more that's possible to set. This property is &lt;strong&gt;a shortend for 8 animation-related properties&lt;/strong&gt; that are :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-name&amp;gt;&lt;/code&gt; corresponds to the @keyframes identifier. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-duration&amp;gt;&lt;/code&gt; is the time between the 0% and the 100% steps.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-timing-function&amp;gt;&lt;/code&gt; indicates the progress of an animation through time. Possible values will be &lt;em&gt;linear&lt;/em&gt;,  &lt;em&gt;ease-in-out&lt;/em&gt; but also &lt;em&gt;steps(3, jump-start)&lt;/em&gt;. In that case, the animation will mark 3 stops, excluding the 0% step.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-delay&amp;gt;&lt;/code&gt;, expressed in seconds, can be either positive or negative. It corresponds to the delay before an animation starts, and a negative value here will cut off the start of the movement.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-iteration-count&amp;gt;&lt;/code&gt; is the number of times the sequence will be repeated. It's possible to either use a number or to use &lt;em&gt;infinite&lt;/em&gt; keyword.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-direction&amp;gt;&lt;/code&gt;: by default, the animation is going from 0% to 100%. Here you can set a reverted direction or you can alternate between &lt;em&gt;normal&lt;/em&gt; and &lt;em&gt;revert&lt;/em&gt; by using &lt;em&gt;alternate&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-fill-mode&amp;gt;&lt;/code&gt;: when the animation is finished, do you need to reset the initial position of your element or would you rather want it to stay at it's new state ? This is what can be set here, possible values are for example &lt;em&gt;forwards&lt;/em&gt; or &lt;em&gt;backwards&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;animation-play-state&amp;gt;&lt;/code&gt; here, only 2 values are available: &lt;em&gt;running&lt;/em&gt; or &lt;em&gt;pause&lt;/em&gt;. Use pause to interrupt anytime while keeping current position.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There's no need to follow a certain order, just place values inline and the corresponding properties will be recognized.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can use multiple animations for the same selector, by separating each group of values by a comma.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here's a Sandbox where you can experiment everything listed above.&lt;br&gt;
Have fun with it !&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/clemboss_/embed/vYjoGQv?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Banner Image: &lt;strong&gt;Etienne Jules MAREY&lt;/strong&gt;, &lt;em&gt;Cavalier Arabe&lt;/em&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>design</category>
    </item>
  </channel>
</rss>
