Review of Lisette's Drawing App

by Caroline Hall

07 Jun 2017

Lisette’s drawing app has an extremely easy to understand interface, which I appreciate as a user of the system. The layout of it is very clean and pleasant to the eye, with the minimal instruction being all that is necessary because of the way that the selections are laid out (a successful implementation of milestones).

Regarding Lisette’s milestones, it seems as if she sorted through all of them on her own, save the one that limits the stamping of shapes when it’s within the user interface box. However, with a small addition of two lines of code during her presentation, Lisette was able to solve this issue – she was really close to the final solution and had put in a lot of effort to get to that point! I appreciate how her first milestone was accomplished, with the user being able to both drag and click to make different types of lines. The only thing that would make the program a little more user friendly for drawing would be if the turtle didn’t stamp at the end of each line – this is a minimal thing though and may have been a stylistic decision. Lisette’s incorporation of color choices, her second milestone, was completed neatly and effectively, which is great. She also successfully completed her milestones of being able to clear the screen and stamp different objects around on the screen (all still connected by a trailing line). An interesting milestone that she has included is “User does not have to watch animation of the user interface”. This is honestly something that I personally didn’t even think about as a designer, but noticed in some other individual’s applications as a hindrance to the performance of their system. Lisette accomplished this very neatly by having turtles that quickly stamped patterns of circles and squares throughout her drawing space.

Overall, her code is also very neatly organized, even with it all being within one ‘.py’ folder. It is well commented and has lines of asterisks that separate portions of code with different functionalities. I remember her struggling with importing functions and variables between folders during the coding clinic after class the other day. She overcame the issues that were stopping her in a clean and effective way that made sense to her and solved her issues. Her process and improvements are also noticeable throughout what she discussed during her code presentation, the content of her reflection, and from talking during the coding clinic. When looking through her code, you can see her thought process in making a turtle for her colors and having clicks access these colors, and then applying these thoughts to make her circle, square, and triangle stamps. It definitely seems like her milestones and thought processes were helpful in setting benchmarks for her application’s development.

Our program’s processes differ most notably in the way that we allowed our users to change color and draw shapes on the screen. Lisette used turtles to accomplish her color change functionality, but I went the route of using key presses that are individualized to changing the color of the drawing turtle. Bouncing off of this, another major difference that our coding had was that I had only one turtle that made shapes and lines on my screen at the user’s command, while Lisette had a turtle for each shape or line. I’m glad to see what Lisette did with her stamping turtle commands, because this was my initial idea when making my program; however, I couldn’t figure out exactly how to change the shape of the turtle in an effective way. Because of this turtle stamping functionality, there are lines that connect all of the square/circle/triangle stamps, which is something I probably would have taken out with some ‘penup()’ work – but the presence of these does not actually hinder the way the application works, so their inclusion is not an issue. Looking back on my own work, I probably should have made all of my functions (including color change) accessible by clicking on the screen like Lisette did; however, I wanted to play around with both key and clicking functionalities. I sympathize with her in her frustrations in working on this assignment, as it was extremely time consuming and nit-picky; however, I also feel like I’ve learned a lot about how variables and functions interact with one another.

Caroline is a first year Information Science Master's Candidate. She is passionate about renewable energy and the environment. She spends the majority of her time outside of class working for Strata Solar, a national solar farm developer, and United Solar Initiative, an international solar nonprofit. Find Caroline Hall on Twitter, Github, and on the web.