Web Analytics Made Easy - Statcounter
Skip to content

Goal 2 - "You Are Successful"

This seems overly obvious, but it's based on reality. The experience many people have making GUIs is that despite spending a large amount of time, the end result isn't what they had hoped for. Sometimes, often for beginners that learn how high that "GUI bar" is to get over, people abandon the project. They quit, and this comes at a price. It's discouraging, it feels like failure, it's disappointing, and it's unfortunate this happens.

PySimpleGUI is going to provide some level of success. Sometimes just getting a Python package installed can be a difficult task in itself. PySimpleGUI has a number of options for installation. Of course your definition of success can vary.

Perfection Is Not The Goal

PySimpleGUI doesn't try to be perfect. It tries to be functional, to provide not the "ideal solution", but instead an "adequate solution". That does not mean "mediocre", it means it solves the problem... it's adequate. It's better to have a solution that solves the problem and looks OK, than a solution that has amazing graphics but you never reach the finish line.

If you want a polished and nice looking window, that's possible with PySimpleGUI, but it may not be the first stop along the way in your project. Want a very specific style of button? No problem, but you have to be willing to make an effort too.

Some problems are not a fit for PySimpleGUI. Every library has limitations. Every language has limitations. Every programming problem is filled with variables and it's your job to match the tools you're going to use to the problem.

PySimpleGUI tries to solve "80% of the GUI problems". 80% is clearly not a measurable quantity. Who knows what the size of the GUI problem set is? If you want to duplicate Excel, PySimpleGUI is likely not a fit for your problem. You'll likely know within a day or two if PySimpleGUI is not for you. Contrast that time to how long it takes to get a basic program running in the typical GUI frameworks, which can be a week just to get your feet under you.

You Get To Define Success

This is a lesson not just in programming, but life itself. You are the person that's defining the problem and defining what success means. Maybe "requirements" are given to you by your employer, but you've got a lot more freedom than it appears to outsiders to computing. If you've programmed before, you know that you've got a lot of freedom in numerous ways.

A concept called "satisfice" applies in computing more than is stated or taught.

What is satisfice? (you're expected to know; it's an unusual word)

Webster Dictionary defines satisfice as:

to pursue the minimum satisfactory condition or outcome

Again want to stress, this does not mean "mediocre", which Webster defines as:

of moderate or low quality, value, ability, or performance

Low quality and low ability or low performance... those likely don't match a "satisfactory condition"

This concept, satisficing, won a Nobel Prize in Economics.

"Overbuilding" is a common problem in programming. Building extensibility for a future that never arrives is a waste. Not only do you pay a cost in this useless code, but you pay an "opportunity cost" in not being able to pursue something else with that time.

"Up in 5 Minutes Challenge" Aids in Success

When designing PySimpleGUI the "up in 5 minutes" was a challenge set for the project. The goal, a GUI on the screen within 5 minutes of someone deciding they want to try to build a GUI in Python.

To be able to evaluate PySimpleGUI, you need to first be able to run it! Time is a precious commodity, and PySimpleGUI is designed to save you time.