<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Blog · Mohammad Abu-aisheh</title><link>https://mohammadabuaisheh.me/blog/</link><description>Writing by Mohammad Abu-aisheh: notes from design projects, a talk and contests, plus practical guides on UX, accessibility, Arabic RTL, UI design and web performance.</description><language>en</language><item><title>10 UX laws that make or break an experience</title><link>https://mohammadabuaisheh.me/blog/ux-laws/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/ux-laws/</guid><description>A short guide I wrote in Arabic for design students: each law with its rule, why it matters, an everyday example and a product that uses it.</description><category>Teaching</category></item><item><title>Requirements vs. expectations in UX/UI design</title><link>https://mohammadabuaisheh.me/blog/requirements-vs-expectations/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/requirements-vs-expectations/</guid><description>Notes from a talk I prepared and gave: why products fail in the gap between what was built and what users expected, and how to close it.</description><category>Talk</category></item><item><title>Rebuilding a “destroyed” website against the clock</title><link>https://mohammadabuaisheh.me/blog/contest-v5/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/contest-v5/</guid><description>How I approached the ASU UI/UX Contest V5 brief, starting on paper, and what earned second place.</description><category>Contest</category></item><item><title>Redesigning one of the internet’s busiest store pages</title><link>https://mohammadabuaisheh.me/blog/arngren-redesign/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/arngren-redesign/</guid><description>Arngren is famous among designers for its cluttered homepage. I used it to practise hierarchy, grouping and white space on a real, extreme example.</description><category>Redesign</category></item><item><title>What an old newspaper taught me about visual hierarchy</title><link>https://mohammadabuaisheh.me/blog/newspaper-hierarchy/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/newspaper-hierarchy/</guid><description>Redesigning a dense front page to control where the eye goes first, next and last, while keeping its classic personality.</description><category>Visual design</category></item><item><title>Dermatology booking in five screens</title><link>https://mohammadabuaisheh.me/blog/dermatology-booking/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/dermatology-booking/</guid><description>A short UI challenge: a booking flow for a dermatology clinic with a soft, rounded visual language.</description><category>UI challenge</category></item><item><title>How I use AI in my design process (and where I don’t)</title><link>https://mohammadabuaisheh.me/blog/ai-in-my-process/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/ai-in-my-process/</guid><description>Lessons from building Rawaa: AI is great for speed and drafts, and bad at deciding what the product should be.</description><category>Process</category></item><item><title>Why I still start on paper</title><link>https://mohammadabuaisheh.me/blog/paper-first/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/paper-first/</guid><description>Pencil sketches from the Banana platform, and why ten minutes on paper saves an hour in Figma.</description><category>Process</category></item><item><title>Why Rawaa lives inside WhatsApp</title><link>https://mohammadabuaisheh.me/blog/whatsapp-first/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/whatsapp-first/</guid><description>The biggest decision in Rawaa wasn’t a screen. It was choosing not to build an app for guests at all.</description><category>Product</category></item><item><title>What 56 students taught me about money apps</title><link>https://mohammadabuaisheh.me/blog/what-56-students-taught-me/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/what-56-students-taught-me/</guid><description>Survey numbers and honest quotes from the Filis research, and how each one turned into a design decision.</description><category>Research</category></item><item><title>One card, six verticals</title><link>https://mohammadabuaisheh.me/blog/one-card-six-verticals/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/one-card-six-verticals/</guid><description>How a single listing card fixed more of a classifieds marketplace than any page redesign could.</description><category>Design systems</category></item><item><title>The accessibility check I run before handoff</title><link>https://mohammadabuaisheh.me/blog/accessibility-before-handoff/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/accessibility-before-handoff/</guid><description>Five quick checks that catch most problems before a developer ever sees the file.</description><category>Accessibility</category></item><item><title>Designing for Arabic is not flipping English</title><link>https://mohammadabuaisheh.me/blog/designing-for-arabic/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/designing-for-arabic/</guid><description>What localizing the Tesco homepage, and building this site in two languages, taught me about right-to-left design.</description><category>Arabic &amp; RTL</category></item><item><title>Personas that actually change the product</title><link>https://mohammadabuaisheh.me/blog/personas-that-change-products/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/personas-that-change-products/</guid><description>In Legacy, four very different buyers shaped four specific features. Here is how I write personas so that happens.</description><category>Research</category></item><item><title>46 grey screens before any colour</title><link>https://mohammadabuaisheh.me/blog/wireframes-first/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/wireframes-first/</guid><description>Why I wireframed every screen of Rawaa in grayscale first, and what changed once colour arrived (almost nothing).</description><category>Process</category></item><item><title>Designing a crisis screen people don’t have to relearn</title><link>https://mohammadabuaisheh.me/blog/designing-emergency-mode/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/designing-emergency-mode/</guid><description>How Emergency Mode in Filis changes what matters without changing where things are.</description><category>Interaction</category></item><item><title>Supportive, respectful microcopy</title><link>https://mohammadabuaisheh.me/blog/supportive-microcopy/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/supportive-microcopy/</guid><description>Real lines from Filis, and the rules behind them: a number, an action, and a respectful tone.</description><category>UX writing</category></item><item><title>Competitor audits that lead somewhere</title><link>https://mohammadabuaisheh.me/blog/competitor-audits/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/competitor-audits/</guid><description>Three audits from my projects, and the one sentence each audit had to produce.</description><category>Research</category></item><item><title>How I write a usability test plan</title><link>https://mohammadabuaisheh.me/blog/usability-test-plan/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/usability-test-plan/</guid><description>Tasks, metrics and heuristics from the Sehati plan, and why I’m honest about what I haven’t tested yet.</description><category>Testing</category></item><item><title>Designing for a two-second glance</title><link>https://mohammadabuaisheh.me/blog/glanceable-ui/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/glanceable-ui/</guid><description>Lessons from a smartwatch flight tracker: one decision per screen, high contrast, and ruthless priorities.</description><category>UI design</category></item><item><title>Variables, not hex codes</title><link>https://mohammadabuaisheh.me/blog/variables-not-hex/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/variables-not-hex/</guid><description>How Filis runs on 201 Figma variables in five collections, and why every name describes a job, not a colour.</description><category>Design systems</category></item><item><title>Dark mode with one switch</title><link>https://mohammadabuaisheh.me/blog/dark-mode-one-switch/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/dark-mode-one-switch/</guid><description>Banana’s colours live in Day and Night modes, so the whole platform changes theme without redrawing a single screen.</description><category>Design systems</category></item><item><title>A prototype with no dead ends</title><link>https://mohammadabuaisheh.me/blog/prototype-without-dead-ends/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/prototype-without-dead-ends/</guid><description>Rawaa’s prototype links 62 screens on desktop and mobile. The rule I used: every screen needs a way forward or a way back.</description><category>Prototyping</category></item><item><title>Flows before screens</title><link>https://mohammadabuaisheh.me/blog/flows-before-screens/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/flows-before-screens/</guid><description>In Sehati our team mapped five user flows with every decision point. The waiting list exists because of one decision point.</description><category>User flows</category></item><item><title>Colour contrast in practice</title><link>https://mohammadabuaisheh.me/blog/color-contrast-in-practice/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/color-contrast-in-practice/</guid><description>Contrast is the difference in brightness between text and its background. Learn the WCAG ratios, the common failures and how to test them.</description><category>Accessibility</category></item><item><title>Focus states that show</title><link>https://mohammadabuaisheh.me/blog/focus-states-that-show/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/focus-states-that-show/</guid><description>Keyboard users need to see where they are. Learn how to design visible focus indicators, use :focus-visible and avoid hidden focus.</description><category>Accessibility</category></item><item><title>Keyboard-first navigation</title><link>https://mohammadabuaisheh.me/blog/keyboard-first-navigation/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/keyboard-first-navigation/</guid><description>Many people never use a mouse. Design every interaction so it works with a keyboard, in a logical order, with no traps and clear exits.</description><category>Accessibility</category></item><item><title>Writing good alt text</title><link>https://mohammadabuaisheh.me/blog/writing-good-alt-text/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/writing-good-alt-text/</guid><description>Alt text should serve the purpose of an image, not just describe it. Learn when to write it, when to leave it empty and how context decides.</description><category>Accessibility</category></item><item><title>Accessible forms</title><link>https://mohammadabuaisheh.me/blog/accessible-forms/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/accessible-forms/</guid><description>Forms are where users complete tasks. Use real labels, helpful hints, clear errors and sensible grouping so everyone can finish them.</description><category>Accessibility</category></item><item><title>Touch target size</title><link>https://mohammadabuaisheh.me/blog/touch-target-size/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/touch-target-size/</guid><description>Small buttons are hard to hit. Learn the WCAG 2.2 minimum of 24 by 24 CSS pixels, the larger 44 px guidance and how spacing helps.</description><category>Accessibility</category></item><item><title>Designing for reduced motion</title><link>https://mohammadabuaisheh.me/blog/reduced-motion/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/reduced-motion/</guid><description>Animation can cause discomfort or nausea for some users. Learn to respect prefers-reduced-motion and to give people control over moving content.</description><category>Accessibility</category></item><item><title>Headings and landmarks</title><link>https://mohammadabuaisheh.me/blog/headings-and-landmarks/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/headings-and-landmarks/</guid><description>Screen reader users navigate by headings and landmarks. Structure pages with one h1, ordered headings and clear regions.</description><category>Accessibility</category></item><item><title>Not by colour alone</title><link>https://mohammadabuaisheh.me/blog/not-by-colour-alone/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/not-by-colour-alone/</guid><description>Colour should never be the only way to convey meaning. Learn WCAG 1.4.1 and how to pair colour with text, icons and patterns.</description><category>Accessibility</category></item><item><title>Core Web Vitals for designers</title><link>https://mohammadabuaisheh.me/blog/core-web-vitals-for-designers/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/core-web-vitals-for-designers/</guid><description>LCP, INP and CLS measure loading, responsiveness and visual stability. See which design choices move these numbers.</description><category>Web &amp; performance</category></item><item><title>CSS logical properties for RTL layouts</title><link>https://mohammadabuaisheh.me/blog/css-logical-properties/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/css-logical-properties/</guid><description>Physical properties like margin-left break when a page flips to right-to-left. Logical properties follow the reading direction and save you from duplicate CSS.</description><category>Arabic &amp; RTL</category></item><item><title>Which icons to mirror in RTL</title><link>https://mohammadabuaisheh.me/blog/which-icons-to-mirror/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/which-icons-to-mirror/</guid><description>Mirror icons that express direction, leave the rest alone. A short guide to arrows, chevrons, progress and the cases where context decides.</description><category>Arabic &amp; RTL</category></item><item><title>Western or Eastern Arabic digits?</title><link>https://mohammadabuaisheh.me/blog/arabic-numerals-choice/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/arabic-numerals-choice/</guid><description>Arabic interfaces can show 0-9 or the Eastern Arabic-Indic digits. The right choice depends on audience, so stay consistent and let research decide.</description><category>Arabic &amp; RTL</category></item><item><title>Choosing Arabic fonts for interfaces</title><link>https://mohammadabuaisheh.me/blog/choosing-arabic-fonts/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/choosing-arabic-fonts/</guid><description>Pick Arabic UI fonts by legibility, weight range, pairing with Latin, diacritics support and file size, not by looks alone.</description><category>Arabic &amp; RTL</category></item><item><title>Handling mixed-direction text</title><link>https://mohammadabuaisheh.me/blog/mixed-direction-text/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/mixed-direction-text/</guid><description>Arabic sentences often contain Latin names, numbers and URLs. Learn how the bidi algorithm orders them and how to isolate text with HTML and CSS.</description><category>Arabic &amp; RTL</category></item><item><title>Designing forms and inputs for RTL</title><link>https://mohammadabuaisheh.me/blog/rtl-forms-and-inputs/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/rtl-forms-and-inputs/</guid><description>Not every field should flip. Learn which inputs stay left to right on an RTL page, which use auto direction, and how to align labels and messages.</description><category>Arabic &amp; RTL</category></item><item><title>Line height and weight for Arabic text</title><link>https://mohammadabuaisheh.me/blog/arabic-line-height-and-weight/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/arabic-line-height-and-weight/</guid><description>Arabic text usually needs more line height than Latin, lighter weights can fade, and size may need adjusting. Practical starting points to test.</description><category>Arabic &amp; RTL</category></item><item><title>Localisation is more than translation</title><link>https://mohammadabuaisheh.me/blog/localisation-vs-translation/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/localisation-vs-translation/</guid><description>Translating words is one step. Localisation also covers layout, plurals, dates, units, imagery and tone. A checklist for Arabic products.</description><category>Arabic &amp; RTL</category></item><item><title>Writing helpful error messages</title><link>https://mohammadabuaisheh.me/blog/writing-error-messages/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/writing-error-messages/</guid><description>A good error message says what happened and how to fix it, in plain words and without blame. Examples, patterns and accessibility basics.</description><category>UX writing</category></item><item><title>Writing clear button labels</title><link>https://mohammadabuaisheh.me/blog/button-labels/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/button-labels/</guid><description>Good button labels name the action: a verb plus an object. Patterns for specific, consistent, translation-friendly labels.</description><category>UX writing</category></item><item><title>User interviews: the basics</title><link>https://mohammadabuaisheh.me/blog/user-interviews-basics/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/user-interviews-basics/</guid><description>How to plan and run a user interview: set a goal, recruit the right people, ask open questions about past behaviour and listen more than you talk.</description><category>Research &amp; testing</category></item><item><title>Writing survey questions without bias</title><link>https://mohammadabuaisheh.me/blog/survey-bias/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/survey-bias/</guid><description>Biased wording quietly ruins survey data. Learn to spot leading, loaded and double-barrelled questions and to design clear, balanced answer options.</description><category>Research &amp; testing</category></item><item><title>Why five users can be enough</title><link>https://mohammadabuaisheh.me/blog/five-users-testing/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/five-users-testing/</guid><description>Nielsen’s well-known advice is often misread. Five users per round can reveal most problems, as long as you test in small rounds and fix between them.</description><category>Research &amp; testing</category></item><item><title>Card sorting for navigation and IA</title><link>https://mohammadabuaisheh.me/blog/card-sorting/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/card-sorting/</guid><description>Card sorting shows how people group and name content. Learn the main types, how to prepare cards and how to read results to shape navigation.</description><category>Research &amp; testing</category></item><item><title>Tree testing your navigation</title><link>https://mohammadabuaisheh.me/blog/tree-testing/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/tree-testing/</guid><description>Tree testing checks whether people can find items in a navigation hierarchy shown as plain text, without visual design getting in the way.</description><category>Research &amp; testing</category></item><item><title>Jobs to be done in plain terms</title><link>https://mohammadabuaisheh.me/blog/jobs-to-be-done/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/jobs-to-be-done/</guid><description>Jobs to be done frames needs as the progress a person wants in a situation. Learn to write job statements and use them to prioritise features.</description><category>Research &amp; testing</category></item><item><title>Affinity mapping research notes</title><link>https://mohammadabuaisheh.me/blog/affinity-mapping/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/affinity-mapping/</guid><description>Affinity mapping turns a pile of research notes into themes. Follow the steps, turn themes into How might we statements and avoid common pitfalls.</description><category>Research &amp; testing</category></item><item><title>Combining analytics and qualitative research</title><link>https://mohammadabuaisheh.me/blog/analytics-and-qualitative/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/analytics-and-qualitative/</guid><description>Analytics show what happens and how often; interviews and tests explain why. Learn to use both together, avoid vanity metrics and respect privacy.</description><category>Research &amp; testing</category></item><item><title>Prioritising with RICE and MoSCoW</title><link>https://mohammadabuaisheh.me/blog/prioritising-with-rice/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/prioritising-with-rice/</guid><description>RICE and MoSCoW help teams rank work with a shared method. See how scoring works, with an illustrative example, and where these tools mislead.</description><category>Process &amp; product</category></item><item><title>Running a useful design critique</title><link>https://mohammadabuaisheh.me/blog/running-a-design-critique/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/running-a-design-critique/</guid><description>A good critique improves the work toward its goals. Learn how to set goals, structure feedback, avoid solutioning and handle feedback well.</description><category>Process &amp; product</category></item><item><title>Building a type scale</title><link>https://mohammadabuaisheh.me/blog/type-scale/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/type-scale/</guid><description>A type scale gives every text size a reason. Learn how to pick a base size and a ratio, set line height, and make sizes responsive.</description><category>UI &amp; visual design</category></item><item><title>Setting up a spacing system</title><link>https://mohammadabuaisheh.me/blog/spacing-system/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/spacing-system/</guid><description>A spacing scale based on 4 or 8 points keeps rhythm consistent and handoff simple. Learn the tokens, proximity, and density options.</description><category>UI &amp; visual design</category></item><item><title>Colour tokens: primitive and semantic</title><link>https://mohammadabuaisheh.me/blog/colour-tokens/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/colour-tokens/</guid><description>Name colours by role, not by hue. Primitive and semantic tokens make states, dark mode and theming cheaper to build and maintain.</description><category>UI &amp; visual design</category></item><item><title>Layout grids: columns, gutters, margins</title><link>https://mohammadabuaisheh.me/blog/layout-grids/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/layout-grids/</guid><description>A grid brings order to layouts. Learn columns, gutters and margins, content-led breakpoints, comfortable line length and CSS grid basics.</description><category>UI &amp; visual design</category></item><item><title>Designing dark mode properly</title><link>https://mohammadabuaisheh.me/blog/designing-dark-mode/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/designing-dark-mode/</guid><description>Dark mode is not an inversion. Learn soft surfaces, off-white text, elevation by lightness, adjusted accents and how to honour user settings.</description><category>UI &amp; visual design</category></item><item><title>Designing useful empty states</title><link>https://mohammadabuaisheh.me/blog/empty-states/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/empty-states/</guid><description>An empty screen is a chance to guide people. Learn the four kinds of empty state, what each should say, and how to avoid dead ends.</description><category>UI &amp; visual design</category></item><item><title>Icon design principles</title><link>https://mohammadabuaisheh.me/blog/icon-design-principles/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/icon-design-principles/</guid><description>Icons save space but can confuse. Learn when to add labels, how to keep a consistent grid, and how to make icon buttons accessible.</description><category>UI &amp; visual design</category></item><item><title>Visual hierarchy basics</title><link>https://mohammadabuaisheh.me/blog/visual-hierarchy-basics/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/visual-hierarchy-basics/</guid><description>Visual hierarchy tells people what to look at first. Learn the five levers, the squint test and why removing beats adding emphasis.</description><category>UI &amp; visual design</category></item><item><title>Button hierarchy and states</title><link>https://mohammadabuaisheh.me/blog/button-hierarchy/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/button-hierarchy/</guid><description>Not every button deserves equal weight. Learn the four button levels, the six states, consistent sizing, and button versus link semantics.</description><category>UI &amp; visual design</category></item><item><title>Choosing image formats for the web</title><link>https://mohammadabuaisheh.me/blog/image-formats-for-the-web/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/image-formats-for-the-web/</guid><description>The right format and markup keep pages fast and stable. Learn when to use JPEG, PNG, WebP, AVIF and SVG, plus srcset, dimensions and lazy loading.</description><category>Web &amp; performance</category></item><item><title>Writing onboarding copy that gets people started</title><link>https://mohammadabuaisheh.me/blog/onboarding-copy/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/onboarding-copy/</guid><description>Onboarding copy should lead with the value, keep steps short, let people skip, and explain permissions in context. Measure it by the first real task.</description><category>UX writing</category></item><item><title>Confirmation dialogs that people can trust</title><link>https://mohammadabuaisheh.me/blog/confirmation-dialogs/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/confirmation-dialogs/</guid><description>Use a confirmation only when the action is risky, prefer undo when possible, and write a specific title, consequence and button labels instead of Yes or No.</description><category>UX writing</category></item><item><title>Voice and tone in product writing</title><link>https://mohammadabuaisheh.me/blog/tone-of-voice/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/tone-of-voice/</guid><description>Voice stays constant while tone adapts to context. Learn the four tone dimensions, write three voice principles, and keep Arabic and English consistent.</description><category>UX writing</category></item><item><title>Placeholders are not labels</title><link>https://mohammadabuaisheh.me/blog/placeholders-vs-labels/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/placeholders-vs-labels/</guid><description>Placeholder text disappears, is often low in contrast and is not a reliable accessible name. Use a persistent visible label with optional hint text.</description><category>UX writing</category></item><item><title>A design handoff checklist for developers</title><link>https://mohammadabuaisheh.me/blog/design-handoff-checklist/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/design-handoff-checklist/</guid><description>A good handoff covers every state, responsive behaviour, tokens, assets, motion, accessibility, content rules and edge cases, then a review of the built result.</description><category>Process &amp; product</category></item><item><title>Design system basics: where to start</title><link>https://mohammadabuaisheh.me/blog/design-system-basics/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/design-system-basics/</guid><description>A design system is tokens, components, patterns and documentation. Start with an audit, begin small, name things clearly, and measure adoption.</description><category>Process &amp; product</category></item><item><title>How to write a UX case study</title><link>https://mohammadabuaisheh.me/blog/writing-a-case-study/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/writing-a-case-study/</guid><description>A strong case study has a clear structure, separates your work from the team’s, is honest about gaps, never invents metrics, and respects a hiring manager’s time.</description><category>Process &amp; product</category></item><item><title>Loading web fonts without hurting performance</title><link>https://mohammadabuaisheh.me/blog/loading-fonts-well/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/loading-fonts-well/</guid><description>Use WOFF2, subset large fonts, preload only the critical one, choose font-display with care, and tune fallback metrics to reduce layout shift.</description><category>Web &amp; performance</category></item><item><title>A responsive design checklist</title><link>https://mohammadabuaisheh.me/blog/responsive-design-checklist/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/responsive-design-checklist/</guid><description>Build mobile-first, use fluid type and content-led breakpoints, keep touch targets usable, avoid horizontal scrolling, and test on real devices.</description><category>Web &amp; performance</category></item><item><title>Designing loading states</title><link>https://mohammadabuaisheh.me/blog/designing-loading-states/</link><guid isPermaLink="true">https://mohammadabuaisheh.me/blog/designing-loading-states/</guid><description>Match the loading pattern to the wait: know the three response-time limits, choose skeletons, spinners or progress bars, and announce changes accessibly.</description><category>Web &amp; performance</category></item></channel></rss>
