Ales & Lagers for iOS

UPDATE: on the request of beer advocate, I have not released this app.


In addition to fitness another interest of mine is beer. I can be a bit of a beer snob with a preference for a good Belgian — on an unrelated note I should really meet Monal users when I go to Europe next time.  Anyway,  I like beer and I like Unfortunately they don’t have an app or a very mobile friendly website so I’ve made a little app that lets you search quickly through their site using Google.  Usually typing the first three letters of a beer name gets you to the right beer. Much faster.

The app, Ales & Lagers will be available  in about a week.

iOS Simulator Screen shot Dec 11, 2012 7.40.00 PMiOS Simulator Screen shot Dec 11, 2012 10.24.58 PM


Monal is out.  It is propagating through all of the stores  and might not show up in searches yet, but you can get it here:

I  believe I have fixed both of the major iOS6 related bugs that forced me to decide  pull 2.0.8 and from the store at the last minute.   Sorry for the trouble.  Considering how many people around the world are dependent on Monal for business and personal use on a daily basis, I honestly could not release them  and  thought it would be better to have nothing at all available  than something unreliable.  Thank you for your patience.

2.0.8 development

I am hoping for a quick turnaround for 2.0.8 that includes many of the features cut in 2.0.7 as well as bug fixes. Here is the current changelog:

1. fixes issue with navigation buttons in contact list
2. correctly sets away status on contacts
3. option to sort online contacts by status
4. set the priority based on presence

Shout out to JRTPLib and Final Change log

The Jingle VOIP functions in Monal use JRTPlib by Jori Liesenborgs for the RTP communication. VOIP wouldn’t have been possible without it.  Thanks Jori for making this fantastic library free.

I am now testing Monal on all of my iOS devices. This is the final change log for 2.0.7 . Nothing will be added until 2.0.8

2.0.7 changelog

This is a major update that adds many features and fixes bugs.

1. Added XMPP jingle VOIP features. (XEP-0166)
2. Remains open in the background until you logout or lose connection
3. Many major bugfixes to improve stability and speed
4. Several UI enhancements/cosmetic changes
5. Removed AIM support due to AOL turning off supported servers
6. Added more retina graphics
7. Added tap gesture to dismiss keyboard
8. Added improved 2 pane iPad view in portrait mode
9. Properly times out when connection fails
10. Closing an active chat marks the messages as read
11. Properly able to handle resource ids and other users logged into multiple machines
12. Fixed digest-md5
13. Fixed Facebook login


How VOIP works in 2.0.7

2.0.7  is feature complete and I am testing for bugs. I hope to have it submitted to Apple in a week. This will be the first release with XMPP jingle VOIP enabled.   The voice calling is still not perfect so I have left the Beta label on the button.  At the moment it does not use STUN or do any NAT traversal. If both people are on the same network or not behind NAT it will work fine. I hope to fix this in 2.0.8.

The call button will only show up if the other client advertises XMPP jingle audio support.

2.0.7 and beyond

A quick peek behind the curtain. As  many people are curious about the progress of  the next release, this is my current task list.  The critical features are absolutely needed for 2.0.7 release. The nice to have ones might get added. Some are pretty low hanging fruit.  At the moment it looks like we are set for a late August/ early September release for 2.0.7 followed by 2.0.8 about a month later with much of the features that are in nice to have.


facebook account settings needs to prepopulate (regression)
facebook contacts dont load.
Replace mutable array with better circular buffer
own ver string is generated from algorithm (maybe generate and store  in app rather than on each run)
pass presence obj to DB layer functions
store ver string  in DB table as well
add ver string look up table
link ver string to  XMPP disco caps
accept legacy caps function
only show call button in the buddy info screen if there is an audio cap (ver or legacy)
link call screen to jingle
create screen to pick resource with jingle call
ipad version of call screen
tapping on a notificaiton message takes you to the conversation

Nice  to have  in 2.07 but may get pushed in to 2.08: 

fix  server obj to store server caps, various servers (proxy, search. MUC etc)
message Carbons (discover  server cap and implement)
buddy list buttons should be in will appear  function and not did appear (reduce flashing)
SSL oldstyle  on any port
when there is a login failure it should say specifically what caused it
offer to reconnect in 5 seconds
move MUC into better object/Object array
MUC session config screen
MUC should remember it is open
Search contacts
Sort contacts by status
Group contacts by group