secret
Created

Anonymous Open Letter to Xamarin - Please Stop Abusing Your Monopoly

  • Download Gist
gistfile1.md
Markdown

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.

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?

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.

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 https://bugzilla.xamarin.com. Please file them, we're dedicating significant effort this year to polish things, which means, squashing bugs. :)

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.