Comments (18)
For the configuration I think we should probably introduce a menu that appears when the user goes to setup an entry. That menu has the traditional flip time as the default settings, so all the user has to do it set a time and it works like it normally does. There is also the total-time option in there, which would then go off into the flow that allows the user to select the total time and the number of flips to perform in that time period.
That way for regular use the clicks/steps are minimized and for total time use there's only 1 extra click (to select the "total time" option).
from barbecueboss.
looks slick!
regarding out of memory - one thing that can be done is create a small SteakFire.png and use it for lower memory devices on the welcome view. I'm going to cherry pick a commit from low-n-slow-mockup into total time that has a new SteakFire-43x43.png that's implemented on the vivoactive (148x205) and overrides it normal one in the drawables.xml. This allowed the vivoactive to actually work instead of blowing up.
from barbecueboss.
see commit 7f05ad1 in low-n-slow-totaltime
For every set of images we need to consider sizing and which images are used / included in the resources to prevent out of memory. Cleaning up this single image for now should go a long way as it the 43x43 version is 4k instead of the 10k size of the original
from barbecueboss.
Food for thought ...
From a user experience perspective, the user need looks like:
- UN.1 Get the food correctly cooked.
What you want to avoid is to overcook it. This cannot be undone.
Assumption: Food is not cooked
Goal: Get food correctly cooked
Steps:
User task 1 (UT.1): Set timer for one food item
- Put food on grill
- on bboss: User selects food type.
- on bboss: User selects overall cooking time. bboss stores selected cooking time for next use for the selected food type.
- on bboss: User selects flip frequency or flip time (not sure what is more convenient or known). bboss stores selected flip frequency or flip time for next use for the selected food type.
- on bboss: timer count down starts. It would be good to display the total count down and the next flip count down. If in doubt, only show next flip count down (this is the next action).
UT.2: Flip food (according timer)
While the timer is running and flipping takes place as timed:
- bboss sends alarm to user. User flips food. User does not interact with the bboss.
User task 3: Flip food (not according timer)
While the timer is running and flipping takes place beyond the set flip time:
- User flips food. User informs bboss about new flip time (long press on control). bboss sets automatically new flip time. bboss stores new flip time for that food type.
from barbecueboss.
@hhdegen thanks this is good.
- UT.1 is currently on flip time only. In the future we will extend to total time.
- UT.2 behaves as described. No user interaction with bboss except for the alarm.
- UT.3 behaves as described. However, these devices may not have long-press. We are still investigation. For now we implemented it with a regular press.
- UT.4: Stop. User wants to stop the timer. We made an explicit Stop option. The long-press would feel very natural for stopping something.
from barbecueboss.
This is my proposal for the total time. The picture also relates to #60. Thoughts?
from barbecueboss.
Something I didn't consider in the picture above is that the Tenergy has 6 probes. At least we need to map the probe number to the steak. This info should probably make it to the screen (e.g., at the top/down/sides). Other variants include:
- More than one probe per steak (e.g., to monitor a brisket's flat and point)
- Probes for the environment temperature (e.g., at the grill-level, at the top of the chamber)
from barbecueboss.
I will start working on the total time + flips screens tomorrow.
from barbecueboss.
@nilsbenson I created a new branch (low-n-slow-totaltime) with a half working demo. The total time for grilling:
- more screens, more clicks.
- when grilling, setting a total time is constraining yourself. Things go wrong all the time, too hot, not hot enough, etc. Having an unbounded timer/flip system like our current implementation is much better I feel. Also, it gets tricky to manage random "flips" from the user. But now that I think about it, it would make sense to recalculate the secondsPerFlip. Say, you select 8 minutes cook with 4 flips, 2:00 per flip. In the first flip at 1:00 (or 7:00 to go) you advance the flip. You would be in flip #2, but your new flipTimer would be (7:00 / 3 = 2:20 instead of 2:00).
The code in SteakEntry shows how to do operations with time. This will be useful for the smoking and restoring times. I moved everything in terms of the unix time, and introduced the ETA (when the steak will be ready).
Thoughts?
from barbecueboss.
I added the ETA in the SteakMenu and the Total Time feature it is not so bad. The only thing would be to decide what to do with a random flip. Or we simply do not allow that and only allow to Stop as it is implemented right now.
from barbecueboss.
from barbecueboss.
@hhdegen that makes sense. Thanks.
from barbecueboss.
My goal for the weekend:
Implement the random flip functionality for total timeIntegrate the two modes (searing, total time)Fetch last setting for TotalTime, Flips per steak positionAdjust positions of ETA and timeout + icons on the main screens
I'll stay in the low-n-slow-totaltime branch because it is getting messy.
from barbecueboss.
The Searing mode does not have an ETA; it is unbounded. I moved the ETA time to the top. It only shows on steaks being cooked in TOTAL_TIME mode.
from barbecueboss.
TODO:
Perhaps an icon (bell) would be the best way to represent the ETA.SteakMenu needs to pull the coordinates for the progress bar and the ETA from the layout. Need to introduce a progressbar_{x,y} and an ETA_{x,y} definitions for all the watch configurations.
from barbecueboss.
Added a quickoption to the total time. Instead of spreading the selection over two screens, it shows the totaltime+flips configured last for that steak position.
from barbecueboss.
- The plain Menu puts the title way too high for some watches. Updated the menu titles to single short words to provide a bit of context.
- The bell for the ETA would be distracting. I think the ETA+progressbar provides all the needed context.
I will finalize the tweaking of the progressbar layouts and we can discuss the merge of the low-n-slow-totaltime branch.
from barbecueboss.
Closing as everything is working.
from barbecueboss.
Related Issues (20)
- darth vader / rey / capt marvel watches need some UI work HOT 9
- [Memory] D2 Bravo runs out of memory on switch to SteakMenu HOT 7
- [GUI] Progressbar - adjust for all watches
- [Bug] Approach S60 crashes on SteakMenuDelegate.mc:45 HOT 8
- [CIQ1] TotalTimeMenu Duration Custom Picker HOT 1
- [Memory] fenix3 and fenix3_hr HOT 2
- [Refactoring] isSmoking param for SmokeLayout is not needed HOT 1
- FR630 button layout is different HOT 2
- [low-n-slow] Temperature probe layouts
- Steak rest timer
- Venu's layout is different
- refactor resources to include the bare minimum required for devices HOT 1
- Tenergy submodule build
- [Tenergy] ProfileRegistrationException: Too Many Profiles HOT 6
- [Tenergy/Simulator] Device Scan - takes long to acquire the sensor in the simulator HOT 4
- [Tenergy/Simulator] Device Scan Crash HOT 3
- [Tenergy] Custom timer should allow hh:mm:ss format HOT 4
- [Menu2] How to dynamically update a MenuItem HOT 2
- [Low-n-slow] Thermometer data reliability metric/icon HOT 1
- implement jungle file annotation excludes for all devices HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from barbecueboss.