March 31, 2004

Getting Release Ready

Ugh

We are getting MonoDevelop ready for its 2nd release today and a bit yesterday. One of the most difficult pieces of this to manage isn't getting our codebase into a release ready shape, but coordinating the release schedule of a lot of dependencies we have accumulated (Reuse is a good thing apparently ;) ).

Right now, of our dependencies, gtk-sharp, gecko-sharp and monodoc all need a release for us to depend on. Thankfully gtksourceview-sharp and everything else are all fine as they are.

Hopefully we can put out MonoDevelop 0.2 tomorrow or thursday (yes, april 1st, trust me, its not a joke).

One interesting thing I have found about releasing is the minute you think you are ready, someone finds and files a bug that you really should fix before the release. 0.1 had one of these, and 0.2 has had 2 so far. Luckily we were able to get them fixed pretty quick.

The 0.2 release kicks the 0.1's release a hell of a lot more than it should. For some reason, at least to me, 0.2 seems a hell of a lot more mature than the additional 3 or 4 weeks of development should make it. I am able to do a lot more with it, and it seems to be finally falling into place. Hopefully my upcoming work situation will still allow me to find a 10th of the time I have had for MonoDevelop, or someone will step up :). Only time will tell :)

Posted by tberman at 07:28 AM | Comments (0)

March 28, 2004

Anger, Maintainence, Automake

Apparently there have been some people who have decided I am a ... 'difficult' .. person (attempting to stay as pc as I can be). Trust me, I am not as bad as my reputation might lead you to believe. I am just a very unsympathetic person. I don't exist to pat your back, or cuddle you, or make you feel better about your existence. I am absolutely not around to be your shoulder to cry on, trust me. Anyway, just wanted to clear the air publicly on that one.

Recently there has been an influx of interest in MonoDevelop. This has given birth to some cool stuff (like nemerle language bindings) and also some interesting things. For example, I was asked about a Glade -> C# autogenerating code feature (I thought this was hashed out years ago ;) ). Now, regardless of if this is a bad or a good idea, because I am sure it is useful to some people, with it comes ui. I have recently learned ui is bad, for every option, and every feature, you have to have a user interface (obviously), and pretty quickly you will end up with an editor with 5 lines of text visible and a lot of buttons, menus, side widgets, and other cruft. I am sure all of you have seen pictures such as this, or this, or even this. I could go on, but I don't feel that I have to.

My new rule is that for all new ui I ask myself "If I allow this in, what else would people want to put in, and is that something I am willing to maintain, and support?" Overwhelmingly the answer is no :).

One thing we have been working on is the concept of 'modes'. This allows us to pack the displayed ui with things that are actually important to you. For example, if you aren't debugging, do you really want the debugger ui being shown? Probably not. The other thing we are promoting is configurability. Now in MD, you can create a series of custom layouts that are specific to your mode. This allows you to switch between a heavy ui to a light ui relatively quickly.

I know the attraction to add a checkbox for everything exists, and I even have it myself. Hell, there was a time i toyed with the idea of putting the dockbar (where your docks go when they are iconified) into the statusbar. These are all great and fun to play around with, but don't get carried away. You have to keep in mind that you are still creating an application for users not ui scientists.

</rant>

Update: As much as this is true, a wise Apple UI scientist once told me that top-down UI should be in every application, especially this one.

I guess I will save my automake rant for another day.

Posted by tberman at 07:54 AM | Comments (1)

March 26, 2004

code completion, spammers, life, etc

After a lot of requests, I found some hacking time to put together the control+space keybinding. For those of you that don't know, this allows you to hit control+space while typing (for example): SomeWindow.GdkWi and have it try and code complete from there. If there is only one option, it will just fill it in, otherwise it will attempt to show you the regular code completion dialog with the closest match selected.

In doing this, I discovered and fixed a lot of usability issues occuring with code completion. Those of you who used 0.1 or even a snapshot from a couple days ago will most likely be fairly pleased with how much better completion works now.

We have had some interesting developments going on in MD recently with regards to languages other than C#. First, jluke has put together some limited Java language bindings to allow java projects to be built and compiled. The support there is not nearly what exists for C#, but its still a start. As well we have had someone interested in putting together nemerle bindings for MD.

I am very excited about all these developments because it shows that MonoDevelop can be more than just a C# editor, and with some dedication from interested parties, could become an amazing IDE for any language.

In other news, Spammers suck. Give me a piece of paper and a pencil and I can prove it (Yes, i gave in to quote day, but I wont quote F&L). In particular blog spammers *really* *really* suck. They kill me.

Posted by tberman at 07:57 AM | Comments (1)

March 21, 2004

Loudness cures

Today was my first real hacking day since I got back from Boston, catching up at hell has been really a pain in the ass. I can't say I am really enjoying working there at all, but such is life. This entry is most likely disorganized as I am trying to catch up on things I should have blogged about, and things I was avoiding blogging about.

As jluke has said, I finally got around to curing that #1 gripe some of you have had recently with recent MD snapshots requiring the debugger, and by doing so, requiring a NPTL setup. To those of you that don't know much about NPTL, I am in the club with you. I have no clue what it gives us, and all I know is that you need a 2.6 kernel (or rh9's patched 2.4 kernel) and potentially modified recent glibc to have it working. However, for those of you still in the stone-age, MD is now buildable again without debugger support on non-NPTL computers.

Yesterday I decided to give rh9 the heave, and move to FC test 2. All I have to say is 'wow', the 2.6 kernel is really really nice, and fc test 2 seems pretty amazingly stable. I have had no real issues yet. The only one I found was the new mime-type stuff in gnome 2.5/2.6 that prevented our old method of adding a C# mimetype from working, gotta hack on that soon. (Hint hint fd.o guys, we need it in there and a bunch of others, I have a list of about 10 others that are pretty much needed)

I am going to try and finish up some monodoc integration stuff to provide short descriptions on code completion tooltips tonight/tomorrow/asap and get that in, then it is back to bugfixing for a week or so. I would expect to see a 0.2 of MD (hopefully with red-carpet packages) pretty soonish, as we are now going by the release often rule. I would like to potentially put out releases every 3-4 weeks to stimulate bug reporting and feedback.

Oh, people, if you find anything broken, or anything you think might be broken, or anything you think could be broken, FILE BUGS PLEASE. We have a bugzilla component here. I would much rather see 200 bugs than 20, we want this IDE to be damn good and usable, not just kinda cool, or 'look, it has a code completion window, wow. *close*'.

Finally, some people keep emailing me asking for my opinion on this patent/platform talk going on (Why, I have no idea). I am going to stay quiet as I doubt I can say anything any better than lupus or miguel has. I have no doubt the side of the debate I am on is pretty clear ;)

PS - If anyone knows of a nice commandline xpath expression tester please let me know, and I dont need some crappy swing gui, or any of that cruft, I've seen plenty of those.
Update: Duncan gave me one, he rocks hard. Everyone should email him again, cause last him he got confused and then happy. This guy does all the thankless work and never gets near enough thanks.

Posted by tberman at 07:40 AM | Comments (0)

March 13, 2004

Boston

Still in Boston, loving the city a lot.

I have finally got to meet face to face some of the people I have been talking to for so long, and gotten to work with them some in person.

Although, I have found out that apparently I am a bad influence, as it seems I force people to go out drinking night after night until 3am. Well, some may call it bad ;)

A bit sad that tomorrow I go back to Toronto, hopefully I can come visit Boston again soon :)

On the MonoDevelop front, I have begun a bit of integration with Monodoc, gone are the days of needing to run MonoDevelop and Monodoc at the same time.

We are working towards fixing all the wonderful bug reports we keep getting from our users, and hopefully we can release a 0.2 relatively soon with the integrated debugger (which still needs polishing) and monodoc integration plus lots of bugfixing.

Posted by tberman at 11:14 PM | Comments (0)

March 08, 2004

Bugging

Miguel had mentioned in a previous blog entry that Martin, Mike and I were working on something fun and special over the previous week.

Jeroen reminded me that I had yet to blog about this 'special' thing.

Let's see if you can guess what this is:

MonoDevelop-Debugger.png

Yup, MonoDevelop now has some beta debugger support. We use our strategy of leveraging existing technologies and use Martin's excellent mono-debuger (you can check it out from mono's cvs, module: debugger).

Right now, the support is pretty beta, but should be receiving some more polish by the 0.2 release.

Speaking of the 0.2 release, it might actually come pretty quick, the two *big* ticket items for it are the debugger and the documentation browser. One is pretty far along, and the other should be working this week (i hope ;) ).

The mono summit was a seriously cool affair for a lot of reasons, it was great to be able to work on this stuff with some of the guys I have been talking with over email, irc, etc for over a year.

I am sure others will give a better blog entry about this, and edd had mentioned he would be publishing something about it soon, so hopefully when he does, he will remind me I want to update my blog with a link to his article ;)

Posted by tberman at 06:29 PM | Comments (1)

March 05, 2004

MD 0.1 Release

Well, the release is up, here are the release notes. We don't have rpms for MD itself, but gtksourceview-sharp rpms have been put onto the mono red carpet channel to fufill all of our dependencies.

Happy hacking, and lets get some bug reports going.

Posted by tberman at 02:51 AM | Comments (2)