---
title: "Blog | OOZOU"
description: "Insights, perspectives, and thought leadership from our team of experts."
canonical: https://oozou.com/blog
locale: en
---

# Blog

> Insights, perspectives, and thought leadership from our team of experts.

168 articles, newest first.

- [How Can I Design a Software: A Beginners Guide for Business Owners](https://oozou.com/blog/how-can-i-design-a-software-a-beginners-guide-for-business-owners-300) ([markdown](https://oozou.com/blog/how-can-i-design-a-software-a-beginners-guide-for-business-owners-300.md)) (2025-02-11, OOZOU Team): Designing software is an exciting yet complex process that involves creativity, logical thinking, and problem-solving skills.
- [The Future of Edge Computing: What Businesses Need to Know](https://oozou.com/blog/the-future-of-edge-computing-what-businesses-need-to-know-299) ([markdown](https://oozou.com/blog/the-future-of-edge-computing-what-businesses-need-to-know-299.md)) (2025-02-09, OOZOU Team): The digital landscape is evolving rapidly, and businesses must adapt to keep up with rising demands for speed, efficiency, and real-time processing.
- [The Future of Retail: AI, AR, and Digital Transformation Trends](https://oozou.com/blog/the-future-of-retail-ai-ar-and-digital-transformation-trends-298) ([markdown](https://oozou.com/blog/the-future-of-retail-ai-ar-and-digital-transformation-trends-298.md)) (2025-02-06, OOZOU Team): Retail is evolving at an unprecedented pace, driven by AI (Artificial Intelligence), AR (Augmented Reality), and digital transformation technologies, revolutionizing the retail industry. Traditional brick-and-mortar stores are no longer just about selling products—they are becoming smart, interactiv
- [Dark Mode vs. Light Mode: UI Design Considerations and User Preferences](https://oozou.com/blog/dark-mode-vs-light-mode-ui-design-considerations-and-user-preferences-297) ([markdown](https://oozou.com/blog/dark-mode-vs-light-mode-ui-design-considerations-and-user-preferences-297.md)) (2025-02-04, OOZOU Team): User interface (UI) design plays a critical role in how users interact with applications, and one of the biggest design choices today is dark mode vs. light mode.
- [Best Practices for Developing Cross-Platform Apps with Flutter and React Native](https://oozou.com/blog/best-practices-for-developing-cross-platform-apps-with-flutter-and-react-native-296) ([markdown](https://oozou.com/blog/best-practices-for-developing-cross-platform-apps-with-flutter-and-react-native-296.md)) (2025-02-02, OOZOU Team): In today’s world, businesses need mobile applications that are scalable, cost-effective, and capable of delivering a seamless user experience across multiple platforms.
- [How to Introduce Software into Manufacturing the Right Way](https://oozou.com/blog/how-to-introduce-software-into-manufacturing-the-right-way-295) ([markdown](https://oozou.com/blog/how-to-introduce-software-into-manufacturing-the-right-way-295.md)) (2025-01-23, OOZOU Team): In today’s fast-evolving manufacturing industry, the integration of software solutions has become a cornerstone for achieving efficiency, accuracy, and scalability.
- [The Essential Digital Transformation Assessment for Business Success](https://oozou.com/blog/the-essential-digital-transformation-assessment-for-business-success-294) ([markdown](https://oozou.com/blog/the-essential-digital-transformation-assessment-for-business-success-294.md)) (2025-01-21, OOZOU Team): Digital transformation is no longer optional for businesses; it is essential for remaining competitive and thriving in today’s fast-paced, digital-first world.
- [Getting Started with an LMS for Enterprise](https://oozou.com/blog/getting-started-with-an-lms-for-enterprise-293) ([markdown](https://oozou.com/blog/getting-started-with-an-lms-for-enterprise-293.md)) (2025-01-19, OOZOU Team): An enterprise learning management system (LMS) is a powerful digital platform that streamlines training and development within organizations.
- [Getting Started With a Food Delivery App Made Simple](https://oozou.com/blog/getting-started-with-a-food-delivery-app-made-simple-292) ([markdown](https://oozou.com/blog/getting-started-with-a-food-delivery-app-made-simple-292.md)) (2025-01-14, OOZOU Team): Food delivery apps are changing the way we eat, making convenience, variety and accessibility the top priority. Before you start building, having a solid food delivery app idea is key to standing out in a crowded market.
- [Developing IoT Solutions Steps and Best Practices](https://oozou.com/blog/developing-iot-solutions-steps-and-best-practices-291) ([markdown](https://oozou.com/blog/developing-iot-solutions-steps-and-best-practices-291.md)) (2025-01-12, OOZOU Team): IoT means network of devices that measure environmental parameters, generate data and share it with other devices over the internet.
- [Mobile Development and Consulting Done Right: From Ideation to Execution](https://oozou.com/blog/mobile-development-and-consulting-done-right-from-ideation-to-execution-290) ([markdown](https://oozou.com/blog/mobile-development-and-consulting-done-right-from-ideation-to-execution-290.md)) (2025-01-07, OOZOU Team): In today’s fast paced digital world building a mobile app isn’t just about coding and design—it’s about strategy, innovation and execution.
- [Developing Enterprise Software: A Simple Guide](https://oozou.com/blog/developing-enterprise-software-a-simple-guide-289) ([markdown](https://oozou.com/blog/developing-enterprise-software-a-simple-guide-289.md)) (2025-01-05, OOZOU Team): Enterprise software is the lifeblood of modern business, efficiency, innovation and growth. An enterprise app is software that supports and automates operations in big organisations.
- [The Simplified Guide to Successful Software Implementation Process](https://oozou.com/blog/the-simplified-guide-to-successful-software-implementation-process-288) ([markdown](https://oozou.com/blog/the-simplified-guide-to-successful-software-implementation-process-288.md)) (2025-01-01, OOZOU Team): Software implementation is more than just deploying a new tool; it’s about transforming how an organization operates to achieve its goals more effectively.
- [App Development Budgeting Guide](https://oozou.com/blog/app-development-budgeting-guide-281) ([markdown](https://oozou.com/blog/app-development-budgeting-guide-281.md)) (2024-12-08, OOZOU Team): App development budgeting starts with understanding the app development cost estimate and its components. It’s all about planning and breaking down each phase of development.
- [Winning over the C-Suite on UX/UI Budgets](https://oozou.com/blog/winning-over-the-c-suite-on-ux-ui-budgets-280) ([markdown](https://oozou.com/blog/winning-over-the-c-suite-on-ux-ui-budgets-280.md)) (2024-12-05, OOZOU Team): Getting budget for UX design is a special kind of challenge. UX designers struggle to communicate the tangible value of their work to C-suite executives who focus on measurable business outcomes.
- [What Decision-Makers Should Know About Selecting an App Dev Framework](https://oozou.com/blog/what-decision-makers-should-know-about-selecting-an-app-dev-framework-261) ([markdown](https://oozou.com/blog/what-decision-makers-should-know-about-selecting-an-app-dev-framework-261.md)) (2024-11-24, OOZOU Team): Let’s face it—choosing the right app development framework isn’t just a tech decision. It’s a business-critical decision. One wrong move, and you could end up with an app that’s slow, unscalable, or worse—obsolete by the time it hits the market.
- [Mobile App Feature List Example: The Ultimate Features that Will Add the Most Value to Your Users](https://oozou.com/blog/mobile-app-feature-list-example-the-ultimate-features-that-will-add-the-most-value-to-your-users-263) ([markdown](https://oozou.com/blog/mobile-app-feature-list-example-the-ultimate-features-that-will-add-the-most-value-to-your-users-263.md)) (2024-11-22, OOZOU Team): Building a mobile app today isn’t just about cranking out code and shipping a list of app features. It’s about delivering value creating a user friendly mobile app through effective mobile app design that people can’t imagine living without.
- [Choosing the Right Cross Platform App Development Framework for Your Business Needs](https://oozou.com/blog/choosing-the-right-cross-platform-app-development-framework-for-your-business-needs-262) ([markdown](https://oozou.com/blog/choosing-the-right-cross-platform-app-development-framework-for-your-business-needs-262.md)) (2024-11-21, OOZOU Team): Alright, let’s talk business. In today’s world, building an app is no longer a luxury, it’s a necessity. But here’s the kicker: the way you build it matters.
- [Digital Transformation in Law: How It's Reshaping the Legal Industry and Key Benefits for Law Firms](https://oozou.com/blog/digital-transformation-in-law-how-it-s-reshaping-the-legal-industry-and-key-benefits-for-law-firms-265) ([markdown](https://oozou.com/blog/digital-transformation-in-law-how-it-s-reshaping-the-legal-industry-and-key-benefits-for-law-firms-265.md)) (2024-11-20, OOZOU Team): The legal industry is undergoing a seismic shift, driven by the rise of digital transformation in law. What was once a sector dominated by traditional law firms and manual processes is now evolving through law firm's digital transformation and legal digital transformation. Today, law firms are embra
- [Digital Transformation in Education: Revolutionizing Learning and Institutional Efficiency](https://oozou.com/blog/digital-transformation-in-education-revolutionizing-learning-and-institutional-efficiency-266) ([markdown](https://oozou.com/blog/digital-transformation-in-education-revolutionizing-learning-and-institutional-efficiency-266.md)) (2024-11-18, OOZOU Team): We are witnessing a digital revolution in education, with institutions worldwide embracing digital transformation to enhance the learning process and streamline operations.
- [Design Led Approach to Web Apps: Best Practices and Tips](https://oozou.com/blog/design-led-approach-to-web-apps-best-practices-and-tips-271) ([markdown](https://oozou.com/blog/design-led-approach-to-web-apps-best-practices-and-tips-271.md)) (2024-11-15, OOZOU Team): A design-led approach to web apps focuses on user experience and interface design to create engaging and effective applications. In this article, you’ll learn the key principles and practical tips to enhance your web app development process.
- [Top Strategies for Successful Digital Transformation in Enterprise](https://oozou.com/blog/top-strategies-for-successful-digital-transformation-in-enterprise-267) ([markdown](https://oozou.com/blog/top-strategies-for-successful-digital-transformation-in-enterprise-267.md)) (2024-11-12, OOZOU Team): Digital transformation in enterprise involves using digital technologies to improve business operations and customer experiences.
- [How to Create an App Prototype: A Beginner’s Step-by-Step Guide](https://oozou.com/blog/how-to-create-an-app-prototype-a-beginner-s-step-by-step-guide-270) ([markdown](https://oozou.com/blog/how-to-create-an-app-prototype-a-beginner-s-step-by-step-guide-270.md)) (2024-11-10, OOZOU Team): Creating a successful app starts with a solid idea, but let me tell you—having an idea alone won’t get you far. The true magic happens when you bring that concept to life with an app prototype.
- [Digital Business Transformation Examples That Increased Revenue and Customer Satisfaction](https://oozou.com/blog/digital-business-transformation-examples-that-increased-revenue-and-customer-satisfaction-259) ([markdown](https://oozou.com/blog/digital-business-transformation-examples-that-increased-revenue-and-customer-satisfaction-259.md)) (2024-11-09, OOZOU Team): You know, I’ve always believed that the best way to predict the future is to create it. As someone who’s been in the trenches of sales for years, I’ve seen firsthand how digital transformation is shaping the future of business—right here, right now.
- [The Future of Banking: Bank Digital Transformation in Software and App Development](https://oozou.com/blog/the-future-of-banking-bank-digital-transformation-in-software-and-app-development-268) ([markdown](https://oozou.com/blog/the-future-of-banking-bank-digital-transformation-in-software-and-app-development-268.md)) (2024-11-08, OOZOU Team): The banking industry is undergoing a profound transformation as digital technologies and digital banking solutions continue to reshape the way financial services are delivered.
- [Executive Insights: Choosing a Framework for Mobile Apps for Successful Launches](https://oozou.com/blog/executive-insights-choosing-a-framework-for-mobile-apps-for-successful-launches-260) ([markdown](https://oozou.com/blog/executive-insights-choosing-a-framework-for-mobile-apps-for-successful-launches-260.md)) (2024-11-07, OOZOU Team): Alright, let’s cut the fluff and get straight to the point, launching a mobile app isn’t just about writing some code, testing a few screens, and hitting "publish" on the App Store.
- [UX Design Web Application: User Experience Essentials and Strategies](https://oozou.com/blog/ux-design-web-application-user-experience-essentials-and-strategies-269) ([markdown](https://oozou.com/blog/ux-design-web-application-user-experience-essentials-and-strategies-269.md)) (2024-11-06, OOZOU Team): In a world where web apps dominate digital interactions, delivering a positive user experience is critical. Whether building enterprise systems or consumer-facing platforms, the foundation of success lies in exceptional UX design.
- [Design Led Development in Mobile Apps: Streamlining App Creation with a Design-First Strategy](https://oozou.com/blog/design-led-development-in-mobile-apps-streamlining-app-creation-with-a-design-first-strategy-272) ([markdown](https://oozou.com/blog/design-led-development-in-mobile-apps-streamlining-app-creation-with-a-design-first-strategy-272.md)) (2024-11-05, OOZOU Team): As a CTO, I’ve learned that the key to building a successful mobile application isn’t just the technology—it’s the experience we create.
- [A CEO’s Guide to Crafting a Framework for Digital Transformation](https://oozou.com/blog/a-ceo-s-guide-to-crafting-a-framework-for-digital-transformation-257) ([markdown](https://oozou.com/blog/a-ceo-s-guide-to-crafting-a-framework-for-digital-transformation-257.md)) (2024-11-03, OOZOU Team): As a CEO, I’ve learned that every major shift in business starts with a vision. At OOZOU, we’ve had the privilege of partnering with companies that embraced digital transformation to completely revolutionize their industries.
- [Unlocking Efficiency: Digital Transformation in the Manufacturing Industry](https://oozou.com/blog/unlocking-efficiency-digital-transformation-in-the-manufacturing-industry-258) ([markdown](https://oozou.com/blog/unlocking-efficiency-digital-transformation-in-the-manufacturing-industry-258.md)) (2024-10-31, OOZOU Team): Imagine a world where your factory floor is more than just machines and people—it’s a living, breathing system of intelligence.
- [How To Align Your Mobile App Strategy With Business Objectives For Maximum ROI](https://oozou.com/blog/how-to-align-your-mobile-app-strategy-with-business-objectives-for-maximum-roi-264) ([markdown](https://oozou.com/blog/how-to-align-your-mobile-app-strategy-with-business-objectives-for-maximum-roi-264.md)) (2024-10-28, OOZOU Team): Aligning your mobile app strategy with your business objectives is essential for understanding how to align your mobile app strategy with business objectives for maximum ROI.
- [When to Use Cross-Platform Development? Key Factors to Consider](https://oozou.com/blog/when-to-use-cross-platform-development-key-factors-to-consider-218) ([markdown](https://oozou.com/blog/when-to-use-cross-platform-development-key-factors-to-consider-218.md)) (2024-07-15, OOZOU Team): When it comes to developing a mobile app, one of the biggest decisions you'll face is whether to use cross-platform development or native development. In this guide, we'll take you through the key points you should consider which one you should go for.
- [What is Rapid Prototyping in Apps?](https://oozou.com/blog/what-is-rapid-prototyping-in-apps-217) ([markdown](https://oozou.com/blog/what-is-rapid-prototyping-in-apps-217.md)) (2024-07-09, OOZOU Team): Rapid prototyping allows us to quickly create and test app ideas, identify potential issues, and refine the design before investing significant time and resources in app design and development. This results in a more efficient and cost-effective development process, as well as a better user experien
- [What Is Digital Transformation? Your Comprehensive Guide](https://oozou.com/blog/what-is-digital-transformation-your-comprehensive-guide-216) ([markdown](https://oozou.com/blog/what-is-digital-transformation-your-comprehensive-guide-216.md)) (2024-05-21, OOZOU Team): Digital transformation is the process of using digital technologies to revolutionize business operations and customer experiences by integrating digital technology across all areas of a business. Let's dive into what it is and how to succeed in transforming your business digitally.
- [How to Acquire Users for Your App: A Complete Guide](https://oozou.com/blog/how-to-acquire-users-for-your-app-a-complete-guide-215) ([markdown](https://oozou.com/blog/how-to-acquire-users-for-your-app-a-complete-guide-215.md)) (2024-05-14, OOZOU Team): You're building an app, and you feel like you have everything in place except one thing: customers! If customer acquisition seems like a daunting task for you, you're at the right place! Follow these strategies to gain more users for your application and track your success with actionable metrics.
- [Developer: Delivering Work Collaboratively](https://oozou.com/blog/developer-delivering-work-collaboratively-211) ([markdown](https://oozou.com/blog/developer-delivering-work-collaboratively-211.md)) (2022-11-09, OOZOU Team): Understanding Developer In "SCRUM" Way
- [The power of Separation and Sorting](https://oozou.com/blog/the-power-of-separation-and-sorting-212) ([markdown](https://oozou.com/blog/the-power-of-separation-and-sorting-212.md)) (2022-11-08, OOZOU Team): A highly opinionated standard driven from the lifestyle of a friendly javascript developer. Some of the simple things that we often miss which could make our day to day development work easy and efficient.
- [6 Tips That Extremely Increase Your Page Load Speed](https://oozou.com/blog/6-tips-that-extremely-increase-your-page-load-speed-207) ([markdown](https://oozou.com/blog/6-tips-that-extremely-increase-your-page-load-speed-207.md)) (2022-11-07, OOZOU Team): Getting a better user experience and better rank on search engines in the same time
- [Should Your Business Develop a Mobile App? Top 5 Questions to Answer](https://oozou.com/blog/should-your-business-develop-a-mobile-app-top-5-questions-to-answer-213) ([markdown](https://oozou.com/blog/should-your-business-develop-a-mobile-app-top-5-questions-to-answer-213.md)) (2022-11-07, OOZOU Team): In a world full of mobile applications, many businesses are competing against each other. But before you jump into the game, let’s ask yourself these 5 questions about whether a mobile app is the right answer for your company.
- [6 Good Habits That Make You A Better Developer](https://oozou.com/blog/6-good-habits-that-make-you-a-better-developer-208) ([markdown](https://oozou.com/blog/6-good-habits-that-make-you-a-better-developer-208.md)) (2022-11-06, OOZOU Team): Be the developer that everyone wants to work with
- [CI/CD tips: Improve your CI/CD with cache (Github Version)](https://oozou.com/blog/ci-cd-tips-improve-your-ci-cd-with-cache-github-version-209) ([markdown](https://oozou.com/blog/ci-cd-tips-improve-your-ci-cd-with-cache-github-version-209.md)) (2022-11-04, OOZOU Team): Tired of waiting over 10 minutes just to see your test failed 🤣? Now you can make it in 5.
- [6 React Anti-Patterns to Avoid](https://oozou.com/blog/6-react-anti-patterns-to-avoid-206) ([markdown](https://oozou.com/blog/6-react-anti-patterns-to-avoid-206.md)) (2022-04-14, OOZOU Team): Avoid these common mistakes to build a high performance app
- [Simple Tweaks That Could Help Brighten Up Your User Flow Presentation](https://oozou.com/blog/simple-tweaks-that-could-help-brighten-up-your-user-flow-presentation-203) ([markdown](https://oozou.com/blog/simple-tweaks-that-could-help-brighten-up-your-user-flow-presentation-203.md)) (2021-11-09, OOZOU Team): Concise communication is vital in making or breaking your ideas. Treat them like you would your typical design pitch.
- [UX Myth #7: People Can Tell You What They Want](https://oozou.com/blog/ux-myth-7-people-can-tell-you-what-they-want-202) ([markdown](https://oozou.com/blog/ux-myth-7-people-can-tell-you-what-they-want-202.md)) (2021-11-06, OOZOU Team): Masterfully deal with misunderstandings in user research.
- [UX Myth #6: Larger Text = Better Usability](https://oozou.com/blog/ux-myth-6-larger-text-better-usability-201) ([markdown](https://oozou.com/blog/ux-myth-6-larger-text-better-usability-201.md)) (2021-11-05, OOZOU Team): Get your magnifying glasses ready. We’re going in.
- [UX Myth #5: Dummy Data Is Enough For Wireframes](https://oozou.com/blog/ux-myth-5-dummy-data-is-enough-for-wireframes-199) ([markdown](https://oozou.com/blog/ux-myth-5-dummy-data-is-enough-for-wireframes-199.md)) (2021-11-04, OOZOU Team): Although we as designers can always use those dummy data via some data generator for the wireframes and mockups, having accurate test data for better contextual awareness could immensely speed the process.
- [Our little game: WhOOZOU?](https://oozou.com/blog/our-little-game-whoozou-205) ([markdown](https://oozou.com/blog/our-little-game-whoozou-205.md)) (2021-10-24, OOZOU Team): As our team has grown a lot and people are working remotely, we came up with a fun way to help people recognise each other: WhOOZOU? (Who's who?)
- [How We Onboard Other Designers Into A New Project](https://oozou.com/blog/how-we-onboard-other-designers-into-a-new-project-204) ([markdown](https://oozou.com/blog/how-we-onboard-other-designers-into-a-new-project-204.md)) (2021-08-27, OOZOU Team): Designers thrive on creativity and productivity; therefore, our mission is to help our members overcome new challenges and keep them engaged with the new project. Here's how we do it.
- [UX Myth #4: Too Much White Space Causes Scrolling Fatigue](https://oozou.com/blog/ux-myth-4-too-much-white-space-causes-scrolling-fatigue-200) ([markdown](https://oozou.com/blog/ux-myth-4-too-much-white-space-causes-scrolling-fatigue-200.md)) (2021-08-25, OOZOU Team): Your physical world is playing tricks with your mind.
- [Designers, You Can Use UX Processes To Achieve Your Life Goals](https://oozou.com/blog/designers-you-can-use-ux-processes-to-achieve-your-life-goals-163) ([markdown](https://oozou.com/blog/designers-you-can-use-ux-processes-to-achieve-your-life-goals-163.md)) (2021-08-18, OOZOU Team): Chase down your dream, one loyalty-free portrait image at a time
- [3 basic things to consider when building an online service.](https://oozou.com/blog/3-basic-things-to-consider-when-building-an-online-service-161) ([markdown](https://oozou.com/blog/3-basic-things-to-consider-when-building-an-online-service-161.md)) (2021-07-20, OOZOU Team): To make users use any online service, the service should consider the following: Perceived Usefulness, Perceived Playfulness and Compatibility.
- [Agile MVP Design](https://oozou.com/blog/agile-mvp-design-162) ([markdown](https://oozou.com/blog/agile-mvp-design-162.md)) (2021-07-19, OOZOU Team): The practise of prioritization of features based on customer satisfaction levels & subsequent iterations of a complete “limited” set of features should form the bedrock of all Agile Software Development Processes
- [UX Myth #2: UX Research Is Not Always Useful](https://oozou.com/blog/ux-myth-2-ux-research-is-not-always-useful-165) ([markdown](https://oozou.com/blog/ux-myth-2-ux-research-is-not-always-useful-165.md)) (2021-04-26, OOZOU Team): Well, that depends on your understanding of it.
- [UX Myth #3: Users Don't Know How To Scroll](https://oozou.com/blog/ux-myth-3-users-don-t-know-how-to-scroll-166) ([markdown](https://oozou.com/blog/ux-myth-3-users-don-t-know-how-to-scroll-166.md)) (2021-04-26, OOZOU Team): Hear Hear, put those downward arrow buttons away, let’s talk.
- [UX Myth #1: You Are Like Your Users](https://oozou.com/blog/ux-myth-1-you-are-like-your-users-164) ([markdown](https://oozou.com/blog/ux-myth-1-you-are-like-your-users-164.md)) (2021-04-19, OOZOU Team): Research and testing are your best shot to prevent your project from going over budget. The design thinking process is a crucial framework within UX design, emphasizing its role in understanding user needs and enhancing overall functionality.
- [Figma: Best Practices for Variants in Your Active Design System](https://oozou.com/blog/figma-best-practices-for-variants-in-your-active-design-system-158) ([markdown](https://oozou.com/blog/figma-best-practices-for-variants-in-your-active-design-system-158.md)) (2021-01-09, OOZOU Team): We all love updates to our favourite design tools. However, getting it done in a reasonable timeline is another matter entirely.
- [Employ 5 Stages of Design Thinking Process When Growing Your Team](https://oozou.com/blog/employ-5-stages-of-design-thinking-process-when-growing-your-team-157) ([markdown](https://oozou.com/blog/employ-5-stages-of-design-thinking-process-when-growing-your-team-157.md)) (2021-01-08, OOZOU Team): How OOZOU uses weekly meetings to improve its design team
- [Fighting Burnout Together as a Design Team](https://oozou.com/blog/fighting-burnout-together-as-a-design-team-159) ([markdown](https://oozou.com/blog/fighting-burnout-together-as-a-design-team-159.md)) (2021-01-08, OOZOU Team): How is your product going to solve a user’s problems, if their main ‘problem solver’ is having difficulties working on it themselves?
- [How the Virus Pandemic Affected the Design World](https://oozou.com/blog/how-the-virus-pandemic-affected-the-design-world-140) ([markdown](https://oozou.com/blog/how-the-virus-pandemic-affected-the-design-world-140.md)) (2021-01-07, OOZOU Team): The good and the bad of reintroducing our work-life balance to the new normal
- [What Can a Product Development Team Do for You?](https://oozou.com/blog/what-can-a-product-development-team-do-for-you-156) ([markdown](https://oozou.com/blog/what-can-a-product-development-team-do-for-you-156.md)) (2021-01-06, OOZOU Team): Whether you are building your first product or starting a new project, hiring a product development team might be a good choice for you. It can reduce hiring costs while also leveraging years of experience quickly. It's important to be aware of what a development team can and cannot do for you and your business.
- [Encourage Better Design Feedback from Your Review Session](https://oozou.com/blog/encourage-better-design-feedback-from-your-review-session-136) ([markdown](https://oozou.com/blog/encourage-better-design-feedback-from-your-review-session-136.md)) (2021-01-05, OOZOU Team): Stakeholders aren’t born equal - and neither is the quality of their comments.
- [Understanding Elixir OTP Applications - Part 5, Building High Availability Systems](https://oozou.com/blog/understanding-elixir-otp-applications-part-5-building-high-availability-systems-152) ([markdown](https://oozou.com/blog/understanding-elixir-otp-applications-part-5-building-high-availability-systems-152.md)) (2021-01-04, OOZOU Team): In this mini-series I'm going through the core principles behind the Erlang and Elixir languages piece by piece. In this article I will discuss how all of Elixir's features allow us to create high availability systems
- [Increase User Engagement with Automated Messaging](https://oozou.com/blog/increase-user-engagement-with-automated-messaging-144) ([markdown](https://oozou.com/blog/increase-user-engagement-with-automated-messaging-144.md)) (2021-01-02, OOZOU Team): Most businesses are driven by engaging with their audience and their customers. You can use your customer data to build automated messaging systems and deliver engaging personal user experiences.
- [Understanding Elixir OTP Applications - Part 4, Hot-Swapping Modules](https://oozou.com/blog/understanding-elixir-otp-applications-part-4-hot-swapping-modules-151) ([markdown](https://oozou.com/blog/understanding-elixir-otp-applications-part-4-hot-swapping-modules-151.md)) (2021-01-02, OOZOU Team): In this mini-series I'm going through the core principles behind the Erlang and Elixir languages piece by piece. In this article I will discuss Elixir's ability to hot-swap code in production environments
- [Understanding Elixir OTP Applications - Part 3, (Soft) Real-Time](https://oozou.com/blog/understanding-elixir-otp-applications-part-3-soft-real-time-150) ([markdown](https://oozou.com/blog/understanding-elixir-otp-applications-part-3-soft-real-time-150.md)) (2021-01-01, OOZOU Team): In this mini-series I'm going through the core principles behind the Erlang and Elixir languages piece by piece. In this article I will discuss why Elixir is considered a soft real-time language
- [How to Implement Passwordless Authentication in Ruby on Rails](https://oozou.com/blog/how-to-implement-passwordless-authentication-in-ruby-on-rails-154) ([markdown](https://oozou.com/blog/how-to-implement-passwordless-authentication-in-ruby-on-rails-154.md)) (2020-12-31, OOZOU Team): We recently discussed the benefits of passwordless authentication. Now let's take a look at how to implement passwordless authentication in Ruby on Rails
- [Going Passwordless for a More Secure and Welcoming Future](https://oozou.com/blog/going-passwordless-for-a-more-secure-and-welcoming-future-153) ([markdown](https://oozou.com/blog/going-passwordless-for-a-more-secure-and-welcoming-future-153.md)) (2020-12-30, OOZOU Team): A lot of people in the industry believe that we're moving toward an era of passwordless authentication. I'm not sure we'll end up completely passwordless, but I can see the benefits. I believe passwords still have room in professional applications for power users but I also believe that passwordless
- [Running Specs in Parallel before Rails 6](https://oozou.com/blog/running-specs-in-parallel-before-rails-6-84) ([markdown](https://oozou.com/blog/running-specs-in-parallel-before-rails-6-84.md)) (2020-12-29, OOZOU Team): The Rails 6 release included parallelized tests, but did you know you can already do this? We've been using parallel_tests to run our RSpec tests in parallel in our GitHub action for months.
- [Should You Consider Outsourcing Your Service Level Agreement to a Vendor?](https://oozou.com/blog/should-you-consider-outsourcing-your-service-level-agreement-to-a-vendor-139) ([markdown](https://oozou.com/blog/should-you-consider-outsourcing-your-service-level-agreement-to-a-vendor-139.md)) (2020-12-28, OOZOU Team): Providing service level commitments to your customers helps build trust. However, if you are unequipped to fulfill those guarantees, you could damage your brand or worse, face fines from regulators. Usually the team best equipped to take care of your service is the team that built it. Should you con
- [Things this long term rubyist loves about Elixir and Phoenix](https://oozou.com/blog/things-this-long-term-rubyist-loves-about-elixir-and-phoenix-101) ([markdown](https://oozou.com/blog/things-this-long-term-rubyist-loves-about-elixir-and-phoenix-101.md)) (2020-12-27, OOZOU Team): I've been a Ruby developer for over a decade and recently started using Elixir. I want to share some of the things I love about the Elixir language.
- [Importing data from CSVs - Tips and Tricks for Rubyists](https://oozou.com/blog/importing-data-from-csvs-tips-and-tricks-for-rubyists-88) ([markdown](https://oozou.com/blog/importing-data-from-csvs-tips-and-tricks-for-rubyists-88.md)) (2020-12-26, OOZOU Team): CSVs are great for importing and exporting data but often have quirks relating to formatting. This article is a guide on importing data and the issues I've run into in my own experiences.
- [Using Android Navigation Deeplink: An Easy Way to Use Deep Link in Navigation Component on a Big Project](https://oozou.com/blog/using-android-navigation-deeplink-an-easy-way-to-use-deep-link-in-navigation-component-on-a-big-project-97) ([markdown](https://oozou.com/blog/using-android-navigation-deeplink-an-easy-way-to-use-deep-link-in-navigation-component-on-a-big-project-97.md)) (2020-12-24, OOZOU Team): I will demonstrate how to use deep link in Navigation Component on a big project and show some problems you might found during the implementation.
- [Android MVI Architecture With Data Binding](https://oozou.com/blog/android-mvi-architecture-with-data-binding-148) ([markdown](https://oozou.com/blog/android-mvi-architecture-with-data-binding-148.md)) (2020-12-22, OOZOU Team): Say hello to Android's latest architecture, the Model-View-Intent design pattern. Learn how this cycle.js-inspired framework can become a great addition to your coding toolbox.
- [Start Fragment For Result With Navigation Component](https://oozou.com/blog/start-fragment-for-result-with-navigation-component-149) ([markdown](https://oozou.com/blog/start-fragment-for-result-with-navigation-component-149.md)) (2020-12-22, OOZOU Team): Learn How To Start A Fragment For Result Without Hassle Using Navigation Component.
- [Modern Android Form Validations With Data Binding](https://oozou.com/blog/modern-android-form-validations-with-data-binding-147) ([markdown](https://oozou.com/blog/modern-android-form-validations-with-data-binding-147.md)) (2020-12-21, OOZOU Team): How to validate form fields without if or when expressions
- [Accessing Resource String In ViewModel Without Leaking Context](https://oozou.com/blog/accessing-resource-string-in-viewmodel-without-leaking-context-146) ([markdown](https://oozou.com/blog/accessing-resource-string-in-viewmodel-without-leaking-context-146.md)) (2020-12-19, OOZOU Team): How To Access Resource String Without Using AndroidViewModel
- [Getting Started with Twilio Voice for iOS: Accepting VoIP Calls](https://oozou.com/blog/getting-started-with-twilio-voice-for-ios-accepting-voip-calls-145) ([markdown](https://oozou.com/blog/getting-started-with-twilio-voice-for-ios-accepting-voip-calls-145.md)) (2020-12-19, OOZOU Team): Accepting VoIP calls using CallKit and Twilio Voice for iOS
- [Figma: 5 Simple Guides to Survive Auto Layout and Constraints](https://oozou.com/blog/figma-5-simple-guides-to-survive-auto-layout-and-constraints-100) ([markdown](https://oozou.com/blog/figma-5-simple-guides-to-survive-auto-layout-and-constraints-100.md)) (2020-12-17, OOZOU Team): The end is nigh, and so are your manually-measuring-a-button-padding habit
- [Three Things to Keep in Mind for Naming Conventions of Your Design System](https://oozou.com/blog/three-things-to-keep-in-mind-for-naming-conventions-of-your-design-system-141) ([markdown](https://oozou.com/blog/three-things-to-keep-in-mind-for-naming-conventions-of-your-design-system-141.md)) (2020-12-16, OOZOU Team): Up your slash game by following these simple guidelines
- [Resolution Scaling for Figma Designers](https://oozou.com/blog/resolution-scaling-for-figma-designers-142) ([markdown](https://oozou.com/blog/resolution-scaling-for-figma-designers-142.md)) (2020-12-15, OOZOU Team): So you can stop giving developers the “XXHDPI-do-not-understand-a-thing” look now
- [The New iPad Pointer Changes How I Perceive Basic Computer Inputs](https://oozou.com/blog/the-new-ipad-pointer-changes-how-i-perceive-basic-computer-inputs-99) ([markdown](https://oozou.com/blog/the-new-ipad-pointer-changes-how-i-perceive-basic-computer-inputs-99.md)) (2020-12-15, OOZOU Team): Here are my thoughts on how Apple’s daring venture into one of the most sacred components of the old world could change how we view interface design.
- [CocoaPods, a Gem for iOS Development](https://oozou.com/blog/cocoapods-a-gem-for-ios-development-55) ([markdown](https://oozou.com/blog/cocoapods-a-gem-for-ios-development-55.md)) (2020-12-14, OOZOU Team): CocoaPods is a dependency manager used in iOS development written in Ruby. I wanted to investigate how CocoaPods leveraged the advantages of Ruby and pre-existing ruby projects to become one of the essential parts of the iOS development workflow.
- [Why You Should Consider the Mobile-First Design Principle](https://oozou.com/blog/why-you-should-consider-the-mobile-first-design-principle-155) ([markdown](https://oozou.com/blog/why-you-should-consider-the-mobile-first-design-principle-155.md)) (2020-12-05, OOZOU Team): Mobile-first is a little counterintuitive to professionals who spend most of their waking hours on laptops. Let's take a look at why this approach matters for a lot of businesses.
- [Understanding Elixir OTP Applications - Part 2, Fault Tolerance](https://oozou.com/blog/understanding-elixir-otp-applications-part-2-fault-tolerance-138) ([markdown](https://oozou.com/blog/understanding-elixir-otp-applications-part-2-fault-tolerance-138.md)) (2020-11-27, OOZOU Team): In this mini-series I'm going through the core principles behind the Erlang and Elixir languages piece by piece. In this article I will discuss Elixir's approach to fault tolerance through a philosophy they refer to as "let it crash".
- [Why OOZOU Includes A Project Manager For Every Project](https://oozou.com/blog/why-oozou-includes-a-project-manager-for-every-project-143) ([markdown](https://oozou.com/blog/why-oozou-includes-a-project-manager-for-every-project-143.md)) (2020-11-26, OOZOU Team): Project managers increase the chances of success for a project and reduce risks associated with self-management. A good PM will help bring the team together, guide the project on the most efficient path, and bring transparency to the client.
- [Understanding Elixir OTP Applications - Part 1, Distribution](https://oozou.com/blog/understanding-elixir-otp-applications-part-1-distribution-79) ([markdown](https://oozou.com/blog/understanding-elixir-otp-applications-part-1-distribution-79.md)) (2020-11-25, OOZOU Team): I love Elixir. Coming from Ruby I find myself in familiar territory with the syntax yet also rejoice at some of the things Elixir does differently. I'm doing a series on Elixir and Erlang's principals and how they work underneath. This post will cover distributed systems and processes.
- [Rack, The Underbelly Of Every Great Ruby Web App](https://oozou.com/blog/rack-the-underbelly-of-every-great-ruby-web-app-137) ([markdown](https://oozou.com/blog/rack-the-underbelly-of-every-great-ruby-web-app-137.md)) (2020-11-18, OOZOU Team): Rack is used for practically every framework that runs on Ruby yet many Rails developers don't really understand what it is or how it works. Understanding rack can make these frameworks feel less daunting. It's surprisingly easy to understand when you take a look at it.
- [Tmux Your Life Away and Come Back to it Later](https://oozou.com/blog/tmux-your-life-away-and-come-back-to-it-later-83) ([markdown](https://oozou.com/blog/tmux-your-life-away-and-come-back-to-it-later-83.md)) (2020-11-18, OOZOU Team): If you're ever running commands on a remote machine you should absolutely be running it in a detachable session so it doesn't die if your connection drops. Chose tmux, here's why!
- [Using ActionText in Rails 6](https://oozou.com/blog/using-actiontext-in-rails-6-85) ([markdown](https://oozou.com/blog/using-actiontext-in-rails-6-85.md)) (2020-11-18, OOZOU Team): ActionText brings rich text editing into Rails. ActionText includes the Trix, "A rich text editor for everyday writing", from the team over at Basecamp. Trix is an improved WYSIWYG style editor that gives us more control over what happens when the user presses a key.
- [What makes a great developer?](https://oozou.com/blog/what-makes-a-great-developer-102) ([markdown](https://oozou.com/blog/what-makes-a-great-developer-102.md)) (2020-11-18, OOZOU Team): I've worked with a lot of developers, many good, some great, and a few exceptional. Developers that shine all share similar traits and those traits are often not directly related to code.
- [Using Dagger Hilt In Android Applications](https://oozou.com/blog/using-dagger-hilt-in-android-applications-103) ([markdown](https://oozou.com/blog/using-dagger-hilt-in-android-applications-103.md)) (2020-11-14, OOZOU Team): How to use dagger-hilt to improve your workflow when working on Android applications
- [An Easy Way to Make Reactive Android Pin Code Feature with Secure Data](https://oozou.com/blog/an-easy-way-to-make-reactive-android-pin-code-feature-with-secure-data-91) ([markdown](https://oozou.com/blog/an-easy-way-to-make-reactive-android-pin-code-feature-with-secure-data-91.md)) (2020-09-09, OOZOU Team): Here is an easy way to make a reactive Android pin code feature with secure data.
- [Transparency - The Advantage is Clear](https://oozou.com/blog/transparency-the-advantage-is-clear-96) ([markdown](https://oozou.com/blog/transparency-the-advantage-is-clear-96.md)) (2020-09-09, OOZOU Team): Our clients see right through us - and we wouldn't have it any other way. We pull back the curtains to give our customers an unobstructed view of our daily operations.
- [An Easy Way to Secure Your Sensitive Data on Android](https://oozou.com/blog/an-easy-way-to-secure-your-sensitive-data-on-android-92) ([markdown](https://oozou.com/blog/an-easy-way-to-secure-your-sensitive-data-on-android-92.md)) (2020-08-31, OOZOU Team): Here is an easy way to secure your sensitive data on Android
- [Dealing with Legacy Gems You Still Need to Use](https://oozou.com/blog/dealing-with-legacy-gems-you-still-need-to-use-94) ([markdown](https://oozou.com/blog/dealing-with-legacy-gems-you-still-need-to-use-94.md)) (2020-08-28, OOZOU Team): When you work with a system developed over the years, you will ultimately encounter a challenge - how to solve dependencies between the pieces you put together. Sometimes you need to use two gems but they depend on different versions of another gem, so you will see in the console e.g. foo -> require
- [From Creating Layout with XML to Declarative UI in Flutter](https://oozou.com/blog/from-creating-layout-with-xml-to-declarative-ui-in-flutter-95) ([markdown](https://oozou.com/blog/from-creating-layout-with-xml-to-declarative-ui-in-flutter-95.md)) (2020-08-27, OOZOU Team): The first step into declarative UI in Flutter.
- [The Art of Pushing Back - Learning How to Say No](https://oozou.com/blog/the-art-of-pushing-back-learning-how-to-say-no-90) ([markdown](https://oozou.com/blog/the-art-of-pushing-back-learning-how-to-say-no-90.md)) (2020-08-12, OOZOU Team): Pushing back is a critical skill in an industry where saying Yes to your client is often the expected response.
- [6 Tips to Improve Your Coding Speed [LAZY EDITION]](https://oozou.com/blog/6-tips-to-improve-your-coding-speed-lazy-edition-89) ([markdown](https://oozou.com/blog/6-tips-to-improve-your-coding-speed-lazy-edition-89.md)) (2020-08-11, OOZOU Team): “I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.” - Bill Gates
- [Building Static Sites without React - Using React (Part 3/3)](https://oozou.com/blog/building-static-sites-without-react-using-react-part-3-3-71) ([markdown](https://oozou.com/blog/building-static-sites-without-react-using-react-part-3-3-71.md)) (2020-08-06, OOZOU Team): After configuring the development setup with Storybook for JS, CSS and other assets, it's time to finally create a build pipeline to publish our HTML, JS and CSS with Webpack.
- [Iʼll See Your WFH and Raise You a WFA](https://oozou.com/blog/i-ll-see-your-wfh-and-raise-you-a-wfa-87) ([markdown](https://oozou.com/blog/i-ll-see-your-wfh-and-raise-you-a-wfa-87.md)) (2020-08-05, OOZOU Team): Never before have the stakes been higher for companies struggling to survive "the new normal." Adopting a flexible remote workforce strategy may help keep them from folding.
- [I Know Shell Fu](https://oozou.com/blog/i-know-shell-fu-81) ([markdown](https://oozou.com/blog/i-know-shell-fu-81.md)) (2020-08-02, OOZOU Team): If you're a developer you will likely be spending a lot of time in the command line. Here's a few tips and tricks I've learned over the years.
- [What I've learned while working as a product designer at OOZOU](https://oozou.com/blog/what-i-ve-learned-while-working-as-a-product-designer-at-oozou-82) ([markdown](https://oozou.com/blog/what-i-ve-learned-while-working-as-a-product-designer-at-oozou-82.md)) (2020-07-31, OOZOU Team): A wonderful transition from a typical UX designer into a full-fledged product design career.
- [A Product Owner's Blurb on Keeping It Raw and Scrappy](https://oozou.com/blog/a-product-owner-s-blurb-on-keeping-it-raw-and-scrappy-75) ([markdown](https://oozou.com/blog/a-product-owner-s-blurb-on-keeping-it-raw-and-scrappy-75.md)) (2020-07-29, Hicham Abdelkaoui): How keeping your product documentation to a viable minimum can help you move faster, and provide value to your users.
- [Aliasing All the Things to Improve Your Development Experience](https://oozou.com/blog/aliasing-all-the-things-to-improve-your-development-experience-76) ([markdown](https://oozou.com/blog/aliasing-all-the-things-to-improve-your-development-experience-76.md)) (2020-07-29, OOZOU Team): If you're in programming for the long run, alias all the things. Trust me, it's going to save your fingers and improve your day-to-day life as a developer.
- [Figma: Moving Local Components to Shared Libraries](https://oozou.com/blog/figma-moving-local-components-to-shared-libraries-78) ([markdown](https://oozou.com/blog/figma-moving-local-components-to-shared-libraries-78.md)) (2020-07-29, OOZOU Team): What to do if you find building a new house easier than moving components
- [Seeing Through Your Customers' Eyes with Customer Impersonation](https://oozou.com/blog/seeing-through-your-customers-eyes-with-customer-impersonation-54) ([markdown](https://oozou.com/blog/seeing-through-your-customers-eyes-with-customer-impersonation-54.md)) (2020-07-29, OOZOU Team): Any website with customer support will eventually face an issue that is difficult for the customer to explain or difficult to understand without seeing what they are seeing. With the pretender gem we can log in to the users account and see exactly what they are seeing.
- [Standardizing RESTful JSON APIs with OpenAPI Spec](https://oozou.com/blog/standardizing-restful-json-apis-with-openapi-spec-53) ([markdown](https://oozou.com/blog/standardizing-restful-json-apis-with-openapi-spec-53.md)) (2020-07-29, OOZOU Team): For as long as I can remember, developing JSON APIs has been a bit of a free for all. We've had the power to create complex APIs quickly, but typically every API follows its own standards. There've been some unwritten rules and sharing of ideas, but never has there been such a complete specification
- [Custom Attribute Types in Rails 5+](https://oozou.com/blog/custom-attribute-types-in-rails-5-77) ([markdown](https://oozou.com/blog/custom-attribute-types-in-rails-5-77.md)) (2020-07-28, OOZOU Team): Back when Rails 5 was released a new attributes API was introduced to us. It allowed us to take advantage of a type casting mechanism that had long been used internally in Rails.
- [A Kotlin Developer Learning Dart](https://oozou.com/blog/a-kotlin-developer-learning-dart-74) ([markdown](https://oozou.com/blog/a-kotlin-developer-learning-dart-74.md)) (2020-07-24, OOZOU Team): An Android developer perspective on the Dart language.
- [An Android Developer’s First Steps in Flutter Development](https://oozou.com/blog/an-android-developer-s-first-steps-in-flutter-development-73) ([markdown](https://oozou.com/blog/an-android-developer-s-first-steps-in-flutter-development-73.md)) (2020-07-24, OOZOU Team): A short journal of my very first steps in the Flutter development world.
- [Building Static Sites without React - Using React (Part 2/3)](https://oozou.com/blog/building-static-sites-without-react-using-react-part-2-3-72) ([markdown](https://oozou.com/blog/building-static-sites-without-react-using-react-part-2-3-72.md)) (2020-07-22, OOZOU Team): Managing Javascript, stylesheets, and other assets in the pipeline can be a difficult task. We have problems like: How do we get rid of the React runtime in the bundle? How do we optimize our CSS files? And how do we deal with the static files?
- [What I Learned from Reading Nudge and How You Can Apply it to Your Product](https://oozou.com/blog/what-i-learned-from-reading-nudge-and-how-you-can-apply-it-to-your-product-52) ([markdown](https://oozou.com/blog/what-i-learned-from-reading-nudge-and-how-you-can-apply-it-to-your-product-52.md)) (2020-07-21, OOZOU Team): Nudge: Improving Decisions about Health, Wealth, and Happiness is a book written by University of Chicago economist, Richard H. Thaler and Harvard Law School Professor, Cass R. Sunstein which explores choice architecture. I believe there are some valuable lessons we can apply to technology that can
- [Building Static Sites without React - Using React (Part 1/3)](https://oozou.com/blog/building-static-sites-without-react-using-react-part-1-3-70) ([markdown](https://oozou.com/blog/building-static-sites-without-react-using-react-part-1-3-70.md)) (2020-07-20, OOZOU Team): React is good and we love using it but we just don't want it inside our compiled HTML, CSS, and Javascript.
- [Abstracting Ruby on Rails View Logic with Presenters](https://oozou.com/blog/abstracting-ruby-on-rails-view-logic-with-presenters-51) ([markdown](https://oozou.com/blog/abstracting-ruby-on-rails-view-logic-with-presenters-51.md)) (2020-07-19, OOZOU Team): Cluttering ActiveRecord models with methods intended for the views is bad practice and a code smell. Presenters introduce a layer of abstraction between our models and views to help create a more maintainable app.
- [Introducing ActiveForm for Ruby on Rails](https://oozou.com/blog/introducing-activeform-for-ruby-on-rails-50) ([markdown](https://oozou.com/blog/introducing-activeform-for-ruby-on-rails-50.md)) (2020-07-19, OOZOU Team): I've been using form objects for a long time and have found myself using the same patterns over and over so I developed this small library to do the groundwork for you.
- [Good Designers Ask Great Questions](https://oozou.com/blog/good-designers-ask-great-questions-59) ([markdown](https://oozou.com/blog/good-designers-ask-great-questions-59.md)) (2020-07-15, OOZOU Team): “The ability to ask the right question is more than half the battle of finding the answer.” - IBM founder Thomas J. Watson
- [We need to deploy at midnight on Saturday...](https://oozou.com/blog/we-need-to-deploy-at-midnight-on-saturday-5) ([markdown](https://oozou.com/blog/we-need-to-deploy-at-midnight-on-saturday-5.md)) (2020-07-15, OOZOU Team): We hear this kind of thing often from customers, usually ones who run high volume consumer-focussed businesses where any amount of downtime is unacceptable.
- [A Better Way to Handle Click Action in a RecyclerVIew Item.](https://oozou.com/blog/a-better-way-to-handle-click-action-in-a-recyclerview-item-60) ([markdown](https://oozou.com/blog/a-better-way-to-handle-click-action-in-a-recyclerview-item-60.md)) (2020-06-30, OOZOU Team): There are various approaches to set the OnClickListener to a RecyclerView item. Here is one of the approaches that I consider to be the best practice.
- [A Quick Guide for Setting Up A Design System : Figma Edition](https://oozou.com/blog/a-quick-guide-for-setting-up-a-design-system-figma-edition-63) ([markdown](https://oozou.com/blog/a-quick-guide-for-setting-up-a-design-system-figma-edition-63.md)) (2020-06-29, OOZOU Team): How we approach the basics of building a comprehensive design system when facing tight deadlines
- [Handling Redundant Design Tasks Using Nested Components And Templates](https://oozou.com/blog/handling-redundant-design-tasks-using-nested-components-and-templates-66) ([markdown](https://oozou.com/blog/handling-redundant-design-tasks-using-nested-components-and-templates-66.md)) (2020-06-29, OOZOU Team): Enthusiastically alleviating complex design system's hiccups, one effective team-wide workaround at a time. (Part 2 of 3)
- [Mindset to Approach a Design-led Sales Pitch](https://oozou.com/blog/mindset-to-approach-a-design-led-sales-pitch-68) ([markdown](https://oozou.com/blog/mindset-to-approach-a-design-led-sales-pitch-68.md)) (2020-06-29, OOZOU Team): Know what others expect of you when contributing to a ‘Pitch Presentation’
- [Tips On Managing Deliverables And Feedback During Fast-Paced Design Production](https://oozou.com/blog/tips-on-managing-deliverables-and-feedback-during-fast-paced-design-production-67) ([markdown](https://oozou.com/blog/tips-on-managing-deliverables-and-feedback-during-fast-paced-design-production-67.md)) (2020-06-29, OOZOU Team): Enthusiastically alleviating complex design system's hiccups, one effective team-wide workaround at a time. (Part 3 of 3)
- [How We Deal With Inconsistency Across Design Projects](https://oozou.com/blog/how-we-deal-with-inconsistency-across-design-projects-64) ([markdown](https://oozou.com/blog/how-we-deal-with-inconsistency-across-design-projects-64.md)) (2020-06-28, OOZOU Team): Enthusiastically alleviating complex design system's hiccups, one effective team-wide workaround at a time. (Part 1 of 3)
- [Why Build A Design System for Pseudo-Waterfall Projects?](https://oozou.com/blog/why-build-a-design-system-for-pseudo-waterfall-projects-62) ([markdown](https://oozou.com/blog/why-build-a-design-system-for-pseudo-waterfall-projects-62.md)) (2020-06-27, OOZOU Team): I’m here to keep you from destroying your own (and others’) productivity
- [Designers Cheatsheet to get yourself interested in coding](https://oozou.com/blog/designers-cheatsheet-to-get-yourself-interested-in-coding-56) ([markdown](https://oozou.com/blog/designers-cheatsheet-to-get-yourself-interested-in-coding-56.md)) (2020-06-26, OOZOU Team): So we can stop asking each other ‘Should designers learn to code?’ question now.
- [Mocking Server Response Data with Postman on Android](https://oozou.com/blog/mocking-server-response-data-with-postman-on-android-61) ([markdown](https://oozou.com/blog/mocking-server-response-data-with-postman-on-android-61.md)) (2020-06-26, OOZOU Team): Here is an easy way to test your application in every scenario using Postman Mock Server
- [Starting a Fragment for results in Android](https://oozou.com/blog/starting-a-fragment-for-results-in-android-46) ([markdown](https://oozou.com/blog/starting-a-fragment-for-results-in-android-46.md)) (2020-06-21, OOZOU Team): Google has just added a new ability to FragmentManager which made the FragmentManager be able to act as a central store for fragment results.
- [Implementing a Nested RecyclerView in Android with ConcatAdapter](https://oozou.com/blog/implementing-a-nested-recyclerview-in-android-with-concatadapter-57) ([markdown](https://oozou.com/blog/implementing-a-nested-recyclerview-in-android-with-concatadapter-57.md)) (2020-06-19, OOZOU Team): MergeAdapter helps combine adapters sequentially to be displayed in single RecyclerView.
- [Generating mock classes for unit testing in Swift](https://oozou.com/blog/generating-mock-classes-for-unit-testing-in-swift-48) ([markdown](https://oozou.com/blog/generating-mock-classes-for-unit-testing-in-swift-48.md)) (2020-06-14, OOZOU Team): Using mocks for unit testing makes it easy to write test cases without configuring actual dependencies. However, it is hard to manually write and update all the mocking classes whenever there is a change. Here, Sourcery can help generate them automatically with a command.
- [A day in the life of a PM](https://oozou.com/blog/a-day-in-the-life-of-a-pm-47) ([markdown](https://oozou.com/blog/a-day-in-the-life-of-a-pm-47.md)) (2020-06-08, OOZOU Team): What it's like to be a PM at a software agency?
- [Lamentations On Software Development Principles](https://oozou.com/blog/lamentations-on-software-development-principles-45) ([markdown](https://oozou.com/blog/lamentations-on-software-development-principles-45.md)) (2020-06-08, OOZOU Team): These are the thoughts and opinions of a software developer, hopefully, to gain understanding or, at the very least, clarity.
- [OTP 2FA in Ruby on Rails with ROTP](https://oozou.com/blog/otp-2fa-in-ruby-on-rails-with-rotp-42) ([markdown](https://oozou.com/blog/otp-2fa-in-ruby-on-rails-with-rotp-42.md)) (2020-06-08, OOZOU Team): Implementing two factor auth with one time passwords is a great way to add additional security for your users.
- [Scripting Notarization for macOS App Distribution](https://oozou.com/blog/scripting-notarization-for-macos-app-distribution-38) ([markdown](https://oozou.com/blog/scripting-notarization-for-macos-app-distribution-38.md)) (2020-06-07, OOZOU Team): Automating notarization for macOS apps distributed as DMGs
- [Are fixed price contracts hurting the client?](https://oozou.com/blog/are-fixed-price-contracts-hurting-the-client-35) ([markdown](https://oozou.com/blog/are-fixed-price-contracts-hurting-the-client-35.md)) (2020-06-04, OOZOU Team): As a client it's tempting to attempt to reduce budget risks by looking for a vendor willing to take on fixed price work, however there are other associated risks that go hand in hand with this that are often overlooked.
- [How to Create Feng Shui for a Small Working Space](https://oozou.com/blog/how-to-create-feng-shui-for-a-small-working-space-41) ([markdown](https://oozou.com/blog/how-to-create-feng-shui-for-a-small-working-space-41.md)) (2020-06-04, OOZOU Team): If we create the correct alignment, the energy will flow and operate effectively and it will finally bring balanced life, happiness, wealth, and prosperity.
- [Sketch to Figma Journal: It’s never just an ‘Import’ button](https://oozou.com/blog/sketch-to-figma-journal-it-s-never-just-an-import-button-39) ([markdown](https://oozou.com/blog/sketch-to-figma-journal-it-s-never-just-an-import-button-39.md)) (2020-06-01, OOZOU Team): Switching tools is sometimes a bit too much of a trouble. Here’s what I can tell you
- [Dear Product Design Applicants...](https://oozou.com/blog/dear-product-design-applicants-40) ([markdown](https://oozou.com/blog/dear-product-design-applicants-40.md)) (2020-05-29, OOZOU Team): Applying for a Product Design role shouldn’t be daunting. Here are 5 things to think about before shooting off that application.
- [Ensuring maintainability in large Rails apps. Fat controllers done right.](https://oozou.com/blog/ensuring-maintainability-in-large-rails-apps-fat-controllers-done-right-34) ([markdown](https://oozou.com/blog/ensuring-maintainability-in-large-rails-apps-fat-controllers-done-right-34.md)) (2020-05-27, OOZOU Team): The Ruby on Rails community was right to step away from fat controllers but we did it in the wrong way. I want to revisit fat controller architecture with more experience and solve the problem in a better way
- [Reasons to use Android Single-Activity Architecture with Navigation Component](https://oozou.com/blog/reasons-to-use-android-single-activity-architecture-with-navigation-component-36) ([markdown](https://oozou.com/blog/reasons-to-use-android-single-activity-architecture-with-navigation-component-36.md)) (2020-05-27, OOZOU Team): Instead of having one Activity represent one screen, we view an Activity as a big container with the fragments inside the Activity representing the screen.
- [Create a suitable workflow for design projects](https://oozou.com/blog/create-a-suitable-workflow-for-design-projects-37) ([markdown](https://oozou.com/blog/create-a-suitable-workflow-for-design-projects-37.md)) (2020-05-26, OOZOU Team): Our learnings from working with multiple designers on a fast-paced project.
- [How I managed to remain productive](https://oozou.com/blog/how-i-managed-to-remain-productive-33) ([markdown](https://oozou.com/blog/how-i-managed-to-remain-productive-33.md)) (2020-05-21, OOZOU Team): It’s not you, it’s your habit. And your team. And your client. And also you.
- [Things you should know before getting started with Coroutine on Android.](https://oozou.com/blog/things-you-should-know-before-getting-started-with-coroutine-on-android-32) ([markdown](https://oozou.com/blog/things-you-should-know-before-getting-started-with-coroutine-on-android-32.md)) (2020-05-13, OOZOU Team): In short, Coroutine is a way to write Asynchronous code in the straight-forward Synchronous way without a bunch of callbacks.
- [Designing Software for Availability in the Cloud](https://oozou.com/blog/designing-software-for-availability-in-the-cloud-6) ([markdown](https://oozou.com/blog/designing-software-for-availability-in-the-cloud-6.md)) (2020-05-09, OOZOU Team): Avoiding single points of failure - In the age of cloud computing, it is difficult to find a reason not to make your products highly-available, and most services provide it out-of-the-box. However, that doesn't mean you shouldn't still plan for it.
- [Introduction to Coordinator](https://oozou.com/blog/introduction-to-coordinator-8) ([markdown](https://oozou.com/blog/introduction-to-coordinator-8.md)) (2019-06-09, OOZOU Team): A brief introduction of iOS Coordinator pattern
- [Enum & custom type from primitive JSON type](https://oozou.com/blog/enum-custom-type-from-primitive-json-type-7) ([markdown](https://oozou.com/blog/enum-custom-type-from-primitive-json-type-7.md)) (2018-12-18, OOZOU Team): Learn two techniques in Codable
- [Simple Flux architecture with Vue.js](https://oozou.com/blog/simple-flux-architecture-with-vue-js-29) ([markdown](https://oozou.com/blog/simple-flux-architecture-with-vue-js-29.md)) (2018-12-12, OOZOU Team): Using EventBus in Vue.js for a simple flux architecture.
- [LiveData to the next level with MediatorLiveData and Transformations](https://oozou.com/blog/livedata-to-the-next-level-with-mediatorlivedata-and-transformations-31) ([markdown](https://oozou.com/blog/livedata-to-the-next-level-with-mediatorlivedata-and-transformations-31.md)) (2018-12-07, OOZOU Team): An introduction to MediatorLiveData and Transformations to build reactive patterns with LiveData.
- [Handle Complex Network Call on Android with Kotlin Coroutine + Retrofit 2 in MVVM](https://oozou.com/blog/handle-complex-network-call-on-android-with-kotlin-coroutine-retrofit-2-in-mvvm-9) ([markdown](https://oozou.com/blog/handle-complex-network-call-on-android-with-kotlin-coroutine-retrofit-2-in-mvvm-9.md)) (2018-07-26, OOZOU Team): In this article, I’ll demonstrate how to use coroutine in order to - Chain multiple network request - Create parallel network requests and process the responses when all of them are finished.
- [Interface in Kotlin and when to use it](https://oozou.com/blog/interface-in-kotlin-and-when-to-use-it-10) ([markdown](https://oozou.com/blog/interface-in-kotlin-and-when-to-use-it-10.md)) (2018-07-05, OOZOU Team): Kotlin allows Interface to have code which means a class can implement an Interface, and inherit the behavior from it.
- [Documenting iOS apps, visually](https://oozou.com/blog/documenting-ios-apps-visually-28) ([markdown](https://oozou.com/blog/documenting-ios-apps-visually-28.md)) (2018-05-31, OOZOU Team): How we built and use UI automation to snap full view hierarchies of the app in each page and export them to a Sketch file.
- [Commit Messages Matter](https://oozou.com/blog/commit-messages-matter-30) ([markdown](https://oozou.com/blog/commit-messages-matter-30.md)) (2018-05-29, OOZOU Team): This is why I think Commit Messages matter and how they can help you become a better developer.
- [Handling Floating-Point Arithmetic in JavaScript: A Simple Approach](https://oozou.com/blog/handling-floating-point-arithmetic-in-javascript-a-simple-approach-25) ([markdown](https://oozou.com/blog/handling-floating-point-arithmetic-in-javascript-a-simple-approach-25.md)) (2017-08-21, OOZOU Team): Don’t we all love Javascript?
- [Tail Call Optimization in Kotlin](https://oozou.com/blog/tail-call-optimization-in-kotlin-26) ([markdown](https://oozou.com/blog/tail-call-optimization-in-kotlin-26.md)) (2017-07-25, OOZOU Team): How to make use of recursion in Kotlin.
- [Make things easier on Android with “let” and “apply”](https://oozou.com/blog/make-things-easier-on-android-with-let-and-apply-12) ([markdown](https://oozou.com/blog/make-things-easier-on-android-with-let-and-apply-12.md)) (2017-07-21, OOZOU Team): “let” and “apply” are very useful functions in Kotlin. It could change the way you write your code from what you did in Java
- [Calling Web Service with Android Architecture Component](https://oozou.com/blog/calling-web-service-with-android-architecture-component-11) ([markdown](https://oozou.com/blog/calling-web-service-with-android-architecture-component-11.md)) (2017-07-17, OOZOU Team): This article is focusing on calling web service with Android Architecture Component.
- [Feature Test with Headless Chrome and Capybara](https://oozou.com/blog/feature-test-with-headless-chrome-and-capybara-24) ([markdown](https://oozou.com/blog/feature-test-with-headless-chrome-and-capybara-24.md)) (2017-07-17, OOZOU Team): Using ChromeDriver to use Headless Chrome with Capybara.
- [Code Refactoring with Parameterization](https://oozou.com/blog/code-refactoring-with-parameterization-27) ([markdown](https://oozou.com/blog/code-refactoring-with-parameterization-27.md)) (2017-07-10, OOZOU Team): Reducing complexity by refactoring with parameterization.
- [Building Ruby and JRuby on CircleCi in parallel](https://oozou.com/blog/building-ruby-and-jruby-on-circleci-in-parallel-22) ([markdown](https://oozou.com/blog/building-ruby-and-jruby-on-circleci-in-parallel-22.md)) (2016-11-25, OOZOU Team): Configure CircleCI to build your app on Ruby and JRuby in parallel.
- [A Rubyist looks at Crystal](https://oozou.com/blog/a-rubyist-looks-at-crystal-23) ([markdown](https://oozou.com/blog/a-rubyist-looks-at-crystal-23.md)) (2016-11-08, OOZOU Team): A closer look at Crystal, a new and interesting programming language, also known to be as fast as C and as slick as Ruby.
- [Towards a More Maintainable CSS](https://oozou.com/blog/towards-a-more-maintainable-css-19) ([markdown](https://oozou.com/blog/towards-a-more-maintainable-css-19.md)) (2015-03-03, OOZOU Team): Using SCSS to keep your CSS tidy.
- [An intro to OTP in Elixir](https://oozou.com/blog/an-intro-to-otp-in-elixir-20) ([markdown](https://oozou.com/blog/an-intro-to-otp-in-elixir-20.md)) (2015-02-13, OOZOU Team): In this installment in our series of introductory Elixir blog posts we’ll convert the FizzBuzz server from last time into an OTP app.
- [Never Skip a Callback in Your Tests](https://oozou.com/blog/never-skip-a-callback-in-your-tests-21) ([markdown](https://oozou.com/blog/never-skip-a-callback-in-your-tests-21.md)) (2015-02-10, OOZOU Team): The story on how a missed callback in Rails caused me a whole day to track down.
- [Exploring Elixir processes](https://oozou.com/blog/exploring-elixir-processes-18) ([markdown](https://oozou.com/blog/exploring-elixir-processes-18.md)) (2014-12-16, OOZOU Team): Expanding on our FizzBuzz example from the previous post.
- [Adding per-tag Atom feeds to Middleman](https://oozou.com/blog/adding-per-tag-atom-feeds-to-middleman-17) ([markdown](https://oozou.com/blog/adding-per-tag-atom-feeds-to-middleman-17.md)) (2014-12-12, OOZOU Team): Learn how to generate Atom/XML feeds based on tags by using Middleman.
- [The Art of MVP Testing](https://oozou.com/blog/the-art-of-mvp-testing-16) ([markdown](https://oozou.com/blog/the-art-of-mvp-testing-16.md)) (2014-12-11, OOZOU Team): How to find a compromise between quick and crappy vs. slow and perfect.
- [LOL Errors](https://oozou.com/blog/lol-errors-15) ([markdown](https://oozou.com/blog/lol-errors-15.md)) (2014-12-04, OOZOU Team): Learn how to take a snapshot and animate it as GIF, each time an app error occurs.
- [Working with Multiple Values in a Promise Chain using Stateful Context](https://oozou.com/blog/working-with-multiple-values-in-a-promise-chain-using-stateful-context-14) ([markdown](https://oozou.com/blog/working-with-multiple-values-in-a-promise-chain-using-stateful-context-14.md)) (2014-11-20, OOZOU Team): We explore JavaScript promise chains with multiple values within a stateful context.
- [Why we are excited about Elixir](https://oozou.com/blog/why-we-are-excited-about-elixir-13) ([markdown](https://oozou.com/blog/why-we-are-excited-about-elixir-13.md)) (2014-11-18, OOZOU Team): It took 3.5 years of work, but on September 2014 the Elixir team released version 1.0.0. This is why we are so excited about it!

---

Contact OOZOU: hello@oozou.com · +66 2544 0000 · https://oozou.com/contact

More for AI agents: https://oozou.com/llms.txt · every page has a markdown twin at its URL plus ".md"
