Giter Site home page Giter Site logo

mabiesen / todolist_app Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 41 KB

Raspberry Pi project. Pi with touch monitor to be mounted in kitchen. Send and receive information to/from the hub through sockets.

Python 100.00%
python raspberry-pi touch-display todolist

todolist_app's Introduction

Todo list touch display - Raspberry Pi

Project Need

To do lists can pile up quickly and can often hinder rather than help performance give the nature of human psychology: studies have shown that having too many options available reduces the likelihood that a selection will be made. In particular, one study presented supermarket customers with a variable number of jams: customers were more likely to try and buy a jam when fewer options were provided.

Additionally, applications that exist for mobile devices are likely under utilized given the above phenomenon. Because most mobile users have man apps, the likelihood that they will visit their todo list frequently is likely diminished.

With this in mind, I aim to create a todo list that will only display 4 todo items at a time with no option to rearrange priority (because this would lead to task avoidance). The wall mounted computer for the todo list application will turn on when a user passes, increasing the likelihood that the list will be visited. Additionally, since only one application will be used by the computer, users will retain focus on the todo list when interacting with the computer.

Note: First versions are being tested in Python2. May not work in Python3 at this time.

Project Roadmap

For new users trying to understand the source code, I have the following structure:

  1. A naming convention is used to separate utility scripts, client scripts, and server scripts. Client here refers to the program which adds list items to our wall-mounted application. Server refers to the wall-mounted application. Utility scripts contain generic functions which are utilized by the client and server scripts, and can be reused outside the scope of this project.

  2. No special libraries are utilized in this project. All libraries utilized are innate to Python.

  3. The todolist display does NOT update immediately when a new item is added to the list by the client; instead, new items will only appear on the display in the event that an item is deleted (further preventing task avoidance)

Work Required as of 4/19/2017

As of 4/19/2017, communication between server and client is functional (python2). Server is fully functional as regards the todo list.

  • Server scripts do not shut down gracefully on ctrl + c, correct
  • As of right now, ONLY todolist will be displayed. Need to alter tkinter script to allow for other lists. Make sure to default back to todo list after a given duration.
  • Finish integrating the motion sensor. Script written but not tested in context.
  • Create script that will add items to the todo list at a given date and time. For instance, garbage day falls on a Wednesday for me; every Wednesday I want to see a garbage todo at the top of the list, and in the event I don't delete the task, I want it automatically deleted on thursday.
  • Streamline use of getopt. As of right now, mixing getopt with standard user inputs.

todolist_app's People

Contributors

mabiesen avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.