September 26, 2023

JavaScript Framework Comparison

In the rapidly evolving landscape of web development, choosing the right JavaScript framework is crucial for building efficient, maintainable, and user-friendly applications. With a multitude of options available, developers often find themselves in a dilemma about which framework to choose. In this post, we'll take an in-depth look at six popular JavaScript frameworks: React, Solid, Vue, Svelte, Angular, and Qwik. We'll explore their key features, pros, and cons to help you make an informed decision on which is right for you. 

We’ll also include some code showing what a simple select component might look like in each framework, a few stats about the built project, and thoughts while building out the component. All code is available on github.com. Let's get into it. 

React 

React is developed and maintained by Facebook and has become a cornerstone of modern web development. It's a component-based library that focuses on building user interfaces and allows developers to create reusable UI components. 

Building out a simple Select component is straightforward, though that could be because React is our preferred framework and the one we use the most. React is sometimes criticized because you have to explicitly handle setting the value and handling the change events, where some frameworks like Vue add some syntactic sugar to make setting this up easier. A project consisting of only this component had a build size of 143kB which is not terrible, but hardly great compared to some of the newer frameworks. 

Link to code 

Pros: 

- Virtual DOM: React's Virtual DOM efficiently updates only the necessary parts of the actual DOM, leading to better performance. 

- Large Community: React has a massive community, resulting in extensive documentation, tutorials, and third-party packages. 

- Component Reusability: React's component-centric approach promotes code reusability and maintainability. 

- Strong Ecosystem: The ecosystem includes tools like Jotai, Zustand, and Redux for state management and Next.js for server-side rendering. 

Cons: 

- Learning Curve: The component-based paradigm and JSX syntax might have a steeper learning curve for newcomers. That being said once you learn JSX it can be used in other frameworks like Solid, Qwik, Astro with only minor differences. 

- Performance Optimization: Understanding when and how to use “useMemo” and “useCallback” are essential to getting the best performance but are also easy to mess up.  

- Boilerplate: Complex applications may require additional libraries, potentially leading to more boilerplate code. 

Solid 

Solid is a relatively newer framework that aims to provide a highly efficient reactivity system. It focuses on minimalism and optimal performance by reducing unnecessary re-renders. 

One thing you might notice when looking at this Solid component is how similar it is to React’s implementation! The only differences are the <For/> component to loop over the options. Technically you can actually write the loop exactly like React’s, but for best performance Solid recommends using the <For/> helper to iterate. One thing to be careful of in Solid though is that when you destructure props like we are here, you could run into issues where you make a reactive prop non-reactive. It's not an issue here but it is an issue that is easy to make if you are coming from React. 

The size of this project when built is only 14kB, which is tiny, making Solid a great choice if you need a tiny JS footprint and excellent performance, especially if you already know React. 

Link to code 

Pros: 

- Reactive System: Solid's fine-grained reactivity system ensures efficient updates without unnecessary re-renders. 

- Small Bundle Size: Solid's runtime is lightweight, resulting in smaller bundle sizes and faster load times. 

- JavaScript Syntax: Solid's syntax is similar to Reacts, making it accessible to developers already familiar with that. 

Cons: 

- Smaller Community: Compared to older frameworks like React and Vue, Solid has a smaller community and fewer third-party packages. 

- Limited Ecosystem: While Solid's core is robust, it may lack some of the extensive tools and libraries available in other frameworks. 

Vue 

Vue.js has gained popularity for its simplicity and ease of integration. It offers a flexible and progressive framework for building user interfaces. Recently it has released a new API called the Composition API, which can help organize your code and make your code easier to reason about. Supporting two APIs has muddied the water when it comes to finding guides/references online. 

Vue diverges from React quite a bit with its default template syntax, though it is possible to use Vue with JSX. For the most part Vue wants you to feel like you're just writing HTML, with a few extra directives to extend it. Vue is a bit more magic than React and can get more complicated when writing highly reusable components, but the more complex components can potentially lead to easier implementation when using the components.  

The build size of this project came out to be 51kB which is firmly middle of the pack, but definitely not bad at all.  

Link to code 

Pros: 

- Approachable Syntax: Vue's templating syntax is easy to understand for both newcomers and experienced developers. 

- Versatile: Vue can be used for building small components or full-fledged single-page applications. 

- Comprehensive Documentation: Vue boasts clear and comprehensive documentation, aiding developers of all levels. 

- Great Supporting Packages: Vue maintains some great support packages for some common things that most apps need. For routing, most people are going to reach for vue-router. For state management, most will be using Pinia, which are both excellent.  

Cons: 

- Scaling Challenges: While Vue is great for smaller projects, it might face scalability issues in larger applications compared to other frameworks like React, though one might argue the Composition API helps with this. 

- API Confusion: There are a lot of ways to write Vue. There is the Options API, the Composition API, and the Composition API using the setup script. If that all sounds confusing, well it is! This is mostly an issue with learning the language, and discovering what works best for you, but can definitely be confusing. 

- Smaller Ecosystem: Vue's ecosystem, though growing, might have fewer options when compared to React's ecosystem. 

Svelte 

Svelte is unique in that it shifts a significant portion of its work from runtime to compile-time, resulting in highly optimized applications. Svelte, while new, has been battle tested in large applications like the New York Times. Svelte can be run as an SPA, though for SSR there is Svelte Kit. 

Working with Svelte is very easy, and a lot of thought has been put into DX. The templating engine is essentially just HTML with some directives for control flow.  

This project’s build size is a paltry 8kB. This is because Svelte isn’t really a framework, it’s a compiler. That’s why some people call it the disappearing framework.  

Link to code 

Pros: 

- Zero-runtime Approach: Svelte compiles components into efficient JavaScript at build time, resulting in faster runtime performance. 

- Declarative Syntax: Svelte's declarative syntax makes it easy to learn and understand. 

- Automatic Optimizations: Svelte's compiler optimizes code automatically, reducing the need for developers to manually optimize. 

Cons: 

- Smaller Community: While Svelte's community is growing, it might not be as extensive as some older frameworks. 

- Learning Curve: Developers accustomed to other frameworks might need time to adjust to Svelte's paradigm. 

- Typescript Support: Because it has its templating system, the Svelte team also has to support its own LSP (Language Server Protocol) for TS support, and it doesn’t always work as well as JSX implementations. 

Angular 

Angular, developed and maintained by Google, is a full-fledged framework that offers a comprehensive set of tools for building dynamic web applications. Angular has a long history, and while it is one of the oldest, it still has a fairly large base of support, especially amongst bigger enterprise companies. 

Of all the Select components, this one is the most complex in my opinion. Angular has a much different paradigm from any of the other modern frameworks. Angular still holds firm to the separation of concerns and thus you will typically have 3 files per component; HTML, JS, and CSS. 

The build size of this Angular project clocked in at a hefty 179kB. That is a pretty large starting point, and the more modern frameworks have definitely made big strides in reducing bundle sizes. This is probably not a big deal for most web apps, but if you are targeting low mobile devices this could be an issue to consider. 

Link to code 

Pros: 

- Complete Solution: Angular provides everything needed for building complex applications, including routing, state management, and more. 

- Strong Typing: Angular is built with TypeScript, which offers strong typing and enhanced code quality. 

- CLI Tooling: Angular CLI streamlines project setup, testing, and deployment processes. 

Cons: 

- Complexity: Angular's extensive features and concepts can lead to a steep learning curve, especially for beginners. 

- Heavier Bundle: Angular applications might have larger bundle sizes compared to some other frameworks. 

Qwik 

Qwik is the new kid on the block and is probably not production ready for anything mission critical, but it is a very promising framework. What makes Qwik so exciting is that it ships only tiny amounts of JS to the client and the rest of the needed JS is lazy loaded.  

The first thing you’ll notice about the below Select component is how similar it is to React and Solid. This makes getting up to speed easier, though learning all the new paradigms of how Qwik functions can take a while. For instance, any JS you put in the body of your component will never execute on the client. Instead, it will run on the server, and then resume on the client. This resumability means that your props all need to be serializable, or passed as a QRL.  

Getting a build size for Qwik doesn’t make a ton of sense because Qwik doesn’t function as a SPA and requires that you have a JS server to host the app. In general, on first load, you can expect around 6kB or so of JS. It will never load JS that isn’t needed which is a huge shift in how most frameworks handle JS. Qwik is definitely a framework to keep an eye on. 

Link to code 

Pros: 

- Server-Side Rendering (SSR): Qwik is designed for optimal server-side rendering, leading to improved initial load times. 

- Component-Centric: Qwik follows a component-centric model, similar to other popular frameworks like React and also uses JSX. 

- Emphasis on Performance: Qwik places strong emphasis on rendering performance and optimization. 

Cons: 

- Experimental Nature: As of now, Qwik is still in its early stages and might lack the stability and ecosystem of more mature frameworks. 

- Limited Adoption: Due to its experimental status, Qwik might not be the best choice for large-scale production applications. 

Conclusion 

React, Solid, Vue, Svelte, Angular, and Qwik all offer unique features and trade-offs. So how do we pick the framework that is going to bring the most value now and in the long term for our project and org?  

Evaluate these frameworks based on your project's needs to make an informed decision that aligns with your development goals. Project requirements, developer familiarity, performance considerations, and community support should all come into play when thinking through the options. Bundle size, SEO optimization, and the skill sets of your existing dev team are also worth thinking through. 

With all these things to consider, how can you make sure you make the right choice? Well, that’s where we come in. At DeveloperTown, we’ve helped hundreds of clients make the right technology choices over the last 10 years. From picking the right tool sets to mentoring your existing development team, we’re here to help make sure your next project is a wild success.  

July 24, 2023

From Ambiguity to Clarity: The Power of Advanced Prototyping

As Product Designers at DeveloperTown, our job is a unique blend of creativity, problem-solving, and technical acumen. We transform abstract concepts into tangible design artifacts - from user journeys that map the user's interaction with the product, to wireframes that provide a skeletal layout of the product, pixel-perfect hi-fidelity interfaces that represent the exact visual and functional design of the product, and robust prototypes that breathe life into our designs. 

Prototyping, in particular, is a fundamental aspect of our design process. These dynamic, interactive blueprints serve as a critical bridge between design ideas and their implementation. In this article, we delve deeper into how we, at DeveloperTown, leverage advanced prototyping for developer handoffs, client sign-offs, user testing, and design critique. 

Stakeholder Collaboration 

Group of people collaborating around a table

Incorporating stakeholders into the design process from an early stage can leads to better aligned visions, efficient decision-making, and fewer revisions later on. Interactive prototypes allow stakeholders to experience the design in a way that static images or verbal descriptions simply cannot achieve. They can directly interact with the design, understand the user flow, and contribute their feedback based on this first-hand experience. 

At DeveloperTown, we use prototyping as a cornerstone of our stakeholder collaboration. Stakeholders can visualize the product, comprehend its functionality, and provide constructive feedback that enhances the design. Prototypes also facilitate dialogue about design choices and help explain why certain decisions have been made. 

Moreover, prototypes are incredibly useful for client sign-offs. Providing stakeholders with a clickable, easy-to-navigate prototype helps them visualize the final product better than static screens or wireframes. Experiencing the product firsthand assures stakeholders about the design decisions and makes them more likely to spot potential issues or areas for improvement. This interactive feedback loop allows us to refine and finalize the design collaboratively, ensuring that the end product aligns with everyone's expectations. 

In essence, prototypes foster a more transparent, iterative, and collaborative design process with stakeholders. They encourage active participation, mutual understanding, and constructive feedback, making them an indispensable tool in our design toolbox at DeveloperTown. 

User Testing 

User testing an app on a phone

At DeveloperTown, user testing is an integral part of our design process, and prototyping serves as a powerful instrument to maximize its effectiveness. With advanced prototyping, users get to interact with an approximation of the final product. This hands-on interaction elicits more accurate and valuable feedback, leading to more effective design revisions. 

Our approach to user testing with prototypes is multi-staged. Initially, we use low-fidelity wireframes to validate problems, workflows, and foundational interactions. This early-stage testing helps us to iterate quickly, adapt our designs to user needs, and establish a solid foundation for the product's design. 

As we progress further in the design process, we switch to high-fidelity, advanced prototypes that represent a near-accurate depiction of the product’s final implementation. This shift allows us to hone in on the finer details of the design, usability, and interaction. By this stage, we're not just validating the product's purpose and functionality but also refining the user experience to a level of polish necessary for the final product. This meticulous approach ensures we have addressed any potential issues before the project advances to the development stage. 

Advanced prototyping supports a wide variety of user tests, such as A/B testing, usability testing, and more. These methods offer vital insights into user behavior, preferences, and pain points. By integrating prototyping into our user testing processes, we're able to identify and address user problems early on, preventing costly and time-consuming revisions in later stages of the product development cycle. 

Design Critique

Two designers examining post-its on a wall

Design critique sessions are indispensable in our workflow at DeveloperTown. They provide a platform for constructive feedback and innovative solutions to design challenges. Prototyping amplifies the value of these sessions by providing an interactive representation of the design, as opposed to static images or descriptions. 

Through prototyping, design critique becomes a more engaging and productive process. Team members can interact with the design, explore different user flows, and provide informed feedback based on their experience. It's not just about what looks good - it's about what works well and enhances the user experience. 

Advanced prototyping helps us visualize complex interactions, test alternative solutions, and assess the feasibility of design elements. The flexibility of prototypes allows us to iterate quickly based on the feedback received, leading to a more refined and effective design. 

Moreover, prototypes foster better communication during design critiques. They help bridge the gap between what's in the designer's mind and what the rest of the team perceives. This level of clarity streamlines discussions, mitigates misunderstandings, and ensures everyone is on the same page. 

In essence, prototypes have transformed our design critique sessions into dynamic, collaborative, and fruitful discussions. They help ensure our final designs are not just visually appealing, but also intuitive, user-friendly, and align with the project's objectives. 

Developer Handoffs

A group of engineers sitting around a table.

The design to development handoff is a pivotal juncture in any project. It's a phase where precision matters. Any misunderstanding or misinterpretation during this transition can lead to unnecessary rework, project delays, and ultimately, an increase in the cost of development. At DeveloperTown, we've honed our approach to ensure this handoff is as seamless and accurate as possible. 

Prototyping plays a starring role in this process. More than just a representation of design intent, it provides our developers with an interactive, tangible guide to the intended functionality and flow of the product. Advanced prototyping tools such as Figma, Sketch, Adobe XD, and InVision become our instruments of choice, enabling us to illustrate detailed insights into design elements, specifications, and animations. This vivid, visual communication aids our developers greatly during the implementation phase. 

To further solidify the efficiency of this process, we maintain our prototypes as a 'source of truth' throughout development. By using a rigorous change management system, we ensure our prototypes are always up-to-date and reflective of the latest approved designs. This constant reference removes ambiguity for both stakeholders and developers. Viewing a design as a prototype guarantees it's stable, vetted, and ready for implementation. 

In Conclusion

At DeveloperTown, we recognize that prototyping is much more than an intermediate step in the design process. It's an essential tool that fosters effective communication, enhances collaboration, ensures design accuracy, and drives user-centric design decisions. 

From facilitating seamless developer handoffs and thorough user testing, to fostering meaningful stakeholder collaboration and constructive design critique sessions, advanced prototyping is deeply ingrained in our design methodology. It's this emphasis on interactive, dynamic design representation that allows us to deliver products that are not only aesthetically pleasing but also functional, user-friendly, and in line with our clients' vision. 

May 31, 2023

Reducing Human Risk in Software Security

In today's world, the security of software systems is of paramount importance. Organizations invest heavily in sophisticated technologies and complex algorithms to safeguard their applications, yet one often overlooked aspect remains a significant vulnerability: the human factor. Humans, whether developers, administrators, or even end-users, can inadvertently introduce security weaknesses, leaving software systems vulnerable to exploitation. To mitigate these risks, it is crucial to adopt a proactive approach that limits human factors in security throughout the software development lifecycle.  

This blog post explores key strategies for building stronger digital fortresses by minimizing human-induced security threats. 

  1. Cultivate a Security-First Mindset: 

The first step towards limiting human factors in security is to foster a culture of security awareness and responsibility among all stakeholders involved in the software development process. From developers and testers to project managers and executives, everyone should understand the importance of security and prioritize it throughout the development lifecycle. Regular training sessions, workshops, and awareness campaigns can help educate individuals about potential vulnerabilities and instill best practices for secure coding and system administration.  

  1. Implement Secure Development Practices: 

Secure development practices are essential for minimizing human-induced security risks. Embrace frameworks like the Open Web Application Security Project (OWASP) or National Institute of Standards and Technology (NIST) and leverage their resources, such as the OWASP Top Ten, which outlines the most critical security vulnerabilities to address. Integrate secure coding guidelines and Static Application Security Testing (SAST) and Dynamic Application Security Testing (DAST)  tools into the development process to identify and remediate vulnerabilities early on when they are cheapest to fix. SAST tools can be used to scan for a wide range of vulnerabilities, including SQL injection, cross-site scripting, buffer overflows, and insecure coding practices.  DAST tools serve a similar purpose to SAST but have the advantage that these tools can find vulnerabilities that are introduced by runtime behavior and vulnerabilities that are already deployed.  Developing a culture where all code is reviewed before it goes into the main branch can also help catch potential security flaws along with ensuring adherence to secure coding practices.  

  1. Role-Based Access Control and Privilege Management: 

Implementing role-based access control (RBAC) and privilege management mechanisms helps restrict unauthorized access and limit the potential damage caused by human errors or malicious activities. Define  security roles with appropriate access privileges based on job responsibilities. Continuously review security roles and update access rights as employees' responsibilities evolve or change within the organization. Implement the principle of least privilege (PoLP), where individuals are granted only the minimum permissions necessary to perform their tasks, reducing the overall attack surface. 

  1. Robust Authentication and Authorization Mechanisms: 

Human-induced security risks can be significantly reduced by implementing robust authentication and authorization mechanisms. Encourage the use of strong passwords and multi-factor authentication (MFA) to ensure the identities of users accessing the system. Implement granular authorization controls to enforce data access restrictions based on user roles and responsibilities. Regularly review user accounts, revoke unnecessary privileges, and promptly disable accounts for employees who leave the organization. Consider implementing a federated single sign-on service to centralize user management, which can both streamline the process of onboarding new users and ensure that offboarding users doesn’t mistakenly allow continued access to business systems. 

  1. Continuous Security Monitoring and Incident Response: 

Prevention is essential, but a comprehensive security strategy also involves continuous monitoring and robust incident response capabilities. Implement security monitoring tools and intrusion detection systems to detect and respond to potential threats. In the AWS ecosystem, some cost-effective solutions to enable exception reporting and threat detection include AWS CloudTrail to audit any interactions with an AWS account, AWS Guarduty to detect interaction anomalies. AWS CloudTrail and GuardDuty can be integrated with AWS Cloudwatch metrics to alarm when anomalies are detected. Outside of AWS, two other battle-tested tools for reviewing logs as part of continuous security monitoring or an incident response plan are DataDog and Splunk. Establish an incident response plan that outlines the steps to be taken in the event of a security incident, including communication protocols, containment measures, forensic analysis, and system recovery procedures. Regularly test and update the incident response plan to reflect changes in the threat landscape and organizational infrastructure. 

Software development organizations must recognize that human factors play a crucial role in software security. By cultivating a security-first mindset, implementing secure development practices, and embracing role-based access control, robust authentication, and authorization mechanisms, organizations can significantly reduce the risks posed by human-induced security vulnerabilities. Additionally, continuous security monitoring and a well-defined incident response plan are essential for promptly addressing security incidents and minimizing their impact. By adopting these strategies, organizations can build stronger digital fortresses and protect their software systems from the ever-evolving threat landscape, ensuring the security and trust of their applications and users. 

May 15, 2023

Designing for Accessibility

Designing for accessibility means creating products, services, and environments that are usable by individuals with disabilities. This can include people with physical, sensory, and cognitive impairments. Accessibility is not only important for individuals with disabilities, but it is also important for everyone, as it can improve usability and user experience for all users. In this blog post, we will discuss the importance of designing for accessibility and provide some tips for creating accessible designs. 

Why is designing for accessibility important? 

Designing for accessibility is important for several reasons. First, it is a matter of social responsibility. As designers, we have the responsibility to create products, services, and environments that are inclusive and accessible to everyone, regardless of their abilities. Second, designing for accessibility can improve usability for all users. For example, designing a website with clear and easy-to-read text can benefit users with visual impairments, but it can also benefit users who are in a hurry or are using a small screen device. Third, designing for accessibility can help organizations comply with laws and regulations related to accessibility. For example, in the United States, the Americans with Disabilities Act (ADA) requires that public accommodations be accessible to individuals with disabilities. 

Tips for designing for accessibility 

Here are some tips for designing for accessibility: 

  1. Consider accessibility from the beginning: Accessibility should be considered from the beginning of the design process. This means involving individuals with disabilities in the design process and considering their needs and preferences. 
  1. Follow accessibility guidelines: There are several accessibility guidelines that designers can follow, such as the Web Content Accessibility Guidelines (WCAG) and the Accessible Rich Internet Applications (ARIA) specification. These guidelines provide recommendations for making web content and applications more accessible. 
  1. Use clear and concise language: Use clear and concise language in your designs. Avoid jargon, acronyms, and complicated terminology. Use simple and straightforward language that is easy to understand. 
  1. Provide alternative text for images: Provide alternative text for images. This helps users with visual impairments understand the content of the image. The alternative text should describe the content and function of the image. 
  1. Use high contrast colors: Use high contrast colors for text and background. This helps users with visual impairments read the text more easily. 
  1. Provide captions and transcripts for videos: Provide captions and transcripts for videos. This helps users with hearing impairments understand the content of the video. 
  1. Use a logical and consistent layout: Use a logical and consistent layout for your designs. This helps users with cognitive impairments understand the content more easily. 

Summing it all up 

Designing for accessibility is important for creating inclusive and usable products, services, and environments. By considering accessibility from the beginning of the design process, following accessibility guidelines, and using clear and concise language, designers can create designs that are accessible to everyone, regardless of their abilities. 

May 2, 2022

Microsoft Center of Excellence Starter Kit for Power Platform

DeveloperTown believes that the best decisions are made when informed with knowledge and transparency. The Microsoft Center of Excellence Starter Kit for Power Platforms brings both to the surface in a way that would manually not be capable. This centralized solution shines a light on all the efforts of developers and citizen developers across all of the environments of the Microsoft tenant.

Why?
Gaining insight and understanding of what exists today while tracking and governing the new builds

going forward.

The Center of Excellence Starter Kit package is an in depth way to jumpstart your understanding and transparency of how the Power Platform is used throughout your organization.

What?
At its core, CoE Starter Kit is a package of governance tools and metrics. This is a way to foster use and understanding of Power Platform. This centralized, and very thorough package, affords IT and Business leadership the ability to come together and have a full view into the efforts made by everyone in the organization from citizen developers to traditional IT developers.

The Microsoft Power Platform CoE Starter Kit is a collection of components and tools that are designed to help you get started with developing a strategy for adopting and supporting Microsoft Power Platform, with a focus on Power Apps, Power Automate, Power Virtual Agents and SharePoint.

Core. Governance. Nurture. Innovation Backlog.

Who?
A Center of Excellence (CoE) in an organization drives innovation and improvement and brings together like-minded people with similar business goals to share knowledge and success, while at the same time providing standards, consistency, and governance to the organization.

The Power Platform CoE Starter Kit is typically managed and utilized by IT as a starting point for conversation and decision making.

When?
Establishing a Center of Excellence of any kind takes time and attention. Starting early with the Power Platform CoE Starter Kit allows for the necessary stakeholders to better understand what to focus on now.

Where?
Starter Kit utilizes a set of solutions which will be installed to the Power Platform creating dozens of CoE Power Apps and Power BI reports. These dashboards surface all of the different aspects of the organization’s Power Platform journey.

How?
Monitor. Govern. Nurture.

These staples of the Starter Kit are designed to be the easiest and most robust way to get a full view of your environments and what is inside them. Several of the top features to accomplish this include:

  • Environment and environment security management
  • Data loss prevention (DLP) policy management
  • Data integration and gateway management
  • Admin analytics (to view capacity and activity on Microsoft Dataverse, Power Apps, and Power Automate)

April 4, 2022

Replace InfoPath with Microsoft Power Platform

Is your organization still relying on InfoPath to intake business data? If so, here are some important things to note:

  1. Microsoft InfoPath Announcement 2014 – Update on InfoPath and SharePoint Forms
  2. InfoPath is deprecated as of July 2021 – Products Ending Support in 2021
  3. SharePoint Server 2019 Deprecated Features – SharePoint Server 2019 What's New
  4. Only limited support for product through 2026 – MS Lifecycle Policy, InfoPath 2013

So, InfoPath is going away, is it really worth the time and effort to replace them? 

Absolutely! While this may seem like an overwhelming, daunting task, there are HUGE benefits to properly coordinating the replacements of your InfoPath. Let’s look at some of the key benefits:

  • Streamline and modernize older processes
  • Incorporate automation
  • Build in opportunities to leverage your data in a more meaningful way

Ok, so you have loads of InfoPath you need to replace, but where do you start?

Unsure how to start? Consider leveraging Microsoft Power Platform. While Power Platform is not a one-to-one replacement, it is the best option if you are already using Microsoft 365. 

Power Platform doesn’t just give you a means to replace antiquated InfoPath solutions but offers a whole host of new technologies to help you modernize your business process. 

Power Apps – Allows you to create customized, responsive, intake forms with a more modern user experience and standardize your business data. 

Go from this (InfoPath)

Graphical user interface, text, application

Description automatically generated

To this (Power Apps)

Graphical user interface

Description automatically generated Graphical user interface, website

Description automatically generated

Power Automate – Automate manual process with flows, create automated approvals, schedule automations, incorporate chat bots (Power Virtual Agents), leverage RPA (Robotic Process Automation) for your repetitive processes, and so much more!

Power BI – Enhance your business data by creating rich, interactive dashboards and reports, identify trends, transforming data, and more!
Graphical user interface, chart

Description automatically generatedGraphical user interface

Description automatically generated

Get Started Today

Whether you have one or many InfoPath Forms today, getting started can feel overwhelming. With our guidance and experience, taking on this project in an agile way will produce meaningful results. We work with clients to manage this transformation through discovery, planning, development and implementation. 

August 17, 2021

Getting Started with Microsoft Power Platform

So, you’ve decided to give low-code process automation a try and start your journey into using Microsoft Power Platform...Great! But where do you start?

When I started down the path of all things MS Power Platform nearly 5 years ago, there were almost no resources, outside of Microsoft’s documentation. Needless to say, I got my experience through the school of hard knocks. Now, with abundant resources and multiple ways to accomplish the same task, it can be overwhelming to know where to start.

Fear not! Getting started is simpler than you think.

Here are the top 5 things to get any MS Power Platform newbie started:

1. Start small and selfish!

    With tons of potential use cases, it can be challenging to decide which one to tackle first. My recommendation - identify a small task you don’t like doing and automate it for yourself. The best way to launch a successful automation is to start with a familiar task.

    Automated Personal Productivity Task Ideas Using Power Automate:

    • Save all email attachments in OneDrive/Google Drive (beginner - There is even a template for this!).
    • Create calendar events, when email reminders are received, to block time for monthly/quarterly/yearly training or other recurring tasks (intermediate).
    • When accepting new meetings invitations, create a section/page in OneNote for easy note-taking at the ready (advanced).

    2. Research

      With an ever growing sea of resources out there - dive in! Don’t be afraid to go to the deepest parts either.

      Research Tips:

      • Bookmark the good ones, so you have a library of resources to refer back to.
      • Don’t settle on the first method you find because there is usually something easier/more efficient/etc.
      • If using a resource on youtube, don’t be afraid to ask questions in the comments.
      • Keep an eye on the Microsoft Roadmap for the schedule of all the new features/functionality they are working on.

      Some Of My Favorite Resources:

      3. Play!

        Don’t be afraid to roll up your sleeves and start trying out the different Power Platform applications. I recommend starting with the Microsoft App In A Day PowerApps Training. This hands-on experience is a great way to get started. Also remember, it’s ok to fail - Failure is the best teacher!

        “I have not failed. I've just found 10,000 ways that won't work.”

        - Thomas A. Edison

        4. Document, Document, Document!

          Have you ever inherited something (a spreadsheet, application, etc.) you were expected to maintain, with no background information?

          Make sure you write down what you do, preferably in a standardized format. The practice of documenting will not only help you if you need to replicate something, but it will also allow others to see what was done. Additionally, it is the first step in continuous improvement. After all, how can you improve if you don’t know what you did?

          For guidance on standards, there are White Papers for nearly every MS application - all you have to do is a web search for them. Here are a couple to get you started:

          5. Evolve

            Once you have successfully created a few personal productivity automations, volunteer to automate something small for your company (sign up for quarterly pitch-in, annual awards nominations, etc.). Keep pushing the limits of MS Power Platform. After almost 5 years, I still find new functionality to leverage almost weekly and even discovered some new things to try while writing this blog post!

            Happy automating, friends!

            June 14, 2021

            Process Automation: Let the Journey Begin

            There are countless routes explored on a company’s digital journey. 

            Build? Buy? Lease? In-house? Outsourced? On-prem? Cloud? While all of these questions should be asked, with process automation, starting with one use case and opening the feedback loops is the ultimate starting point. You've got to walk before you run, right?

            At DeveloperTown, we started the Process Automation practice in February and are learning so many lessons so quickly.

            Here are a few that we think are helpful:

            1. Use what you've got. You may already be paying for licenses that allow you to get started today. With so many companies on Microsoft’s Business or Enterprise licensing, access to Power Automate and Power Apps may be included in what you already pay for. Look to see what’s available to you before making a big purchase!

            2. Think big, start small. Identifying a use case runs the spectrum of being incredibly easy at times and daunting at others. Don’t believe that you have to solve the end-to-end process with automation in order to get started. Automating pieces of a process is a great place to start. And starting is always more important than perfecting.

            3. The human isn’t being replaced; the tasks are being automated. Automation is not a replacement for staff, rather an enhancer. If we can automate repetitive or menial tasks of someone’s role, they are able to be elevated, not replaced. And we’re all about moving people to areas that allow them to shine.

            Regardless of your company’s history with automation and low-code tools, we can meet you where you are and be a partner for productivity.

            June 10, 2021

            What’s Driving the IT Talent Gap? (And What to do About It)

            It’s no secret that our nation is facing a skills gap when it comes to trained carpenters, toolmakers, welders, and so on. But there’s also a massive tech talent vacuum leaving thousands of tech jobs unfilled globally.

            Even with the national unemployment rate hovering around 7%, the technology unemployment rate was just 3% in December 2020. That means tech talent doesn’t have a hard time finding a job, even when other work sectors are suffering.

            So what’s behind this tech talent desert?

            For starters, finding candidates with all the right skills is a challenge. As emerging technologies continue to rapidly change and expand, exploding fields like artificial intelligence and automation are becoming more mainstream. IT companies are scrambling to create brand new job categories requiring special capabilities at a rate faster than businesses can fill them. No longer does a single skill set fit the bill. Now businesses need people with niche expertise who aren’t easy to find.

            Perhaps the hardest hit tech companies forced to scrounge for qualified workers are those right here at home. Never-ending sunshine, beaches, and flip-flop work culture lure top talent to Silicon Valley. While snow shoveling and cicada infestations aren’t big draws, the Midwest does have some perks the West Coast simply can’t compete with like lower cost-of-living, less traffic, and a decreased crime rates for starters. These may not be the sexiest benefits, but don’t count them out when recruiting.

            Also, as remote working has become more commonplace nationwide (thank you, COVID-19), CIOs face additional challenges wooing talent from Silicon Valley. While some tech geniuses are attracted to the California sunshine, not everyone is bewitched by beaches—and now they don’t have to be. Thanks to remote work capabilities, even those who don’t want the hassle of moving and high-cost West Coast expenses can get all the prestige of working for a tech behemoth while living anywhere they want. Talk about having your cake and eating it, too.

            If CIOs want to snag talent before they get snatched up, they might want to steal a play from the Oakland A’s. Michael Lewis tells this story well in his book, Moneyball. The A’s were working on a shoestring budget up against baseball giants, and yet they went all the way to the playoffs. How? By using a unique, low-cost solution to identify the best players. Sounds unconventional, right? If Midwest tech companies want to find the right stuff, then CIOs need to lean into alternative strategies that can still compete with the big boys.

            Here are some innovative ways to entice top IT talent:

            1. Woo them with culture.
            Today’s workers want more than just a punch-the-clock job. They want a company culture that promotes from within, respects the individual, and balances work and life commitments. As you recruit, don’t just talk about job tasks—speak to empowerment, growth, and how you value your employees.

              2. Invest in your technology.
              Tech talent gets excited about—you guessed it—technology, and they’re scrutinizing the digital goods at your company when deciding whether or not to accept a job. The money you put into internal tech says a lot to a candidate about you and how much you value staying current. At the very least, be prepared to offer them the same level of tech they’re using at home.

                3. Offer top-notch benefits.
                Perks aren’t just perks anymore. They’re mission critical for snagging and retaining top talent. Gone are the days where solid health insurance and PTO were enough to entice and satisfy new employees.

                Maintaining a work-life balance is a top priority, especially for candidates in their 30s and 40s raising families. Many workers are even willing to sacrifice some salary to get tailored work hours and other benefits that complement their lifestyle.

                Not sure what perks fit best? Ask your current employees and snoop around your competitors. Find out what people are looking for and then make it happen!

                  4. Support growth.
                  Gone are the days of linear career paths working for the same company. More so than most workers, tech employees tend to leapfrog from job to job and company to company chasing after the next provocative project. Don’t let your savvy tech gurus fly the nest so easily by creating a variety of exciting internal opportunities for them to grow their skills.

                    Recruiting top IT expertise may feel like battle (they don’t call it a Talent War for nothing), but it’s important to stay focused. Lean into what makes your company great and don’t be afraid to cast a wide net. You never know what kind of fish you’ll land.

                    June 2, 2021

                    5 Groups That Need to Check Out Wearables

                    What’s New in Wearable Health Technology

                    Think monitoring your health through something you wear sounds a little sci-fi? Think again. Today, more than half of Americans (56% to be exact) own some kind of smart device tracking everything from pulse to sleep cycles and more. While current technology may not yet be able to, say, neurologically control a robotic arm (think Luke Skywalker or Marvel’s Bucky Barnes), wearable tech is rapidly advancing—especially in the healthcare space.

                    So what’s trending with wearable health technology? For starters, wearables are no longer just for fitness nerds logging steps and recording heart rates after a Crossfit WOD. In fact, health tech has gone from simple hobby to medical-grade and FDA-approved in just a matter of a few years. The truth is there’s something for everybody when it comes to wearable health technology. Here’s a peek at just some of today’s tech changing how we do both fitness and healthcare.

                    For the everyday Joe (and Jane)

                    Debuting in 2008, Fitbit quickly rose in popularity and remains a household name in fitness trackers. While early Fitbits captured data on movement, sleep, and calories burned, the technology has quickly evolved to go beyond the basics. Now, Fitbits can measure breathing, pulse and altitude climbed, as well as logging glucose levels (more on that below), and giving feedback on how your body handles stress.

                    Next up, smartwatches have taken fitness tracking to a whole new level. Sure, the first smartwatches were basically glorified pedometers, but as technology has boomed with new capabilities and ever shrinking components, these compact pieces of tech go way beyond counting steps.

                    Now anyone can get in-depth health metrics without visiting the doctor’s office. In 2020, Apple released its latest Series 6 smartwatch that monitors blood oxygen saturation, sleep cycles, heart rhythms using FDA-approved electrocardiogram (ECG) sensors, and even more in-depth health monitoring.

                    For heart health patients

                    While Apple’s Series 6 smartwatch has heart monitoring functions, the Move ECG by Withings is an award-winning choice for heart health. Not only does this sleek analog-looking device collect your heart rhythm data, but the software analyzes the data and can communicate directly with your doctor.

                    The Move ECG can also detect atrial fibrillation, a possibly life-threatening condition which can lead to stroke (frightening stat: almost 3 million Americans unknowingly suffer from afib). If you feel an irregular heartbeat or palpitation, you simply press and hold the side button for 30 seconds. Sensors on the back create a medical-grade ECG and can send the info to your doctor or store the data for later.

                    Monitoring blood pressure outside the doctor’s office is a gamechanger for many heart-conscious patients. Omron’s HeartGuide wears like a wristwatch and allows users to track and monitor blood pressure and pulse fluctuations throughout the day. Inside the wristband, a tiny inflatable cuff fills with air to get the readings. The HeartGuide is also a fitness tracker so users can better understand how their everyday lifestyle affects their heart health.

                    For the hospital or nursing home patient

                    When you or a loved one are admitted to a hospital or nursing home, keeping tabs on vitals is a necessary part of healthcare management. But traditional vital monitoring is bulky and leaves patients physically tethered to machines by wires. No, thank you.

                    Enter the Philips biosensor, an adhesive patch that sticks anywhere on the skin and sends data wirelessly to the healthcare team. Now nurses and doctors can monitor heart rate and respirations—and even be alerted if the patient has fallen or is having a heart attack—all while giving patients more freedom to move around and peace.

                    Still in development, a Japanese professor has created a wearable biosensor called e-skin. Similar to the Philips biosensor, e-skin monitors heart rate, rhythms, and respirations. But what makes e-skin unique is its super thin application that resembles, well, skin. The “skin” is embedded with thin electrodes that wirelessly connect to a smartphone, computer, or the cloud so doctors can easily monitor patients no matter if they’re in a hospital bed or at home.

                    For the athlete

                    Fitness trackers and smartwatches can detect and analyze heart health, sleep, activity, and more. But what about the serious athlete needing to replenish fluids after a killer workout or competition? With any physical activity, dehydration is a real risk. And on the flip side, drinking too much water (called hyponatremia) can be a life-threatening situation and is more common than you might think with endurance athletes.

                    That’s what led a group of researchers to team up with Epicore Biosystems to release the Gx Sweat Patch in March 2021. Sweat might seem like an unusual fluid to measure, but since perspiration contains sugar, salts, and even hormones, measuring sweat can give a real-time snapshot of overall health.

                    To use the sensor, simply stick the small patch to the skin and let the sweat come as it may. Two microchannels capture perspiration where it interacts with chemicals that change the color of the patch. Users snap a photo of the sensor with their smartphone, then interface with the app to get recommendations for how much water and sodium to stay balanced and hydrated.

                    For the cancer fighter

                    In 2021, it’s estimated 1.9 million Americans will be diagnosed with cancer. Cancer treatment is complex, but often includes regular measurements of circulating tumor cells (CTCs), an important benchmark determining treatment plans. CTCs are usually collected at a routine laboratory visit, but unfortunately the results are often undiagnostic since the blood samples don’t always contain enough CTCs.

                    That drove University of Michigan researchers to develop a prototype called the Cancer Cell Detector, a wrist-worn device that detects CTCs. Instead of taking a quick blood sample, this new device collects blood over the course of a few hours to ensure enough CTCs are captured to get a diagnostic reading. Still in development, the Cancer Cell Detector is undergoing clinical studies, but proves to be a welcomed piece of wearable health tech for cancer patients in the future.

                    For the diabetic

                    Did you know diabetes is the 7th leading cause of death in the US? And 1 in 3 Americans has prediabetes—a condition where blood sugar levels are elevated but not high enough to be considered diabetes—but 84% of them don’t even know it. Yikes. Unchecked blood sugar can cause all sorts of health problems like blindness, nerve damage, heart issues, skin conditions, hearing impairment, and even death.

                    At DeveloperTown, we’re excited about changing the landscape of diabetic care and saving lives with wearable tech. One of our favorite products we’ve had a hand in developing is a diabetic tool for Fitbit integration. Some Fitbit users can now track their blood sugar levels over time, set personalized ranges, and since it's joined with a fitness tracker, see how lifestyle and exercise affect their blood glucose levels.

                    For the [fill in the blank]

                    The future of wearables is only limited by our imaginations. Have an idea for a health product or tech integration? We’re here to help. At DeveloperTown, we know the ins and outs of wearables, including healthcare technology. Contact us today and lets flex those creative problem solving muscles together.