5 Essential Steps in the UX Design Process

By

While experience design is not an exact science with predictable outcomes, there are steps you can follow that help push you in the direction of making great products and services. 

To help illustrate, I’d like to tell you a story about Doug Dietz, an Industrial Designer for General Electric. Doug was faced with the harsh reality that a product he was responsible for designing was evoking anxiety and dread in the people who interacted with it. The product? An MRI scanner. The user? A family with young children.

Doug had just finished a two-year project designing an MRI scanner and was eager to see it installed in a hospital’s scanning suite. He was proud of his accomplishment and was informed his design had been submitted for an International Design Excellence Award, the Oscar for design. 

As Doug was speaking with a technician about the design, a patient needed to get scanned so he stepped into the hallway for a moment. And as he did, he observed the patient and her family approach the room and noted their trepidation as they got closer. The parents looked worried and the little girl was scared. As the family passed him, he could hear the father tell his daughter, “We’ve talked about this. You can be brave…” 

As Doug continued to watch, he saw tears rolling down the little girl’s cheek while the hospital technician called for an anesthesiologist. This is when Doug learned that hospitals routinely sedate pediatric patients for their scans because they are so scared that they can’t lie still long enough. 

Doug was devastated. The very product he had been designing for close to 20 years was the very product that was striking fear in the hearts of its users. Once he took a step back and considered what that little girl was going through, it became clear his device with its black and yellow caution tape, hazard stickers, beige monotone color palette, dark lighting and cold flickering fluorescents was not helping. As Doug stated in his TED talk, “The machine I designed looked like a brick with a hole in it.”

Determined to make his experience design better for pediatric patients, Doug sought advice on a new approach and attended a Design Thinking workshop where they discussed the need to have empathy for users, the value of cross functional teams, and the importance of iterating as you learn. 

Doug observed pediatric patients at daycare. He talked to life specialists to understand what pediatric patients went through during treatment. He gathered a group of volunteers from GE who were willing to help provide other perspectives including experts from a local museum, and doctors and staff from two hospitals. From this new foundation of understanding, he created a prototype. He then observed how interactions with the machine had changed, which allowed him to see which parts of his design were working or not. 

Ultimately, this approach led to the “Adventure Series” where pediatric patients were transported into new worlds. Whether the theme was camping, a pirate ship, a safari, or a spaceship, the team worked hard on bringing these spaces to life through details like scents, disco balls, koi ponds, paddle trails, waterfalls that cascade onto the floor, and even scripts for machine operators to use as they guide patients along their adventures.

The outcome? 

  • Only two patients were sedated in over a year vs. 80% of all pediatric patients previously.
  • Productivity increased because of a decreased need for an anesthesiologist.
  • The hospital saw a 90% increase in patient satisfaction scores.
  • Overall, it offered a much better experience for pediatric patients. 

As one 6 year old put it, “Mommy, can we come back tomorrow?”

UX Design Process

We can learn a lot from Doug’s example. In their product design journey that shifted their users’ experience from fear to excitement, Doug and his team showed us that making good products and services takes:

  1. Empathy: Keep the needs of your users in mind. 
  2. (Re)frame: Figure out what’s essential to them. 
  3. Ideate: Find new ways to solve for what’s essential. 
  4. Test: Try things out to see what works. 
  5. Iterate: Stay flexible in your thinking as you learn. 

Let’s unpack each step a bit further.

1. Empathy: Keep the needs of your users in mind.  

Once Doug saw his design from the perspective of a pediatric patient, he immediately realized something needed to change. He knew he needed to walk in the shoes of his user and challenge some of the assumptions he’d made before when designing these devices.

Things to consider:

  • Who are we designing for? 
  • What do they need?
  • What is their experience?
  • What’s working or not? 

Methods to use: 

  • Contextual inquiries
  • Fly-on-the-wall observations
  • Audit of tools or belongings
  • Day-in-the-life studies
  • Remote moderated interviews
  • Diary studies
  • Subject matter expert consultations
  • Stakeholder interviews

2. (Re)frame: Figure out what’s essential to them. 

As a UX designer, the power in reframing what matters to your user comes from your ability to prioritize their needs above others. This matters because it helps you and your teams not only identify what’s important but focus your energy toward solving the problem that will have the greatest impact. In Doug’s case, he was able to see that while his designs fit standard hospital protocols, these same protocols fell short of what was needed to help encourage positive interactions with the device. 

Things to consider: 

  • What are our blindspots? 
  • What is causing the most pain? 
  • What’s the most important thing to get right?
  • What are the potential benefits? 

Methods to use:

  • Affinity diagramming
  • Data clustering
  • Criteria matrix
  • Dot voting
  • Opportunity mapping
  • Experience frameworks
  • Journey maps
  • Heuristic evaluation
  • Competitive audit

3. Ideate: Find new ways to solve for what’s essential. 

Now that you and your team have conducted upfront research to define your users, align on their needs, and discuss the core problem to solve, now it’s time to explore! Iteration is all about exploring the “what ifs” of your experience design concepts. The more perspectives you include in this step the better, since it’s your goal as a UX designer to invite nontraditional solutions that will serve your users’ needs and even excite them. 

Things to consider: 

  • What about the current experience needs to be improved? 
  • What can we learn from others who have solved a similar issue? 
  • What if we did ______ instead?

Methods to use:

  • Future scenarios
  • Brainstorming sessions
  • Workshops
  • Provocation cards
  • Participatory design groups
  • Mock ups (physical and digital)
  • Storyboarding
  • Wireframes
  • Storytelling
  • Mood boards

4. Test: Try things out to see what works

Usability testing matters because even the most experienced UX designer never knows how others will interpret their ideas or wireframes. In order to make sure our intentions are being communicated successfully, we need to build things and put them in front of our intended users. It’s our job to observe how they interact with our ideas. Listen to their comments and feedback. Remain flexible when things don’t go according to our plan. And ultimately, make informed decisions about how we can make our ideas more effective to our (re)frame.

Things to consider:  

  • What is the best way to represent our idea to our user? 
  • What is a situation that will help anchor them when interacting with our concept or wireframes? 
  • What should we ask them to do?
  • What did they find confusing about the interaction, user interface, visual design elements, or anything else? 
  • How will we know if we’ve been successful?

Methods to use:

  • Usability testing
  • Surveys
  • Rank ordering
  • Conjoint analysis
  • Focus groups
  • Concept validation

5. Iterate: Stay flexible in your thinking as you learn.

Staying flexible and adapting to what you learn is the secret sauce to success because we never know what will work or not until we try it out. In Doug’s case, this meant going back to the drawing board when something he and his team created did not resonate with their user. One strategy for staying flexible is to hold meetings with your cross-functional team at moments when critical decisions are made. Whether it’s processing potential impact to your design based on feedback from a user, or deciding you need to better (re)frame your objective, flexibility is key to success. 

Conclusion

Keep in mind, the steps Doug and his team performed are not new to the UX industry. By attending a Design Thinking workshop, he was introduced to the ideas of many great thinkers before him, all of which have proven the value in empathizing with your user, (re)framing the problem based on their needs, ideating on many ideas before deciding on a direction, usability testing with users, incorporating insights from their feedback, and iterating based on what you learn. 

The more you do it, the better you will get. As Carissa Carter from the Stanford School points out, there’s a difference between cooking and being a chef: “The order and process of a recipe helps new cooks get started, but it’s only with practice, inventiveness, experimentation, and constraints that you might begin to call yourself a chef.”

Related Resources

Explore Our Upcoming Design Programs

How to Become a UX Designer

By

A career in UX design stands out as a forward-thinking prospect. The role’s compatibility with remote work has enabled many designers to sustain their practice in a world maintaining its distance. We are seeing demand for UX skills persist even through our current sluggish global economy, due to accelerated digital transformation in response to unforeseen challenges across every industry. The tech workforce is coming out ahead overall — though many businesses and startups are faltering, companies that survive are leaning on tech innovations to adapt intelligently to the new normal, with experience design leading the charge.

Forecasting into the upcoming decade, the nature of UX design work will likely continue to evolve along with technological advancements. The experiences we design for will also change, from today’s ubiquitous smartphone apps and websites to more hybrid touchscreen and voice interactions, video inputs, and augmented reality.

As exciting as the UX design field can be at its best, I encourage anyone serious about becoming a UX designer to also consider potentially negative aspects of a UX career path. Working conditions vary wildly in tech; research common complaints from tech industry workers by checking out online employee reviews of some prominent tech companies, and judge for yourself if it’s for you. In real-world situations, people in UX roles in particular may encounter ethical issues related to their profession, in terms of driving user behavior to meet business goals. As you learn more about entering into a design practice, consider what principles you believe should guide good UX design.

Dive In

So, still curious how to become a UX designer? Start by finding and immersing yourself in example designs that inspire you. Diving into a new subject matter is, in many ways, what UX designers do best. When you’re beginning to research an unfamiliar domain, it’s best to cast a wide net and gather all the resources you can. A bit of light reading and video viewing will go a long way, and designers are notorious content producers — don’t take my word for it, just browse by topic on Medium or YouTube. When you’re just starting out, a steady stream of design inspiration can capture your imagination in a way that will sustain you through the hard work to come. Discover the amazing work of user experience designers in the community, the tinkering and creative hacking, the impactful research, beautiful UI design, and the world-changing achievements in the field.

Socialize

Committing to a new career path requires a leap of faith. As you consider your options, the quickest way to get a realistic sense for what it will be like for you to be a UX designer is to ask some real UX designers. Get out there and network, if not in a physical space, then virtually. With so many active design nerds in the community, a quick search will reveal plenty of results for design events, meetups, and knowledge shares to attend. In my own personal journey, I’ve found industry seniors quite welcoming to early-stage UX designers, and generous with their willingness to mentor — remember, these are professional empathizers we’re talking about. For your unanswered questions, online communities often have Slack channels or message boards to crowd-source answers and support. Find one in your local region, look into groups that share your interests, and be sure to connect with UX practitioners globally to follow trends and innovations.

Introductory Study

User experience is a field of applied design with rich literature. Start off your academic investigation with the things that excite you the most. Check out some books from a reputable UX design reading list, and seek out lectures and webinars from established designers.

While there is no industry-wide definitive education background requirement for UX design, employers do often expect an undergraduate degree in design or a “related field”. Since so many fields are related to UX design, hiring evaluations often weigh professional experience more than education credentials. Schools have only started to offer programs focused explicitly on user experience design in recent years. Related fields might include human-computer interaction, communication design, information architecture, and product design. I’ve seen successful designers that come from backgrounds in anthropology, psychology, language arts, engineering, business, or even music.

If you’re new to the field, look for the right timing in your development to enroll in an actual UX design course. Everyone’s career journey is unique, and a course load can be a big investment of time and energy. To test the waters, you can find a lot of free intro classes, and plenty of remote learning options. An instructor-led class provides the opportunity to interact with a knowledgeable professional to answer your questions in a safe setting. The (virtual) classroom environment also exposes you to other learners who may be experiencing similar struggles. If your strategy is to learn and practice as much as possible in a condensed timeframe, a UX design bootcamp will guide you through the fundamental skills and knowledge, and help outline next steps for expanding that foundation.

If you’re already in a role related to UX design, see if your employer will sponsor coursework fees. If you’re an employer, make sure your employees have an education budget to apply toward new skills and career growth. The job market may be daunting for nascent design applicants, but the first few years of experience can really open up the doors to a more senior tier of opportunities.

Gut Check

Is UX design for you? Try to articulate what it is about UX design that attracts you the most. For some people, it’s the joy of crafting things. For others, it’s a passion for empathizing with human needs. For others still, it’s a fascination with complex systems. 

Find the right role that matches your interests. Within the field of UX design, there are multiple areas of specialization including user research, strategy, interaction design, UI design, product design, service design, and usability testing. While considering the best fit for your aptitude, be sure to also consider all the other fields related to UX design that are perhaps less well known but just as cool. Look into roles like Product Manager, Business Analyst, Prototype Engineer, Copywriter, Visual or UI Designer, and Data Scientist, to name a few. 

Building a Portfolio

The designer’s UX portfolio is their passport to navigating job applications. When creating your portfolio, be sure to follow best practices and let inspiring examples guide you. If you’re just starting out, you might think about achievable starter projects to take on that will turn into featured case studies. Many designers build their first portfolio projects with independent work, unsolicited redesigns, and favors for friends. Set clear design challenges for yourself, and document the experience of solving them. For a bit more structure, enrolling in a project-based course will help you produce a tangible portfolio piece that follows a typical design process.

There’s a natural life cycle to any design project, from its germination to fruition. The job of a UX design professional is inherently project-based, and a designer’s portfolio is living documentation of the best of their accomplishments.

Learning on the Job

Budding UX designers reach a real milestone when they land their first professional UX job. This could take the form of an entry-level or internship position, and the work might not exactly resemble the glamourous, world-impacting projects that inspired you to become a designer in the first place. While still standing up for your principles, use early job opportunities to study the UX design process in action, to study how the entire creative process works, and understand how organizational roles relate to each other.

You may also find more early success, and potentially long-term fulfillment, working as a UX consultant or freelancer. Part-time self-employment may be the right choice for someone holding down an existing job while building their portfolio of work. As with any applied field, only so much can be learned in an academic context; real-world experience completes the UX designer’s professional development. Today’s aspiring UX designers must gain a business sense to guide their career moves. Invest energy in the areas you need to cultivate most. Listen for credible feedback from the people you work with, and target those areas to improve.

Ongoing Education

As a UX designer, resign yourself to a lifetime of study. The technology we design for will continue to advance, along with design tools, methodology, and theory. As designers and technologists we have to hustle to keep up — learning periodically, staying up-to-date with relevant professional skills and new concepts. It may help to define clear education goals that relate directly to your professional aspirations, and track regular progress.

As you cover more ground in your career, continually demand more for yourself as you work toward your long-term professional goals. When negotiating or renegotiating contracts, research employment statistics on fair compensation and benefits, and reach out with your burning questions to other professionals who you respect. Knowing your worth is leverage for achieving the conditions you deserve.

– – – – –

Explore Our Upcoming UX Design Programs

What is UX Design?

By

That’s an understandable question. “UX” has become a buzzword that UX designers are often asked to define. The discipline of user experience is broad and reaches across many other design disciplines so its meaning can seem elusive. And for UX designers, it can be hard to explain in a few words. But let’s try.

UX Design Focuses on the User

User experience design focuses on designing for how a user interacts with an organization, whether through its services, products, website or more. This kind of design centers on the user — their needs, goals, frustrations, and motivations.

Who is the user? A person! What type of person? That depends.

UX design seeks to understand the person who will be using the product, website, or service. This is really important for a specific reason: Rather than expecting a person to adapt to the specifications laid out in a website, app or service, a UX designer considers the needs of the person they are designing for, and creates an intuitive interface that adapts to the user.

UX design is human-centered. This type of design is a mindset. It keeps the user at the center of what we do so that the user’s experience can be the best possible.

What’s great about this approach is that users who have a positive experience when they interact with a company or organization are more likely to reward that organization through additional visits, sales, or referrals. A positive user experience can be an economic driver, benefiting everyone.

UX Design’s Origins

We can see some principles of UX design that reach as far back as 4000 BC. Feng Shui is the Chinese philosophy of arranging a physical space to optimize the flow of energy. Much like a UX designer might design an app interface to be intuitive and easy to use, Feng Shui experts arrange the physical space of a room.

We can see other principles of UX design throughout history. When computers entered the scene, human-computer interaction and usability became important disciplines to help people have better experiences.

It wasn’t until the 1990s when Don Norman, a cognitive scientist working at Apple, named this field “UX design.” Norman, who authored The Design of EveryDay Things, felt that earlier disciplines of usability and human-computer interaction were too narrow. He wanted a term to describe a role that would encompass a broader range of skills to design human interactions.

Multiple studies from organizations such as McKinsey & Company, the UK Design Council, and others have found that companies that prioritize design see financial benefit. This is partly why so many people have taken an interest in UX.

Since user experience design is broad and encompasses several different disciplines, it’s understandable why so many people have questions about what UX design includes and how it relates to visual design, user interface design, or marketing.

Common UX Design Myths

Unfortunately, misunderstandings about user experience design have led to assumptions and confusion. You’re likely to run into an employer who believes they understand UX design, but in reality, they only know about one part. Or, you might have a client that says, “I just need some UX.” 

It’s the UX designer’s job to figure out how to educate and inform those around us so we can eliminate these misconceptions.

Myth #1: UX is the same as UI design.

This is the most common misconception I run into. Organizations still think of UX as being focused on the user interface. They don’t always understand that the UI can improve with solid user research, information architecture, and usability testing.

User interface design is a small piece of the overall UX puzzle. Before a UX designer even begins to design the interface, they should have solid research and an understanding of what problem they are trying to solve. Designing a user interface before researching user needs can lead to assumptions that confuse or frustrate your users.

Myth #2: UX is just for digital products.

User experience has been embraced in the digital world, but it’s not just for websites and apps. The foundations of user experience design can be applied across a broad range of industries and be useful for developing services as well as physical products.

Myth #3: UX is just usability.

Usability is an important component of UX design; it uncovers flaws and defects in the product or service. However, it’s just one part of UX design’s seven major sub-disciplines:

User research
A UX designer spends time empathizing with users through interviews and observational research. 

Content strategy
Quality content is a core component of a successful design. Designers must audit and create clear content that people find useful and helpful.

Information architecture
Content must be organized so that it’s understandable, finadable, and meaningful. Information architecture helps users understand their location within a design and what to expect. It informs many parts of the UX design, including the content, interface, and interactions.

Accessibility
By designing for accessibility, a UX designer ensures that all users can access and interact with a service or system regardless of their personal abilities. Accessibility is more than just checking for color contrast. It’s about designing to accommodate a wide range of people.

Usability
Nielsen Norman Group defines usability as “a quality attribute that assesses how easy user interfaces are to use”. It also refers to using testing to improve the user’s experience as they interact with your product or service.

Visual design
Users are more likely to have a positive experience with a design that they enjoy using; that are aesthetically pleasing and consistent. UX designers often also need to ensure that the interfaces they design are beautiful and visually clear.

Interaction design
UX designers who work on a product or system must also consider how that system behaves. Interaction design considers how the system behaves when the user interacts with it so that the user can understand what to do.

As you can see, UX design covers more than usability alone. Depending on the specific role or organization, UX designers may need to have other skills as well.

UX Design Process

A UX designer often manages all of these sub-disciplines as part of the total UX design process. This process is not linear. In fact, it can feel quite messy. It typically looks very similar to a design thinking approach and has five key phases:

1. Empathy

In this phase, a designer seeks to understand the people they are designing for. By developing empathy with the user base, the design team can learn about frustrations and motivations that will help them create better solutions later on. 

UX designers use these tools as part of the empathy phase:

  • User interviews
  • Surveys
  • Observations
  • Stakeholder interviews
  • Empathy maps
  • Proto personas

2. Definition

During the definition phase, the design team figures out the problem they are trying to solve. Armed with a solid understanding of the user, the design team creates insights from that data to address their core needs. The design team should try to spend as much time as possible in this phase, because it’s a key step before ideation begins.

UX designers use these tools as part of the definition phase:

  • Affinity diagram
  • Point-of-view statements
  • User scenarios
  • Customer journey maps
  • Storyboards
  • User personas
  • Heuristic evaluations
  • Competitive analysis
  • Problem definition

3. Ideation

Once the problem has been identified, the UX design team can start developing ideas to solve that problem. Ideation is all about generating lots of ideas. It’s important to start by thinking of all the ideas you can before narrowing them down to those that are feasible.

UX designers use these tools as part of the ideation phase:

  1. Brainstorming
  2. Mind mapping
  3. User flow diagrams

4. Prototyping

The UX design team then decides which of the ideas generated in the previous step to prototype. Prototyping allows the team to communicate the idea, advocate for ideas, and test feasibility. A prototype can be simple or complex. It should be created rapidly so that the idea can be tested.

UX designers use these tools as part of the prototyping phase:

  1. Low-fidelity prototypes
  2. High-fidelity prototypes
  3. Site maps
  4. Interactive prototypes

5. Testing

In the testing phase, a UX design team is trying to find out whether their prototype works or not. This is a time for evaluation. And it’s time to go back to the users to see how the prototype meets their needs.

UX designers use these tools as part of the testing phase:

  1. Usability testing
  2. Testing recommendations and report

Because this approach is non-linear, sometimes a UX designer will loop back and forth between phases. A UX designer doesn’t always use every tool within all of the phases, but they’ll typically use at least one or two.

What does a UX designer do every day?

A UX designer’s job will vary depending on the role or company. Some companies look for generalists who have experience across all or most of the sub-disciplines described above. Other roles will be more specialized. A UX designer may focus on research or just on prototyping if needed, depending on the position.

Typically, a UX designer works with a team. Sometimes the team will have other UX designers, a product manager, and developers. This team may be responsible for designing products used by customers or internally within the company. Sometimes a designer will work on a single project for months at a time, or they might juggle multiple projects, especially if they work for an agency.

A UX designer is responsible for creating the deliverables of the phase they are working on, keeping their work on time according to the project schedule, and presenting their work. They may need to present to the rest of the design team, internal stakeholders, or clients.

Deliverables created for these audiences can vary. According to a 2015 article from Nielsen Norman Group, UX designers were most likely to create static wireframes and interactive prototypes, followed by flow charts, site maps, and usability reports. When presenting work, interactive prototypes were most common. These deliverables are the most accurate representation of the final product.

In addition to creating wireframes and prototypes, a UX designer may:

  • Plan user research
  • Identify the target audience
  • Interview and survey users
  • Analyze qualitative and quantitative user research
  • Create a content inventory
  • Design a style guide or add to a design library
  • Conduct usability testing
  • Analyze usability testing results

Summary

UX design is like an umbrella that covers multiple areas, and a UX designer is expected to be familiar with all areas. Because UX design is so broad, and because the term itself has become popular relatively recently, it’s often misunderstood. 

At its foundation, UX design is about putting the user first. By empathizing with the user, a UX designer can create products and services that anticipate and meet users’ needs. The process isn’t linear; UX design is an iterative process that continues to loop back with the user to test and improve the design team’s ideas.

Explore Our Upcoming UX Design Programs

What’s the Difference Between Diversity, Inclusion, and Equity?

By

Diversity Equity Inclusion Distinction

The often-used terms diversity, equity, and inclusion have distinct meanings. Here’s why that matters, and how they work together.

Diversity. Inclusion. Equity. These words and the issues they point to loom large in tech. It’s hard to go a week without reading an article about a company touting its dedication to diversity, while another is called out for tolerating oppressive comments and workplace practices.

From 2014–2016, Google spent $265 million to increase its diversity numbers (to little avail), a number that has become even more well known after the company recently fired an employee who wrote a memo against diversity efforts. In a 2017 survey of tech employees, 72% reported that diversity and inclusion was important to their company. In another report, which surveyed over 700 startup founders, 45% of respondents reported that they talked about diversity and inclusion internally in the last year. The majority of participants in that survey believe that the tech industry’s employee makeup will be representative of the U.S. population in 2030, though that’s a far cry from where we are now.

With all this talk about diversity, equity, and inclusion (DEI) in tech, there is no better time to dig deep and establish shared, fundamental understandings of these terms and their meanings. In my work as a DEI facilitator working with tech companies and in many less formal conversations, I’ve found that there’s widespread confusion. People get tripped up not only on definitions, but on how to use these terms to create goals and action plans for themselves and their organizations. When we can’t get on the same page, we can’t take the next step. So let’s start at the beginning and create a shared understanding of DEI together.

Continue reading

3 Reasons Python Programming is So Popular

By

Since its introduction in the ’90s, Python has rapidly become one of the world’s most popular programming languages. Most recently, we have seen Python even surpass other languages like Java. How has a humble language like Python managed to gain so much attention? Why is Python so popular?

Some estimates claim there were over 8 million active users of Python by the end of 2018. What has created the demand for this programming language compared to Java with 7.6 million, C# with 6.7 million, and JavaScript with 11.7 million active users at the end of 2018? One way to think about using a programming language is to think about its primary use case. In the case of JavaScript, the primary function is building software for the web or the cloud. Cloud infrastructure and web development are still very common business needs. For C# and Java, these use cases are more driven to desktop application development, which has started to fall off with the rise of the mobile-first mentality of end-users.

1. The rise of analytics and Python.

With Python, the use cases are shifting to data analysis and machine learning. As Clive Humby stated back in 2006, “Data is the new oil.” The bottom line is that data science has a high value. Companies have made data analytics and data science a priority due to their abilities to maximize profits and gain better insights on business. Because of well-developed resources like the data science workhorses of Pandas and Scikit-learn, Python easily does the heavy-lifting of machine learning algorithms.

Along with ready-made tools to do the work, Python is also an incredibly readable programming language. Its syntax was explicitly designed to remove a lot of unnecessary code and emphasize making it human-readable. Python makes the development of complex programs easier to write and easier to manage, which translates directly to the bottom line of the company.

2. Why is Python so popular? One word of many: Free.

The facts that drive Python’s booming popularity: it is an open source and free to use. Developers all over the world are writing and distributing software packages in Python that small companies or individual developers can use in their projects for free. Who wouldn’t want to be able to plug into a sophisticated image segmentation library developed by Google? At no cost! Just a few years ago, similar image analysis software cost thousands of dollars and was not nearly as user-friendly.

3. It takes a village.

Python programming is easy to learn, easy to write, cheap to build with, and massive followings of programmers worldwide. It’s no wonder Python is rapidly gaining in popularity. One of the worst feelings for new developers is not understanding why their program isn’t working, but with Python, the programming and data science communities are very active. Blog posts, answer sites like StackOverflow, and groups on LinkedIn have made getting feedback and solutions to your issues easier than ever. Getting hands-on help with issues quickly, learning, and picking up better development practices are no longer a daunting task.

The best way to learn any new language is to immerse yourself. Popular programming languages like Python are no different. The more time you interact with solving real-world problems with a new language, the faster you can become fluent. There are tons of resources like YouTube videos and blog posts, but I find that there really isn’t a better-suited way to learn than hands-on teaching. You need to raise your hand and ask an instructor attuned to the Python language, programming languages, Python code, data science, python developers, artificial intelligence, programming, and machine learning, and more.

General Assembly: the bridge to machine learning.

The immense rise of use cases and companies hiring developers, allows an increase in places to learn these new skills. General Assembly has a multitude of ways to get you started on the path to learning Python and becoming a Python developer. Informal and free introduction sessions at General Assembly aim to get you running code in just a couple of hours. Part-time classes take things up a notch by giving you focused hands-on lessons twice a week, over 10 weeks — artificial intelligence will have nothing on you. For those future Python developers that are ready to take the plunge, and want a deep-dive into all things machine learning, General Assembly also offers full-time Data Science Immersive programs every quarter to learn Python code, programming, nuances of artificial intelligence — and more.

Why is Python so popular? These reasons are a very good place to start!

Learn More About Our Python Offerings

5 Principles For Teaching Adult Learners

By

adult learners in a classroom image

The motivations to learn evolve as you become older; and for an adult educator, teaching can be even more difficult without a basic understanding of adult learning theory.

Continue reading

How to Build a Brilliant Visual Product Roadmap

By

roadmap

As Product Managers, building product roadmaps is a crucial part of our job. Yet most of us still use outdated tools for product roadmapping — Excel, PowerPoint, wikis, etc. — to try and keep multiple teams on track toward the same goals. It’s painful. The good news is that there’s a better way.

We understand that building a strategic product roadmap is not easy and that your business colleagues always want to know what’s coming next. It’s time to lead your product with conviction. Take a radical new approach to roadmapping because your company needs it and you deserve to build the future and enjoy what you do.

Continue reading

What is EdTech and Why Should It Matter to You?

By

Educational Technology image

Education Technology (also known as “EdTech”) refers to an area of technology devoted to the development and application of tools (including software, hardware, and processes) intended to promote education.

Put another way, “EdTech is a study and ethical practice for facilitating learning and improving performance by creating, using and managing appropriate technological processes and resources.”

Continue reading

Three Big Reasons Why You Should Learn Python

By

As a data scientist, my work is contingent on knowing and using Python. What I like about Python, and why I rely on it so much, is that it’s simple to read and understand, and it’s versatile. From cleaning, querying, and analyzing data, to developing models and visualizing results, I conduct all these activities using Python. 

I also teach data science in Python. My students learn Python to build machine learning models but I’m always excited to hear of the other ways they’ve leveraged the programming language. One of my students told me they used it to web-scrape online basketball statistics just so they could analyze the data to win an argument with friends. Another student decided to expand on her knowledge of Python by learning Django, a popular framework, which she uses to build web apps for small businesses. 

Before taking the plunge into data science, we all had fundamental questions (and concerns) about learning Python. If this sounds like you, don’t worry. Before I started learning Python, I spent several months convincing myself to start. Now that I’ve learned, my only regret was not starting sooner.

If you’re interested in learning Python, I want to share my biggest reasons for why you should. Two of these reasons are inherent to Python; one of them is a benefit of Python that I experienced first-hand, and some of the examples I discuss come from things I have researched. My goal is to give you enough information to help make an educated decision about learning Python, and I really hope that you choose to learn.

1. Python is easy to learn. 

Long before I learned Python, I struggled to learn another object-oriented programming language in high school: Java. From that experience, I realized that there’s a difference between learning to program, and learning a programming language. I felt like I was learning to program, but what made Java difficult to learn was how verbose it was: the syntax was difficult for me to memorize, and it requires a lot of code to be able to do anything.

Comparatively, Python was much easier to learn and is much simpler to code. Python is known as a readable programming language; its syntax was designed to be interpretable and concise, and has inspired many other coding languages. This bodes well for first-timers and those who are new to programming. And, since it typically requires fewer lines of code to perform the same operation in Python than in other languages, it’s much faster to write and complete scripts. In the long run, this saves developers time, which can then be used to further improve their Python. 

One observation I’ve made of Python is that it’s always improving. There have been noticeably more updates to the language in the last 5-10 years than in prior decades, and the updates have often been significant. For example, later versions of Python 3 typically benchmark faster completion times on common tasks than when carried out in Python 2. Every release in Python 3 has come with more built-in functions, meaning “base” Python is becoming more and more capable and versatile.

Learning is not an individual process; often you will end up learning a lot from “peers.” According to various sources, Python has one of the largest and most active online communities of learners and practitioners. It’s the most popular programming language to learn; it’s one of the most popular programming languages for current developers; and among data scientists, it’s the second most common language known and used. All of this translates into thousands of online posts, articles (like this one!), and resources to help you learn.

Speaking of online learning, Python is also tremendously convenient to learn. To learn the fundamentals of Python, there are a lot of learning tools out there — books, online tutorials, videos, bootcamps — I’ve tried them all. They each have their merits but ultimately having options makes it easier to learn. Once you start learning, the resources don’t stop. There are dozens of really good tutorials, code visualizers, infographics, podcasts, and even apps. With all of these resources at your disposal, there’s really no reason why you can’t learn!

2. Python is versatile.

Python’s popularity is also tied to its usability and versatility. According to O’Reilly, the technology and business training company, the most common use cases for python are data science, data analysis, and software engineering. Other use cases for Python include statistical computing, data visualization, web development, machine learning, deep learning, artificial intelligence, web scraping, data engineering, game and mobile app development, process automation, and IoT. 

To get into any of these use cases would require another post. Regardless, you might be wondering what allows Python to be such a versatile programming language? A lot of it has to do with the various frameworks and libraries that have been built for Python. 

Libraries are collections of functions and methods (reusable and executable code) with specific intents; and frameworks more or less are collections of libraries. If you ask any Python developer, they can name at least a half-dozen libraries they use. For example, I often use NumPy, Pandas, and Scikit-learn — the holy trinity for data scientists — to perform math and scientific operations, manipulate and analyze data, and build and train models, respectively. Many Python-based web developers will name Django as one of their preferred frameworks for building web applications.  

While it’s true that libraries are written for most programming languages and not just Python, Python’s usability, readability, and popularity encourage the development of more libraries, which in turn makes Python even more popular and user-friendly for existing developers and newcomers. When you learn Python, you won’t just be learning base Python, you’ll be learning to use at least a library or two.

3. Python developers are in demand.

Many people learn to program to enhance their current capability; others to change their careers. I started off as one of the former but became the latter. Before data science, I built digital ad campaigns and a lot of my work was automatable. My only problem was that I didn’t know how to code. Although I eventually learned how, in the process of learning Python for my work, I was presented with different job opportunities where I could use Python, and learned about different companies who were looking for people experienced in Python. And so I made a switch.

There are a lot of Python-related roles in prominent industries. According to ActiveState, the industries with the most need for Python are insurance, retail banking, aerospace, finance, business services, hardware, healthcare, consulting services, info-tech (think: Google), and software development. From my own experience, I would add media, marketing, and advertising to that list.

Why so many? As these industries modernized, companies within them have been collecting and using data at an increasing rate. Their data needs have become more varied and sophisticated, and in turn, their need for people capable of managing, analyzing, and operationalizing data has increased. In the future, there will be very few roles that won’t be engaged in data, which is why learning Python now is more important than ever — it’s one way to bullet-proof your career and your job prospects.

A lot of top tech companies value Python programmers. For instance, to say that Google “uses” Python is an understatement. Among Google engineers, It’s a commonly used language for development and research, and Google’s even released their own Python style guide. Google engineers have developed several libraries for the benefit of the Python community including Tensorflow, a popular open-source machine learning library. YouTube uses Python to administer video, access data, and in various other ways. Python’s creator Guido van Rossum, a Dutch programmer, was hired by Google to improve their QA protocols. And most importantly, the organization continues to recruit and hire more people skilled in Python. Other notable tech companies who frequently hire for Python talent include Dropbox, Quora, Mozilla, Hewlett-Packard, Qualcomm, IBM, and Cisco. 

Lastly, with demand often comes reward. Companies looking to hire people skilled in Python often pay top dollar or the promise of increased salary potential. 

Conclusion

In summary, there are lots of reasons to learn Python. It’s easy to learn, there are many ways to learn it, and once you do, there’s a lot you can do with it. From my experience, Python programming is a rewarding skill that can benefit you in your current role, and will certainly benefit you in future ones. Even if Python doesn’t end up being the last programming language you learn, it should certainly be your first.

Explore Our Python Course

9 Top Prototyping Tools for UX Designers

By

The right tools can speed up your UX process and enable collaboration.

Prototyping is one of the key phases of the design thinking process, and UX designers have a wealth of tools to help them create rich prototypes.

Prototyping tools not only help UX designers create something real enough to test with users and stakeholders, but they can also speed up the process—especially if design tools are used throughout design, and not just before handing off to development. 

Why UX Prototyping?

When UX designers prototype designs early and often in the design process, they can understand how real people will react and use the product. Then they have an opportunity to iterate and make their designs even better. This iterative process of prototype, test, and repeat leads to stronger ideas and designs that are more likely to succeed in the long run. UX prototyping also has many other benefits:

Interactive prototypes help designers explore ideas.

By prototyping interactions and animations, designers can flesh out ideas that show what they want the final design to look like. It helps designers externalize the ideas in their head so that they can smooth out the rough edges of an interaction. 

“Prototyping is the conversation you have with your ideas.”

— Tom Wujec, TED speaker and founder of The Wujec Group 

Prototyping tools enable real-time collaboration.

Tools can also help teams collaborate more effectively. Many app prototyping tools allow designers to easily share files with teammates for feedback and real-time collaboration.

Using prototyping tools also helps designers communicate the design vision to stakeholders and other team members. Showing, rather than telling, strengthens the communication and lowers the risk that other people won’t understand.  

Drag and drop tools help us expedite our process.

There’s a reason UX focuses on rapid prototyping. Moving quickly lowers risk and overall cost of a project. Prototyping moves more quickly using tools that use drag and drop interfaces. 

Many prototyping tools allow designers to add interactions with a simple click. When designers can spend more time thinking about how to improve the design, rather than struggling with manual tools, the design process improves.

What to look for in a prototyping tool.

With so many UX prototyping tools available, how do you choose? Here are some things to keep in mind as you decide.

Can you try it for free? 

Some UX prototyping tools have a trial version to let you take the application for a spin before committing. This is a great way to test drive the tool and see how it works with your design process.

Adoption

How many people are using the tool? How large is the community that supports and contributes to tool plugins or support forums?

Some of the newer tools will have far fewer users than those that have a well-established user base. If you’re wondering how good a tool is, adoption rate can tell you a lot. Tools with a lot of users tend to be strong.

Learnability

How long will it take for you to learn the tool? You might not have a lot of time to spend learning a new interface. If you struggle with a prototyping tool, you might want to move on to another one. When you find a tool hard to use, you’re less likely to use it later on. Focus on finding one you feel comfortable with. You also might want to explore a prototyping workshop like this one. 

Integration into your process

At the end of the day, any UX design tool should fit your process, or at least allow your process to easily adapt to it. If it’s not easy to add to your process, it won’t be valuable to you. 

Top 9 UX Prototyping Tools

Fortunately, UX designers don’t have to look far to find a good prototyping tool. There are so many options out there. Here are just nine of the top prototyping tools to explore. 

Sketch

Sketch is one of the most mature prototyping tools available for UX designers. It was released in 2010 and grown into one of the most common tools for UX designers. Designers use it for creating digital interfaces from websites to apps and icons.

Sketch allows designers to create vector graphics, user flows and interactive prototypes, and teams can sync through a shared cloud workspace. Sketch enables the entire workflow, and it also has a number of helpful integrations with programs like Invision, Zeplin, and Flinto. 

It is only available for Mac users.

  • Learn more about Sketch
  • Prototyping with Sketch 
  • Sketch tutorial

Figma

Figma is a cloud-based design and prototyping tool. Designers use it to create user interfaces for websites, apps, and smaller devices. It’s similar to Sketch, but it can be used cross-platform. In other words, you don’t need a Mac to use it.

Individuals can use Figma for free, although the free plan has some limitations. You can only add two editors and create a maximum of three projects.

Figma has a number of strong features for creating UI designs. Once you are ready, you can turn your designs into a prototype by creating connections between frames. UX designers can set the interaction, apply animations, customize overlays, and more.

Figma prototypes can be previewed using the Figma Mirror app or desktop app. Figma also has a library of tools that connect it to a number of other applications for productivity, design, and delivery to development teams.

  • Figma guide to prototyping
  • Figma prototyping tutorial
  • Take a Figma tour

Adobe XD

Adobe XD is Adobe’s answer to UI design and prototyping. Similar to Sketch and Figma, it includes familiar tools for creating wireframes, prototypes, and interactions for websites, apps, and other digital screens. 

It can also be used across platforms, and collaborators can access and use it on Mac, Windows, iOS and Android.

XD released new features in 2019 to better enable team collaboration, including coediting, document history, and share mode. Like Figma, XD also allows designers to import Sketch files. And now, designers can also turn existing Sketch libraries into cloud documents in XD.

XD’s prototyping interface is also similar to Figma, and designers can create connections, overlays, animations and more.

  • Prototyping in XD 
  • About Adobe XD
  • Get Adobe XD

Webflow

Webflow is a relative newbie on the scene, but more and more designers are using it in their day to day practice. Webflow gives designers the power to create entire websites and apps without coding. Once you’re done, you can export the project into production-ready code.

It’s possible to host an entire project on Webflow, which means you just need to navigate on the website, and you’re in. You don’t need an app to preview or test your design. 

There are a few things to consider. Webflow works only in Chrome or Safari. Also, while you can get started for free, you’ll need a membership to create more than two projects.

Webflow can also take some getting used to. It doesn’t move as quickly as other prototyping tools, but it can save you time once you’re ready for development.

  • Webflow crash course
  • Webflow interactions 

Invision

Invision has come a long way since it was first released. At its core, Invision is a prototyping tool that allows designers to upload screens and quickly create interactive prototypes. The Invision prototyping tool won’t let you create designs directly in the app. However, its UI allows designers to sync screens from Sketch or Photoshop or import static images. Then, using the Invision build tool, you can arrange and build links between the screens by creating clickable hotspots. You can add transition states and mobile gestures, and even create hover states for any design element.

Designers can share their prototypes across devices or in real-time for live sketching. It’s an intuitive collaboration tool that lets you easily share a link to the prototype with teammates and clients, who can leave comments on any specific area of the design.

Invision’s strength is in its speed and versatility. It has a low barrier to entry, so designers who have never used prototyping tools can quickly create and share working prototypes.

  • Invision prototyping 
  • Create interactive prototypes with Invision

Balsamiq

Balsamiq Mockups is more of a wireframing tool than a prototyping tool. That said, it’s a great first step into quickly creating low-fidelity mockups.

Balsamiq is a drag and drop tool that’s easy to learn and fast to use. It doesn’t have any fancy animation capabilities. But it does allow you to link between screens to create a basic prototype and check for flow and functionality. Designers can also export screens and upload them into Invision to create interactive prototypes.

Balsamiq offers both a cloud and a desktop version of the tool. The cloud version pricing varies based on space requirements and how many projects you create.

  • About Balsamiq
  • Creating Balsamiq prototypes

Axure RP

Axure RP is a very robust tool, and design teams can use it for wireframing, diagramming, and creating interactive prototypes. 

Teams have the ability to view your design mockups from mobile devices as well as annotate and create animations.

Axure RP has dozens of features, and it tends to be built more for application software teams.

  • About Axure prototyping

Framer

Framer is a prototype platform ideal for team collaboration. It has a new web platform that enables browser-based design, much like Figma.

Framer allows designers to create simple transitions and microinteractions, as well as advanced animations. No code is required, so it’s easy to get started using it. Plus, you can try it for free.

  • About Framer
  • Framer tutorials

UXPin

UXPin is often overlooked, but has a lot to offer UX designers for website or app prototyping. It includes vector drawing tools, the ability to create components, and the ability to collaborate in real-time with your team.

It also has some additional features that make it really special, like its accessibility features, which check for WCAG contrast standards. On the code side, it has the ability to sync React.js components to UXPin, so you don’t have to redraw patterns.

UXPin is available cross-platform, and it’s free to sign up.

  • About UXPin
  • Prototyping with UXPin

Things to keep in mind

Simply by creating prototypes, designers can quickly gather valuable feedback from usability test participants, teammates, and clients to iterate and continuously improve the design. 

Remember, these aren’t the only prototyping tools available for UX designers, and it’s important to explore and find the right tool that fits your process. If you haven’t started prototyping yet, try out one or two tools that look promising. Most tools have a free option so you can see what works best for you. 

New to UX? Create designs that consider users’ needs and practice prototyping this remote User Experience Design workshop.

Explore Our Upcoming Design Programs