paulheider / grinnellplans-kivy Goto Github PK
View Code? Open in Web Editor NEWA Kivy app for interfacing with GrinnellPlans
A Kivy app for interfacing with GrinnellPlans
Currently, the app always remembers your username. I can remove that feature if folks feel it is a security risk before adding the checkbox.
Based on the these two posts, I added a hack to correctly launch links in the default browser for Android:
The order that modules are loaded could be front-loaded or put behind the scenes so that the first launched link isn't so slow.
Just to give users the idea that the app hasn't frozen, it could be good to give a animation of some sort (spinning, walking ellipses, etc.)
Create a local cache of plans (if desired) so that a user can use the back button (UI button or only physical?) to go back to previous plans read. Caching means we won't have to hit the API again every time.
Rather than adding an additional button the UI, it would make sense to add a pull-down gesture to both primary screens to automatically reload their contents.
Whenever a pop-up is supposed to appear to notify the user that the app is doing behind-the-scenes work (usually waiting for the API), nothing happens.
Having a special [, ], and [ date ] button could be helpful. Maybe < hr > too?
Currently, the app only supports landscape mode. Kivy's default orientation switch seems to bork either the widget sizes or their anchor point when you allow multiple orientations and rotate the phone. You'll see the same problem show up when you minimize the app and try to return to it.
Looks like I could integrate PyEnchant to allow for local spelling correction.
The app initially only supports successful API calls (response = 200). There should be handlers to help the user see and react to other response types (and error messages reported even when the response is a 200).
How regularly? At least every time you load the autofinger levels screen. The full set of buttons is redrawn already for every new screen load. The underlying dictionary is really what needs to be updated. I'll have to check which API calls already/always include the autofinger list.
Currently there is only the autofinger levels screen and the read plan screen. Add the message of the day screen as a option.
Once there is API support for editing plans, add a new screen to let you do so.
The < hr > tag is the last supported HTML tag not rendered in the plan reader.
See https://www.grinnellplans.com/documents/faq.html#htmltags for a complete list.
I don't know what additional work would be required to support guest access.
Look into that.
The preferences screen on plans allows for a lot of optional links to show up. There should be button support, side menu, or context menu support for these links in the app, as well.
There seems to be a lag between the label size and the needed space to show the full plan. Immediate calls to plan.texture_update()
don't always reveal the actual required size needed to see the full plan. Overfull labels cut off the plan. Underfull labels show a line of weird characters at the end of the plan.
Logout isn't supported by the API. Do we need to update the API here or just kill the session variable and return the user to the login screen?
The default swipe left transition screen should be replaced with something nicer.
Should be prettier.
It could be nice to be able to flag plans for later comment (later being when you're at a computer or because you don't want to type right now).
There would need to be a supported "see all flagged plans" options, too.
Maybe tie this in with QuickLove reading?
All cross-references that use the plans_app.screens[ 0 ]
syntax should use a more robust id-based look-up rather than a hard-coded index.
Find some icons and replace the button texts with them.
The autofinger list should automatically reset the scrollview window to the top of the page.
The read plan screen should automatically reset the scrollview window to the top of the page when loading a new plan.
A config file will allow users to set lots of local options such as (these can be broken off into new tasks):
It would be nice to be able to send some things to clipboard. The long_press seems like the best mechanism.
All times are currently set to Grinnell's timezone. User's should be able to configure times to be converted to:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.