Archive

Archive for July, 2022

Memories Of August (2022 Desktop Wallpapers Edition)

July 31st, 2022 No comments

Everybody loves a beautiful wallpaper to freshen up their desktops and home screens, right? To cater for new and unique artworks on a regular basis, we started our monthly wallpapers challenge more than eleven years ago, and from the very beginning to today, artists and designers from across the globe have accepted the challenge and submitted their designs to it. Just like this month.

In this post, you’ll find their wallpapers for August 2022. All of them come in versions with and without a calendar, so no matter if you need to count down the days to a big deadline (or a few days off, maybe?) or plan to use your favorite wallpaper even after the month has ended, we’ve got you covered. A big thank-you to everyone who shared their designs with us — we sincerely appreciate it!

As a little bonus goodie, we also added some “oldies but goodies” at the end of this post, timeless wallpaper treasures that we rediscovered way down in our archives and that are just too good to be forgotten. Now there’s only one question left to be answered: Which one to choose? Happy August!

  • You can click on every image to see a larger preview,
  • We respect and carefully consider the ideas and motivation behind each and every artist’s work. This is why we give all artists the full freedom to explore their creativity and express emotions and experience through their works. This is also why the themes of the wallpapers weren’t anyhow influenced by us but rather designed from scratch by the artists themselves.
  • Submit a wallpaper!
    Did you know that you could get featured in our next wallpapers post, too? We are always looking for creative talent.

Swimming In The Summer

“It’s the perfect evening and the water is so warm! Can you feel it? You move your legs just a little bit and you feel the water bubbles dancing around you! It’s just you in there, floating in the clean lake and small sparkly lights shining above you! It’s a wonderful feeling, isn’t it?” — Designed by Creative Pinky from the Netherlands.

Vacation Vibes

“Is the time crawling by you’re eagerly awaiting your vacation? Or you’re back in the office, reminiscing the sweet feeling of freedom? Never mind, because our desktop calendar is here to bring a vacation vibe to your life throughout the entire August.” — Designed by PopArt Studio from Serbia.

Subtle August Chamomiles

“Our designers wanted to create something summery, but not very colorful, something more subtle. The first thing that came to mind was chamomile because there are a lot of them in Ukraine and their smell is associated with a summer field. If you look for something colorful and juicy, you will find suitable options in our listicle.” — Designed by MasterBundles from Ukraine.

It’s Vacation O’Clock!

“It’s vacation o’clock! Or is it? While we bend our backs in front of a screen, it’s hard not to think about sandy beaches, flipping the pages of a corny book under the umbrella while waves splash continuously. Summer days! So hard to bear them in the city, so pleasant when you’re living the dolce far niente.” — Designed by ActiveCollab from the United States.

Freak Show Vol. 1

Designed by Ricardo Gimenes from Sweden.

Freak Show Vol. 2

Designed by Ricardo Gimenes from Sweden.

Ice Cream, All day, Everyday

“We like our ice cream at Mad Fish Digital so why not create a wallpaper for it?” — Designed by Suu Ng from Portland, OR.

Climbing The Beanstalk

“In August, we accompany Jack through the Beanstalk on surprising adventures. You sign up?” — Designed by Veronica Valenzuela from Spain.

Oldies But Goodies

Childhood memories, camping under the stars, or a simple pencil and a piece of paper — a lot of things have inspired the design community to create an August wallpaper in the past few years. Here are some favorites from our archives. (Please note that these designs don’t come with a calendar.)

Happiness Happens In August

“Many people find August one of the happiest months of the year because of holidays. You can spend days sunbathing, swimming, birdwatching, listening to their joyful chirping, and indulging in sheer summer bliss. August 8th is also known as the Happiness Happens Day, so make it worthwhile.” — Designed by PopArt Studio from Serbia.

Bee Happy!

“August means that fall is just around the corner, so I designed this wallpaper to remind everyone to ‘bee happy’ even though summer is almost over. Sweeter things are ahead!” — Designed by Emily Haines from the United States.

Launch

“The warm, clear summer nights make me notice the stars more — that’s what inspired this space-themed design!” — Designed by James Mitchell from the United Kingdom.

Colorful Summer

“‘Always keep mint on your windowsill in August, to ensure that the buzzing flies will stay outside where they belong. Don’t think summer is over, even when roses droop and turn brown and the stars shift position in the sky. Never presume August is a safe or reliable time of the year.’ (Alice Hoffman)” — Designed by Lívi from Hungary.

Cowabunga

Designed by Ricardo Gimenes from Sweden.

Hello Again

“In Melbourne it is the last month of quite a cool winter so we are looking forward to some warmer days to come.” — Designed by Tazi from Australia.

Melon Day

“Melon Day (second Sunday in August) is an annual national holiday in Turkmenistan devoted to festivities to celebrate the country’s muskmelon. Another reason for me to create this wallpaper is that melons are just awesome!” — Designed by Melissa Bogemans from Belgium.

Smoky Mountain Bigfoot Conference

“Headed towards Smoky Mountain Bigfoot Conference this summer? Oh, they say it’s gonna be a big one! Get yourself out there well-prepared, armed with patience and ready to have loads of fun with fellow Bigfoot researchers. Looking forward to those campsite nights under the starry sky, with electrifying energy of expectations filling up the air? Lucky you!” — Designed by Pop Art Studio from Serbia.

Childhood Memories

Designed by Francesco Paratici from Australia.

About Everything

“I know what you’ll do this August. 🙂 Because August is about holiday. It’s about exploring, hiking, biking, swimming, partying, feeling and laughing. August is about making awesome memories and enjoying the summer. August is about everything. An amazing August to all of you!” — Designed by Ioana Bitin from Bucharest, Romania.

Shrimp Party

“A nice summer shrimp party!” — Designed by Pedro Rolo from Portugal.

A Bloom Of Jellyfish

“I love going to aquariums — the colours, patterns and array of blue hues attract the nature lover in me while still appeasing my design eye. One of the highlights is always the jellyfish tanks. They usually have some kind of light show in them, which makes the jellyfish fade from an intense magenta to a deep purple — and it literally tickles me pink. On a recent trip to uShaka Marine World, we discovered that the collective noun for jellyfish is a bloom and, well, it was love-at-first-collective-noun all over again. I’ve used some intense colours to warm up your desktop and hopefully transport you into the depths of your own aquarium.” — Designed by Wonderland Collective from South Africa.

Handwritten August

“I love typograhy handwritten style.” — Designed by Chalermkiat Oncharoen from Thailand.

Live In The Moment

“My dog Sami inspired me for this one. He lives in the moment and enjoys every second with a big smile on his face. I wish we could learn to enjoy life like he does! Happy August everyone!” — Designed by Westie Vibes from Portugal.

Unforgettable Summer Night

Designed by BootstrapDash from India.

Chill Out

“Summer is in full swing and Chicago is feeling the heat! Take some time to chill out!” — Designed by Denise Johnson from Chicago.

Treat Yourself

“It’s still winter in my part of Australia so warm coffee and donuts by the open fire is a treat. For warmer climates an outdoor picnic in the park with coffee and donuts sounds fun, too!” — Designed by Glynnis Owen from Australia.

Psst, It’s Camping Time…

“August is one of my favorite months, when the nights are long and deep and crackling fire makes you think of many things at once and nothing at all at the same time. It’s about heat and cold which allow you to touch the eternity for a few moments.” — Designed by Igor Izhik from Canada.

Coffee Break Time

Designed by Ricardo Gimenes from Sweden.

Heatstroke

“Even the sun gets a heatstroke in August!” — Designed by Luc Versleijen from the Netherlands.

A Midnight Summer Dream

“It’s not Shakespeare, it’s Monk, staring at the stars in a warm summer midnight. Just relax…” — Designed by Monk Software from Italy.

Falling Stars

“In August the stars are ‘falling’. The more falling stars you see, the more wishes will come true!” — Designed by Olga Bukhalova from Italy.

Categories: Others Tags:

Scroll Shadows? Pure CSS Parallax? Game Back On.

July 29th, 2022 No comments

Chris calls scroll shadows one his favorite CSS-Tricks of all time. Lea Verou popularized the pure CSS approach using four layered background gradients with some clever background-attachment magic. The result is a slick scrolling interaction that gives users a hint that additional content is available in a scrollable container.

CodePen Embed Fallback

Just one problem: it broke in Safari iOS 13. One day it was all good. The next, not so much. And that wasn’t the only thing affected. Keith Clark’s CSS-only parallax effect also stopped working right about then.

Well, reader Ronald wrote in to say that all is working once again! In fact, I’m writing this on my iPad (Safari 15.5) right now and Chris’s demo is looking sharp as ever. So is Keith’s original demo.

So, what broke it? We still don’t know. But the Safari 13 release notes offer clues:

  • Added support for one-finger accelerated scrolling to all frames and overflow:scroll elements eliminating the need to set-webkit-overflow-scrolling: touch.
  • Changed the default behavior on iPad for wide web pages with responsive meta-tags that require horizontal scrolling. Pages are scaled to prevent horizontal scrolling and any text is resized to preserve legibility.

When was it fixed and what fixed it? Well, on the scroll shadow side, the Safari 15.4 included some work on background-attachment: local that may have done the trick. On the parallax side, Safari 14.1 added support for individual transform properties… so maybe that?


Scroll Shadows? Pure CSS Parallax? Game Back On. originally published on CSS-Tricks. You should get the newsletter.

Categories: Designing, Others Tags:

Testable Frontend: The Good, The Bad And The Flaky

July 28th, 2022 No comments

I often come across front-end developers, managers, and teams facing a repeating and legitimately difficult dilemma: how to organize their testing between unit, integration, and E2E testing and how to test their UI components.

Unit tests often seem not to catch the “interesting” things happening to users and systems, and E2E tests usually take a long time to run or require a messy configuration. In addition to that, there are so many tools around (JEST, Cypress, Playwright, and so on). How does one make sense of it all?

Note: This article uses React for examples and semantics, but some of the values apply to any UI development paradigm.

Why Is Testing Front-end Difficult?

We don’t tend to author our front-end as a system but rather as a bunch of components and functions that make up the user-interface stories. With component code mainly living in JavaScript or JSX, rather than separating between HTML, JS, and CSS, it’s also more tempting than ever to mix view code and business-logic code. When I say “we,” I mean almost every web project I encountered as a developer or consultant.

When we come around to test this code, we often start from something like the React Testing Library which renders React components and tests the result, or we faff about with configuring Cypress to work nicely with our project and many times end up with a misconfiguration or give up.

When we talk with managers about the time required to set up the front-end testing system, neither they nor we know exactly what it entails and whether our efforts there would bear fruit, and how whatever we build would be valuable to the quality of the final product and the velocity of building it.

Tools And Processes

It gets worse if we have some sort of a “mandatory TDD” (test-driven development) process in the team, or even worse, a code-coverage gate where you have to have X% of your code covered by tests. We finish the day as a front-end developer, fix a bug by fixing a few lines sprinkled across several React components, custom hooks, and Redux reducers, and then we need to come up with a “TDD” test to “cover” what we did.

Of course, this is not TDD; in TDD, we would have written a failing test first. But in most front-end systems I’ve encountered, there is no infrastructure to do something like that, and the request to write a failing test first while trying to fix a critical bug is often unrealistic.

Coverage tools and mandatory unit tests are a symptom of our industry being obsessed with specific tools and processes. “What is your testing strategy?” is often answered by “We use TDD and Cypress” or “we mock things with MSW,” or “we use Jest with React Testing Library.”

Some companies with separate QA/testing organizations do try to create something that looks more like a test plan. Still, those often reach a different problem, where it’s hard to author the tests together with development.

Tools like Jest, Cypress and Playwright are great, code coverage has its place, and TDD is a crucial practice for maintaining code quality. But too often, they replace architecture: a good plan of interfaces, good function signatures between units, a clear API for a system, and a clear UI definition of the product — a good-old separation of concerns. A process is not architecture.

The Bad

To respect our organization’s process, like the mandatory testing rule or some code-coverage gate in CI, we use Jest or whatever tool we have at hand, mock everything around the parts of the codebase we’ve changed, and add one or more “unit” tests that verify that it now gives the “correct” result.

The problem with it, apart from the test being difficult to write, is that we’ve now created a de-facto contract. We’re not only verifying that a function gives some set of expected results, but we’re also verifying that this function has the signature the test expects and uses the environment in the same way our mocks simulate. If we ever want to refactor that function signature or how it uses the environment, the test will become dead weight, a contract we don’t intend to keep. It might fail even though the feature works, and it might succeed because we changed something internal, and the simulated environment doesn’t match the real environment anymore.

If you’re writing tests like this, please stop. You’re wasting time and making the quality and velocity of your product worse.

It’s better to not have auto-tests at all than to have tests that create fantasy worlds of unspecified simulated environments and rely on internal function signatures and internal environment states.

Contracts

A good way to understand if a test is good or bad is to write its contract in plain English (or in your native language). The contract needs to represent not just the test but also the assumptions about the environment. For example, “Given the username U and password Y, this login function should return OK.” A contract is usually a state and an expectation. The above is a good contract; the expectations and the state are clear. For companies with transparent testing practices, this is not news.

It gets worse when the contract becomes muddied with implementation detail: “Given an environment where this useState hook currently holds the value 14 and the Redux store holds an array called userCache with three users, the login function should…”.

This contract is highly specific to implementation choices, which makes it very brittle. Keep contracts stable, change them when there is a business requirement, and let implementations be flexible. Make sure the things you rely on from the environment are sturdy and well-defined.

The Flaky

When separation of concerns is missing, our systems don’t have a clear API between them, and we lack functions with a clear signature and expectation, we end up with E2E as the only way to test features or regressions. This is not bad as E2E tests run the whole system and ensure that a particular story that’s close to the user works as expected.

The problem with E2E tests is that their scope is very wide. By testing a whole user journey, the environment usually needs to be set up from scratch by authenticating, going through the entire process of finding the right spot where the new feature lives or regression occurred, and then running the test case.

Because of the nature of E2E, each of these steps might incur unpredictable delays as it relies on many systems, any of which could be down or laggy at the time the CI run, as well as on careful crafting of “selectors” (how to programmatically mimic what the user is doing). Some bigger teams have systems in place for root-cause analysis to do this, and there are solutions like testim.io that address this problem. However, this is not an easy problem to solve.

Often a bug is in a function or system, and running the whole product to get there tests too much. New code changes might show regressions in unrelated user journey paths because of some failure in the environment.

E2E tests definitely have their place in the overall blend of tests and are valuable in finding issues that are not specific to a subsystem. However, relying too much on them is an indication that perhaps the separation of concerns and API barriers between the different systems is not defined well enough.

The Good

Since unit-testing is limited or relies on a heavily-mocked environment, and E2E tests tend to be costly and flaky, integration tests often supply a good middle ground. With UI integration tests, our whole system runs in isolation from other systems, which can be mocked, but the system itself is running without modification.

When testing the front-end, it means running the whole front-end as a system and simulating the other systems/”backends” it relies on to avoid flakiness and downtimes unrelated to your system.

If the front-end system gets too complicated, also consider porting some of the logic code to subsystems and define a clear API for these subsystems.

Strike A Balance

Separating code into subsystems is not always the right choice. If you find yourself updating both the subsystem and the front-end for every change, the separation may become unhelpful overhead.

Separate UI logic to subsystems when the contract between them can make them somewhat autonomous. This is also where I would be careful with micro-frontends as they are sometimes the right approach, but they focus on the solution rather than on understanding your particular problem.

Testing UI Components: Divide And Conquer

The difficulty in testing UI components is a special case of the general difficulty in testing. The main issue with UI components is that their API and environments are often not properly defined. In the React world, components have some set of dependencies; some are “props,” and some are hooks (e.g., context or Redux). Components outside the React world often rely on globals instead, which is a different version of the same thing. When looking at the common React component code, the strategy of how to test it can be confusing.

Some of this is inescapable as UI testing is hard. But by dividing the problem in the following ways, we reduce it substantially.

Separate UI From Logic

The main thing that makes testing component code easier is having less of it. Look at your component code and ask, does this part actually need to be connected to the document in any way? Or is it a separate unit/system that can be tested in isolation?

The more code you have as plain JavaScript “logic,” agnostic to a framework and unaware that it’s used by the UI, the less code you need to test in confusing, flaky, or costly ways. Also, this code is more portable and can be moved into a worker or to the server, and your UI code is more portable across frameworks because there is less of it.

Separate UI Building Blocks From App Widgets

The other thing that makes UI code difficult to test is that components are very different from each other. For example, your app can have a “TheAppDashboard” component, which contains all the specifics of your app’s dashboard, and a “DatePicker” component, which is a general-purpose reusable widget that appears in many places throughout your app.

DatePicker is a UI building block, something that can be composed into the UI in multiple situations but doesn’t require a lot from the environment. It is not specific to the data of your own app.

TheAppDashboard, on the other hand, is an app widget. It probably doesn’t get re-used a lot throughout the application; perhaps it appears only once. So, it doesn’t require many parameters, but it does require a lot of information from the environment, such as data related to the purpose of the app.

Testing UI Building Blocks

UI building blocks should, as much as possible, be parametric (or “prop-based” in React). They shouldn’t draw too much from the context (global, Redux, useContext), so they also should not require a lot in terms of per-component environment setup.

A sensible way to test parametric UI building blocks is to set up an environment once (e.g., a browser, plus whatever else they need from the environment) and run multiple tests without resetting the environment.

A good example for a project that does this is the Web Platform Tests — a comprehensive set of tests used by the browser vendors to test interoperability. In many cases, the browser and the test server are set up once, and the tests can re-use them rather than have to set up a new environment with each test.

Testing App Widgets

App widgets are contextual rather than parametric. They usually require a lot from the environment and need to operate in multiple scenarios, but what makes those scenarios different is usually something in the data or user interaction.

It’s tempting to test app widgets the same way we test UI building blocks: create some fake environment for them that satisfies all the different hooks, and see what they produce. However, those environments tend to be brittle, constantly changing as the app evolves, and those tests end up being stale and give an inaccurate view of what the widget is supposed to do.

The most reliable way to test contextual components is within their true context — the app, as seen by the user. Test those app widgets with UI integration tests and sometimes with e2e tests, but don’t bother unit-testing them by mocking the other parts of the UI or utils.

Testable UI Cheat Sheet

Summary

Front-end testing is complex because often UI code is lacking in terms of separation of concerns. Business logic state-machines are entangled with framework-specific view code, and context-aware app widgets are entangled with isolated, parametric UI building blocks. When everything is entangled, the only reliable way to test is to test “everything” in a flaky and costly e2e test.

To manage this problem, rely on architecture rather than specific processes and tools:

  • Convert some of your business-logic flows into view-agnostic code (e.g., state machines).
  • Separate building blocks from app widgets and test them differently.
  • Mock your backends and subsystems, not other parts of your front-end.
  • Think and think again about your system signatures and contracts.
  • Treat your testing code with respect. It’s an important piece of your code, not an afterthought.

Striking the right balance between front-end and subsystems and between different strategies is a software architecture craft. Getting it right is difficult and requires experience. The best way to gain this kind of experience is by trying and learning. I hope this article helps a bit with learning!

My gratitude to Benjamin Greenbaum and Yehonatan Daniv for reviewing this from the technical side.

Categories: Others Tags:

Email analytics: What should you be tracking?

July 28th, 2022 No comments

Email remains an effective way to increase brand awareness and increase sales. However, with more brands using email as the main distribution channel the competition is becoming more apparent. 

To get ahead of the curve, you must craft content that considers each subscriber’s unique preferences and interests. 

To accomplish such a challenging task data analytics and reporting are crucial. Analyzing your data will enable you to design more effective marketing emails.

Why email metrics are vital for your success?

With more significant insights into your email campaigns, you can better understand how your subscribers interact with your material. Without measuring your stats, you won’t understand how your content resonates with your audience.

Future email marketing initiatives you run will also benefit from tracking your analytics, and you’ll know what changes to make once you can tell what works and what doesn’t.

For instance, your subject lines might get your readers’ attention, but when they open the email, they will find that the content isn’t very interesting. 

Another example is that your emails can constantly be marked as spam, which might cost you many subscribers. You may solve the issue and expand your audience by realizing the root of all these problems.

Pro Tip: Having one of the best email marketing software can help you make this challenging task easier with a dedicated dashboard with analytics and other tools to improve your email marketing efforts all in one place.

Which email metric to track?

You might experiment with various email marketing software with dedicated analytics tools to determine how well your emails are doing in the long run. But first, you need to understand which email metrics you should be paying attention to.

Metric: Open Rate

This is a measurement of how many recipients are opening your email messages. Several tactics can raise your open rate if it is lower than you might want. 

A crucial factor for this scenario is your subject lines. For example, adding a sense of urgency to your subject line can help you get more opens. A pro tip would be to leverage Moosend‘s free subject line tester which refines your subject lines to increase open rates.

An alternative solution to increase open rates might be changing the hours and days you send your emails. B2B emails might receive more responses in the morning, but you may find that B2C communications have better results over the weekends.

It’s crucial to note that tracking this metric is a little challenging due to Apple’s new Mail Privacy Protection feature. Since recipients can restrict access to senders’ information, including email openings, this indicator might not be reliable, especially if many of your subscribers utilize Apple Mail.

Metric: Click-Through Rate (CTR)

Your CTR measures the percentage of subscribers who opened your email and clicked on the links inside it. When a single individual repeatedly clicks on your emails, it’s reasonable to assume they’re a well-qualified lead. A high click-through rate (CTR) indicates a lot of interest in your product or service, which is ideal for converting your leads into buyers.

Your success with this metric may depend on several factors:

  • Do your customers click through and make purchases more frequently when highlighting a product? 
  • Does having responsive emails for mobile devices help? 
  • Do you have better results when you include a price in the email or when it appears on the page after they click through?
  • Which are the colors that help your email convert best?

Your success in this area can be significantly increased by experimenting with these variables to determine which tactic produces the best results. Try A/B testing to understand what works best for your audience. Alternate wording, colors, or fonts for one of the links in your email if it isn’t getting a lot of clicks.

Pro Tip: Create special tracking codes in each email to discover more about who is visiting. These codes might help you identify the potential customers exploring your website. 

Metric: Conversion Rate

When a recipient takes the desired action that you want them to take, this is referred to as a conversion. This indicator shows the quality of your subscriber engagement overall and the strength of your contact list. 

A high conversion rate indicates that your message piqued your audience’s attention. With conversion rate, there isn’t a magic formula that can skyrocket this metric. You need to have a solid understanding of your separate metrics and improve your campaigns to better appeal to your specific audience.

Metric: Unsubscribe Rate

For a variety of reasons, not every subscriber will remain loyal. However, if you observe a pattern of unsubscribes, it’s a warning that you should examine your emails to identify any potential issues.

You might want to think about sending fewer emails each week or each month to avoid unsubscribes from recipients on your email marketing list. 

Even while it may seem to go against your sales objectives, if you don’t often bombard subscribers with emails, they’re more likely to stay engaged with your brand. 

Send emails to your consumer base only when you have important announcements or special offers to discuss. Pay attention to your email design to craft a simple, high-converting message.

Metric: Bounce Rate

The percentage of emails that couldn’t arrive at your email list is measured by the bounce rate and has two types, soft and hard bounces.

A soft bounce is typically a problem with the recipient. These could be issues like a full inbox or a server problem from the receiver. A hard bounce is a sign that something is not right on your end. Perhaps the email address you’re sending to is wrong, or the recipient’s mail server has blocked your email, which often means you’ve been flagged as spam.

To overcome these issues, leverage a double opt-in feature when subscribers sign up for emails to reduce bounce rates. One approach to accomplish this is by asking them to confirm their email address and their desire to be added to your email subscriber list by an automated email.

Pro tip: A great way to reduce bounce rates is surveys, which can help you segment your audience and send more personalized campaigns that appeal to the right people.

Metric: Deliverability Rate

The percentage ?f emails that reach your subscribers’ inboxes is known as the email delivery percentage. A delivery rate of 95% or greater is regarded as a good number by the majority of marketers.

High bounce rates, limited subscriber engagement, and recipients reporting emails as spam are all variables that might impact email deliverability. 

If you want to improve email deliverability, it may be time to start reviewing your email lists and eliminating email contacts that don’t engage with your campaigns.

The Takeaway

Email metrics are vital for accomplishing your business goals. A solid email marketing software can help you with a dedicated tool to monitor your campaigns and gain real-time data about your campaigns.

Bad data can often lead to major marketing budget losses so having a professional tool in your arsenal and the knowledge to understand the different metrics is essential. In this article, we analyzed several metrics that can make or break your campaigns. Back to you now, with a new mindset on how to leverage this information.

Until the next one, keep using your data to make stronger email campaigns.

The post Email analytics: What should you be tracking? appeared first on noupe.

Categories: Others Tags:

How Photographers Use Suncatchers to Make Creative Effects

July 27th, 2022 No comments

The photography industry is extremely competitive, and coming up with new ways to make your photos stand out is becoming increasingly difficult. Using suncatchers to transform ordinary images into extraordinary works of art with magical, ethereal rainbow effects is a fantastic way to breathe new life into your photos. 

In a world where cookie-cutter filters are the norm, creating organic visual effects by hand is a welcome change that allows photographers to express themselves and create distinctive photos. 

Of course, you don’t need to be a professional photographer to enjoy exploring the limitless potential of suncatcher photography. Maybe you just want to add some flair to your profile picture. Maybe you want to take a family portrait that’s a little more exciting than usual. There are endless reasons to incorporate rainbow suncatchers into your approach, and it’s super easy! 

Whether you’re using your smartphone, a DSLR, or even a disposable, suncatchers can add a subtle or bold look that’s much more natural (and beautiful) than any filter can touch. Read on for tips on how to use suncatchers in your photography!

1. Experimentation Is Key

Suncatcher photography looks stunning on genuine film, but it’s best to start by using a digital camera or phone to experiment. That way you can get a feel for how even slight variations in your suncatchers can change how the rainbows respond without wasting precious film. 

For example, holding the suncatcher far away from the lens is going to create a much blurrier and abstract photo than if you held it directly against the lens. Incorporating a suncatcher in your sunlit photography is going to create much more vibrant, vivid rainbows than photos taken in a dimly lit room. Placing a suncatcher against the top, bottom, side, or middle of the lens will naturally affect where the rainbows land, their shape, their clarity, and so on. Spend some time getting a feel for how different suncatchers respond to different strategies.

2. Customize Your Suncatchers

The great thing about suncatchers is that they’re cheap and easy to modify. Try cutting them into different shapes. Use permanent markers to draw lines, shapes, and patterns on them. Apply stickers or tape to them. Dust them with glitter. Dip them in water. This is a great opportunity to have some fun getting crafty, and you can be sure that your suncatcher photos will be truly unique.

3. Set Up the Shot

In the world of photography, composition is everything! While there’s nothing wrong with holding your suncatcher up to your lens and hoping for the best, taking some time to really create something special is almost always going to yield better results. 

For example, you could take a portrait of someone wearing a costume or distinctive makeup in a well-lit forest. Or, find a natural body of water and take photos of the sun reflecting on its surface. If the weather conditions are right, you could even go rainbow hunting and incorporate your rainbows into the mix! You don’t need to shoot only in nature either. Paint a backdrop by hand, or go to a local fabric store and find the perfect background. This style of photography really pops when you pull out all the stops.

Remember: Light is your best friend when doing rainbow photography! Brighter light means more vibrant colors. While natural sunlight is usually the best choice, there’s absolutely nothing wrong with bringing a ring light along for the session. Having your own photography lights on hand really empowers you to take control of your setting and bring your vision to life.

4. Bring a Friend

Having a second set of hands is so, well, handy! You can have your partner hold and manipulate the suncatcher while you focus on taking the shots. This simple yet effective method can lead to some gorgeous kaleidoscope and refraction effects. Additionally, you can use your partner as a subject for your portraits

Instead of just holding up your suncatcher to the lens, try holding it near their face and catching their reflection. Or use multiple suncatchers to create reflections of your subject and/or your surroundings. You can really make some dreamy, hazy, and downright psychedelic effects with this method. Experiment with longer exposure times and aperture settings to really nail those trippy vibes!

5. Collaborate With Other Photographers

Like any other form of art, every photographer has their own unique approach. Having a second photographer around for bouncing ideas and brainstorming can really help both of you take your shots to the next level. You’ll have fun learning from each other, sharing tips, and teaching tips and techniques. 

Image: https://unsplash.com/photos/_7cEg1znIVU

If you decide to do post-production on your photos (which isn’t always necessary with suncatcher photography), you could both play with Photoshop to really bring the images to life. You could even layer images to create breathtaking pieces of surreal art. The possibilities are truly endless when artists work together to create something special.

6. Share the Love

Many of the most successful photographers got to where they are by being different and creating their own distinctive style. Once you’re confident in your ability to create beautiful rainbow photos, offer to snap some shots of friends, family members, and even strangers for free, with the caveat being that they share it on social media and tag you as the photographer. Each and every shot is potential exposure—in more ways than one! Over time, people may start to recognize your work, and then you could host your own shows at galleries, build a social media following, and monetize your skills in a number of ways.

7. Take the Show on the Road

After perfecting your skills with friends and family, why not generate some income by creating unique product photos or stock images for businesses? Or, you could reach out to social media influencers who may want something more exciting than the usual Instagram filters. Because this is such a niche style of photography, you can really capture the local market. Even if suncatcher photography isn’t your main offering, just having it on the menu gives potential clients more options.

Have Fun With It

Rainbows are whimsical, magical, and playful. As you experiment with suncatcher photos, enjoy yourself! Even if you’re creating moody, distorted images, letting your creativity and personality shine will lead to better photos almost every time. After all, photography is an art, and art is all about self-expression. Finally, remember that beauty is in the eye of the beholder. Your first goal should be to create images that you genuinely love. Everything after that is just a bonus.

The post How Photographers Use Suncatchers to Make Creative Effects appeared first on noupe.

Categories: Others Tags:

What are the benefits of remote staffing?

July 27th, 2022 No comments

Remote staffing is a type of working arrangement in which employees are located away from their usual workplace. This can be done via the use of technology, such as telecommuting or working from home, or through the use of workers who visit the office periodically. There are many benefits to remote staffing, including increased work flexibility, decreased absenteeism, and time and cost savings.

With the rise of technology and the ever-growing trend of working remotely, it’s no wonder so many businesses are considering using remote staffing as a way to save money and boost efficiency.

Remote staffing is here to stay. Even Meta CEO Mark Zuckerberg believes so.

“The thing that’s been positively surprising to people is that people are more productive working at home than people would have expected. Some people thought that everything was just going to fall apart, and it hasn’t. And a lot of people are actually saying that they’re more productive now,”

Meta CEO Mark Zuckerberg.

Here are some of the benefits that can be enjoyed by businesses who choose to use remote staffing: 

1. Increased flexibility: With employees working from anywhere in the world, businesses can set their work hours as they see appropriate without having to worry about accommodating other members of their team. This freedom allows companies to operate at a more fluid pace, which can lead to improved productivity. This will enable them to take care of business wherever they are, whether that’s at home during the day or in a coffee shop in the evening. With remote staffing, businesses can hire workers who are available at any time, which gives them greater flexibility when needed.

2. Reduced travel costs: Instead of hiring extra staff to cover for absences during travel, remote staffers can be used instead. This means that not only does traveling with your team save money on accommodation but also on airfare and other related expenses. 

3. Increased employee morale: When employees feel like they have control over their work environment and can work from where they feel most comfortable, they are likely to be more productive and engaged in their tasks. This boosts morale throughout the company, leading to increased productivity and overall efficiency. In return, it’s easy to build strong relationships with your colleagues – even if they’re located across the globe.

4. Decreased Absenteeism: When employees are located away from their typical workplace, they’re less likely to be absent due to work-related issues. This can lead to considerable savings for corporations on employee compensation costs and lost productivity.

5. Increased Productivity: Employees who are able to work from anywhere in the world tend to be more productive than those who are restricted to working within a specific geographic area. This is because they’re not bogged down by bureaucracy and restrictions. Employees also save themselves from distractions from co-workers and other activities in the office.

6. Better communication: With remote staffing, employees can easily communicate with their colleagues across the globe. This allows businesses to maintain better communication and collaboration between departments.

7. More time for yourself: When you’re able to work from home full-time, you’ll have plenty of time to focus on your personal life and hobbies. This is an excellent news if you value your free time – or if you simply don’t enjoy working in an office setting. 

How does remote staffing work?

It is now clear that the remote staffing process allows employees the freedom to work from home or anywhere in the world. Studies indicate that staffers who work from home are typically more satisfied with their job than those who commute to the office.

In this method, remote workers can easily communicate with their co-workers without having to go through the hassle of meeting in person.

Types of Remote Staffing

Remote staffing is a growing trend in the workforce as companies look for ways to reduce costs and increase efficiency. Here are four types of remote staffing:

1. Virtual Staffing: Virtual staffing involves using technology to connect workers with companies over the internet. This type of staffing is excellent for businesses that need employees but don’t have enough resources to hire onsite. Virtual staffers can work from anywhere in the world and are usually hired on a temporary or contract basis.

2. Telecommuting: Telecommuting is common among digital professionals who often work from home. This type of staffing allows companies to hire talented workers without having to spend money on office space or equipment. Companies can also save on transportation and other expenses associated with having employees live in one location.

3. Part-Time Remote Staffing: When companies need extra help but don’t have enough employees to cover all hours, they turn to part-time remote staffing. This type of staffing allows companies to hire workers for short periods of time who are then removed from the workforce at the end of their assignment. This eliminates the need for expensive full-time staff and gives businesses more flexibility when it comes to scheduling.

The Disadvantages of Remote Staffing

When it comes to staffing, many companies turn to remote workers as an alternative to onsite employees. However, there are a few possible setbacks to this approach.

First, remote workers may not have the same level of interaction with co-workers that they would if they were on site.

Second, if a remote worker needs to be contacted for work, it can be challenging to do so.

Finally, as remote work becomes more popular, unscrupulous employers may use this flexibility to exploit workers by requiring them to work from home without adequate compensation or benefits.

Conclusion

One of the benefits of remote staffing is that it can help you to staff your organization in a way that best suits your needs. You can reduce distractions and increase productivity with employees who are located away from the office. Plus, as technology continues to evolve, it’s becoming easier and more cost-effective to have employees work from anywhere in the world. So, if you’re finding ways to improve efficiency and flexibility at your business, consider investing in remote staffing services.

The post What are the benefits of remote staffing? appeared first on noupe.

Categories: Others Tags:

Why I Chose Angular to Build a URL Shortener

July 22nd, 2022 No comments

URL Shorteners are tools we use to make links shorter than they actually are. With a URL Shortener, you can transform a long link (maybe for a registration form or article) into a shorter version.

Behind the scenes, the long and short versions of a given link have been stored in some database. Then when a user visits the short link in a browser, the URL Shortener will redirect the user to the long version of the link (where the actual content is found).

Shortened links from URL shorteners are commonly used when the long version of those links would be too long to use. Sharing links on social media or when designing flyers and adverts is a popular use of URL shorteners.

For one of my projects, I created a personal URL shortener. My intention was to use it for links to articles I write or videos I make. I used Firebase to build the backend of the URL shortener. Specifically, I used the Firestore database to store short and long versions of any given link.

To create links, I had to use the Firebase console. This wasn’t a problem but it was cumbersome for the high frequency of editing links. The user experience (UX) was not ideal. Now I was faced with a problem. How do I create, edit, and delete links? I needed to build a frontend for the URL shortener. I needed a website for this.

In this article, we’ll review the available tools used for building this frontend, decision choices, and factors that influenced why they were made.

Problem statement

The project requirements were:

  • Platform/Architecture. The engineering and structure of the coding process.
  • UI Toolkit. Components to use for the various parts of the UI.
  • Convenience. Building the backend was not tough, so this frontend should not be either. I wanted clean code and fast development.

The First Decision Choice: Angular

Many ideas come to mind when starting out to build a frontend. In a broad sense, we could categorize frontend building options into 3 platforms:

  1. Website Builders – like WordPress, Wix, Squarespace, etc.
  2. Vanilla Building – using plain HTML, CSS, and JavaScript.
  3. JavaScript Framework – like React, Vue, Angular, etc.

In my experience, website builders provide a very restricted collection of widgets, components, and templates. Most website builders don’t provide an easy way to integrate an entire custom backend like Firebase. While it is possible to build impressive sites by connecting these pieces together, the degree of complexity of my project was likely beyond what these services typically provide.

Using the no-framework style or vanilla would have been a possibility. However, the deciding factor that made me not choose the pure vanilla route was that the latest non-CDN version of the Firebase JavaScript SDK (Version 9) is designed with installation via npm or yarn and module bundling in mind.

JavaScript frameworks handle frontend core parts (like routing, backend-linking, etc.) to reduce developer efforts. There are many of them and choosing which to use seemed to be a harder choice to make.

There are many JavaScript frameworks for frontend development. Examples include Angular, React, Vue, etc.

Of the available frameworks, I have the most familiarity with Angular. This is because I have used it on previous projects like:

  • Choir Carol Quiz: Portal where Quiz participants competed in two online rounds of timed multiple choice questions on select Bible chapters.
  • Genesys AE-FUNAI Community: Custom Form where members of Genesys Campus Club AE-FUNAI (my community) report their progress and share their achievements.
  • Tutorial Management System: Simple session management dashboard between students and tutors.

This familiarity allows me to build quickly with Angular. Being able to build quickly should not be underestimated.

I chose Angular because of its Object-Oriented Programming (OOP) ability. OOP is a programming paradigm that focuses more on classes, data, or state being managed, rather than on the logic controlling the data, as is the case with functional programming. Separation of concerns is one advantage of using OOP. In other words, OOP permits encapsulation. It permits you to scope aspects of the program to peculiar domains or classes.

In Angular, components (and their lifecycle methods) are scoped to TypeScript classes. This makes you think the OOP way. The OOP advantage reflects in how Angular components serve as reusable UI units in the Angular framework. That way you see an Angular component as some self-sufficient entity that is yet part of a whole. This makes frontend development easy as various parts of the frontend app can be scoped to components and hence can be used where needed.

I also chose Angular because it uses TypeScript. TypeScript is JavaScript with features of a typed programming language. Typing in this context means a variable can’t change the kind of value it holds all through its life. For example, a variable holding a string will not all of a sudden hold a number while it is used in that program. Typing increases code quality and reduces bugs.

As a result of its type system, TypeScript reduces the time spent debugging Angular apps. It gives developer experience as the developer will have more time to build the frontend app. Debugging also becomes easy for the developer.

Note: Here is more on Object-Oriented Programming with TypeScript

Still, on Angular’s advantages, Angular apps come as a complete setup. They handle important features like bundling CSS preprocessors or Angular services by themselves. That said, when using Angular, you don’t need to configure each library independently, Angular takes care of this.

An Angular service is what Angular uses to configure dependency injection. In simple terms, dependency injection is providing an application with what it needs to function (dependencies) without the application having to take care of how the dependencies were gotten. I also chose Angular because of its out-of-the-box handling of services. So Firebase, for example, will be auto-provided to all Angular components that need without any extra configuration.

The benefits of Object-Oriented Programming, TypeScript, and dependency injection make Angular a go-to for frontend development. Coupled with the fact I was already familiar with Angular, Angular was more convenient for this URL shortener project.

Angular articles on CSS-Tricks are also part of the story. They gave me more confidence with using Angular.

The Second Decision Choice: Material Design

After choosing Angular, my next task was to consider how I would handle the user interface (UI).

I could ignore and do vanilla CSS instead but why reinvent the wheel? After all, this would defeat the reason for using a JavaScript framework – convenience.

With choosing a UI toolkit, there seems to be an ocean of options. To name a few, one can use Bootstrap, Bulma, Semantic UI, Tailwind, etc. Each toolkit has its own specifications and motivations.

For the use case of my project, Material Design led the pack.

One of the most important factors was the support for Angular and Material Design. There is an entire Angular-only specification for Material on material.angular.io (that is as a subdomain to the Angular docs itself).

I settled for Material Design because it focuses on components. Unlike other CSS frameworks, it doesn’t have CSS utility classes. This was okay because I only wanted some component kit (buttons, icons, inputs, sidebars, snack bars, etc.) Material also adds animations, ripple, and shadow effects by itself; making it more convenient than other libraries.

Furthermore, Angular Material has out-of-the-box theming support, when initializing Angular Material, you have the option of choosing a pre-defined theme for the entire Angular app or creating a custom one.

For the sake of convenience, I chose a dark theme while setting up Angular Material.

The Third Decision Choice: Reactive Forms

With a framework and toolkit decided, I turned my attention to one of the most important features of the URL shortener. The core of the URL shortener’s frontend is the form for creating and updating links.

Let’s call this form the links editor. The links editor form has only two inputs, one for the short version of a link and the other for the full URL the short version will redirect to.

For managing forms, Angular comes with two mechanisms. So instead of creating a form and handling its validation and submission as is done in vanilla HTML and JavaScript, you have to use either of the two ways Angular provides. The two methods are:

  1. Template-driven forms
  2. Reactive forms

Template-driven forms as the name imply, involve the HTML (template) code controlling the greater part of the Angular form. This approach is preferable when your form does not do much or is for one-time usage.

Reactive forms, on the other hand, provide a model-driven approach to handling form inputs whose values change over time. I needed reactive forms because it is the same form that I will use to edit different links at any point in time.

Note: Here is more material on using Reactive Forms.

At this point, the benefits of previous choices began playing out. Angular Material has form-field components. The form-field wraps the input as a component and provides animations, ripple effects, and error messages if necessary.

Animated gif of short and long URLs entered into a form.

So I used it for the two inputs of the editor form.

The Fourth Decision Choice: Angular Material Bottom Sheet and Drawer

The final decision involved how to improve the user experience. The URL shortener would need other features like viewing all created links and their analytics. These features would require space on the screen that required me to rethink if there were better solutions to display the links editor form to the user.

If the user has no current need for the links editor form, it makes sense for the links editor form to not always be in view. This would free up space on the UI for other elements.

However, splitting this user experience into two separate pages felt disruptive. Instead, to open the links editor when needed, I added a floating action button on the page for creating links. When clicked, the button will cause the editor form to be opened in any fitting UI component.

bottom sheet, as the name implies, is a UI component that opens from the bottom of the screen. It has interactive content the user can work it. It overlays the current view of a mobile screen (but doesn’t fully block it).

Animated gif of interacting with a form displayed in a Bottom Sheet.

Bottom sheets are usually used in place of pop-ups if the user will spend a long time interacting with their content. So, bottom sheets are a good fit to open the editor on mobile screens. However, interacting with a bottom sheet is hard when the screen is wide. I needed a different UI component for the links editor form on wide screens.

Drawers open by the side. Using a drawer to open the links editor form on a wide screen was the go-to option. Drawers won’t be good for the editor on mobile screens. The screen’s width would be relatively small and the drawer might completely block the screen (which is not a desirable UX).

Animated gif of interacting with a form displayed in a Drawer.

I selected these two UI components from Material Design for the form to have some responsive effect. So whether on my phone or laptop creating links would be done in a fitting UI component.

In the code, Angular checks if the device is of small screen width. If so, it opens a bottom sheet containing the links editor form. On the other hand, if the screen is wide, Angular opens a drawer containing the same form.

Using these two components brought about a minor complication. If my phone is rotated or my laptop’s browser window’s width is reduced, the form opens on the contrary UI component. That is instead of opening in a drawer in a laptop, it will open in a bottom sheet (because the browser’s width was reduced).

Maintenance, Future-proofing, Future Releases

When I thought of opportunities to iterate on this project, I ran into limitations with the current use case designed to support a single administrator. But with authentication and user accounts, it can support additional users managing links and accessing analytics.

In that case, the above choices of components will still be appropriate. The links editor is responsive so on any device, users will have a good user experience.

If I had to do it all over again, I think I would have tried out the vanilla method. Building entirely without any helpers like Angular, Material, or UI components. I would try building from scratch in HTML, CSS, and JavaScript and see if I didn’t lose out on convenience as I thought I would.

Conclusion

You can access the final Angular code here on GitHub.

This was a review of some of the main choices I made when developing my project. Of course, there is more to building the frontend of a URL shortener. But for a start, these UI components made the building process convenient. They made the links editor form responsive and could be of similar use to you in your projects (not necessarily a URL shortener).

There are many other UI components from various libraries you can use for any such project. But as with my case, if convenience is a deciding factor, you would make the right decision choice that would be fitting for the UI.

Ultimately, what shaped my decisions was understanding what my project required, knowledge of tools I had used from previous projects, and expectations with time constraints. My past experience – successes and mistakes – helped guide me too.

Cheers!


Why I Chose Angular to Build a URL Shortener originally published on CSS-Tricks. You should get the newsletter.

Categories: Designing, Others Tags:

Why HR Management System is Practical for a Community

July 22nd, 2022 No comments

Scaling, optimization of workflows, and automation are all issues businesses face as they grow. As a business grows, managing its human resources becomes more difficult.

A Human Resource Management System (HRMS), a specialized software designed to assist with HR activities, can be used to manage all your HR tasks.

Let’s now look at common HR problems and how HRMS software can solve them.

1. Routine HR tasks

The HR department in many companies is faced with a problem. 

Although HR managers want to create a better work environment for employees and improve their overall performance, they often face mundane administrative tasks such as answering questions and processing employee information.

Companies can use a Human Resource Management System to address these everyday tasks. Let’s take a look at how an HRMS can improve productivity.

  • Reduces paperwork. An HRMS reduces paperwork. It standardizes processes for employee information, including employment history, licenses and certifications, education, skill, performance, compensation information, etc. It also allows for hiring, salary changes, and other functions.
  • It speeds up the creation of documents. An HRMS enables HR managers to keep all employee data in one location and quickly create any document based on that information. An HRMS eliminates the need for HR managers to go through piles of paperwork to generate employee ratings, stock plans, and other documents.
  • It saves time. An HRMS can help you save time by storing all your information in one place and by organizing all administrative tasks.

2. Monitors KPIs

Key Performance Indicator (KPI) measures how well employees or the company achieves its business goals. An HRMS can automate the process of measuring what matters. 

An HRMS can monitor the following KPIs:

  • The duration of the position

Employee productivity drops if they stay in the same job for too long. An HRMS’s task is to track how long employees visit in the same position and remind managers when it’s time for promotion.

  • Retention of employees

The retention rate measures employee retention and indicates job stability within a company. A company can lose much money if an employee leaves and has to find a replacement. An HRMS monitors talent retention and can monitor formal retention strategies that improve overall productivity.

  • Absenteeism

The time an employee is absent for sickness, delays or other reasons. An HRMS keeps track of time and attendance quickly and accurately without making any errors.

  • Time is key to achieving your goals.

This KPI measures efficiency and time taken by employees to achieve specific goals.

Bamboo is an excellent example of a highly efficient HRMS software, which allows employees and companies to monitor critical KPIs easily.

Bamboo HRMS provides convenient KPI monitoring.

3. Manage employees efficiently

Automating specific processes and reducing repetitive administrative tasks within a company can improve overall efficiency. Many HRMS allow you to easily collect and automate data and increase visibility through charts and graphs. 

These are the main features an HR management system can provide to improve employee management.

  • Time & attendance management

This feature records employees’ hours worked and ensure employees receive overtime compensation. This information can’t be monitored without an HRMS and is therefore difficult to track without losing details.

  • Management of training

This feature tracks and reports on instructor-led training programs and courses for employees. It manages training curriculums, records, history, schedules, and grading.

  • Payroll

An HRMS can help you manage your payroll effectively. Payroll mistakes can lead to financial ruin. An HRMS allows you to calculate your pay checks, manage the pay schedule and guarantee accuracy.

  • Performance Management

Employee performance is usually monitored over time, and feedback is typically given once a year. 

It takes time and effort to store all of this information. Companies can receive 360-degree feedback with an HRMS. Employee performance will be positively affected if performance data is constantly recorded. 

Performance management data can also provide deeper insight into compensation, rewards, planning professional objectives, and so forth.

Bamboo HRMS provides immediate feedback and monitors employee performance.

  • Onboarding and hiring

Are you able to onboard your employees quickly, efficiently, and easily? An HRMS could be the right tool for you. An HRMS can improve the efficiency of onboarding.

  • Controlling the onboarding process
  • Clarify the roles of each employee
  • Companies can monitor their progress
  • Newcomers should feel connected

4. Improves employee self-service

Modern HRMS software has a lot of demand for employee self-service. Employees frequently have questions about terms, conditions and salaries. It’s difficult for HR to answer every question individually for hundreds of workers.

A computerized HR employee mobile app software allows employees to be more self-service and is more satisfying. An HRMS will enable employees to manage their paid time off, sick leave, and ability to work remotely. HRMS software often gives employees accounts they can access to find the necessary information.

Employees have access to all HR-related information through Beehive HRMS. It makes it easy to get answers to questions regarding attendance, policies, and salary slips.

5. Cost-effective

Automating tedious data entry tasks can save your company time and money. Automation eliminates the need for paper in a company’s daily operations and allows them to use digital technology.

Let’s suppose we have a small business with 100-300 employees. Our company will require at least one employee to handle the monthly payroll. 

Sage’s study shows that management systems can cost between $1 and $3 per employee per calendar month. It is much lower than the salary of an HR manager.

Companies also require employees to manage and track leave and attendance. Instead of hiring employees to manage these processes, companies can use an HRMS to automate mundane managerial tasks.

6. Eliminates human error

Human error is another primary source of unneeded business cost. Human error is another primary source of unnecessary business cost. HR tasks can automate to reduce the chance of common errors like double entries. 

Employees also have the option to double-check their work in case there are typos.

7. Privacy and data security

An essential step towards protecting employee data is investing in an HRMS. Employers are responsible for protecting employee data and preventing misuse. Encrypting personal data helps protect it from hackers and unauthorized users.

An HRMS also has payroll functionality. It makes it easier to process payroll.

Bamboo HRMS software, for example, uses the defence-in-depth security principle to protect employee data at all levels. It offers weekly vulnerability scans and an annual penetration test with security metrics. It prevents data breaches in businesses.

Your HR department shouldn’t be wasting their time. Instead, choose a modern solution to all your HR-related tasks.

The post Why HR Management System is Practical for a Community appeared first on noupe.

Categories: Others Tags:

Overcoming Imposter Syndrome By Developing Your Own Guiding Principles

July 22nd, 2022 No comments

Design is one of those disciplines that has a very low barrier to entry, and this is amazing! What isn’t so easy is acquiring the softer skills that you’ll need when entering this job market.

Working on designs is just so much fun! But to become better designers, it’s also crucial to understand what makes a great team member and how to present your work to colleagues. Unfortunately, not everyone has access to a mentor, guide, or whatever word you’d like to use to describe advice from a more senior person in the design industry, which is why we often have to rely on “working it out” by ourselves.

This may be intimidating at first, but I firmly believe that if we take a step back from the pixels on the screen and reflect on who we want to be and what our core principles are, we can walk into these design critique meetings with more confidence and really deliver the best possible representation of our ideas.

“Yes, I’d love to present my work at the next meeting!”

“Yes, I’d love to present my work at the next meeting!” This has probably been you at some point during the past few months. Your boss has praised your design work, and you’ve been asked to share your design with the wider team. The thing is, you’re really not sure if you even like your work. You can see the inconsistent padding between the labels and the icons, the misalignment of the chevron, the lack of canvas organization, a glaring omission of meaningful layer names, and more.

Unfortunately, we’re raised in a world where seniority demands respect regardless of whether that is justified, and we need to be seen to grow within an organization. This means that we need to be able to present for the job we want in most cases, which is a fair ask for progression and, ultimately, also… money.

You know what? What you’re experiencing is within us all. The unfortunate side effect of being a creative is that you will never be satisfied with what you’ve produced and you’re not alone.

“It’s not uncommon for me to love the direction a design is going at the start of a project, but by the time it’s complete, I’m cringing and wishing I’d done so many little things better. And it’s not just imposter syndrome, it’s also that you have a gap between your vision and your skills. You can picture something in your mind — or you see inspiration elsewhere that you know you can match — but when it comes down to executing that vision, your skills and experience fall short of what you were aiming for.”

— Benek Lisefski, “Why Good Designers Can Never Do Their Best Work

“I’ve been designing for almost two decades, and I can tell you that I feel like a total amateur at least once a day.”

Daryl Ginn

Unless, like I have tried to force myself to do, you’ve resigned to the fact that 80% done is more often than not good enough to convince those at the table you’ve been desperate to sit at that we can produce good work and, ultimately, sell our product.

Presenting your work is fundamental to career growth, at least on every career ladder I’ve seen. This means we need to either become excellent actors or learn some coping mechanisms to handle that pressure. Weirdly enough, presenting work to your team should — and is often — the least pressured environment we will find ourselves in at work. Still, because we know each other and are unfortunately in competition with one another, it can feel like the most daunting task of them all.

This is where I can try to offer some help! Over the past many years, I’ve landed on a formula that works for me, and I’m happy to share what I have learned. Creating your own goals, rituals, and methods will help you succeed, but sometimes it’s hard to know where to start.

The Experience Paradox

You may be looking at your more experienced colleagues in awe, wondering how they present so well and seemingly without a bead of sweat. The funny thing, though, is that as your experience level increases, so does your self-doubt.

This oxymoron keeps us all sprinting along in blind panic, not stopping for air, burning out, and wondering what went wrong. But as Car Seat Headrest’s lead singer Will Toledo sings, “It doesn’t have to be like this”.

A second side effect of being a creative is that we get kicks out of focusing on the wrongs in the world, rather than appreciating what we have or what’s going well. This means that as we progress, become more successful, earn more money, buy that new iPhone, or spend $500 on some digital art, we will always fall into a slump at the first sniff of negative feedback. It’s in this slump that we are the most vulnerable, and here is where we need to rely on our personal values to keep our chins up and our spirits high.

Personal Principles

This is where I should probably coin a catchy marketing phrase like “The 5 P’s of Personal Principles,” but this isn’t the movie Dodgeball or an overpriced email course that you paid for (but could’ve Googled for free). So, let’s just pretend it has a catchy hook.

Principles also have a bit of a woo-woo reputation thanks to the boom in personal reflection over the past few years. But essentially, it’s about knowing yourself and understanding what you’re in control of and what you’re not. Control is a strong word and probably elicits some negative feelings, but it basically means “what we have within our reach.”

Knowing what you can and cannot control is incredibly important. Once you’ve grasped this, you will understand where you can win, and — you’ve guessed it — where you cannot. Knowing where you can win will present you with an endless amount of marginal gains that, once properly planned for, may turn you into a superstar. (Of course, there’s no such thing as a “superstar designer” or a “front-end ninja.” Although you’d be surprised at the number of hits if you Google one of these terms!)

What Are “Principles”?

If you’re like me, your mind probably went straight to something spiritual or religious when reading the word “principles,” but I promise you it’s not that.

Believing in yourself is more powerful than you think, and if you can stay humble whilst knowing your worth, you will become the best kind of colleague.

I’m not encouraging you to write down a list of commandments or commit to an “every day I will do this or that” type of routine here because we all know forced routine often fails.

What I would like you to do is start considering whether there is anything you find yourself repeating. Do you have a “motto” or a phrase that resonates with you particularly well? I have a few:

  • Always be two steps ahead.
    I try to work extra hard at being one further step in front so that when I fail, I’m still in the pole position. This also encourages me to anticipate scenarios and tension to prepare my responses in advance and build solutions to address them. In Shane Parrish’s “Decision by Design” course, he teaches us to “make our best decisions in advance,” and I strongly agree with this philosophy.
  • Expectations lead to disappointment.
    If we constantly set either ourselves, our peers, or our colleagues to out-of-reach expectations, we will more often than not feel let down. It’s easy for our minds to get away with themselves, and the best way to avoid this is to accept that we can’t bank on people doing what we think they will. The easiest way to address this is to be comfortable with knowing that people are human, will make good and bad decisions, and that it’s not something we are in control of. Removing that tension will help us to be more relaxed and in command of our own results.

I’m also not encouraging you to read more books. Take one look around where you live and count how many books you’ve bought over the years and still didn’t read. I’m going to bet there are at least five or ten unread books there, or probably more. This isn’t about reading what someone else thinks you should be but relying on what you believe to be true. No one can write or describe how you want your outlook to be, so let’s leave the books aside for a moment. (Note: The irony of this message arriving via an article is not beyond me.)

Much like reading someone else’s opinion on how to live your life, I’m also not telling you to steal or borrow principles from somewhere else. I can’t tell you how to think, but I can help get you into a frame of mind to encourage that discovery.

So, let’s do it.

Thinking Through Your Principles

What would it be if you were to boil down what you love the most about your current work into one short statement? This is hard for some people because there are moments when it can feel like nothing is enjoyable about work — which is kind of the point! Maybe it’s about the moments when you are not working that you enjoy the most, and this could form a statement, too.

Let’s make it harder. Try and trim that down into a tweet-sized amount.

Harder again, remove all of the descriptive words and see if you can get it under ten words.

Got there? If yes, well done, you have a principle or at least the beginning of one. You might need to shape and mold it into something catchy that you can remember. Important! This isn’t a principle that needs to be “sold” to others — it’s something you’d be comfortable repeating often. So, if it’s something like “I love it when I’m the best in the room,” no, this won’t work. Let’s think about how this can be shaped into something a little more comfortable, meaningful, and practical. Perhaps it’s “I love educating others”? This flips the point on its head and allows you to focus on the part you find enjoyable from an outwardly perspective, rather than being insular.

If you haven’t found your principle yet, here are some other questions you can ask yourself:

  • When do I feel most comfortable at work?
  • When do I feel least comfortable?
  • When was the last time I received praise, and what was it for?
  • Do I know where I’d like to be in six months from now? A year? Two years?
    • If the answer is “No, I don’t know,” this could help you spot a gap and a growth opportunity.
  • How would someone else describe you?
    • Pick out the keywords and try to expand them into a phrase.
  • What makes you distinctly unique?
    • Again, if the instinct here is to be negative, let’s try and flip that on its head.
  • What is my working style?
    • Am I most happy in the morning or in the evening? When do I produce my best work?
  • How do I prefer to communicate?
    • In person, via messages, email, or social media?

Jot down these answers onto a piece of paper if it helps. Or maybe in a new note on your phone if that’s how you prefer to take notes. (Again, the way you write down things is also something to be aware of).

Did that work for you?

Working With The Team

If this is something you’d prefer to do visually, I’ve shared a resource in the Figma community with some prompts to hopefully get you into “the zone.” This is something you can do yourself, or better yet, as a team. Finding these things out together actually offers an opportunity to spot each other’s strengths and weaknesses, encouraging a more open communication style and collaborative atmosphere as a unit.

When running this exercise with your team, you should hopefully find each other’s working styles and spot points where you can improve efficiency together. This encourages ownership by those that want it, domain expertise by those that specialize, and an acknowledgment of difference (this is the most important one!).

Now What?

You’ve read quite a few words so far, and you’re maybe wondering what to do with them from the practical side of things. Hopefully, by now, you’ve spotted a few potential principles to align with, so the moment has come when you should try to put them to work!

Remember the imposter syndrome scenario, where you have to present your work to the team, and you are, simply put, frightened? Let’s think about the principles that we defined earlier.

  • Taking the example “I love educating others” from above, you can quickly see how the tension can be relieved. This is what you love doing! Even though “presenting” isn’t at the top of your list, the ability to talk through why you’ve made certain decisions, the research you did to get there, and what others can learn from your work, are all enabling you to become that educator that you love so much to see helping others.
  • If your principle is that you work best in the morning, maybe you should encourage the critique/presentation session when you’re at the top of your game at 10 am? You can see how once you settle on something to guide you, your stress can definitely be managed more effectively.
  • Let’s say you really don’t enjoy the presentation side of your job because you find it hard to concentrate or remember everything you want to share. So, maybe the principle can become “Take notes about everything!” And you can litter your desk (or room) with notes about what it is you want to cover throughout. Or, even better, you can provide everyone at the meeting with a handout explaining the core concepts you want to discuss; the presentation will practically explain itself at this point.

I’ve written about this before, and here are the most important things to keep in mind when presenting projects internally to stakeholders:

  • Agenda! Create and share in advance a concise (important!) agenda way ahead of the time of the meeting.
  • Prepare your guests. Depending on how far out you schedule the meeting, make sure to nudge people before it to remind them of what’s coming up and whether you require anything from them.
  • Frame it. Whether you have the luxury of presenting to your immediate team or the potential pain of external stakeholders, context is everything so work on your short list of actionable points.
  • Work backwards. If you’re presenting something completely new and for the first time, let’s not start from the ground up. Show the finished design first, then go through your early scoping and decision-making.

I find that we become stressed most when we are trying to become someone we think other people want and expect (remember my point about expectations?). By trying to understand who it is that we are as individuals and not trying to double-think untrue expectations set by others, it provides us with a platform to shine.

Conclusion

We did it! We went through the first pass at crafting personal principles that should (or so I hope) leave you feeling stronger and more confident in yourself as you think about progressing as a designer in the industry.

The core messages that I want you to take away here are, first, that you are great at what you do, second, that sometimes we have to take control of our own paths, grabbing opportunities when they arise, and third, that you probably had no idea that you were that confident about your own methodologies before reading this article. I promised that I wouldn’t try to trick you!

I’d love to hear what principles you did manage to create during this process. You know where to find me — either leave a comment here or message me on Twitter.

Further Reading

Categories: Others Tags:

Logical Properties for Useful Shorthands

July 20th, 2022 No comments

Michelle Barker with my favorite sorta blog post: short, practical, and leaves you with a valuable nugget for your time. Here, she gets into logical property shorthands in CSS, particularly those that set lengths just on a single axis, say only the block (vertical) axis or just the inline (horizontal) axis.

I say “block” and ”inline” because, as far as logical properties are concerned, the x-axis could just as well behave like a vertical axis depending on the current writing-mode.

So, where we’ve always had padding, margin, and border shorthands that can support a multi-value syntax, none of them allow us to declare lengths on a specific axis without also setting a length on the other axis.

For example:

/* This gives us margin on the inline axis */
margin: 0 3rem;

…but we had to set the other axis in order to get there. With logical properties, however, we have additional shorthands for each axis meaning we can cue up the margin-inline shorthand to work specifically on the inline axis:

margin-inline: 3rem;

Michelle mentions my favorite logical property shorthand in passing. How many times do you position something to this sort of tune:

.position-me {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

We can get those four lines into in with inset: 0. Or we could target the block and inline axis directly with inset-block and inset-inline, respectively.

While we’re talking shorthands, I always like to put a word of caution about ”accidental” CSS resets. Just one of the common CSS mistakes I make.

To Shared LinkPermalink on CSS-Tricks


Logical Properties for Useful Shorthands originally published on CSS-Tricks. You should get the newsletter.

Categories: Designing, Others Tags: