dshirley / openbrew Goto Github PK
View Code? Open in Web Editor NEWMobile home brewing app for iOS
Mobile home brewing app for iOS
It feels pretty bland right now. In mockups the following looked good:
dark grey background
yellow for the primary metrics (OG, FG, IBUs, etc)
green for the secondary metrics (table view cell numbers)
white for the primary text in table view cells
light grey for the secondary text in table view cells
As part of this task, it will likely be necessary to modify how the beer color is displayed on the malt additions page. Right now it commandeers the entire gauge background, which is a bit of an eye sore. A small circle with the color would probably be better. This could potentially be a task in and of itself.
To reproduce:
2014-08-24 16:51:19.242 OpenBrew[97946:60b] *** Terminating app due to uncaught exception 'NSRangeException', reason: 'Cannot remove an observer <OBRecipe 0xa571660> for the key path "batchSizeInGallons" from <OBRecipe 0xa571660> because it is not registered as an observer.'
*** First throw call stack:
(
0 CoreFoundation 0x01b8c1e4 exceptionPreprocess + 180
1 libobjc.A.dylib 0x0190b8e5 objc_exception_throw + 44
2 CoreFoundation 0x01b8bfbb +[NSException raise:format:] + 139
3 Foundation 0x0155946d -[NSObject(NSKeyValueObserverRegistration) _removeObserver:forProperty:] + 538
4 Foundation 0x015591f4 -[NSObject(NSKeyValueObserverRegistration) removeObserver:forKeyPath:] + 105
5 OpenBrew 0x0000e397 -[OBRecipe stopObserving] + 1271
6 OpenBrew 0x0000be2d -[OBRecipe willTurnIntoFault] + 45
7 CoreData 0x002978e6 -[NSFaultHandler turnObject:intoFaultWithContext:] + 70
8 CoreData 0x0029805a -[NSManagedObject dealloc] + 90
9 CoreData 0x0028f438 -[_PFManagedObjectReferenceQueue _processReferenceQueue:] + 1848
10 CoreData 0x0026a871 _performRunLoopAction + 321
11 CoreFoundation 0x01b5436e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 30
12 CoreFoundation 0x01b542bf __CFRunLoopDoObservers + 399
13 CoreFoundation 0x01b32254 __CFRunLoopRun + 1076
14 CoreFoundation 0x01b319d3 CFRunLoopRunSpecific + 467
15 CoreFoundation 0x01b317eb CFRunLoopRunInMode + 123
16 GraphicsServices 0x03a3e5ee GSEventRunModal + 192
17 GraphicsServices 0x03a3e42b GSEventRun + 104
18 UIKit 0x005cbf9b UIApplicationMain + 1225
19 OpenBrew 0x000027ed main + 141
20 libdyld.dylib 0x021d3701 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
This might require some more thought. This could be an unexpected behavior that is not worth the small increase in efficiency. I find it slightly annoying to have to do this, though.
By default setting the alpha acid % for a single hop variety should make that change for the rest of the hops in the same recipe. There should be a "lock/unlock" button that allows users to turn this on or off.
The ingredient finder views need to be optimized to find ingredients as quickly as possible. This could require a few different subtasks:
Break this task up if needed.
The recipe overview screen only shows 3 metrics at the moment: OG, IBU and batch size.
It needs to show: OG, FG, ABV, IBU, SRM and actual color.
The layout needs to be spacious and clean but also informative.
This should likely be done in conjunction with or before #15
View Crash Report on Crittercism
Reported by: David Shirley ([email protected])
Status: Unresolved
This Crash occured 6 times for 1 users
0 CoreFoundation 0x0000000182d902d8 exceptionPreprocess + 128
1 libobjc.A.dylib 0x000000019455c0e4 objc_exception_throw + 56
2 CoreFoundation 0x0000000182c73b34 -[__NSArrayI objectAtIndex:] + 220
3 OpenBrew 0x00000001000e6dec (unknown) (OBDrawerTableViewDelegate.m:68)
4 OpenBrew 0x00000001000e6f8c (unknown) (OBDrawerTableViewDelegate.m:82)
5 OpenBrew 0x00000001000ec858 (unknown) (OBHopAdditionTableViewDelegate.m:191)
6 OpenBrew 0x00000001000d0020 (unknown) (OBHopQuantityPickerDelegate.m:77)
7 UIKit 0x0000000187a513b8 -[UIPickerView _sendSelectionChangedForComponent:notify:] + 104
8 UIKit 0x0000000187d85e6c -[UIPickerTableView _scrollingFinished] + 176
9 UIKit 0x000000018797df30 -[UIScrollView(UIScrollViewInternal) _stopScrollDecelerationNotify:] + 360
10 UIKit 0x000000018797da38 -[UIScrollView _smoothScrollWithUpdateTime:] + 2276
11 QuartzCore 0x000000018716629c CA::Display::DisplayLinkItem::dispatch() + 28
12 QuartzCore 0x0000000187166134 CA::Display::DisplayLink::dispatch_items() + 320
13 IOKit 0x0000000183f41470 IODispatchCalloutFromCFMessage + 372
14 CoreFoundation 0x0000000182d32dc4 __CFMachPortPerform + 176
15 CoreFoundation 0x0000000182d47a54 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 52
16 CoreFoundation 0x0000000182d479b4 __CFRunLoopDoSource1 + 432
17 CoreFoundation 0x0000000182d45934 __CFRunLoopRun + 1636
18 CoreFoundation 0x0000000182c712d4 CFRunLoopRunSpecific + 392
19 GraphicsServices 0x000000018c48f6fc GSEventRunModal + 164
20 UIKit 0x0000000187836fac UIApplicationMain + 1484
21 OpenBrew 0x00000001000d021c main (main.m:16)
22 libdyld.dylib 0x0000000194bdaa08 start + 0
To reproduce:
Add some hops
Set their weight
The malt gauge should read a non-zero (1.000) value
Delete the malt
Bug: the gauge stays the same value
Need to update the gauge on deletion
Need to be able to configure
These configurations should be customizable on a per-recipe basis. Their default value will be provided as the default value of the brewery.
Users should not see an empty table with blank lines. This would make the app feel boring and hollow.
There should be a button making it completely obvious what they need to do next.
Example:
"Click here to add hops"
"Click here to start designing a new recipe"
"Click here to add fermentables"
There should be a dialog that allows users to change the hop gauge and the metrics displayed for hop additions. This should be similar to what users can do for malts.
Gauge display: [ IBU, BU:GU ]
Hop display: [ Weight, IBU ]
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.