Create a gist now

Instantly share code, notes, and snippets.

anonymous /gist:38850edf6b9105ee1f8a Secret
Created Jan 4, 2014

What would you like to do?
Anonymous Open Letter to Xamarin - Please Stop Abusing Your Monopoly

Anonymous Open Letter to Xamarin - Please Stop Abusing Your Monopoly

I've been using Xamarin for the past half a year almost fulltime, developing an application for both iOS and Android. Everything in this letter is based on my personal experience with the technology.

First of all I'd like to point out that I really like Xamarin, it is by far the best technology on the market if you wan't to develop native apps (No I don't want to write objective-C on Android (apportable)).

That being said, I have no idea how such an incomplete and buggy software such as Xamarin Studio can be sold for actual, real money. Here's a list of things which are completely wrong and broken in the current release (January 2014), based on the runtime exceptions I get every about 10-30 minutes while working.

Syntax highlighting sometimes doesn't work. About 30% of the time when I start Xamarin Studio. It gets better the longer it runs, but when it fails it takes down autocompletion and everything with it, basically forcing me to re-open all of my tabs or even restart the whole studio. I don't understand why we can't have a working EDITOR in 2014. Syntax highlighting has been around for 30 years (says wiki) and please don't tell me that parsing a 10+ year old simple language like C# is something so difficult that it has to make the whole IDE unusable.

My solution doesn't remember which project I want to run as default. This isn't as big of an issue, but it's another thing that's just really dumb for a $1000 IDE. If I select a startup project, I expect it to be selected even after I restart the IDE, or delete a file, or add a new project.

Compiler warning show errors which actually compile. Sometimes (quite often) the editor shows unable to resolve symbol on things that are obviously correct, simple things like

var a = 3;

SH*TTON of null exceptions at runtime. Every now and then I get a nice error popup showing a null exception somewhere in Xamarin Studio. Most often this happens when I move a file, do some changes in Android UI designer or just do something non-trivial. And yes, I always restart the IDE after that, because when one exception pops up, many more are to come, so restart is mandatory here.

Save doesn't always work. This is really a funny thing. After paying so much for the license I would actually expect to get some work done, but Xamarin Studio occasionally decides to piss on my face and refuses to save a file with an exception popup. Cute, but at least I can copy the contents somewhere else, restart Xamarin and paste the code. It's annoying but nothing compared to the next problem.

Undo doesn't always work. This is the kind of bug that really makes me wanna drive up to the Xamarin offices with a sledgehammer and smash things. When I first saw this I laughed, but after it caused me to lose a lot of work I'm constantly in a what if I can't undo this change mode. This almost always happens when you try to move views around in the UI designer for Android. You know what the best part is? Read on the next problem

Android UI designer sometimes decides to F*CK up the whole design. Xamarin likes to do this when I've spent a lot of time tweaking some complicated layout. When I drag&drop a view into a different place in the hierarchy it just goes bananas and completely breaks the whole screen. Then I'm like let's just undo that ... oh crap, undo doesn't work, and I can't even save the file ... this happened to me more than once, and it really makes me feel that the whole software industry is a complete failure.

Xamarin sometimes decides to delete random files from a project. This happened to me three times over the past two days. I open a .xib file, Xamarin throws some null exception or some other array index out of bounds nonsense, and then half of my project files disappear (mostly .png and .xib). They're still on the drive, but they're not in the project, so they have to be manually added again (yes I've looked into the actual .csproj file with a diff and yes they were gone). The best part about this? Running a broken project likes this with missing assets still works on iOS, even though the files are not referenced anywhere. Some magical power just makes it work, but the iOS simulator says no bro, you're missing some files, go fix your app.

I could go on like this for quite some time, but I guess you get the point by now.

That being said, I still enjoy using Xamarin, but not because of Xamarin Studio. What I'm doing now could only be described as fear driven development. Fear of what will break next, because

Right now there's a new build (4.3) on the alpha channel which features the brand new iOS designer ... wooo flashy ... but who the !@#$ cares? The last version was already completely broken beyond a really simple UI with 2 buttons, and the Xamarin Studio is buggy as hell as it is, so why do you keep adding new things which just bring more bugs?

I'd really like to know what the priority list is at Xamarin, because it seems that Cool Thing To Demo is way up high, and Working software is hiding down in the corner where nobody sees it. I just hope that someone at Xamarin is actually reading the error reports that Xamarin Studio generates.

Does anyone there actually use Xamarin Studio, or is it just something you guys sell and never try yourself? Throwing exceptions on Undo/Save is something no editor should ever do, period. Please stop adding new features and go fix some bugs. There are hundreds of them just in the UI of the editor.

kbence commented Jan 4, 2014

I hope you are aware of that Xamarin studio is a branded MonoDevelop. Most of the bugs are coming from there.

Still, you're right about that those bugs should be fixed at least, and then merged back to MonoDevelop (after all, they've made a lot of money out of that).

Hm, why not just use Visual Studio 2013 instead? Or I'm not getting something?

tluyben commented Jan 4, 2014

I have been using Xamarin for the past month as an experiment and I really like it; the coding process is nice and I like C# better than Objective-C (also, Apportable actually doesn't work for most cases even yet; I was willing to buy them instead but they haven't been very helpful at all and most UIKit stuff I use is not supported by it). Xamarin studio is definitely not a perfect experience but as I don't really care about the graphical stuff as I do everything in code (which, at least for me, is a lot faster to use and reuse than using the wysiwyg tools in xcode, xamarin, vs etc), I haven't found the annoyances you found. Like I said; I don't use the graphical editors; neither for iOS nor Android, but your for your other bugs; I had far far worse in Xcode. I have been able to crash Xcode for generations with different file operations; undo is often broken, the designer is wobbly and when archive build-up occurs, the thing crawls to a halt. I haven't any of that misery using Xamarin Studio.

I definitely would rather use Vim (I've been too lazy to figure out how to do that till now), but for now, as far as IDE's go, it's not as bad imho. Xcode gives me far more pain. And those points you mention don't ring a bell after over 200 hours fulltime working with Studio.

Not sure about the monopoly part :) but we definitely understand the complaint and we're working to polish things. You must remember that we're a very young company, and we've prioritized getting features out (sometimes at the expense of a little wobbliness in features) to you, our user base. With that said, however, our priority #1 this year is honing our quality and smoothing out some of the rough edges, and I think you'll notice that as we grow, our products are going to get smoother and smoother.

Pomax commented Jan 5, 2014

Do you have a bug tracker? If not, consider setting one up so people never hit this "high water" mark in terms of frustration but can see what other users have already run into, and what you're doing about individually flagged issues. Even if you don't write open source, a public bug tracker is one of the best ways to meet your community. Especially at $1000 per sale =)

Exception stack traces are the easiest problems for us to fix. But we need to get a copy of the exception.

Would you be so kind of filing a bug every when you get those exceptions? Whatever settings you have or environment you are using is different than mine, and I have not experienced those problems personally.

Pomax, you can find the bug tracker at Please file them, we're dedicating significant effort this year to polish things, which means, squashing bugs. :)

ravelus commented Jun 3, 2014

The really sad thing about this is that several months after this post was written, some very noticeable and annoying bugs are still there.

  • Well it's MonoDevelop-based…
  • Yep, but it's a paying product. I can live with MonoDevelop bugs because it's an open source product that I get for free. Xamarin Studio is a paying product. I really expect it to work at a minimum.

If I'd commit some of the bugs that are in Xamarin Studio in my company I'd be fired for sure. So noticeable and so annoying, and they're still there… Do these people use their own product to work?

Seriously ! Xamarin sucks. Whenever I try to open story-board file of iOS project (even in a newly created project using project template) it takes almost 3 to 5 mins. By mistake if you close tab, you've to wait again which leads slow development :( Apart from this, story-board files are crashing frequently & disturbing entire layout/user interface & Above all THERE is no UNDO for it. Wow ! So, this makes me bang my head on the wall after spending 1000$ ! thanks a lot for that XAMARIN sucker.

If you're not opposed to Javascript, Appcelerator's Titanium is a significantly more polished product than Xamarin. It has a large community due to the fact that it's free :)

@kbence that's not an excuse at all. If they're selling the product, the bugs are their responsibility.

Xamarin.Forms also leaks memory on Android like a fiend ... @migueldeicaza I've been in contact with Xamarin support for over two weeks now and have not gotten a satisfactory resolution to the issue. I keep getting "the team is working on it" that's great but doesn't do me any good. Xamarin is very expensive as dev tools go these days and frankly the support as been disappointing, particularly for Forms on Android. It is unusable.

Also, here is the bug from bugzilla:


What is the current state of their IDE w.r.t. the bugs mentioned by the OP?

I made the decision, about 2 years ago, not to invest the time into Xamarin's tech because they did not (and still do not) support Visual Studio across all their plans. Personally I think that is a huge mistake on their part. I exchanged a few emails on the subject with them at the time, but I just don't understand their thinking on this one. There must be a huge market out there that they are excluding with that decision.

Anyway, does anyone have experience with their Visual Studio integration? Is it stable?


I've just experienced an update that has wiped out Visual Studio integration, and can't simply be uninstalled and reverted to a previous version. Sadly, this is a pretty common experience with the Xamarin tools.

csvan commented Nov 13, 2014

Sadly, almost a full year down the line, Xamarin Studio is still a massive piece of crap. All kudos to the devs working on it - it is a massive and complex project - but nothing changes the fact that XS is so bad that it seriously wants me to dump Xamarin altogether and just go back to Android Studio and AppCode. Those are FANTASTIC IDEs, so superior to XS that there really is no comparison to be made.

Sadder still is the issues extend beyond just the IDE. Xamarin's support is terrible. Response times are abysmal. Nearly every update breaks something. I have been using Xamarin for a while. I've done a number of updates over that time. Not a single update has been successful the first time. EVERY SINGLE TIME, something breaks.

I just upgraded hoping it would fix an occasional bug in my app. What did I get for my trouble? About 4 hours of trying to get the update working and reinstalling stuff that got broekn. Once I did and finally got to run my app, it now crashes EVERY single time. My code is virtually identical to sample code they provide.

If Xamarin's support had even a moderately better presence on the forum, it would be a huge boost to their image. Even as a paying customer, it's always a gamble on where I'll get a faster answer: Other users on the forum, or Xamarin's support. Usually the forum is faster.

As for the monopoly, the monopoly is a C# solution for Android and iOS cross-platform. And frankly, as soon as someone comes along with a competing product that works and has reasonable support, I will be the first to jump ship.

Sounds like eclipse

Thank god React Native happened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment