Mac Offline Contacts

Somehow when I made the Mac client I forgot to enable offline contacts. I was obviously thinking about it because there was a toggle for it in the preferences but for some reason it was never hooked to anything.  Quite an oversight.  One which has been resolved now in the latest beta that will be out today. 

A list of good XMPP servers

I have decided I want to maintain a list of good, free XMPP servers. Primarily as a way of steering people away from Google.  Additionally, assuming the owners of these servers are ok, I’m thinking of including registration links in app.  I think a lot of people — including myself used google talk because it was convenient.  I actually wasn’t sure what server to switch to. I imagine this is even worse for someone new to XMPP. I know many people like to run their own servers, this is intended for everyone else.

To get the list started, servers that I know of. Please let me know if there are others that you recommend. There is also a  more exhaustive list but I am tying to keep this limited to larger, updated servers with carbons, stream resumption and push support and open registration.  ( the server I am currently using)

A new settings screen

For a variety of reasons, I’ve been staying up late at night these days.  This gives me time to do the kind of coding I wouldn’t do normally.  UI work. It’s mindlessly easy and  I find it relaxing like some people find coloring books relaxing. I know it’s an important part of the app but there is always something more technically interesting consuming my time. Except right now, where my mind is pretty shot and tinkering with text, colors and pixels is perfect.  As a result, you will see a lot of UI changes in the next update. May of these things are long overdue.  Below is the new and much more functional settings screen. 

The wonders of refactoring

As I’ve purged and rewritten  a lot of code recently, I am revisiting things that I implemented in 2009 and then never really looked at again — why fix something that is working?  Cell sizing in a table view used to be a real pain an involved a decent amount of code that calculated the size of various cells using the size of a string for a particular font. Worse still, these string calculations had to be done on the main thread because they used UI elements to compute their size.  It was a lot of code that was replaced entirely by auto layout and  the UITableView’s automatic dimension.  The end product is conversation cells that look a lot more like iMessage:

iOS Supports inline images

It has been a long time coming. iOS now has inline images.  Like the Mac app, it is running HEAD to see if the link sent over is an image. Improperly configured web servers may not work here. However, this works very nicely with XEP-0363. This is for HTTPS only Monal does not deal with HTTP at all and will pass anything with out SSL over to safari.  This is available in the beta that is going out right now.  Along with inline viewing, there is a nice photo browser you can use to pass the image off to other Apps.

Showing images by default

When I originally added inline images I had it turned off by default because of privacy concerns. It seems that most people prefer it to be on or don’t even know it is an option.  It seems like inline images and media (images, video, url previews etc. ) are just part of modern chat and they should be on by default.  The option to turn it off will always be there.

Saying farewell to Google Talk

Google talk was great when it came out but has been abandoned by Google.  I’ve been maintaining support because I know a lot of people use it, but I myself will stop using it.  I’m going to try using  an account on the hot chilli server rather than run my own.  I’ve been using these guys for my testing accounts for a long time.  They have a fast, well  maintained prosody server that supports modern specs. I recommend it.   I’m going to use only for testing (this is why s2s connections will fail going forward). will be the push server and s2s will continue to work.

You can reach me at:

Server Features

Monal hasn’t been very good about showing you what it sees on your server. This results in debugging issues becoming just a shot in the dark. I did add verbose logging to beta versions but that’s not something the average user has any use for.  To rectify that, I am adding new screens that surface what is going on underneath. In addition to the other day’s login status bar notifications, I have added a details button to the server which you can tap on after logging in to see if Monal correctly detects some common, modern XEPs on your server.  I hope to make these screens more detailed but this is a start that I hope is useful