-
-
Notifications
You must be signed in to change notification settings - Fork 252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mobile first user interface #754
base: master
Are you sure you want to change the base?
Conversation
Hey! I haven't had time to look closey at this but to answer your Qs --
Yes! The frontend hasn't change since I started slinging code at this problem back in 2017. The screenshots here look like a promising direction.
I think we'd want to put this behind a user setting toggle at least initially. Frankly I'm not opposed to reconsidering the overall approach to the desktop design as well... which could mean just incorporating this as part of a full redesign. But if we stick to just mobile yeah we'll need to work out particulars for how to put to use (I have no idea off the top of my head).
Nothing yet but again the screenshots look like a great direction. |
3fd65ba
to
d831f89
Compare
Hey, I maybe have some input from my side, the android-app dev is welcome? First of all, I think that a mobile-first, too, design is probably the most sensible because it allows you to actually inspect the data on a proper data analysis machine. I personally suspect that this is a major feature of baby buddy to begin with. For the web-interface: I kind of recognize that interface, and yours looks great, nice job! Anyway, for "my tips":
Or the two tips in short:
Take the tips or leave them... and copy designs you like from the Android app if you want (careful, the graphical assets are not free though)! If you have questions, I am happy to answer and help where possible... (Edit) Short clarification: I kind of only wanted to share the user feedback I have gotten over time about the Android-app in case you were interested. This is only informative, design what you want! |
Thanks for the great feedback @MrApplejuice. I am focusing on 2; the extra while-in-the-trenches feature that I will build Is PWA integration to look like an app on your phone instead of going to the browser and finding the correct tab. I agree that a smoother interface could be built with a SPA; what prevented me from doing this is the amount of feature wealth already developed into the SSR version of the app notifications/forms/validations, etc. I will explore the performance and see if I can add notes on improving it. @cdubz I have been thinking about how best to do this, within the allotted time i have for the contribution. What I am thinking of build is
a bit more detail
There is a timer context PR that I will explore finishing to support this improvement. Final thoughtsThis is what I can commit to doing at the moment. I explored making it change UI using responsive CSS, but I don't want to break the existing user experience, and this should stay on the side until it shines. Then, we can think about integrating the two views more interestingly. The next steps would be to:
Then it will be very on par with existing apps I found in the various app stores from a mobile experience point of view. |
a02f301
to
a2f68af
Compare
0fe65e8
to
23eeafa
Compare
Use a tempalte tag to generate the content fix the issue with the inconsitent widths
allows reuse across the application
Configure the colours of form using css variables on theme class extend form objects with fieldsets, that enable flexability with rendering. This has been done very naively for now by looping over the fields multiple times add url from favorite card to form back button on from, uses the history object so if you hard refresh onto the page, the back button will take you off the page. refactor babybuddy/templates/babybuddy/form.html to either render desktop version create new base tempalte for mobile forms
Currently the ui uses lots of drop downs, radio selects are better for mobile views, but can also work well on desktop ui This commit creates the radio select widget
Currently it takes a lot of effort to add a new form, copy pasting a bunch of code importing form everywhere. and it is easy to make a mistake in the inheritance. Define extra fields required for the mobile form on the base core class, Use a generic template for the mobile views since all variance is defined in the constants array Just do simple inheritance view the view class, this allows extension if someone wants to but simpler implementation for now.
Field set allows you to use custom templates for fields, the layout it tempalte is required to exist, and is automatically pulled via include
we can create a nursing form later
Users should be able to select on a device, to use the mobile site. for this reason i have made the setting on local storage. clicking on the settings dropdown will cause mobile to become default, switching to desktop from mobile will make desktop the default.
Hi, Thank you for all the effort in creating and maintaining this application.
I recently deployed it and started using it; while it has many useful functionalities, the mobile version of the UI could be more convenient.
My goal was to create a user interface for mobile that was clean, easy to use and optimised for data input while highlighting essential details on the dashboard and eventually turn it into a PWA so that it's almost like a mobile app on all platforms.
I did not want to deal with security concerns by coding it separately to the Django app. At the same time, I did not want to concentrate on making it compatible with the current desktop experience or focus on fighting Bootstrap, which is why I created brand new pages under the
mobile
namespace.I am hoping to get some feedback while I continue developing the pages:
After running the app, visit
/mobile/children/{child-slug}/dashboard/
(the blue background might be poorly positioned it is just optimised for my cellphone)I think you should look at it on your mobile; I have only developed the form for the diaper change model.
TODO