A Practical Guide To Designing For Children

Children start interacting with the web when they are 3–5 years old. How do we design for children? What do we need to keep in mind while doing so? And how do we meet the expectations of the most demanding users you can possibly find: parents? Well, let’s find out.

This article is part of our ongoing series on design patterns. It’s also a part of the video library on Smart Interface Design Patterns 🍣 and is available in the live UX training as well.

Embrace Playing, Encourage Small Wins

Designing for children is difficult. Children tend to lose focus and motivation. They quit when they get bored, and they move on if they can’t get anywhere quickly enough. They need steady achievements. So, as designers, we need to appreciate, reward, and encourage small wins to develop habits and support learning — with progress tracking and gamification.

As Deb Gelman, author of Design for Kids discovered, children communicate volumes by how they play, what they choose to play with, how long they choose to play with it, and when they decide to play with something else. Yet they don’t get as disappointed when something isn’t working. They just choose to browse or play something else.

Most importantly, we can’t design for children without testing. Even better: bring children to co-design their digital experiences and bring parents to co-design reliable guardrails. With a fun, smart, and safe product, parents will spread the word about you faster than you ever could.

Always Focus On A Two-Year Age Range

As designers, we should always keep in mind that “children” represent a very diverse range of behaviors and abilities. There are vast differences between age groups (3–5, 6–8, and 9–12) — both in terms of how users navigate but also how we communicate to them.

In general, when designing for children, focus on a two-year age range, max. These days, children start interacting with the web at the age of 3–5. And the very first interactions they learn are swipe, scroll, video controls, and “Home”.

Getting Parents On Board

Whenever you are designing for children, you always design for parents as well. In fact, parents are the most demanding users you can find. They have absolutely no mercy in reviews, requests, complaints, and ratings on the stores.

That’s not surprising. Parents need safety guarantees, regulations, and certifications — a sort of reassurance that you treat their safety and privacy seriously, especially when it comes to third-party integrations or advertising. In fact, they are often willing to pay for apps more just to avoid advertising.

Parents often value reviews from teachers, educators, doctors, and other parents like themselves. And they need to have parental controls to set specific time limits, rules, access, and permissions.

As Rodrigo Seoane has pointed out in an email, a major concern to keep in mind is “how the majority of initiatives for kids rely on and create dependencies on extrinsic motivations. The reward model keeps their attention in the short term, but as a core gamified mechanic, it is problematic in the long run, reducing their cognitive capacity and creating a barrier to developing any intrinsic motivation.” So whenever possible, design to increase intrinsic motivation.

Design Guidelines For Children-Friendly Design
  • Design large text (18–19px) with large tap targets (min 75×75px).
  • Use typefaces that approximate how children learn to write.
  • Translate text into attractive visuals, icons, sounds, characters.
  • Avoid bottom buttons as kids tap on them by mistake all the time.
  • Children expect feedback on every single action they perform.
  • Don’t patronize: show age-appropriate content for the age range you’re designing for.
  • Be transparent: children can’t distinguish ads or promotions from real content.
  • You’re always designing for both children and parents.
  • Parents are the most demanding users you can find. They have no mercy in reviews and ratings.
  • Design parental controls for time limits, rules, and access.
  • Instead of extrinsic rewards, design to increase intrinsic motivation.

Useful Resources

Digital Toolkits For Children

Books and eBooks

Meet Smart Interface Design Patterns

If you are interested in similar insights around UX, take a look at Smart Interface Design Patterns, our 10h-video course with 100s of practical examples from real-life projects — with a live UX training starting March 8. Everything from mega-dropdowns to complex enterprise tables — with 5 new segments added every year. Jump to a free preview.

Meet Smart Interface Design Patterns, our video course on interface design & UX.

100 design patterns & real-life examples.
10h-video course + live UX training. Free preview.

How to Hire Virtual Assistants for Your WordPress Site (Expert Tips)

Are you wondering how to hire virtual assistants for your WordPress site?

Running a business is a lot of work. But if you fail to maintain your WordPress website properly, then you may see your traffic and sales quickly drop. The good news is you can get a virtual assistant (VA) to manage your site for you.

In this article, you will learn how to hire a WordPress virtual assistant so that you can focus on the most important activities in your business.

How to hire virtual assistants for your WordPress site

What Is a Virtual Assistant?

A virtual assistant (VA) is an independent contractor who helps support your business remotely.

They handle all the repetitive or time-consuming tasks that you don’t have the time for or could use a helping hand with. These could be tasks like scheduling appointments, managing your calendar, or even sending emails.

Unlike an office manager or executive assistant, a virtual assistant does their work completely remotely. Also, VAs are generally used for simpler tasks, while executive assistants are trusted to perform more complex activities that require more experience.

Why You Need to Hire Virtual Assistants for Your WordPress Site?

Managing a WordPress website means being responsible for keeping website backups, plugin and theme updates, and WordPress core updates.

If you fail to maintain your site, then it could be at risk of hacks, experience downtime, or even have slow loading times. And that can directly cause you to lose visitors and even customers.

If you don’t have the time to maintain your site or don’t know how to, then you may want to hire a virtual assistant.

Your virtual assistant will be responsible for helping with WordPress-related tasks remotely. They can perform a wide range of tasks that go beyond maintenance, such as:

  • Technical support: Perform regular WordPress backups, keep your WordPress plugins and themes updated, optimize site performance, and more.
  • Content management: Perform content updates for SEO, schedule posts, and manage comments.
  • Customer support: Respond to blog posts and social media comments, engage with your audience, and schedule appointments.
  • E-commerce support: If you own an online store, then you can have your VA process orders, manage product listings, and handle customer inquiries. Or they can perform data entry tasks like updating inventory levels or prices.
  • Design: If they have design or coding skills, then VAs can make layout changes, adjust styles, or even create visuals.

VAs can take the workload off your plate so you can focus on higher-priority activities that drive revenue for your business.

To put it into perspective, let’s say your time is worth $50 an hour. Many administrative tasks can be outsourced to VAs for $5 to $25 per hour. As a result, those extra hours you have regained will allow you to earn more money.

Hiring VAs might just be the best move you can make in your business. With that being said, here’s how you can build a reliable team of VAs.

1. Decide Which Tasks to Outsource and Document Your Process

The first thing you need to do is make a list of tasks you’d like your WordPress virtual assistant to perform.

This will help you filter VAs to only those that fit your needs. As previously mentioned, there are dozens of tasks an assistant can handle for you.

Assuming these are all tasks you are currently doing yourself, you should document the entire process and create guidelines for them to follow. There are many efficient ways to document the process:

  • Use Snagit to record your screen and capture every click you make for each task.
  • Create a checklist or resources hub in Notion. You may need to include tutorials, scripts, and templates to follow.

Not only does this help make it easier to onboard your new team members, but it also helps to write a more accurate job description and find the right candidates for the role.

Here’s an example of what a resource hub on Notion may look like.

WordPress virtual assistant SOP

You can tag each document by the type of task it is.

Within each document, we’ve included step-by-step instructions along with screenshots to help guide VAs to execute a task.

internal error SOP

2. Write an Accurate Job Listing

If you want to find the right WordPress virtual assistant, then you will have to write a compelling job description that attracts someone with the qualities and skills you need.

This serves as a filter for identifying the right candidate. An effective virtual assistant job post should include:

  • Scope of work: Outline the tasks and responsibilities the VA will be handling. You should clearly state the expected availability and whether you are looking to fill a full-time or part-time role.
  • Skills needed: Specify the skills and qualifications you are looking for. Also, list the tools and software the VA is expected to know how to use, such as the WordPress CMS.
  • Experience: Mention the level of experience you are looking for, whether it’s entry-level or someone with specific years of experience.
  • Budget: Set a budget and indicate your preference for hourly rates or fixed-priced contracts.

The more detailed you can include, the better. For instance, here’s what a job post could look like.

Upwork VA job details

3. Know Where to Find Top Virtual Assistants

Once you’ve got your documentation in place and written your job ad, you are ready to start looking for virtual assistants.

Freelance websites are a great starting point to find a dedicated VA, especially when you have specific needs in mind.

While you could go the traditional route of hiring virtual assistants through job boards, freelance platforms have some benefits, such as:

  • A review system to see how they worked with previous clients
  • Global payments and easy invoicing
  • A chat feature to discuss project details and share files
  • Payments are through an escrow service, so you will only pay for work that gets completed

That being said, we recommend these freelance platforms to get started:

Codeable

Codeable

Codeable is a reliable WordPress freelance platform that helps match you with WordPress experts. You can find experts in pretty much all areas of WordPress, including:

  • Theme and plugin development and customization
  • E-commerce development
  • Custom WordPress web development
  • Web design
  • APIs and integration
  • Troubleshooting and maintenance
  • Security and performance

Basically, if you are having trouble with the technical side of WordPress and want qualified experts to handle it for you, then Codeable is an excellent option. And because the platform accepts only the top 2% of applicants, you can be sure that you are working with skilled WordPress professionals.

Upwork

Upwork

Upwork is one of the largest freelance marketplaces out there, with over 12 million registered freelancers on the platform.

Unlike Codeable, you can find virtual assistants with a wider range of skills. That allows you to find professionals for various tasks beyond WordPress.

Since there are more users on the platform, there’s a good chance you can find a virtual assistant within your budget.

Upwork also shows testimonials and job success scores on each freelancer’s profile so you can see their track record. On top of that, Upwork allows you to browse talent, message them directly, and even invite them to apply.

While you could choose a site like Fiverr instead, it may be more suited for one-time projects rather than a recurring role like a VA.

Toptal

toptal

Toptal is a freelance platform known for their rigorous screening platform, accepting only the top 3% of applicants.

Freelancers have to pass five steps of the screening process, including a comprehensive English evaluation and project assessment.

Unlike other platforms, Toptal takes a more customized approach. A team member will hop on a call with you to gather requirements and talent preferences. From there, they’ll introduce you to the right match for your job from their expert-vetted talent network.

This personalized matching process ensures that you work with virtual assistants who have the right skills and experience for your WordPress tasks. And it saves you from sifting through thousands of resumes and coordinating interviews yourself.

Toptal even has a dedicated invoicing and time-tracking feature called TopTracker. With this service, you can easily track hours and make payments via PayPal, Payoneer, or direct bank transfer. But you could also use a dedicated time-tracking tool like TimeDoctor as well.

4. Interview Qualified Candidates

Once you’ve had your job post up for a few days, you should see applications flooding in. Sifting through applicants can be a chore, but it’s a must if you want to find the right person.

You need to narrow down your list of candidates to ones that meet your qualifications. From there, you can choose to have applicants undergo a skills test. This filters out candidates who simply don’t have the skill set to do the job.

For example, you can create a dummy WordPress site and have them perform a full backup of the site, troubleshoot a common issue, or optimize a blog post for SEO. The list of duties you’ve already made will help you decide how to vet your candidates.

After that, you can pick the few candidates who scored the highest and are most qualified for the job. You will need to interview those potential hires over Google Meet or Zoom.

By now, you know that the candidates are capable of performing the role. But you will also want to know if they are a good cultural fit for your company. Evaluate how they like to work in a team setting, problem-solve unknown situations, or prioritize tasks, especially when handling multiple responsibilities.

5. Hire and Onboard New Virtual Assistants

Generally, you will hire the candidate who has made the best impression. Make sure to have any new hires sign an Independent Contractor Agreement. This contract outlines the terms, including the scope of work and payment terms.

Also, it details intellectual property rights, which is important to clarify, especially when dealing with website content, designs, or other creative elements.

With software like signNow, you can create agreements in PDF format and invite your new hires to sign the contract.

But before your new VA starts, you should also have an onboarding process in place.

All you have to do is use a project management tool to create a series of onboarding tasks that need to be completed in order to get the VA caught up to speed.

You can use Asana to assign a checklist of tasks to help onboard your new virtual assistants. Every new team member will go through a series of action items to get them familiar with your company and how you operate. In the checklist, it should outline things such as:

  • Your company’s mission and core values
  • Access to WordPress site login and other tools
  • Documentation and training on how to perform tasks
  • Access to team communication tools for collaboration (for example, using Slack is a great way to chat with VAs 1 on 1, or you can create a dedicated channel to make announcements to your entire team.

You can simply add links to the resource hub you created earlier with Notion or similar software.

When adding permissions and roles to WordPress and other software, it’s vital that you use a password manager like 1Password.

This software will generate and store strong, unique passwords for each account, which can help prevent anyone from hacking into your WordPress site.

Alternative: Use WP Maintenance Services

You may decide that you are not quite ready to hire a VA, either because you don’t have enough tasks to delegate or it doesn’t make financial sense.

In that case, you might want to choose WordPress maintenance services instead. They can help streamline and automate all the tasks you need to perform to keep your site healthy and up-to-date, including:

WordPress.org recommends that you perform these housekeeping tasks about every three to six months.

While you could hire a VA to perform these tasks, it’s much cheaper to simply pay for a service provider to do the job for you.

We recommend choosing Seahawk, which is the best WordPress maintenance service on the market. They do backup services, core updates, theme and plugin updates, assets optimization, malware removal, uptime monitoring, and much more.

Their SeaCare package, starting at $99 per month, provides all the essential services you need to take good care of your site.

Seahawk

You will even get a dedicated account manager who is there for you whenever you need it. That means you are just a call away from resolving any issues.

Another alternative is to use a managed WordPress hosting company like WP Engine, which can handle most maintenance services. Managed hosting providers take care of all server management tasks like server setup, security, and maintenance.

Frequently Asked Questions

Our readers often ask us about how to hire WordPress virtual assistants. Here are the answers to the most common questions:

How much does a virtual assistant cost?

Prices for virtual assistants vary but generally will cost between $5 to $50 per hour, with specialized and US-based VAs costing more than admin-focused and overseas ones.

While many charge by the hour, some may price their fees as a monthly retainer of $500 to $4,000 for a set number of hours.

When should you hire a virtual assistant?

As business owners, it’s hard to know when it’s time to hire a virtual assistant. But here are a few signs that it’s time to begin delegating:

  • You are spending too much time on low-value tasks. It’s best to spend your time adding value to your company in a way that only you can.
  • You are losing customers because you can’t respond to support emails. Poor customer experience will lead to a bad reputation, which can affect the growth of your business.
  • You aren’t good with WordPress. A VA with technical skills can handle fixing WordPress errors and perform backups, ensuring that your site stays secure and up-to-date.
  • You are struggling to manage content for your WordPress site. A WordPress virtual assistant can help write blog posts, create graphics, and schedule content updates.

Outsourcing may feel unnatural for entrepreneurs who like to be in control. But part of growing a business is putting trust in others so that your company can run without your full attention.

That said, if you only need help maintaining your WordPress site, then WordPress maintenance services are the more reliable and affordable solution.

We hope this article helped you learn how to hire virtual assistants for your WordPress site. You may also want to check out our guide to the most crucial WordPress maintenance tasks to perform regularly and the ultimate WordPress security guide.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Hire Virtual Assistants for Your WordPress Site (Expert Tips) first appeared on WPBeginner.

Design vs. Coding

I was thinking that one way that a coding team could work would be that coders would be rotated through several roles. This would prevent people from getting too comfortable towards the goal of preventing problem areas (code quality wise) from developing in the department.

  • Architecture
  • Production Coding
  • Documentation
  • Quality Control

Splitting off architecture as a role will help, I hope to clarifty role-wise for a coder when they are expected to have input on process, vs. when I'd be happier if they were actively attempting to hit a metric and fulfill a specification.

Optimizing API Lifecycles: A Comprehensive Guide for Product Managers

In this article, we will delve into the intricacies of optimizing API lifecycles—an essential aspect for product managers navigating the dynamic landscape of digital integration. From conceptualization to retirement, understanding and implementing best practices throughout the API lifecycle is crucial for creating robust, scalable, and future-proofed integrations.

The Birth of an API: Conceptualization and Design

Identifying Business Needs

Before the first line of code is written, product managers must collaborate with stakeholders in any sector to identify financial needs. For instance, envision a scenario where the demand for real-time transaction data prompts the creation of a new API, enhancing interoperability among financial systems.

An Efficient Design-to-Code Handoff Process Using Uno Platform For Figma

Effective collaboration between designers and developers is vital for creating a positive user experience, but bridging the gap between design and code can be challenging at the best of times. The handoff process often leads to communication gaps, inconsistencies, and, most importantly, lost productivity, causing frustration for both designers and developers.

When we try to understand where most of the time is spent building software applications, we will notice that a significant amount of it is lost due to a lack of true collaboration, miscommunication, and no single “source of truth.” As a result, we see designers creating great user experiences for clients and passing on their approved designs with little input from the developers. They then attempt to recreate the designs with their developer tools, resulting in a complicated, cost-intensive process and often unimplementable designs.

Developers and integrators are supposed to closely inspect a design and try to analyze all there is to it: the margins, spacing, alignments, the types of controls, and the different visual states that the user interface might go through (a loading state, a partial state, an error state, and so on) during the interactions with it, and then try to figure out how to write the code for this interface. Traditionally, this is the design handoff process and has long become the norm.

We at Uno Platform believe that a better, more pragmatic approach must exist. So, we focused on improving the workflow and adding the option to generate the code for the user interface straight from the design while allowing developers to build upon the generated code’s foundation and further expand it.

“When designers are fully satisfied with their designs, they create a document with all the details and digital assets required for the development team to bring the product to life. This is the design handoff process.”

— UX Design Institute, “How to create a design handoff for developers

Let’s look at some of the problems associated with the handoff process and how the Uno Platform for Figma Plugin may help alleviate the pitfalls traditionally seen in this process.

Note: The Uno Platform Plugin for Figma is free, so if you’d like to try it while reading this article, you can install it right away. Uno Platform is a developer productivity platform that enables the creation of native mobile, web, desktop, and embedded apps using a single codebase. As part of its comprehensive tooling, Uno Platform offers the Uno Figma plugin, enabling easy translation of designs to code. (While Uno Platform is free and open-source, the plugin itself is free but not open-source.) If you want to explore the code or contribute to the Uno project, please visit the Uno Platform GitHub repository.

A significant factor in choosing our current development path lies in the belief that Figma outperforms the Sketch + Zeplin combination (and not only) because of its platform-agnostic nature. Being a web-based tool, Figma is more universal, while Sketch is limited to MacOS, and sharing designs with non-Mac developers necessitates using third-party software. Figma offers an all-in-one solution, making it a more convenient option.

In addition, Figma now also supports plugins, many of them assisting with the handoff process specifically. For example, Rogie King recently launched a plugin “Clippy — add attachments” that allows attachments to your Figma files, which is very useful during the handoff process. Of course, there are many others.

This and other factors “weighed” us towards Figma Design. And we aren’t alone; others have picked up Figma as their key design tool after doing some research and then trying things in practice.

“Comparing the must-haves against the features of a list of possible design apps we compiled (including Sketch, Axure RP, Framer, and more), Figma came out as the clear forerunner. We decided to proceed with a short-term trial to test Figma’s suitability, and we haven’t looked back since. It met all of our key feature requirements but surprised us with a lot of other things along the way.”

— Simon Harper, “Why we chose Figma as our primary design tool
Working with the Uno Figma Plugin

1: Get Started with Uno Platform for Figma Plugin

Uno for Figma presents a significant advantage for teams that rely on Figma as their primary design tool.

By combining the familiarity and efficiency of Figma with the capabilities of the Uno Platform, designers can seamlessly continue working in a familiar environment that they are already comfortable with while knowing their designs will be integrated practically by their development team.

Getting started with the Uno Figma plugin is a straightforward process:

  1. Install the Uno Platform (Figma to C# or XAML) plugin.
  2. Open the Uno Platform Material Toolkit design file available from the Figma Community.

With the Uno Material Toolkit, you no longer need to design many of the components from scratch as the toolkit provides UI (user interface) controls designed specifically for multi-platform, responsive applications.

Note: To use the plugin, you must create your design inside the Uno Material Toolkit Figma file, using its components. Without it, the plugin won’t be able to generate any output, making it incompatible with existing Figma designs.

2: Setting Up Your Design

Once you have installed the Uno Platform for Figma plugin and opened the Material Toolkit design file, you can use the “Getting Started” page in the file layers to set up your design. The purpose of this page is to simplify the process of defining your application’s theme, colors, and font styles.

You can also use DSP Tooling in Uno.Material for Uno Platform applications. This feature has been one of the top requests from the Uno Platform community, and it is now available both as a package and as part of the App Template Wizard.

If you’re unfamiliar with DSP (Design System Packages), it’s essentially a repository of design assets, including icons, buttons, and other UI elements, accompanied by JSON files containing design system information. With a DSP, you can craft a personalized theme that aligns with your brand, effortlessly integrate it into your Uno Platform application through the Figma plugin, and implement theme changes across the entire user interface of your application.

The ability to import custom Design System Packages (DSPs) is a significant development for Uno Platform. With this feature, designers can create and manage their own design systems, which can be shared across projects and teams. This not only saves time but also ensures consistency across all design work. Additionally, it allows designers to maintain control over the design assets, making it easier to make updates and changes as needed.

Note: The “Getting Started” page offers step-by-step instructions for modifying the colors and fonts of the user interface, including previewing your overall theme. While you can modify these later, I’d recommend doing this right at the beginning of your project for better organization.

Afterward, create a new page and ensure that you begin by using the Standard Page Template provided in the Uno Toolkit components to start the design of your application. It’s essential to remember that you will have to detach the instance from the template to utilize it.

3: Start Creating The Design

Most Toolkit Components have variants that will act as time savers, allowing a single component to contain its various states and variations, with specific attributes that you may toggle on and off.

For example, button components have a Leading Icon variant so you can use the same element with or without icons throughout the design.

The Uno Toolkit provides a comprehensive library of pre-built components and templates that come with the appropriate layer structures to generate XAML (eXtensible Application Markup Language is Microsoft’s variant of XML for describing a graphic user interface) and C# markup and allows designers to preview their designs using the Uno plugin. This helps synchronize design and development efforts, maintain project consistency, and optimize code output. Furthermore, these components can be reused, making creating and managing consistent designs across multiple projects easier.

4: Live Preview Your App

The Previewer in the Uno Platform is a powerful tool that enables designers to troubleshoot their designs and catch issues before the handoff process starts, avoiding redundancy in communications with developers. It provides a live interactive preview of the translated look, behavior, and code of the application’s design, including all styling and layout properties. Designers can interact with their design as if it is a running app, scrolling through content and testing components to see how they behave.

To preview the designed user interface, follow these steps:

  1. In Figma, select the screen you want to preview.
  2. Right-click the screen → PluginsUno Platform (Figma to C# or XAML).
  3. Once the plugin has launched, select the Preview tab.
  4. Press the Refresh button.

Getting Started With The Tutorial: First Steps

If you’re new to using the Uno Platform for Figma plugin, the first step is to install it from the Figma community. After downloading the plugin, proceed with the following steps:

  1. Navigate to the Uno Material Toolkit File in the Figma community and select Open in Figma to start a new project.
  2. Setting up your project theme first is optional but recommended. You can set your desired theme from the Getting Started page (included in the file) or import a DSP (Design System Package) file to quickly transform your theme.
  3. Create a new page. Within the Resources tab of the menu, under Components, find and select the “Standard Page Template.”
  4. Right-click on the template and select Detach the instance.

These are the initial steps for all new projects using the Uno Platform for Figma plugin and Uno Material Toolkit — not only the steps for this tutorial. This workflow will set you on the right path to creating various mobile app designs effectively.

Designing With Uno Material Toolkit

You can follow along here with the Uno Flights file template, which you can use for reference. Please note that when building your UI design, you should only use components that are part of the material toolkit file. Refer to the components page to see the list of available components.

Step 1: Search Results, Sort, And Filter

First, implement the search results and the Sort and Filter action buttons by following these steps:

  1. Add a TextBox and change the placeholder text.
  2. In the TextBox properties, toggle on a leading/trailing icon. (optional)
  3. Add Text to display the number of results and the associated text. (Use Shift + A to add them to an Auto Layout.)
  4. Add an IconButton (use the components provided by the Material Toolkit) and swap the default icon to a Filter icon. Include accompanying Text for the icon, and group them within a frame with a horizontal Auto Layout.
  5. Repeat the previous step for the filter action, adding an IconButton with a filter icon accompanied by Text and placing them in an Auto Layout.
  6. Nest both actions within another Auto Layout.
  7. Finally, group the three sections (number of results, sort action, and filter action) into an Auto Layout.
  8. Add the SearchBox and your final Layout and nest them inside Content.Scrollable.

By following these steps, you should see a result similar to the example below:

Step 2: Flight Information

The Flight Itinerary block can be divided into three sections:

  • Flight Times and the ProgressBar are included in the first Auto Layout.
  • Airport and Flight Information are organized in a separate Auto Layout.
  • Airline Information and Flight Costs are presented in a third Auto Layout.

Flight Times and ProgressBar

  1. Insert two Text elements for arrival and departure times.
  2. Locate the ProgressBar component in the Resources tab and add it between the two times created.
  3. Group the three components (arrival time, ProgressBar, departure time) into an Auto Layout.
  4. Add an icon and swap the instance with a plane icon.
  5. Select the absolute position and place the plane icon at the beginning of the ProgressBar.

Flight Info

  1. Insert Text for your flight time and flight status.
  2. Apply an Auto Layout to organize them and set it to Fill.
  3. Proceed to add Text for the Airport initials.
  4. Combine the two Texts and the previously created Auto Layout into a new horizontal Auto Layout.

Airline Information

  1. Add the necessary Text for Airline Information and pricing.
  2. Select both Text elements and apply an Auto Layout to them.
  3. Set the frame of the Auto Layout to Fill.
  4. Adjust the horizontal gap as desired.

Select the three sections you want to modify:

  1. Add a new Auto Layout.
  2. Apply a Fill color to the new layout.
  3. Adjust the vertical and horizontal spacing according to your preference.
  4. Move your component to the Standard Page Template by dragging it below the content.Scrollable layer.

Step 3. Bottom TabBar

The Bottom TabBar is relatively simple to modify and is part of the Standard Page Template. To complete this section:

  1. Select each item from the Bottom TabBar.
  2. Expand it to the lowest icon layer.
  3. In the Design tab, replace the current instance with the appropriate one.
  4. Next, select the associated Text and update it to match the corresponding menu item.

Step 4. Preview, Export, And Transition From Figma To Visual Studio

Once the user interface design is finalized in Figma, the Uno Platform Plugin enables us to render and preview our application with the click of a button. Within the Previewer, you can interact with the components, such as clicking the buttons, scrolling, toggling various functionalities, and so on.

After previewing the app, we can examine the XAML code generated in the Export tab.

Open the Uno Figma Plugin (right-click the screen → PluginsUno Platform (Figma to C# or XAML).

For XAML

  1. You can change your namespace in the first tab (Properties) under Application (optional).
  2. Go to the Export tab and select Copy to Clipboard (bottom right button).
  3. Open Visual Studio and create a new project using the Uno App Template Wizard (this is where you will choose between using XAML or C# Markup for your user interface).
  4. Open your MainPage.xaml file, remove the existing code, and paste your exported code from the Uno Figma Plugin.
  5. Change your x:class and xmlns:local namespaces.
  6. Export the color override file and paste it into your ColorPaletteOverride.xaml.

For C# Markup

  1. Go to the Export tab and select all contents from the line after this to the semicolon ; at the end. (See the screenshot below.)
  2. Copy the selected code to the clipboard (Ctrl/Cmd + C on Win/Mac).
  3. In Visual Studio, create a new project using the Uno App Template Wizard. (This is where you will choose between using XAML or C# Markup for your user interface.)
  4. Open MainPage.cs and replace all the Page contents with the copied code.
  5. To set the appropriate font size for all buttons, access the MaterialFontsOverride.cs file in the Style folder. Go to the Figma Plugin, and in the Export tab, select Fonts Override File from the dropdown menu. Copy the content in the ResourceDictionary and replace it in your MaterialFontsOverride.cs.

Here’s an example of the generated XAML (and also C#) code that you can import into Microsoft Visual Studio:

flightXAML.txt (38 kB)

flightCsharp.txt (56 kB)

Conclusion

Harmonizing design and development is no easy task, and the nuances between teams make it so there is no one-size-fits-all solution. However, by focusing on the areas that most often affect productivity, the Uno Platform for Figma tool helps enhance designer-developer workflows. It facilitates the efficient creation of high-fidelity designs, interactive prototypes, and the export of responsive code, making the entire process more efficient.

The examples provided in the article primarily showcase working with mobile design versions. However, there are no limitations in the document or the generated code that restrict you from creating suitable versions for desktops, laptops, tablets, and just the world of the World Wide Web. Specify the desired resolutions and responsive elements (and how they should behave), and the designs you create should be easily adaptable across different platforms and screen sizes.

Further Reading

  • Five is for 5X productivity. Announcing Uno Platform 5.0,” (Uno Platform )
    This article provides an overview of all the new features available in the Uno Platform, including the new Figma to C# Markup plugin feature.
  • Intro to Figma for .NET Developers,” (Uno Platform )
    This article provides an overview of Figma and its features and how .NET developers can use it together with the Uno Platform to streamline their design-to-development workflows.
  • Uno Platform 5.0 — Figma plugin, C# Markup, and Hot Reload showcase via Uno Tube Player sample app,” (YouTube)
    This is a short video highlight for Uno Platform v. 5.0, edited from the following steps in the Tube Player workshop (this is a Figma Design file which is part of the Tube Player workshop and is tailored to .NET developers specifically).
  • Uno Platform for Figma — Uno Flight speed build,” (YouTube)
    A short video that shows the making of the Uno Flight app UI compressed into only a minute and a half.
  • Building a Login Page with Uno Platform and Figma,” (Uno Platform)
    The Uno Platform’s plugin and toolkit offer a large library of ready-to-use components, allowing developers and designers to take advantage of a set of higher-level user interface controls designed specifically for multi-platform, responsive applications.
  • Building a Profile Page with Uno Platform for Figma,” (Uno Platform)
    In this tutorial, you will learn how to build a completely functional Profile page using Figma and Uno Platform and how to generate responsive and extendable XAML code.
  • Replicating Pet Adoption UI with Uno Platform and Figma,” (Uno Platform)
    This tutorial will walk you through creating a Pet Adopt user interface mobile screen and exporting your Figma designs into code, including setting up your Figma file and designing using Uno Material Toolkit components.
  • From Figma to Visual Studio — Adding Back-End Logic to Goodreads App,” (Uno Platform)
    The Uno Platform has an XAML tab (which houses the generated code for the page you created in Figma) and a Themes tab (which houses the Resource Dictionary for the page you created). This tutorial contains a working Goodreads sample and provides many details as to using the XAML and Themes tabs.
  • Replicating a Dating App UI with .NET, Uno Platform and Figma,” (Uno Platform)
    In this tutorial, you’ll learn how to use Uno Platform to create a dating app user interface, covering in detail various sections and components of the interface; at the end, you’ll also be able to export the design into Visual Studio Code.
  • Getting Started with Uno Toolkit,” (Uno Platform)
    Detailed developer documentation pages for working with Uno Platform.
  • The 12 best IDEs for programming,” Franklin Okeke
    To keep up with the fast pace of emerging technologies, there has been an increasing demand for IDEs among software development companies. We will explore the 12 best IDEs that currently offer valuable solutions to programmers.
  • Why we chose Figma as our primary design tool,” Simon Harper (Purplebricks Digital)
    Comparing the must-haves against the features of a list of possible design apps we compiled (including Sketch, Axure RP, Framer, and more), Figma came out as the clear forerunner. It met all of our key feature requirements but surprised us with a lot of other things along the way.
  • Why we switched to Figma as the primary design tool at Zomato,” Vijay Verma
    Before Figma, several other tools were used to facilitate the exchange of design mockups and updates; after Figma, the need to use other tools and services was reduced as everything comes in one single package.
  • The Best Handoff Is No Handoff,” Vitaly Friedman (Smashing Magazine)
    Design handoffs are often inefficient and painful; they cause frustration, friction, and a lot of back and forth. Can we avoid them altogether? This article discusses in detail the “No Handoff” fluid model, where product and engineering teams work on the product iteratively all the time, with functional prototyping being the central method of working together.
  • Designing A Better Design Handoff File In Figma,” Ben Shih (Smashing Magazine)
    Creating an effective handoff process from design to development is a critical step in any product development cycle. This article shares many practical tips to enhance the handoff process between design and development in product development, with guidelines for effective communication, documentation, design details, version control, and plugin usage.
  • How I use Sketch with Zeplin to Design and Specify Apps,” Marc Decerle
    Sketch is a very powerful tool in combination with Zeplin. In this article, the author describes how he organizes his Sketch documents and how he uses Sketch in conjunction with Zeplin.
  • Design System Package (DSP)
    This document describes the Design System Package structure, including details on how each internal file or folder should be used.

Modern MLOps Platform for Generative AI

A modern MLOps platform for Generative AI seamlessly integrates the practices of machine learning operations with the unique aspects of generative models. Such platforms strive to automate and streamline the end-to-end lifecycle of generative AI models, ensuring robustness, scalability, and reproducibility. A holistic approach is crucial, addressing both the technical dimensions of model development and deployment and the ethical, safety, and governance considerations inherent to generative models.

Here Is the Architecture of Such a Platform

1. Data Ingestion and Storage

  • Data collection: Harness data from diverse sources.
  • Data storage: Employ scalable distributed systems optimized for growing model sizes and computational demands.
  • Data versioning: Ensure reproducibility with versioned datasets.
  • Document sharding: Efficiently manage large documents or datasets.

2. Data Processing, Transformation and Embeddings

  • ETL processes: Clean and preprocess data.
  • Feature engineering: Extract essential features.
  • Embedding generation: Convert data into meaningful embeddings.
  • Vector store: Efficiently store and retrieve embeddings.

3. Model Development, Prompt Engineering, Pre-Trained Models and Fine-Tuning

  • Interactive development: Facilitate rapid prototyping and experimentation.
  • Model repository: Access and manage large pre-trained models.
  • Fine-tuning: Adapt pre-trained models to specific tasks.
  • Prompt engineering: Design, test, and optimize prompts to guide generative models.
  • Experiment tracking: Monitor and compare various model experiments.

4. Model Training, Validation, and Generative Outputs

  • Distributed training: Use platforms optimized for the increased infrastructure demands of large generative models.
  • Hyperparameter tuning: Automate the discovery of optimal model parameters.
  • Validation and quality assurance: Ensure the quality and relevance of generated content.

5. Transfer Learning, Knowledge Distillation and Continuous Learning

  • Transfer learning: Reuse pre-trained model knowledge.
  • Knowledge distillation: Simplify and optimize models without compromising performance.
  • Active learning: Iteratively enhance models based on the most valuable data.

6. Model Deployment, Scaling and Serving

  • Model packaging and serving: Prepare models for production.
  • Deployment strategies for large models: Techniques like model sharding to manage the intensive infrastructure requirements of gen AI.
  • Scaling generative workloads: Infrastructure solutions to meet the computational demands of generative tasks.

7. Monitoring, Alerts, and Feedback for Generative Outputs

  • Model monitoring: Track model performance with a keen focus on generated outputs.
  • Infrastructure monitoring: Ensure the health and scalability of the underlying systems, especially given the heightened requirements of gen AI.
  • Alerts: Stay updated on anomalies or performance degradation.
  • User feedback loop: Adjust based on user insights and feedback.

8. Governance, Safety, and Ethical Considerations

  • Model auditing and versioning: Maintain a clear and transparent record of model changes.
  • Content filters: Implement standards for content generation.
  • Ethical reviews and compliance: Regularly navigate and update based on the ethical landscape of gen AI.

9. Collaboration, Sharing and Documentation

  • Model sharing: Promote collaboration across teams or externally.
  • Documentation: Keep stakeholders well-informed with thorough documentation.

10. Infrastructure, Orchestration and AI Infrastructure Concerns

  • Infrastructure as code: Define infrastructure programmatically, with adaptability for the changing demands of gen AI.
  • Orchestration: Coordinate the ML lifecycle stages, ensuring efficient resource allocation and scalability.
  • AI infrastructure management: Strategically plan and manage resources to accommodate the growing size and complexity of gen AI models.

By embracing this comprehensive approach, a modern MLOps platform for Generative AI empowers developers, data scientists, and organizations to harness the transformative potential of generative models, ensuring they effectively navigate the challenges and intricacies they present. Furthermore, as we venture deeper into the age of AI, it becomes imperative for the MLOps platform to address and minimize environmental concerns. This includes practices that reduce carbon footprints, prioritize energy efficiency, and promote sustainable tech solutions. I will delve deeper into the significance and methods of integrating sustainability into MLOps in a future article.

What Is Privacy by Design?

Privacy by Design (PbD) is an approach to systems engineering that aims to embed privacy into every stage of the development process and across the entire organization from day one.

Privacy is too often overlooked or solely an afterthought. Policies get developed following harmful incidents such as data breaches or privacy invasions, at which point it is too late. Privacy by design aims to correct this through instilling conscious and proactive privacy management, with the impact on the data subject remaining the center of attention.

Improving The Double Diamond Design Process

As a designer, you’re no doubt familiar with the concept of the Double Diamond, that super simple graphical representation of the ideal design process.

Typically you’ll see two squares rotated 45 degrees: the first square will say something like “discover” and “define,” while the second one will encourage you to “explore” and “create.” Each diamond will have a heading, such as “problem” and “solution,” or the more punchy “design the right thing” and “design the thing right.” Along the side of each diamond, there will be a label explaining how you must first diverge, i.e., come up with lots of options before you can converge into a single answer.

It’s one of the simplest articulations of the design process out there. It’s also why many designers hate their jobs. Let me explain…

Note: If you’re curious as to who and when nailed down the Double Diamond concept in its present modern form — which we see being referenced practically everywhere nowadays — check the Appendix at the end of the article (“How do We Describe Design Process?”).

Designers Are Problem-Finders And Problem-Solvers

As designers, we like to think of ourselves as problem-finders as well as problem-solvers. Give us a user challenge, and we’ll use our research skills to uncover what’s really going on below the surface! We’ll take this information, reframe the problem, and come up with an even better solution — one that’s never been considered before. That’s what the double diamond is all about. It’s about avoiding the obvious, shallow solutions and instead freeing us up to be truly creative.

“The formulation of a problem is often more essential than its solution, which may be merely a matter of mathematical or experimental skill. To raise new questions, new possibilities, to regard old problems from a new angle, requires creative imagination and marks real advance in science.”

— Albert Einstein & Leopold Infeld (via: “Using the Problem Reframing Method

I think the best example of this can be found in the UK TV program Blue Peter, a British children’s television entertainment program created by John Hunter Blair, which is the longest-running children’s TV show in the world.

A few years back, Blue Peter got to interview design legend Jony Ive. They explained to Jony how they’d set a challenge for their young viewers to design a lunchbox, pencil case, and school bag, all in one. He responded by saying that you needed to be really careful not to have the word “box” in the brief because it might determine the path you went down. You could imagine if Jony had set the challenge, he might have asked the kids to “design a means of storing and transporting your lunch to school.” A nice reframing of the problem which didn’t contain the proposed solution!

If you take a close look at the model above, you’ll see that the first part of the reverse double diamond is essentially accepting the status quo, letting your boss tell you to deliver the metaphorical equivalent of a “lunchbox feature,” and creating the best version possible with the time and information available. However, the trick to making the reverse double diamond work is to actively monitor how this new feature performs and — wait for it — make suggestions about how it can be improved post-launch.

Once the lunchbox feature has been delivered and is out in the wild, the stakeholder who sponsored it no longer needs to be protective of it. The problem switches from being a delivery problem (“Can we actually get this thing launched?”) to being a value extraction problem (“How can we make this existing thing work better?”). This is the exact point in time where you put your business hat on, look at the stats, and say something like this, “This feature currently has relatively low utilization of only 5%. However, we believe that with some tweaks, we can get this up to 20%.”

In ye olde days, this used to be called “making a business case,” and it’s frankly much easier to make a business case for something that already exists and you believe can be made better than it is doing research on something that doesn’t yet exist and might be just fine as it is.

In essence, you’re still doing research work, and you’re still going to be exploring a range of potential solutions — you’re just doing this once the feature is already out in the market and you know exactly how it’s performing. Of course, this all depends on a number of things, including how well or poorly the feature performs, how good your design and product leaders are at making a business case, and how much work the design team has on. Unless you’re able to make a solid release plan, it’s likely that the second half of the reverse double diamond will actually be uncoupled from the first.

For companies that have featured teams and growth teams, it’s even possible that your feature teams will deliver the first half of the reverse double diamond before handing it over to the growth team to do the second half. As a result, this process is less than ideal. However, it’s much more pragmatic and goes fine “with the grain” of most organizations.

Iterating Towards The Traditional Double Diamond

Earlier, I hinted that this process might, over time, allow you to get to the “design nirvana” represented by the traditional double diamond. The logic here is that by constantly improving products post-launch, the organization learns to trust the design team’s ability and, more importantly, their vision.

As you garner more trust and evidence, over time, you can start making the case that it would be quicker and more cost-effective if you spent a few weeks upfront trying to avoid the mistakes, which can often take months or even years to address. Mistakes that will also often result in some lost revenue. In fact, this is effectively the same argument many designers make for adopting the traditional double diamond workflow in the first place — you’re just doing so by using evidence rather than belief and theory.

Conclusion

The Double Diamond concept is great, but it’s just not the way most organizations function. If, as a designer, you set your expectations around this theoretical model, you’re going to be continually disappointed! However, designers are meant to be great at understanding how things actually work rather than how we think they should work.

If we want to initiate change, we need to ask for more accurate models of how design actually works inside our organizations and target the areas where we have the most leverage. I believe this means adopting some variant of the “reverse double diamond” idea, accepting that we’re going to be told to deliver “lunch box features” 90% of the time, and shifting our attention away from pre-launch solutions to post-launch solutions.

We can design and then release a good first version of a product out into the world as quickly as possible and then use our business and communication skills to petition for and make measurable improvements to it. And if we can do this consistently, there’s a slim — but tangible! — chance that we can switch the “double diamond” back around.

Further Reading

  • Should You Create An MVP Before Creating An App?,” by Suzanne Scacca (Smashing Magazine)
    Apps are neither small undertaking nor cheap to build and maintain. So, before you move ahead with creating a new mobile app or SaaS for your client, perhaps you should consider launching a minimum viable product (MVP) instead. With an MVP, you have a low-risk and lower-cost way of testing your concept on the market. What’s not to love about that?
  • Getting Back Into The (Right) Deliverables Business,” by Rian van der Merwe (Smashing Magazine)
    “Get out of the deliverables business” has become quite a mantra in the lean startup and UX movements. There’s much to love in that sentiment. After all, for every wireframe you make, you’re not shipping code to customers. But just like with the concept of a minimum viable product (MVP), it’s likely that we’ve taken this sound advice to an extreme which actually is hurtful to the creation of good products. What follows is the author’s account of navigating these stormy design seas together with the community.
  • Design Thinking & Minimum Viable Product: Is This the Right Approach?,” by Masha Panchenko (Eleken Blog)
    Design thinking has become a highly popular approach during the last forty years. It is used in IT, business, education, design — literally everywhere. There is even a book about applying design thinking for personal use called Designing Your Life. We don’t know if design thinking will help to change your life for the better, but what we know is that design thinking is a great approach when it comes to building a Minimum Viable Product.
  • Designing Your Life, a book by Bill Burnett & Dave Evans
    A book that shows you how to build — to design — a life you can thrive in at any age or stage. Designers create worlds and solve problems using design thinking. Everything in our lives was designed by someone, and every design starts with a problem that a designer or team of designers seeks to solve. In this book, the authors show us how design thinking can help us create a life that is both meaningful and fulfilling, regardless of who or where we are, what we do or have done for a living, or how young or old we are.
    (Editor’s Note: This book was, in fact, also recommended to me by Joshua Mauldin a while ago, and I cannot but highly recommend it to everyone! It’s a fantastic, very useful read. — M.B.)
  • Using the Problem Reframing Method,” by Sebastian Straube (product management & discovery coach at Accenture Business Agility)
    Avoid jumping directly into solution thinking and not empathizing with the problem itself; looking at a problem from different angles helps to build more innovative, sustainable solutions, and you need to try different reframing practices and methods as there is not a one-size-fits-all approach.
  • Is UX Research About ‘De-risking’ Design?,” by Jonathan Baker-Bates (UX architect at LBi, VP of UX at TES Global)
    Is UX research centered on helping designers predict eventual outcomes of design interventions, or is its role to “de-risk” UX and business ideas? Research is often framed as a way of lowering the risk to the business (this applies both to design validation as well as to exploratory research), but research should be checking whether what we said about a given intervention actually tends to happen.
  • Modern Double Diamond design: Rethinking a classic design process,” by Victory Brown
    To accomplish your tasks, you’ll need to set up a process that will allow you to complete them quickly and also give the best results. Sometimes the design process can be a jungle of trends and patterns; it involves a lot of back and forth to produce the best design solutions. No design is the final design, and every procedure can be iterated on. This is why the Design Council came together in 2005 to develop a new approach to designing solutions with creative thinking, systems design, and design management in mind: the Double Diamond design process.
  • History of the Double Diamond
    This article describes the history behind the Double Diamond concept, created by the Design Council (established in 1944 by Winston Churchill’s wartime government). Over the course of several sessions, the group came up with a simplified way to describe any design and innovation process. It is based on four distinct phases that the design team, deliberately seeking a memorable device, named Discover, Define, Develop, and Deliver.

Appendix: “How Do We Describe The Design Process?”

A short bit of history. In 2003, the Design Council promoted the positive impact of adopting a strategic approach to design and the value of “design management” as a practice. However, they had no standard way of describing the supporting process. Richard Eisermann, Design Council’s then Director of Design and Innovation, thought this was incompatible with their broader message, so he asked his team, “How do we describe the design process?”

“The team put in the work trying to define design, process, methods, etc. What we did with the Double Diamond was codify it, rename the steps, and popularize it. It was important work, but we were certainly standing on the shoulders of giants.”

— Richard Eisermann

Of course, kite-shaped (diamond-shaped) process models have been referenced as far back as the 1960s, but models of the design process were not widely shared at this point. Part of the Design Council’s reason for creating the Double Diamond concept was to address this lack of visibility. Today the Double Diamond is considered a universally accessible description of the design process, has become an accepted part of design language, and is used and referenced worldwide.

History of the Double Diamond, The Design Council

Technical Approach to Design an Extensible and Scalable Data Processing Framework

Modern distributed data processing applications provide curated and succinct output datasets to the downstream analytics to produce optimized dashboarding and reporting to support multiple sets of stakeholders for informed decision-making. The output of the data processing pipeline must be pertinent to the objective as well as provide summarized and to-the-point information from the backend data processing pipeline. The middleware data processing thus becomes the backbone of these analytics applications to consume voluminous datasets from multiple upstreams and process the complex analytics logic to generate the summarized outcomes, which are then consumed by analytics engines to generate different kinds of reports and dashboards for multiple purposes. The most broadly defined objective for these analytics systems is as listed below:

  1. Forecasting application to predict the outcome for the future based on the historical trend to decide the future strategies for the organization.
  2. Reporting for senior leadership to display the performance of the organization and assess profitability.
  3. Reporting to external stakeholders for companies’ performance and future guidance.
  4. Regulatory reporting to external and internal regulators.
  5. Various kinds of compliance and risk reporting.
  6. Provide processed and summarized output to data scientists, data stewards, and data engineers to aid them in their data analysis needs.

There can be many more needs for the organization, which will require the analytics processing output to generate the summarized information, which will be consumed by the analytics application for generating the reports, charts, and dashboards.

How to Design an AI-Based Enterprise Search in AWS

Finding right information at the right moment is a key distinguisher in today's modern organization. This not only saves huge time and effort but boosts customer satisfaction as well as employee productivity. However, in most large organizations, all the contents and information are scattered and not indexed and organized properly. Often employees and customers browse through unrelated links for hours when they look for some urgent information (e.g., product information or process flows or policies, etc.) in the company's portal or intranet. Popular content management (CMS) software or wikis like Confluence or document management repositories like SharePoint lack the perfect intelligent search capabilities resulting in inefficiency as they only use the partial or full-text search based on keyword matching ignoring the semantic meaning of what the user is looking for.

Also, the traditional search doesn't understand if the question is being asked in natural language. It treats all words as search queries and tries to match all documents or contents based on that. For example, if I need to find which floor our IT helpdesk is located in my office building and simply search "Where is the IT Helpdesk located?" in general, CMS or Wiki software powering the company intranet it may bring up all links or texts matching every word of my question including "IT," "Helpdesk" as well as "located.” This would waste employee productivity, time, and morale as he or she would be spending a long time identifying correct info.