Droip Review: Why You Should Choose Droip Over Traditional WordPress Page Builders in 2025

Original Source: https://www.sitepoint.com/droip-review/?utm_source=rss

Traditional WordPress builders are outdated. See how Droip’s modern visual builder delivers true design freedom, clean code, and powerful features without the bloat.

Continue reading
Droip Review: Why You Should Choose Droip Over Traditional WordPress Page Builders in 2025
on SitePoint.

Tram Cream Coffee: A Journey in Branding & Packaging Design

Original Source: https://abduzeedo.com/tram-cream-coffee-journey-branding-packaging-design

Tram Cream Coffee: A Journey in Branding & Packaging Design

abduzeedo
06/29 — 2025

Explore how Bracom crafted Tram Cream Coffee’s branding and packaging design, blending Vietnamese heritage with modern design for a multi-location chain.

The design world is always moving. Think of busy “stations.” They inspired Tram Cream Coffee. This project, by Bracom, is more than just branding. It tells a story with every visual part. It asks us to pause and refresh.

Tram Cream Coffee gets its meaning from the idea of a “station”. This is a place for connection and rest. New ideas can start here. Bracom designed the brand and also told its story. They reimagined this idea with a fresh look. Their goal was to build a strong, emotional world for a coffee chain with many locations.

The Branding Hurdles

Bracom faced key challenges. First, they needed a meaningful brand story. This story had to connect emotionally. It also needed to build long-term brand love, especially for future growth. Second, they had to design a visual identity. It needed to be inspiring but also easy to use. It had to stand out but also be simple to copy across stores and products. Finally, they had to finish the whole branding process quickly. They could not sacrifice quality or future use.

A Creative Strategy: The “Station” Reimagined

The creative strategy changed the idea of a “station”. It became a mental pause, not just a physical stop. It’s a place for inspiration. Ideas can land, rest, and then fly again. This artistic vision became a two-part plan. It used visual symbols and emotional stories. The brand took ideas from transport buildings and Vietnamese coffee history. It also used modern graphic design. The brand mixes practical needs with feelings. It combines clear messages with warmth. Tram becomes a journey for creativity and connection. It invites people to stay, feel, and start new.

From Vision to Experience: Design Solutions

Logo Design: The logo looks like a station roof. It’s a simple but symbolic shape. Its clean, strong lines show reliability and safety. The upward movement suggests direction and purpose. This is where your journey starts.

Graphic System: Train tracks and signs are the main visual elements. They became modern patterns that show movement. These patterns appear on packaging, signs, and uniforms. This creates a clear and recognizable system. Station sign grids influenced the text layout. This gives the design a structured but active feel. It reminds you of signs in train stations.

Celebrating Vietnamese Heritage: The Vietnamese phin coffee filter is central to the brand. This well-known brewing tool became a fun mascot. It’s a walking phin with small eyes and running shoes. This shows the brand’s energetic spirit. The phin travels with Tram to every place. It brings both culture and coffee to everyone it meets.

Design Applications: Branding and Packaging Design Artifacts: Every item is like a mini-station. This includes product packaging, uniforms, hoodies, tote bags, and posters. They all tell a clear story. Examples are “Fuel your journey” and “Power up your day”. The main color is deep blue, showing intelligence and trust. Creamy beige adds softness and balance. These colors show both modern energy and Vietnamese comfort.

The careful use of design elements makes the brand experience memorable. Bracom created more than a brand; they built a heartfelt station for everyone to enjoy.

See more of Bracom’s work: https://www.behance.net/gallery/223947593/Tram-Cream-Coffee

Branding and visual identity artifacts

Stop Using Hero Images! They’re Killing Your UX

Original Source: https://webdesignerdepot.com/stop-using-hero-images-theyre-killing-your-ux/

Hero images are the web’s prettiest dead weight—slow, vague, and visually overused. It’s time to stop decorating your homepage and start saying something that actually matters.

Meet Accessible UX Research, A Brand-New Smashing Book

Original Source: https://smashingmagazine.com/2025/06/accessible-ux-research-pre-release/

UX research can take so much of the guesswork out of the design process! But it’s easy to forget just how different people are and how their needs and preferences can vary. We can’t predict the needs of every user, but we shouldn’t expect different people using the product in roughly the same way. That’s how we end up with an incomplete, inaccurate, or simply wrong picture of our customers.

There is no shortage of accessibility checklists and guidelines. But accessibility isn’t a checklist. It doesn’t happen by accident. It’s a dedicated effort to include and consider and understand different needs of different users to make sure everyone can use our products successfully. That’s why we’ve teamed up with Michele A. Williams on a shiny new book around just that.

Meet Accessible UX Research, your guide to making UX research more inclusive of participants with different needs — from planning and recruiting to facilitation, asking better questions, avoiding bias, and building trust. Pre-order the book.

About The Book

The book isn’t a checklist for you to complete as a part of your accessibility work. It’s a practical guide to inclusive UX research, from start to finish. If you’ve ever felt unsure how to include disabled participants, or worried about “getting it wrong,” this book is for you. You’ll get clear, practical strategies to make your research more inclusive, effective, and reliable.

Inside, you’ll learn how to:

Plan research that includes disabled participants from the start,
Recruit participants with disabilities,
Facilitate sessions that work for a range of access needs,
Ask better questions and avoid unintentionally biased research methods,
Build trust and confidence in your team around accessibility and inclusion.

The book also challenges common assumptions about disability and urges readers to rethink what inclusion really means in UX research and beyond. Let’s move beyond compliance and start doing research that reflects the full diversity of your users. Whether you’re in industry or academia, this book gives you the tools — and the mindset — to make it happen.

High-quality hardcover. Written by Dr. Michele A. Williams. Cover art by Espen Brunborg. Print shipping in August 2025. eBook available for download later this summer. Pre-order the book.

Contents

Disability mindset: For inclusive research to succeed, we must first confront our mindset about disability, typically influenced by ableism.
Diversity of disability: Accessibility is not solely about blind screen reader users; disability categories help us unpack and process the diversity of disabled users.
Disability in the stages of UX research: Disabled participants can and should be part of every research phase — formative, prototype, and summative.
Recruiting disabled participants: Recruiting disabled participants is not always easy, but that simply means we need to learn strategies on where to look.
Designing your research: While our goal is to influence accessible products, our research execution must also be accessible.
Facilitating an accessible study: Preparation and communication with your participants can ensure your study logistics run smoothly.
Analyzing and reporting with accuracy and impact: How you communicate your findings is just as important as gathering them in the first place — so prepare to be a storyteller, educator, and advocate.
Disability in the UX research field: Inclusion isn’t just for research participants, it’s important for our colleagues as well, as explained by blind UX Researcher Dr. Cynthia Bennett.

Who This Book Is For

Whether a UX professional who conducts research in industry or academia, or more broadly part of an engineering, product, or design function, you’ll want to read this book if…

You have been tasked to improve accessibility of your product, but need to know where to start to facilitate this successfully.
You want to establish a culture for accessibility in your company, but not sure how to make it work.
You want to move from WCAG/EAA compliance to established accessibility practices and inclusion in research practices and beyond.
You want to improve your overall accessibility knowledge and be viewed as an Accessibility Specialist for your organization.

About the Author

Dr. Michele A. Williams is owner of M.A.W. Consulting, LLC – Making Accessibility Work. Her 20+ years of experience include influencing top tech companies as a Senior User Experience (UX) Researcher and Accessibility Specialist and obtaining a PhD in Human-Centered Computing focused on accessibility. An international speaker, published academic author, and patented inventor, she is passionate about educating and advising on technology that does not exclude disabled users.

Testimonials
“Accessible UX Research stands as a vital and necessary resource. In addressing disability at the User Experience Research layer, it helps to set an equal and equitable tone for products and features that resonates through the rest of the creation process. The book provides a solid framework for all aspects of conducting research efforts, including not only process considerations, but also importantly the mindset required to approach the work.

This is the book I wish I had when I was first getting started with my accessibility journey. It is a gift, and I feel so fortunate that Michele has chosen to share it with us all.”

Eric Bailey, Accessibility Advocate

“User research in accessibility is non-negotiable for actually meeting users’ needs, and this book is a critical piece in the puzzle of actually doing and integrating that research into accessibility work day to day.”

Devon Pershing, Author of The Accessibility Operations Guidebook

“Our decisions as developers and designers are often based on recommendations, assumptions, and biases. Usually, this doesn’t work, because checking off lists or working solely from our own perspective can never truly represent the depth of human experience. Michele’s book provides you with the strategies you need to conduct UX research with diverse groups of people, challenge your assumptions, and create truly great products.”

Manuel Matuzović, Author of the Web Accessibility Cookbook

“This book is a vital resource on inclusive research. Michele Williams expertly breaks down key concepts, guiding readers through disability models, language, and etiquette. A strong focus on real-world application equips readers to conduct impactful, inclusive research sessions. By emphasizing diverse perspectives and proactive inclusion, the book makes a compelling case for accessibility as a core principle rather than an afterthought. It is a must-read for researchers, product-makers, and advocates!”

Anna E. Cook, Accessibility and Inclusive Design Specialist

Technical Details

ISBN: 978-3-910835-03-0 (print)
Quality hardcover, stitched binding, ribbon page marker.
Free worldwide airmail shipping from Germany starting in August 2025.
eBook available for download as PDF, ePUB, and Amazon Kindle later this summer.
Pre-order the book.

Community Matters ❤️

Producing a book takes quite a bit of time, and we couldn’t pull it off without the support of our wonderful community. A huge shout-out to Smashing Members for the kind, ongoing support. The eBook is and always will be free for Smashing Members as soon as it’s out. Plus, Members get a friendly discount when purchasing their printed copy. Just sayin’! 😉

More Smashing Books & Goodies

Promoting best practices and providing you with practical tips to master your daily coding and design challenges has always been (and will be) at the core of everything we do at Smashing.

In the past few years, we were very lucky to have worked together with some talented, caring people from the web community to publish their wealth of experience as printed books that stand the test of time. Addy, Heather, and Steven are three of these people. Have you checked out their books already?

Success at Scale

A deep dive into how production sites of different sizes tackle performance, accessibility, capabilities, and developer experience at scale.

Add to cart $44

Understanding Privacy

Everything you need to know to put your users first and make a better web.

Add to cart $44

Touch Design for Mobile Interfaces

Learn how touchscreen devices really work — and how people really use them.

Add to cart $44

Let's calm down about The Simpsons season finale

Original Source: https://www.creativebloq.com/entertainment/movies-tv-shows/lets-calm-down-about-the-simpsons-season-finale

The latest major character death may be different from the others.

Can Good UX Protect Older Users From Digital Scams?

Original Source: https://smashingmagazine.com/2025/06/can-good-ux-protect-older-users-digital-scams/

A few years ago, my mum, who is in her 80s and not tech-savvy, almost got scammed. She received an email from what appeared to be her bank. It looked convincing, with a professional logo, clean formatting, and no obvious typos. The message said there was a suspicious charge on her account and presented a link asking her to “verify immediately.”

She wasn’t sure what to do. So she called me.

That hesitation saved her. The email was fake, and if she’d clicked on the link, she would’ve landed on a counterfeit login page, handing over her password details without knowing it.

That incident shook me. I design digital experiences for a living. And yet, someone I love almost got caught simply because a bad actor knew how to design well. That raised a question I haven’t stopped thinking about since: Can good UX protect people from online scams?

Quite apart from this incident, I see my Mum struggle with most apps on her phone. For example, navigating around her WhatsApp and YouTube apps seems to be very awkward for her. She is not used to accessing the standard app navigation at the bottom of the screen. What’s “intuitive” for many users is simply not understood by older, non-tech users.

Brief Overview Of How Scams Are Evolving Online

Online scams are becoming increasingly sophisticated, leveraging advanced technologies like artificial intelligence and deepfake videos to create more convincing yet fraudulent content. Scammers are also exploiting new digital platforms, including social media and messaging apps, to reach victims more directly and personally.

Phishing schemes have become more targeted, often using personal information taken from social media to craft customised attacks. Additionally, scammers are using crypto schemes and fake investment opportunities to lure those seeking quick financial gains, making online scams more convincing, diverse, and harder to detect.

The Rise In Fraud Targeting Older, Less Tech-savvy Users

In 2021, there were more than 90,000 older victims of fraud, according to the FBI. These cases resulted in US$1.7 billion in losses, a 74% increase compared with 2020. Even so, that may be a significant undercount since embarrassment or lack of awareness keeps some victims from reporting.

In Australia, the ACCC’s 2023 “Targeting Scams” report revealed that Australians aged 65 and over were the only age group to experience an increase in scam losses compared to the previous year. Their losses rose by 13.3% to $120 million, often following contact with scammers on social media platforms.

In the UK, nearly three in five (61%) people aged over 65 have been the target of fraud or a scam. On average, older people who have been scammed have lost nearly £4,000 each.

According to global consumer protection agencies, people over 60 are more likely to lose money to online scams than any other group. That’s a glaring sign: we need to rethink how we’re designing experiences for them.

Older users are disproportionately targeted by scammers for several reasons:

They’re perceived as having more savings or assets.
They’re less likely to be digital natives, so they may not spot the red flags others do.
They tend to trust authority figures and brands, especially when messages appear “official.”

Scammers exploit trust. They impersonate banks, government agencies, health providers, and even family members. The one that scares me the most is the ability to use AI to mimic a loved one’s voice — anyone can be tricked by this.

Cognitive Load And Decision Fatigue In Older Users

Imagine navigating a confusing mobile app after a long day. Now imagine you’re in your 70s or 80s; your eyesight isn’t as sharp, your finger tapping isn’t as accurate, and every new screen feels like a puzzle.

As people age, they may experience slower processing speeds, reduced working memory, and lower tolerance for complexity. That means:

Multistep processes are harder to follow.
Unexpected changes in layout or behaviour can cause anxiety.
Vague language increases confusion.

Decision fatigue hits harder, too. If a user has already made five choices on an app, they may click the 6th button without fully understanding what it does, especially if it seems to be part of the flow.

Scammers rely on these factors. However, good UX can help to reduce it.

The Digital Literacy Gap And Common Pain Points

There’s a big difference between someone who grew up with the internet and someone who started using it in their 60s. Older users often struggle with:

Recognising safe vs. suspicious links;
Differentiating between ads and actual content;
Knowing how to verify sources;
Understanding terms like “multi-factor authentication” or “phishing”.

They may also be more likely to blame themselves when something goes wrong, leading to underreporting and repeat victimization.

Design can help to bridge some of that gap. But only if we build with their experience in mind.

The Role UX Designers Can Play In Preventing Harm

As UX designers, we focus on making things easy, intuitive, and accessible. But we can also shape how people understand risk.

Every choice, from wording to layout to colour, can affect how users interpret safety cues. When we design for the right cues, we help users avoid mistakes. When we get them wrong or ignore them altogether, we leave people vulnerable.

The good news? We have tools. We have influence. And in a world where digital scams are rising, we can use both to design for protection, not just productivity.

UX As The First Line Of Defence

The list below describes some UX design improvements that we can consider as designers:

1. Clear, Simple Design As A Defence Mechanism

Simple interfaces reduce user errors and scam risks.
Use linear flows, fewer input fields, and clear, consistent instructions.
Helps users feel confident and spot unusual activity.

2. Make Security Cues Obvious And Consistent

Users rely on visible indicators: padlocks, HTTPS, and verification badges.

Provide clear warnings for risky actions and unambiguous button labels.

3. Prioritize Clarity In Language

Use plain, direct language for critical actions (e.g., “Confirm $400 transfer”).
Avoid vague CTAs like “Continue” or playful labels like “Let’s go!”
Clear language reduces uncertainty, especially for older users.

4. Focus On Accessibility And Readability

Use minimum 16px fonts and high-contrast colour schemes.
Provide clear spacing and headings to improve scanning.
Accessibility benefits everyone, not just older users.

5. Use Friction To Protect, Not Hinder

Intentional friction (e.g., verification steps or warnings) can prevent mistakes.
Thoughtfully applied, it enhances safety without frustrating users.

6. Embed Contextual Education

Include just-in-time tips, tooltips, and passive alerts.
Help users understand risks within the flow, not after the fact.

What Can’t UX Fix?

Let’s be realistic: UX isn’t magic. We can’t stop phishing emails from landing in someone’s inbox. We can’t rewrite bad policies, and we can’t always prevent users from clicking on a well-disguised trap.

I personally think that even good UX may be limited in helping people like my mother, who will never be tech-savvy. To help those like her, ultimately, additional elements like support contact numbers, face-to-face courses on how to stay safe on your phone, and, of course, help from family members as required. These are all about human contact touch points, which can never be replaced by any kind of digital or AI support that may be available.

What we can do as designers is build systems that make hesitation feel natural. We can provide visual clarity, reduce ambiguity, and inject small moments of friction that nudge users to double-check before proceeding, especially in financial and banking apps and websites.

That hesitation might be the safeguard we need.

Other Key Tips To Help Seniors Avoid Online Scams
1. Be Skeptical Of Unsolicited Communications

Scammers often pose as trusted entities like banks, government agencies, or tech support to trick individuals into revealing personal information. Avoid clicking on links or downloading attachments from unknown sources, and never share personal details like your Medicare number, passwords, or banking information unless you’ve verified the request independently.

2. Use Strong, Unique Passwords And Enable Two-Factor Authentication

Create complex passwords that combine letters, numbers, and symbols, and avoid reusing passwords across different accounts. Whenever possible, enable two-factor authentication (2FA) to add an extra layer of security to your online accounts.

3. Stay Informed About Common Scams

Educate yourself on prevalent scams targeting seniors, such as phishing emails, romance scams, tech support fraud, and investment schemes. Regularly consult trusted resources like the NCOA and Age UK for updates on new scam tactics and prevention strategies.

4. Verify Before You Act

If you receive a request for money or personal information, especially if it’s urgent, take a moment to verify its legitimacy. Contact the organization directly using official contact information, not the details provided in the suspicious message. Be particularly cautious with unexpected requests from supposed family members or friends.

5. Report Suspected Scams Promptly

If you believe you’ve encountered a scam, report it to the appropriate authorities. Reporting helps protect others and contributes to broader efforts to combat fraud.

For more comprehensive information and resources, consider exploring the following:

National Council on Aging: 22 Tips for Seniors to Avoid Scams
Age UK: Avoiding Scams Information Guide
eSafety Commissioner: Online Scams for Seniors

Examples Of Good Alert/Warning UX In Banking Platforms

I recall my mother not recognising a transaction in her banking app, and she thought that money was being taken from her account. It turns out that it was a legitimate transaction made in a local cafe, but the head office was located in a suburb she was not familiar with, which caused her to think it was fraudulent.

This kind of scenario could easily be addressed with a feature I have seen in the ING banking app (International Netherlands Group). You tap on the transaction to view more information about your transaction.

ING bank: You can now select a transaction to get more information on the business.

ING Banking App: click on the transaction to view more details. (Source: ING Help Hub)

Banking apps like NAB (National Australia Bank) now interrupt suspicious transfers with messages like, “Have you spoken to this person on the phone? Scammers often pose as trusted contacts.” NAB said that December was the biggest month in 2024 for abandoned payments, with customers scrapping $26 million worth of payments after receiving a payment alert.

Macquarie Bank has introduced additional prompts for bank transactions to confirm the user’s approval of all transactions.

Monzo Bank has added three security elements to reduce online fraud for banking transactions:
Verified Locations: Sending or moving large amounts of money from locations that the account holder has marked as safe. This helps block fraudsters from accessing funds if they’re not near these trusted places.
Trusted Approvers: For large transactions, a trusted contact must give the green light. This adds protection if their phone is stolen or if they want to safeguard someone who may be more vulnerable.
Secure QR Codes: Account holders can generate a special QR code and keep it stored in a safe place. They scan it when needed to unlock extra layers of security.

Email platforms like Gmail highlight spoofed addresses or impersonation attempts with yellow banners and caution icons.

These interventions are not aimed at stopping users, but they can give them one last chance to rethink their transactions. That’s powerful.

Finally, here’s an example of clear UX cues that streamline the experience and guide users through their journey with greater confidence and clarity.

Conclusion

Added security features in banking apps, like the examples above, aren’t just about preventing fraud; they’re examples of thoughtful UX design. These features are built to feel natural, not burdensome, helping users stay safe without getting overwhelmed. As UX professionals, we have a responsibility to design with protection in mind, anticipating threats and creating experiences that guide users away from risky actions. Good UX in financial products isn’t just seamless; it’s about security by design.

And in a world where digital deception is on the rise, protection is usability. Designers have the power and the responsibility to make interfaces that support safer choices, especially for older users, whose lives and life savings may depend on a single click.

Let’s stop thinking of security as a backend concern or someone else’s job. Let’s design systems that are scam-resistant, age-inclusive, and intentionally clear. And don’t forget to reach out with the additional human touch to help your older family members.

When it comes down to it, good UX isn’t just helpful — it can be life-changing.

Hiding Secret Files in Images Using Steghide

Original Source: https://www.hongkiat.com/blog/hide-secret-files-in-images-using-steghide/

Ever wanted to hide sensitive information in plain sight? That’s exactly what steganography allows you to do. Unlike encryption, which makes data unreadable but obvious that something is hidden, steganography conceals the very existence of the secret data.

Steghide is a powerful Linux tool that lets you embed any file into an image with minimal visual changes to the original picture. This makes it perfect for securely transferring sensitive information or simply keeping private files hidden from casual observers, similar to how you might password protect folders on Mac for added security.

Steghide hide files in images

While there are many legitimate uses for this technology-like watermarking, protecting intellectual property, or secure communication-it’s important to use these techniques responsibly and legally.

Prerequisites

Before we begin hiding files in images, you’ll need:

A Linux system with Steghide installed (install it using sudo apt-get install steghide on Debian/Ubuntu). For Mac users, follow the installation instructions at steghide-osx. Windows users can download the Windows binary from the Steghide website.
A cover image – preferably a high-quality JPEG file with some visual complexity
A file to hide – this can be any type of file, though smaller files work better

For this tutorial, I’ll be using:

A random image from Unsplash as my cover image
A CSV file I randomly created as the file to hide

This setup mimics a realistic scenario where someone might want to securely transfer sensitive information without raising suspicion.

Step-by-Step Guide: Hiding Files

Follow these steps to hide your files in images:

1. Prepare Your Cover Image

First, you’ll need a suitable image to hide your data in. For this tutorial, I’m using a high-quality random image from Unsplash. The best cover images have:

High resolution and quality
Complex patterns or textures
JPEG format (though Steghide supports other formats too)

Steghide cover image example
2. Prepare the File to Hide

Next, you need the file you want to hide. In this example, I’m using a CSV file I randomly created containing sample data.

When opened, this CSV file shows rows of data that would be valuable to protect. In a real-world scenario, this could be any sensitive information you need to transfer securely.

Steghide CSV file example
3. Use Steghide to Embed the File

Now for the actual hiding process. Open your terminal and use the following Steghide command:

steghide embed -cf example.jpg -ef sample_data.csv

Let’s break down this command:

steghide embed – Tells Steghide we want to hide a file
-cf example.jpg – Specifies our cover file (the image)
-ef sample_data.csv – Specifies the file we want to embed

4. Set a Secure Passphrase

After running the command, Steghide will prompt you to enter a passphrase. This password will be required later to extract the hidden file, so make sure it’s something secure that you’ll remember.

For demonstration purposes, I used “password” as my passphrase, but in real-world scenarios, you should use a strong, unique password.

Once you’ve entered and confirmed your passphrase, Steghide will process the files and create a new image with your data hidden inside. The output file will be named according to your cover file (in this case, it created “example.jpg” with the hidden data).

Verifying the Steganography

After hiding your files, you’ll want to verify the process:

1. Visual Comparison

When comparing the original image with the modified one containing our hidden data, there should be no visible differences to the naked eye. If you quickly switch between the two images, they should appear identical.

This is the beauty of steganography – the changes made to accommodate the hidden data are so subtle that they’re practically invisible without specialized analysis tools.

2. File Size Considerations

One thing to note is that the modified image will typically have a slightly larger file size than the original. This increase depends on the size of the hidden file, but Steghide is quite efficient at minimizing this difference.

For sensitive operations, be aware that file size differences could potentially tip off very observant individuals that something has been modified.

Extracting Hidden Files

To retrieve your hidden files, follow these steps:

1. Using the Steghide Extract Command

To extract the hidden file, use the following command in your terminal:

steghide extract -sf example.jpg

Breaking down this command:

steghide extract – Tells Steghide we want to extract a hidden file
-sf example.jpg – Specifies the steganographic file (the image containing hidden data)

2. Entering the Passphrase

After running the command, Steghide will prompt you for the passphrase you set earlier. Enter it correctly, and Steghide will extract the hidden file to your current directory.

3. Verifying the Extracted File

Once extraction is complete, you should find your original file (in our case, the CSV file) in your directory. Open it to verify that all the data is intact and matches the original file you embedded.

In our example, we can confirm that all the fake social security numbers and credit card numbers from our original CSV file have been perfectly preserved in the extracted file.

Security Considerations

Keep these security aspects in mind:

Importance of Strong Passphrases

The security of your hidden data relies heavily on your passphrase. A weak passphrase like “password” (used in our demo) could be easily guessed, compromising your hidden data.

For real security needs, use a strong, unique passphrase that includes a mix of uppercase and lowercase letters, numbers, and special characters.

Limitations and Best Practices

While Steghide is a powerful tool, it’s important to understand its limitations:

File size ratio – The file you’re hiding should be significantly smaller than the cover image
Format limitations – Steghide works best with JPEG, BMP, WAV, and AU files
Steganalysis tools – Advanced forensic tools can sometimes detect steganography

For maximum security:

Consider encrypting your sensitive file before hiding it
Use high-quality, complex images as your cover files
Avoid reusing the same cover image multiple times
Be mindful of metadata in your files

Conclusion

Steghide offers a fascinating and practical way to hide sensitive information within ordinary-looking image files. By following the steps in this tutorial, you can securely embed any file into an image and later extract it with the correct passphrase.

This technique provides an additional layer of security beyond encryption alone, as it conceals the very existence of the secret data. While someone might demand you decrypt an encrypted file, they won’t even know to ask about data hidden through steganography.

Remember to use this technology responsibly and legally. Steganography has legitimate uses in privacy protection, secure communication, and digital watermarking, but like any powerful tool, it should be used ethically.

The post Hiding Secret Files in Images Using Steghide appeared first on Hongkiat.

Designer Spotlight: Bimo Tri

Original Source: https://tympanus.net/codrops/2025/06/26/designer-spotlight-bimo-tri/

Meet multidisciplinary designer and creative developer, Bimo Tri who crafts expressive digital experiences that merge culture, storytelling, and motion-driven design.

Dear Loading Spinner, We Need to Talk

Original Source: https://webdesignerdepot.com/dear-loading-spinner-we-need-to-talk/

Tired of watching the loading spinner do its little dance of despair? This brutally honest breakup letter to everyone’s least favorite UI element calls out the lies, the stalling, and the silent screams behind every infinite loop. If you’ve ever stared at a spinning circle and questioned your life choices, this one’s for you.

Decoding The SVG <code>path</code> Element: Curve And Arc Commands

Original Source: https://smashingmagazine.com/2025/06/decoding-svg-path-element-curve-arc-commands/

In the first part of decoding the SVG path pair, we mostly dealt with converting things from semantic tags (line, polyline, polygon) into the path command syntax, but the path element didn’t really offer us any new shape options. This will change in this article as we’re learning how to draw curves and arcs, which just refer to parts of an ellipse.

TL;DR On Previous Articles

If this is your first meeting with this series, I recommend you familiarize yourself with the basics of hand-coding SVG, as well as how the <marker> works and have a basic understanding of animate, as this guide doesn’t explain them. I also recommend knowing about the M/m command within the <path> d attribute (I wrote the aforementioned article on path line commands to help).

Note: This article will solely focus on the syntax of curve and arc commands and not offer an introduction to path as an element.

Before we get started, I want to do a quick recap of how I code SVG, which is by using JavaScript. I don’t like dealing with numbers and math, and reading SVG code that has numbers filled into every attribute makes me lose all understanding of it. By giving coordinates names and having all my math easy to parse and all written out, I have a much better time with this type of code, and I think you will, too.

As the goal of this article is about understanding path syntax and not about doing placement or how to leverage loops and other more basic things, I will not run you through the entire setup of each example. I’ll share some snippets of the code, but please note that it may be slightly adjusted from the CodePen or simplified to make the article easier to read. However, if there are specific questions about code not part of the text that’s in the CodePen demos — the comment section is open, as always.

To keep this all framework-agnostic, the code is written in vanilla JavaScript, though, in practice, TypeScript comes highly recommended when dealing with complex images.

Drawing Bézier Curves

Being able to draw lines, polygons, polylines, and compounded versions of them is all fun and nice, but path can also do more than just offer more cryptic implementations of basic semantic SVG tags.

One of those additional types is Bézier curves.

There are multiple different curve commands. And this is where the idea of points and control points comes in.

Bézier math plotting is out of scope for this article.
But, there is a visually gorgeous video by Freya Holmér called The Beauty of Bézier Curves which gets into the construction of cubic and quadratic bézier curves that features beautiful animation and the math becomes a lot easier to digest.

Luckily, SVG allows us to draw quadratic curves with one control point and cubic curves with two control points without having to do any additional math.

So, what is a control point? A control point is the position of the handle that controls the curve. It is not a point that is drawn.

I found the best way to understand these path commands is to render them like a GUI, like Affinity and Illustrator would. Then, draw the “handles” and draw a few random curves with different properties, and see how they affect the curve. Seeing that animation also really helps to see the mechanics of these commands.

This is what I’ll be using markers and animation for in the following visuals. You will notice that the markers I use are rectangles and circles, and since they are connected to lines, I can make use of marker and then save myself a lot of animation time because these additional elements are rigged to the system. (And animating a single d command instead of x and y attributes separately makes the SVG code also much shorter.)

Quadratic Bézier Curves: Q & T Commands

The Q command is used to draw quadratic béziers. It takes two arguments: the control point and the end point.

So, for a simple curve, we would start with M to move to the start point, then Q to draw the curve.

const path = M${start.x} ${start.y} Q${control.x} ${control.y} ${end.x} ${end.y};

Since we have the Control Point, the Start Point, and the End Point, it’s actually quite simple to render the singular handle path like a graphics program would.

Funny enough, you probably have never interacted with a quadratic Bézier curve like with a cubic one in most common GUIs! Most of the common programs will convert this curve to a cubic curve with two handles and control points as soon as you want to play with it.

For the drawing, I created a couple of markers, and I’m drawing the handle in red to make it stand out a bit better.

I also stroked the main path with a gradient and gave it a crosshatch pattern fill. (We looked at pattern in my first article, linearGradient is fairly similar. They’re both def elements you can refer to via id.) I like seeing the fill, but if you find it distracting, you can modify the variable for it.

I encourage you to look at the example with and without the rendering of the handle to see some of the nuance that happens around the points as the control points get closer to them.

See the Pen SVG Path Quadratic Bézier Curve Visual [forked] by Myriam.

Quadratic Béziers are the “less-bendy” ones.
These curves always remain somewhat related to “u” or “n” shapes and can’t be manipulated to be contorted. They can be squished, though.

Connected Bézier curves are called “Splines”. And there is an additional command when chaining multiple quadratic curves, which is the T command.

The T command is used to draw a curve that is connected to the previous curve, so it always has to follow a Q command (or another T command). It only takes one argument, which is the endpoint of the curve.

const path = M${p1.x} ${p1.y} Q${cP.x} ${cP.y} ${p2.x} ${p2.y} T${p3.x} ${p3.y}

The T command will actually use information about our control Point cP within the Q command.

To see how I created the following example. Notice that the inferred handles are drawn in green, while our specified controls are still rendered in red.

See the Pen SVG Path Quadratic Curve T Command [forked] by Myriam.

OK, so the top curve takes two Q commands, which means, in total, there are three control points. Using a separate control point to create the scallop makes sense, but the third control point is just a reflection of the second control point through the preceding point.

This is what the T command does. It infers control points by reflecting them through the end point of the preceding Q (or T) command. You can see how the system all links up in the animation below, where all I’ve manipulated is the position of the main points and the first control points. The inferred control points follow along.

See the Pen SVG Path Quadratic Bézier Spline T Command Visual [forked] by Myriam.

The q and t commands also exist, so they will use relative coordinates.

Before I go on, if you do want to interact with a cubic curve, SVG Path Editor allows you to edit all path commands very nicely.

Cubic Bézier Curves: C And S

Cubic Bézier curves work basically like quadratic ones, but instead of having one control point, they have two. This is probably the curve you are most familiar with.

The order is that you start with the first control point, then the second, and then the end point.

const path = M${p1.x} ${p1.y} C${cP1.x} ${cP1.y} ${cP2.x} ${cP2.y} ${p2.x} ${p2.y};

Let’s look at a visual to see it in action.

See the Pen SVG Path Cubic Bézier Curve Animation [forked] by Myriam.

Cubic Bézier curves are contortionists.
Unlike the quadratic curve, this one can curl up and form loops and take on completely different shapes than any other SVG element. It can split the filled area into two parts, while the quadratic curve can not.

Just like with the T command, a reflecting command is available for cubic curves S.

When using it, we get the first control point through the reflection, while we can define the new end control point and then the end point. Like before, this requires a spline, so at least one preceding C (or S) command.

const path = `
M ${p0.x} ${p0.y}
C ${c0.x} ${c0.y} ${c1.x} ${c1.y} ${p1.x} ${p1.y}
S ${c2.x} ${c2.y} ${p2.x} ${p2.y}
`;

I created a living visual for that as well.

See the Pen SVG Path Cubic Bézier Spline S Command Visual [forked] by Myriam.

When to use T and S:
The big advantage of using these chaining reflecting commands is if you want to draw waves or just absolutely ensure that your spline connection is smooth.

If you can’t use a reflection but want to have a nice, smooth connection, make sure your control points form a straight line. If you have a kink in the handles, your spline will get one, too.

Arcs: A Command

Finally, the last type of path command is to create arcs. Arcs are sections of circles or ellipses.

It’s my least favorite command because there are so many elements to it. But it is the secret to drawing a proper donut chart, so I have a bit of time spent with it under my belt.

Let’s look at it.

Like with any other path command, lowercase implies relative coordinates. So, just as there is an A command, there’s also an a.

So, an arc path looks like this:

const path = M${start.x} ${start.y} A${radius.x} ${radius.y} ${xAxisRotation} ${largeArcFlag} ${sweepFlag} ${end.x} ${end.y};

And what the heck are xAxisRotation, largeArcFlag, and sweepFlag supposed to be? In short:

xAxisRotation is the rotation of the underlying ellipse’s axes in degrees.
largeArcFlag is a boolean value that determines if the arc is greater than 180°.
sweepFlag is also a boolean and determines the arc direction, so does it go clockwise or counter-clockwise?

To better understand these concepts, I created this visual.

See the Pen SVG Path Arc Command Visuals [forked] by Myriam.

Radius Size

You’ll notice in that CodePen that there are ellipses drawn for each command. In the top row, they are overlapping, while in the bottom row, they are stacked up. Both rows actually use the same radius.x and radius.y values in their arc definitions, while the distance between the start and end points increases for the second row.

The reason why the stacking happens is that the radius size is only taken into consideration if the start and end points fit within the specified ellipse. That behavior surprised me, and thus, I dug into the specs and found the following information on how the arc works:

“Arbitrary numerical values are permitted for all elliptical arc parameters (other than the boolean flags), but user agents must make the following adjustments for invalid values when rendering curves or calculating their geometry:

If the endpoint (x, y) of the segment is identical to the current point (e.g., the endpoint of the previous segment), then this is equivalent to omitting the elliptical arc segment entirely.

If either rx or ry is 0, then this arc is treated as a straight line segment (a “lineto”) joining the endpoints.

If either rx or ry have negative signs, these are dropped; the absolute value is used instead.

If rx, ry and x-axis-rotation are such that there is no solution (basically, the ellipse is not big enough to reach from the current point to the new endpoint) then the ellipse is scaled up uniformly until there is exactly one solution (until the ellipse is just big enough).

See the appendix section Correction of out-of-range radii for the mathematical formula for this scaling operation.”

— 9.5.1 Out-of-range elliptical arc parameters

So, really, that stacking is just nice and graceful error-handling and not how it was intended. Because the top row is how arcs should be used.

When plugging in logical values, the underlying ellipses and the two points give us four drawing options for how we could connect the two points along an elliptical path. That’s what the boolean values are for.

xAxisRotation

Before we get to the booleans, the crosshatch pattern shows the xAxisrotation. The ellipse is rotated around its center, with the degree value being in relation to the x-direction of the SVG.

So, if you work with a circular ellipse, the rotation won’t have any effect on the arc (except if you use it in a pattern like I did there).

Sweep Flag

Notice the little arrow marker to show the arc drawing direction. If the value is 0, the arc is drawn clockwise. If the value is 1, the arc is drawn counterclockwise.

Large Arc Flag

The large Arc Flag tells the path if you want the smaller or the larger arc from the ellipse. If we have a scaled case, we get exactly 180° of our ellipse.

Arcs usually require a lot more annoying circular number-wrangling than I am happy doing (As soon as radians come to play, I tend to spiral into rabbit holes where I have to relearn too much math I happily forget.)

They are more reliant on values being related to each other for the outcome to be as expected and there’s just so much information going in.

But — and that’s a bit but — arcs are wonderfully powerful!

Conclusion

Alright, that was a lot! However, I do hope that you are starting to see how path commands can be helpful. I find them extremely useful to illustrate data.

Once you know how easy it is to set up stuff like grids, boxes, and curves, it doesn’t take many more steps to create visualizations that are a bit more unique than what the standard data visualization libraries offer.

With everything you’ve learned in this series of articles, you’re basically fully equipped to render all different types of charts — or other types of visualizations.

Like, how about visualizing the underlying cubic-bezier of something like transition-timing-function: ease; in CSS? That’s the thing I made to figure out how I could turn those transition-timing-functions into something an <animate> tag understands.

See the Pen CSS Cubic Beziers as SVG Animations & CSS Transition Comparisons [forked] by Myriam.

SVG is fun and quirky, and the path element may be the holder of the most overwhelming string of symbols you’ve ever laid eyes on during code inspection. However, if you take the time to understand the underlying logic, it all transforms into one beautifully simple and extremely powerful syntax.

I hope with this pair of path decoding articles, I managed to expose the underlying mechanics of how path plots work. If you want even more resources that don’t require you to dive through specs, try the MDN tutorial about paths. It’s short and compact, and was the main resource for me to learn all of this.

However, since I wrote my deep dive on the topic, I stumbled into the beautiful svg-tutorial.com, which does a wonderful job visualizing SVG coding as a whole but mostly features my favorite arc visual of them all in the Arc Editor. And if you have a path that you’d like properly decoded without having to store all of the information in these two articles, there’s SVG Path Visualizer, which breaks down path information super nicely.

And now: Go forth and have fun playing in the matrix.