Few words about me
OK, so here are some things about me and why I’m making Graphsy. I the real world I am a PhD student at Drexel University in Philadelphia. You can check out my personal research page. My interest are in software engineering and development. The research group I am a part of believes strongly in iterative design with a moto that “code is all”.
I know that’s kind of unusual from someone talking about SE, most people is SE believe that design rules over code and that design should take up the majority of development time. We believe that even with a “good” design the project will pretty much deviate and then you are just left with a bunch of confusing documents that don’t have any real relation to your code. Basically wasting a LOT of valuable time you could have spent building your product. Instead, why not just build small prototypes and use tools to extract design out of your code and see what it looks like. You have to be ready to refactor a LOT. This is much closer to the XP philosophy.
That’s kind of an extreme point, and the truth is probably somewhere in the middle, small design phase and lots of redesign, much more spiral kind of stuff. But I think SE tools are important to the future. We need tools that can analyze and maybe fix the tons of legacy code we have. We need tools that can help new developers understand the code faster so that they can jump into projects quicker. We need tools that help with refactoring and can point out “bad smells”. I also don’t really like SOA, so there…..
Anyway so why did I want to create Graphsy. For one I want to see if developing a project in that kind of Spiral way is useful. Basically the process is implement a feature quickly, but if another feature needs refactoring then I refactor first and implement the feature second. So far pretty good. I think I’ve rewritten every line at least once and some a bunch more times. But I think the code is better for it. I don’t yet have a unit test suite for this, but I I’m getting to a point where I really need it and will probably start investing some of my time into that. Though also to point out I’m the only one working on this, and XP kind of relies on small teams, so this isn’t really a good case study at all.
The real reason why I’m making Graphsy is because I’m just not coding as much as I’d like to now. The PhD program is really fun and a lot of work, most of which is writing. There are places where I get to write code, but mostly I’m writing English, something I’m not at a level I want to be at yet. So I decided to start a coding project for fun. Graphsy came out of that. I wanted to do something kind of stupid and the idea of drawing lines with Javascript seemed pretty stupid to me, so I tried it in my off time, which isn’t much. Once the lines thing came together graph drawing seemed like a natural follow up. Now it’s time to share with others so we’ll see if just how bad of an idea this was. I’m only spending 5-10 hours a week on this so progress may be a bit sluggish, but if there is a strong responce I’ll shift more time over to this.
I think next time I’ll write about where I want Graphsy to go in the future. Or maybe one of these SE topics if any of you are interested. I can also talk a bit about SERG’s (the research group I am a part of) projects. We’re doing some pretty cool stuff there relating to software engineering. Though it’s hard to make SE sound cool. I’m jealous of the graphics and AI people sometime, they get cool demos with pictures, robots, and lasers….. ohh well everything will need software soon though, so at least it seems like I should be able to find steady work.
August 17th, 2008 10:11
Your blog is interesting!
Keep up the good work!