|
ArgoUML is a very peculiar piece of software. It's brilliant in concept; it's capable; it's been recognized by others and used for examples in articles, as well as a foundation for other software to build upon. But at the same time, it's painfully frustrating to use; it's not good enough to use in its own development; and it's as though the entire project has been in a state of digital puberty—trying so hard to transform into something better, but in the meantime it's clumsy and ugly and unsure of itself. … ArgoUML's 10th Anniversary was recently celebrated on the website. And yet it's still incapable of Undo. Sometimes I scratch my head on this one…although I know writing Undo functionality from scratch is probably an incredibly complex thing to do (especially when dealing with data like UML)—why does it have to be written from scratch at all? Undo is way older than ten years old, and it's expected by users. I mean, isn't this the Open Source community? Somebody must have solved this problem ages ago. I'm sure there's a plethora of different solutions to Undo out there, and there must be at least one of them that can work for ArgoUML. ArgoUML is about UML, not about Undo. So find someone else's Undo, use it, and let Argo's development get back to what makes ArgoUML different. (And what I really want to say here is, “back to what makes ArgoUML better!”) … Let's take a look at one of my favorite open source projects: Inkscape. Inkscape is younger ArgoUML. I believe it was born after Argo by a few years. In its shorter lifespan, it has managed to make a free alternative to a commercial piece of software (Illustrator). Not only that, but it does it with open standards (SVG)! It looks great, it works great, and it's fun to use. I would like to note in particular—Inkscape's usability. This is one area where it really, really shines in comparison to most open source stuff I've used—indeed, also to most open software I don't use (because if it's irritating to use then I quickly delete it or don't even download it in the first place). So, this will be a pretty rough comparison given the completely different goals of each program, but humor me for a moment when I ask… What are they doing that we aren't? … I'm not trying to sow any pessimism; in fact, I'm trying to do the opposite. I think ArgoUML has a very noble purpose, a noble soul, and it must have a noble group of developers behind it as well. Because despite my earlier touch on Argo's age, really—how many open source projects can say they even survived for ten years? That IS an accomplishment, and a great one. There are many others. It's not my wish to only criticize without also praising as well. Truly, everyone who has worked on this project has invested a part of them self in it—some more, some less, but it's because all of you care about this project and want to see it grow up to be big, strong, beautiful software, that turns the heads of other programs and their developers. But I fear that unless something changes, there's going to be less and less praise to be had for ArgoUML. I'm not talking about the code. I mean something is just not charging the development with the energy that creates success, that creates its own motivation to keep going further, pushing the boundaries, and outdoing itself. It's as though tremendous amounts of effort are being spent fixing things and implementing tidbits, and at the end of the day nobody is excited about their work, and nobody is excited to get back to work the next day and kick some ass. I don't know how things worked ten years ago when ArgoUML was in its infancy, but I feel fairly certain that Argo has been holding on in spite of the system, not because of it. I don't know the exact culprit…but somewhere between the tools, the code, and the communication between the developers, something is stunting our growth, and preventing Argo from being the rock star that it really should be. … I believe there is no good reason that Argo should not have:
I don't want to get too bogged down on specifics, because I think the real challenge facing everyone is to zoom out from the components you've been coding, zoom out from the Issue Tracker, zoom out from all code and Tigris and what you've been working so hard on for years, in many cases, and… Take a look at the project. Look back, at where it started. Look where it is now. Look ahead, to where you want it to be. … Now, take a moment to think about all of that. Take it all in! See it for what it is. Don't just hold that thought—become one with it. Know it through and through. … Now, zoom in just a teeny tiny bit. Look at the big picture of how the project has been operating; at the system for development in itself. Does the system help you more than it hinders you? … Think about it.
Just as the longest journey begins with a single step, the best app in the entire world was started with a single keystroke. I really do want Argo to become all those things, and I'm completely serious when I say I think it's possible. Not only is it possible—it's the only logical thing to do. Either ArgoUML is moving towards growth, or it is moving towards stagnation (and death). All it needs is a spark! … Ten years is a long time. Argo's lifetime has been touched by countless developers, and it has left its mark on them as well. I realize that I have made some criticisms that could potentially be upsetting to some of the people have that put a lot of hard work into Argo. If I have caused any such infringement upon others' feelings, hard work, pride, or in any other way wrote words in this message that stung personally, I apologize deeply. It's not my intention to belittle or demean anyone. It helps nothing, and I have done my best to avoid anything of the sort. As someone who has made only one botched attempt at working on the documentation, I am as much a “guilty party” as anyone else. (I don't like that term; there's no place for “guilt” here. But I hope you take my meaning.) And as someone who has only an introductory course's familiarity with Java, I understand that someone who has crunched away for hundreds of hours on code could possibly take offense with what I've said. (“Insolent n00b! Who does he think he is?” :D) If I have upset anyone because of my being an outsider to the actual code-guts of the app, again, I apologize. Truly. The last thing I want is to rain on anyone's parade! But one thing I will not do is unsay anything I've said above. I wrote this ridiculous, loquacious e-mail because I care about ArgoUML and I want to see it get out among the world's software development tools and kick some ass—not because I wanted to type a lot of criticism and nonsense. … Either ArgoUML is moving towards growth, or it is moving towards stagnation (and death). All it needs is a spark! The best app in the entire world was started with a single keystroke. So, let's give Argo a helping hand. Let's help it begin its ascent to its throne. What say you?! —Tony |
- [argouml-dev] Thinking about the big picture. Tony | "Zearin"
- Re: [argouml-dev] Thinking about the big pi... Andreas Rückert
- Re: [argouml-dev] Thinking about the big pi... Linus Tolke
- Re: [argouml-dev] Thinking about the bi... John Daigle
- Re: [argouml-dev] Thinking about the bi... Tony | "Zearin"
- Re: [argouml-dev] Thinking about th... Linus Tolke
- Re: [argouml-dev] Thinking abou... Bob Tarling
- Re: [argouml-dev] Thinking... Brian Hudson
