Solving Design Problems like a Mathematician

While reading a forum discussion on FreeCodeCamp, I came across a reference to George P贸lya’s book, “How to Solve a Problem”. In this post, I review P贸lya’s problem solving strategy.

In a recent FreeCodeCamp forum, someone asked a question about journaling:

Hi coders,
While looking for the source for my project, I saw that some programmers or developers wrote a kind of diary to keep track of the code. I think it鈥檚 nice, but I was wondering exactly how you can structure a diary and if any of you use this to write code.聽Question here.

Good question. I’ve seen other people use diaries or online journals, or those things people use…writing logs or whatever. 馃檪

Anyway, the only reply includes a link about using a “logbook”. On the link page, the author references George P贸lya聽and his book聽How to Solve It. I had never heard of this person or his book, so I did a little research.

George P贸lya, (1887 – 1985)

George P贸lya was a Hungarian-born mathematician who was known for his mathematics work, as well as his work in heuristics. Heuristics is “any approach to problem solving or self-discovery that employs a practical method”.

“Examples that employ heuristics include using a聽rule of thumb, an聽educated guess, an聽intuitive聽judgment, a聽guesstimate,聽profiling, or聽common sense.”

He聽wrote a book about solving problems using common sense principles.

1st edition cover of “How to Solve It”, published in 1945, by George P贸lya, a Hungarian mathematician.

The George P贸lya Method of Solving Problems

The Wikipedia page聽shows that聽P贸lya聽lays out some pretty good heuristics for solving problems. Although he intended for these strategies to be used for solving math problems, I think they could be used to provide a structured method for solving almost any difficult problem.

The P贸lya problem solving method involves 4 principles:

  1. First, you have to聽understand聽the聽problem.
  2. After understanding,聽make a plan.
  3. Carry out the plan.
  4. Look back聽on your work.How could it be better?

So how does it work?

Principle 1: Understand the Problem

P贸lya based the first principle, Understand the Problem, on the idea that math students struggled to solve problems due to a聽lack of understanding聽the problem in full or in part. His technique involved coaching teachers to prompt students with the following questions:

  • What are you asked to find or show?
  • Can you restate the problem in your own words?
  • Can you think of a picture or a diagram that might help you understand the problem?
  • Is there enough information to enable you to find a solution?
  • Do you understand all the words used in stating the problem?
  • Do you need to ask a question to get the answer?

Essentially one should not move past principle one until a constructive answer can be given. It’s not clear from the Wikipedia entry if a constructive answer is required for聽each question or the entire problem.

聽Principle 2: Make a Plan

Basically he felt that a person gets better at selecting a good plan/strategy the more times they solve problems. Here’s a big list of strategies:

  • Guess and check
  • Make an orderly list
  • Eliminate possibilities
  • Use symmetry
  • Consider special cases
  • Use direct reasoning
  • Solve an equation
  • Look for a pattern
  • Draw a picture
  • Solve a simpler problem
  • Use a model
  • Work backward
  • Use a formula
  • Be creative – (“[Have] patience to wait until the bright idea appears”)
  • Applying these rules to devise a plan takes your own skill and judgement – (“Always use your own brain first”)

Principle 3: Carry out the plan

Simple enough, but the main problem people have with this step is giving up too soon. For that, the Wikipedia entry says:

“In general, all you need is care and patience, given that you have the necessary skills. Persist with the plan that you have chosen. If it continues not to work, discard it and choose another.”

Principle 4: Review, Reflect and Extrapolate

Take a look at what you’ve done, and evaluate how well it worked (or didn’t), and see how you can use what you’ve discovered for future problems.


Finding the book:

If you want to find this book, I recommend trying your library. I found it by searching for "how to solve it book pdf" (Google suggested the "pdf") and I found a copy.

Update:

An earlier version of this post included an account of how I applied Polya’s technique to my portfolio changes. A follow-up聽post will focus on that account.

Portfolio and Website Updates: Incorporating Feedback

An update to a previous post on the feedback I received from friends and acquaintances on my portfolio, and ongoing work.

I’ve been making updates to my portfolio and website, and I have even more updates to report. In this post, I want to聽go a little deeper聽on some of the feedback I received from friends and acquaintances, and how that has influenced some of my updates.

I’ll continue to make updates, of course. These are just changes I’ve made so far.

My Initial Reaction

I asked most people to review my portfolio, which is on CargoCollective.聽When I got the feedback, my emotions ranged between feeling overwhelmed and disappointed.

I was overwhelmed with what I had received, which was not all negative, because I felt that I’d wasted so many first impressions.

For months, I’ve been sending out links to my portfolio and not getting anywhere with it. Despite my hard work with updating my resume, including the time I spent gathering tips, I felt I聽had ultimately been聽short-changing myself by sending out a lackluster portfolio. It felt like a huge waste of time. I even felt like a fraud, giving out tips at the NYC UX Camp 2019.

It was disappointing that other people weren’t seeing my vision or hadn’t understood the history how this site came to be. But, you know, people only reviewed what I asked them to review. They weren’t providing holistic direction on how to reframe my image as a designer. And they weren’t evaluating anything a hiring manager wouldn’t evaluate, either. In other words, it wasn’t personal.

In any case, after a few days (or hours), I started thinking about how I could make changes. My personal website, alliwalk.com, actually went through a whirlwind of changes, large and small. And then I started focusing on my portfolio.

So let’s go through some of the top feedback and how I addressed it.

The Feedback: 1-2-3

The 3 biggest areas of feedback centered on:

  • Domain: Using a real domain name, instead of a third party site.
  • List of projects: Feeling overwhelmed by the number of projects; not sure where to start; emphasizing the projects.
  • About: Adding a tagline or a paragraph to the home page to give a sense of who聽I am.

Now I’ll go through these top 3 pieces of feedback and give my thoughts, and what I did (or didn’t) do to address them.

1.Personal Domain

Jared Spool gave a talk at BostonCHI in Jan 2019, about the difficulty of hiring designers. In the talk, he called out employers who discriminate against candidates who use third-party sites like Wix or other CMS tools.

Specifically, in his example, he recounts an encounter with a design leader who felt that “good designers” should be able to code and would have coded their own websites.聽The video is linked to this point in the presentation.

If you’re reading this on my blog, it’s clear that I do have my own domain. I also have own website and I did code it myself.

The reasons聽I coded my own site were not to prove myself as a “good” designer. They were due to: a) cost, and; b) exploration/personal expression. Let’s review:

A. Cost: It’s cheaper to code your own website on your own domain than to pay a 3rd-party site to do it. A site that costs $12/mo is $112/year, which is over $500 after 5 years, assuming you keep it running all that time. Many sites cost more than $12/month. About five years ago, when I first created my site in Bootstrap, I needed to find areas to cut back on my expenses. This was an easy choice to make and I’ve stuck with it.

B. Exploration: As mentioned above, about five years ago, I started seriously learning more about front-end development. I used building my portfolio and a few side projects as opportunities to聽learn.聽I like designing my own website. So why am I also using Cargo? Because updating a domain can be a small project but updating a CMS takes a few minutes.

I could use my own domain to host an external website, but it feels like giving up control of my own website. And, I’m not sure that the external template available is what I want to use on my own site. Plus I get control over my own analytics.

Ultimately, I won’t be moving the Cargo portfolio聽to my domain. But, I did update my website to more prominently point to the portfolio.

2. List of Projects

I admit: I do have a lot of projects. I’ve heard that using 3-5 projects is a must. I don’t know if that’s a max of 5, but I’d definitely heard a minimum of 3.

Even the NN/g article that prompted this redo suggests 3-5 projects:

Step 2: Choose 3鈥5 Projects as Detailed Case Studies

But I want to share an image from the NN/g article on UX portfolios. It depicts a gallery of projects.

Web PortfolioHow many聽projects聽do you see? I see 8. Clearly the maximum number of projects is not hard-limited to 3-5.

At the moment, I may have too many at 11.聽However,聽the first 3 projects are the same as from my website. And on my website, I used analytics to narrow the list from 6-7, to 3 based on visitor traffic.

Most people view a website in an F shape.聽Using that logic, my most popular projects are placed first. This doesn’t mean I shouldn’t continue trying to narrow the list. But there’s clearly some discrepancy what’s too many,聽and my choice of projects and the order they’re presented have some thought behind them.

Providing Signposts with the Writing

To help address the feedback聽that people might be feeling lost, within each project page, I have been working on improving the writing.聽As聽mentioned in my last post, I’m updating the writing make it easier for people to scan.

I’ve made changes such as:

  • Incorporated images at the top of projects, when appropriate. (Suggested by feedback.)
  • Organized the writing a bit better. The format is now: a) description;聽b) images.
  • Included additional promo information, like videos, for people to find more information if wanted.
  • Used more headings, lists, and bold text.

My hope is that even if people feel like they don’t know where to start, once they do, they will feel more directed.

3. About

I used to have an About Me page on my website, alliwalk.com. I removed it聽because analytics聽showed that very few people ever visited the page.

But,聽two respondents mentioned making About聽info more prominent, like right on the homepage. They asked about adding a heading sub-title or adding a paragraph above the project.

Unfortunately, those are not options I can pursue due to limitations of the CMS template.聽There are other changes I can make:

A. Using a Landing Page:聽The template does聽allow me to select any page as the landing page, even if that page is not public. (Public pages do not show in the nav in the template I’m using.) So聽I am working on creating a landing/about page, but it’s not something I can easily test without it immediately going live. So, I’m being very cautious.

B. Improving “About”:聽While working on the writing and updating images, I have updated how I described myself on both my website and my portfolio. I used a combination of my resume and cover letter.聽I also provided answers to a few questions I tend to get in interviews, like:

  • Are you more of an information architect or visual designer?
  • Do you typically work full-time or freelance?

I just wove that information into the writing itself, and then I put the same information on both my website and my portfolio.


Still more to go. I haven’t made much progress on my website regarding the responsive images, semantic HTML, or migrating to Bootstrap 4.

And, coincidentally, I recently participated in a virtual session with Google, on their design review process. I learned a few things…which is for another post.

Portfolio and Website Updates

After reading a Nielsen Norman Group article on UX Portfolios, I recently began a process of updating my own portfolio and website. Here is a recap and plans for the future.

I have begun a process of updates for my website at alliwalk.com and an additional portfolio at cargocollective.com/alliwalk.

Here are changes in mind for the portfolio and the website.


Portfolio Updates

Changes for聽my portfolio began after聽I read a Nielsen Norman Group article on UX Portfolios.聽The article is called 5-Steps to Creating a UX-Design Portfolio. The 5 steps are:

  1. Take Inventory of All Your Projects
  2. Choose 3鈥5 Projects as Detailed Case Studies
  3. Choose Your Desired Format
  4. Create Your Portfolio
  5. Get Feedback and Iterate

Implementing the Tips & Other Updates

Take Inventory

Given my work on improving my resume, I’ve already taken some inventory of what I feel I’m good at and what differentiates me from other designers.

3-5 Projects

But I do have a lot of projects. Far more than 3-5 as recommended. So that’s been difficult to evaluate objectively.

Writing

I also took a second look at the writing and how I described my projects. And I’ve decided to focus on improving the content so it’s ideal for the web.

  • Hemingway App helped to simply sentences and eliminate long words
  • Lists help get points across in an easier to scan format.

A short course I’ve been referencing is available on Lynda.

Styles

Styles aren’t part of the list, but I made a few changes:

  • I used Coolors to use聽find colors that complement each other
  • Use HSL instead of HEX values

Feedback

I’ve asked a friend, a new contact, and an acquaintance for feedback on my portfolio. Not everyone has responded with their take, but I’ve already begun making edits.

Upcoming

I plan to continue making more changes and improvements, to the order of each project and the writing.


Also, Website Updates

Some big changes here….

I recently made some pretty drastic updates to my website.

Style, Images, Content

  • Using Coolors to get a complementary color palette
  • Adding SVGs from UnDraw.co
  • Updating the content: Removed CSS projects; Added an “About” section

That’s it for now, but there are more changes I still want to make.

More Changes I Want to Make

Remove IDs

3-4 years ago when I first made this site, I didn’t know the difference between IDs and Classes. Now I do and I want to update the HTML to use the correct tags.

Add Responsive Images

The technique now is to use responsive images,聽using srcset and sizes. A how-to is available on MDN.

Update to Bootstrap 4

Although I think I’m OK with Bootstrap 3, it would be a good idea to update to the newest version. Bootstrap 4 uses Flex by default and possibly Grid.

Optimize the SVGS for Animation

In order to add animations to SVGs, the different paths and shapes need to be given names. Moving the styles out of the code means聽colors and other styles can be animated.

Animate the SVGs

After optimizing the SVGs, I can add some animations.

Create a CSS Experiments page

The site used to have a section for CSS animations. But I took that out to focus the page on just one message. I plan to put everything I removed onto a new page/section.

Domain Email

I’ve got a domain but I’m not using the email for it. This isn’t really a website thing, just a professional thing.

Happy to report, this is done!


I plan to write another post about some of the feedback and ongoing changes.

UX Camp 2019

On Saturday June 29, 2019, I found myself again at UX Camp. UX Camp, which I also attended and wrote about 2 years ago, is an “unconference” which means that there is not set schedule of topics or speakers. Instead, the participants come up with the schedule by proposing talks they want to talk about. (Then the organizers choose the time and which room.) This year’s UX Camp was again held at General Assembly.

As this was my second time going, I tried to be a little more social and chit-chat with other participants. Unfortunately, Jared Spool and Dave Malouf weren’t in attendance. Jared Spool is a great speaker — here’s a video I watched recently. However, I decided to not only get over my fears of small talk, but also get over my fear of presenting my ideas in public. So I gave a presentation, based on one of my favorite prior blog posts of this year, “My Favorite Pro-Tips from NYPL Experts on Crafting a Resume”!

Ok, only a few people attended, but presenting was a very satisfying experience.

Most of the people who signed up to lead sessions did not have slides. I did聽because I based them on聽my blog post, so it was relatively easy to put the deck together because my thoughts were already written and organized.

 

Overview

Other than my own presentation, here are a few sessions I attended:

Interviewing

One of the participants wanted to discuss interviewing, because she found herself in a new situation and was curious about other people’s experiences. I used the opportunity to make a comment on my observations about what UX hiring managers are looking for, especially regarding portfolios, according to the articles I’ve researched online.

Mentorship

This was kind of a workshop about mentorship. We spent a bit of time discussing our experiences with mentorship. After getting through everyone, the speaker led us through an exercise where we discussed what a mentor is and is not.

First, a mentor is not:

  • a parent
  • going to punish you
  • responsible for your career
  • necessarily your boss, but could be

A mentor is:

  • Someone who has achieved what you want to achieve. Someone said, “They only need to be one step ahead of you.”
  • Has current knowledge about the job, current events, etc
  • A champion for your success

We then broke out in small groups to talk about: How to create boundaries, Framing your conversation (with your mentor); and Getting from having no mentor to having a mentor. Afterwards, we shared our discussions.
Tips on Working with a Mentor

  • Respect the time of your mentor. Pretend your mentor has 100 mentees
  • Be responsive and be clear about what you want.
  • Fully implement their advice and then follow up with them with the results
  • Boosters; some people really like to help others
  • Be willing to provide value to the mentor

A book mentioned was the 2-Hour Job Search by Steve Dalton.

Visual Storytelling

Another talk I went to was by an architect who was a very talented illustrator and hoping to break into product design. His talk was on Visual Storytelling.

He showed us some examples of his work and we discussed the story he was trying to tell with his images. He also discussed his process a little.

Some tips I got from him about visual storytelling:
– Pick key moments to visualize
– Show only 1 (one) idea per image
– Include enough relevant information, but don’t go overboard in detail

I wanted to ask him questions about design and improving in visual design, but when I tried to ask my questions, I found that my anxieties about improving in design only aided in making my words come out jumbled. He tried to answer anyway and suggested that just knowing what’s good design and what’s not good is OK.

I like his tips 鈥 very clear and straightforward.

Cultural Relevancy and Experience Design

The very last talk I went to was about Cultural Relevancy and Experience Design. It was a very interesting topic. The speaker shared with us situations in which technology (sensors, photography) failed her in key moments due to the technology not being tested on a diverse audience. It’s true that some sensors are poorly calibrated to pick up darker skin tones. For instance, “self-driving vehicles may have a harder time detecting people with dark skin”. It’s probably not because the technology cannot do it, but because it’s not being testing for a variety of skin tones. https://www.businessinsider.com/self-driving-cars-worse-at-detecting-dark-skin-study-says-2019-3

I also got some recommendations for books:
– Design in The Era of the Algorithm
– Politics of Design
– Mismatched

Conclusion

Although I missed seeing some well-known names at the conference, I still got something out of it 鈥 namely public speaking experience.