# What I've Been Working On...



## pdilley (7/8/09)

Well I know I always talk about it but I am still working when the rare time permits on a cross-platform brewing program that will work on all major computer systems from Mac to Windows to Linux.

I just started investigating how much work it would make to make a GUI for a simple portion of my calculation engines, just the honey scales calculation engine. Good for us Mead brewers.

I added some extra programming to give nice visual clues to what went wrong.

This is not the final GUI just a test window. I will use other controls as they seem more fit for purpose than just buttons to press. This is only to see if my honey calculation engine would plug into the window and work.

This is the same program running on multiple computers.


MAC OS X


















Windows

















Linux

No Linux screenshots, sorry.
I have run this on both Gnome and Xfce environment with no issues, have not tried Kde yet.



What delays the time is I'm not a programmer professionally and free time is hard to come by and the actual calculation engine for honeys is only 30-40 lines of code.

To code this window on all these environments takes almost 400+ lines of programming code just to make this ultra simple window. You can see why I just use my own program in text mode by myself 

But then you wouldn't get to use it if I never did this.


I'm thinking of making it a Wine and Mead program first and finish adding the Beer brewing bits on later.





Cheers,
Brewer Pete


----------



## watchUburn (7/8/09)

Nice. A tool for mead makers.
I'm a programmer by profession, but in my free time the last thing I want to do is code...


----------



## pdilley (8/8/09)

Great and most likely you will understand when I say I seriously dislike programming graphical interfaces for users. All the programmers I know and have worked with just do standard system coding or network application server coding with no GUI ever done in their careers. They consider GUIs a specialty unto itself but nothing they want to put the effort towards learning or doing.

As a hobbyist who does not really want to program, just tinkers when its handy or saves time, making that "window" above took over 3 months of studying when I could find any spare time a cross-platform toolkit which I never used before and 2 good days of using it the first time and fixing all the problems and working out alternative solutions and workarounds.

For example I could not get my original validator code to work. It counted how many "." were entered so only one decimal point and it also allowed only numbers to be entered. All other key codes got culled. Only problem is oh key presses like tab and enter got culled as well. Not having them handy, I flipped the logic around to the least restrictive approach and just culled the alphas. Still means further validation work to make sure its only valid numbers being entered at processing the input time.

I know the basics, but not doing this all the time I'm not the best at getting the shortest most efficient logic for processing GUI widgets the best or most efficient way. My brewing formulas are tight! 

Now after all that time it probably only took 20-30 minutes to write the actual honey calculations module which I use happily and productively all by myself without a GUI interface needed. 

20-30 minutes work effort for the same reward compared to 3 months, 2 days for the same reward 

Don't even mention printing, you have not seen the disgusting reams of code just to make that happen 



Cheers,
Brewer Pete


----------



## watchUburn (8/8/09)

You make me laugh.
I've never worked on a multi-platform application. It's usually something more along the lines of multi-browser for me.
Currently working on a .NET 3.5 machine to machine web service that provides access to a database from other states. No GUI thankfully 
And no printing...


----------



## Bribie G (8/8/09)

All the best with the project. I did Windows Microsoft Foundation Classes programming with C++ at uni about 8 years ago and still wake up screaming. Also Java and I didn't get on too well but I grew to love straight OO programming (little beer objects running round and interacting with little yeast objects?  )

Keep us informed, are you planning to go up against beersmith ?


----------



## pdilley (8/8/09)

All my guys do .Net 3.5 Web Service as well 

GUI is definately a lot of work for little payback.

Michael, yes if I keep with it and get the wine/mead program finished, beer is next! I loathe the crap interfaces on all the current beer programs. Although making it run on Windows as well I'm making mine have crappier interfaces tham just Mac alone as cross-platform cuts down all the GUI elements to the mist weakest and lamest platform in the collection: Windows  A Mac only one would be very very slick on the interface, instead it makes is stuck with simpler windows designs.

Cheers,
Brewer Pete


----------



## pdilley (18/8/09)

Finally, a mead recipe program so easy to use I trust anyone with it. It is designed like most Mac OS X apps to be as simple as possible that you don't need a manual or be an expert to use the program.

Simply enter how much honey you have in weight and you do not even need to enter a desired finish gravity value. If you don't the best default finished gravity is selected for you. If you enter one you can customize your recipe to your desire. Only control you have is a slider to scale your recipe up or down by 100% so you can see how much you can fit inside your existing fermenter to maximise your fermentation volume capabilities.

JAO MEAD Recipe calculated on my latest Mead Program on LINUX (KDE this time)












Playing with scaling the recipe batch size up and down








JAO MEAD Recipe calculated on my latest Mead Program on Mac OS X












Playing with scaling the recipe batch size up and down

Taking off 60% of the size to brew a 40% sized batch



Adding 50% more to the original batch size





JAO MEAD Recipe calculated on my latest Mead Program on Windows XP












Playing with scaling the recipe batch size up and down









Now to take a break from programming  As I'm supposed to be writing an article on Mead brewing for the local club newsletter.


Cheers,
Brewer Pete


----------



## crundle (18/8/09)

Looks great Brewer Pete!

Cross platform software of good quality is generally thin on the ground, especially brewing software - best of luck with your endeavors and I look forward to being able to use it one day when you release it!

I loathe having to run Beersmith under Wine in Ubuntu, but it is better than running it under XP in my opinion (no intention of starting an OS war, just commenting that having software run natively on whatever system you have is ideal)

Crundle


----------



## watchUburn (18/8/09)

*coughs* vista 64?


----------



## krusty_oz (23/8/09)

Yes cross platform can be a pain. Apart from Java (either a script in a html file or an app) there isn't too many other options that allow for one set of code to work on all without being compied for each platform. 

An option be to do it as a macro in an Open Office document - I've not used it myself but I imagine it would be similar to what you can do in Microsoft Office with VBA. It allows you to create the GUI how you want and code the functionality (ideal for making calculators like this).


----------



## pbrosnan (23/8/09)

I would be doing it in Java. Easy to program in and cross platform.


----------



## DJR (23/8/09)

Also Gtk, Wxwidgets or Qt for cross platform support in a lot of languages - although Wxwidgets isn't that great. Java is OK now that CPU's are cheap and fast, just make sure you thread a lot of tasks off from the main UI section as it can be perceived as slow if you do everything in the one thread/process.

That or do it in the browser and embed Google Gears support for offline viewing


----------



## pdilley (23/8/09)

This is using WxWidgets so yes, a Cross-Platform API. Good call. GTK and QT are out, qt for licensing issues, and GTK as I need OS X as well so WxWidgets it is to do them all.

The apps so far do not require multi-threading. As I envision it it will be lots of mini-apps that are called from a central menu depending on what the brewer wants to do. A common file format to load/save data and everyones happy.

Just loathing writing the printing section for all this. Its the worst pain in the arse I could imagine. Thinking of chopping out 70% of the work and making the print layout HTML. Can use libraries to print a lot easier with straight HTML.



Cheers,
Brewer Pete


----------



## pdilley (2/9/09)

Basic Mead Recipe Generator almost near completion
Now with Volume Conversion Metric to Others! 

No Mac OS X screenshots this time. I did work on the program last week and was going to get OS X screenshots but got started building bee hives and that has sucked all my time and energy at nights so I have been giving AHB a miss for the most part lately.

All my post-work and early evening time has been involved with a circus affair with the local canberra bearing company with the stuff up of their calculations for my belt for my grain mill and washing machine motor power system. I calculated it on my own and came up with the correct answer myself. Needless to say lots of time wasted driving back and forth halfway across the ACT to get that one sorted with the "pros".

Hope to be back in full force in a week (expected total completion of all construction activities).

LINUX - KDE gets the screenshot this time. The Windows one and Mac OS X ones look the same. I have Windows XP shots but they are the ugly looking ones so not uploading in this post.




JAO recipe in the Mead Maker




Hmmm What does JAO look like in American version of imperial measurements?
Oh so thats what it looks like!




But my American Fermenter is 2 US Gallons in size.
How can I maximise the use of that space and modify the recipe?
Oh so thats what it looks like!




But I am from the UK and have old Imperial Fermenters and scales laying around.
What does JAO need to be to use Imperial?
Oh so thats what it looks like!




But my UK Fermenter is really a 1/2 Imperial Gallon growler.
How can I fit the space of my smaller fermenter and modify the recipe for the UK?
Oh so thats what it looks like!




Bring it back home to Metric as I forgot what Metric fermenter sizes are in the original recipe.
Oh so thats what it looks like!


Windows XP, Mac OS X, same screenshots available upon request.


Cheers,
Brewer Pete


----------



## pdilley (14/11/09)

*Update*


Now with potential ABV from a recipe formulation!





Cheers,
Brewer Pete


----------

