Alo Sarv
lead developer

Donate via

Latest Builds

version 0.3
tar.gz tar.bz2
Boost 1.33.1 Headers
MLDonkey Downloads Import Module Development
Payment completed
Development in progress.
Developer's Diary

Wednesday, July 19, 2006

Busy busy busy busy

It's been quite a while since the last blog post, so I figured it's time to update the status of things and ensure that I'm still around and kicking.

What's going on currently is that I'm heavily overbooked with projects; the database project I took a while ago had some delays getting started (actual development started on 15th this month), and I'm also trying to get the entire project (originally only one sub-module of the project was planned for me), which can increase the development time from 4 weeks (+ 2 weeks testing) to up to 6-8 weeks. Naturally, the money increases proportionally, so it's a Good Thing.

Last weekend I picked up and learned AJAX / Javascript / JSON, since this will help me to get the entire db project hopefully. I had another reason for learning that stuff as well - namely, Hydranode web interface - which, as discussed in the forums, will rely heavily on those technologies.

Hydranode website is also one of the projects currently being open; the design is about 90% completed (made by our resident designer, Arlekin), but needs few more days to complete the design, plus couple days for implementing. Our current timeline suggests that there won't be any free time to finish it before end of next week; I hope I can get it online before end of July, but it's gonna be tough.

Arlekin is also flooding me already with smaller website projects, some of which may start as early as mid-august, all of which means that we're both heavily overbooked with work until end of August, possibly even half-way into September. Hydranode-related things are at the bottom of our priority lists right now simply because payd projects take priority (naturally).

And the question that's burning within the majority of the readers here - what about Hydranode code updates? Well, what can I say. The current plans for next release include installer [finished], better integration with OS features on Linux (associations, external links), import wizard for eMule/ShareAza/MLDonkey (missing ShareAza import module right now only, plus GUI), and some minor other updates. Estimated time of release is completely unknown right now however - as said, I don't expect to have much time for core development in August, so Hydranode release is pushed to somewhere in second half of September, at the earliest.

All of those thinking that the project is dead should think again. There are many projects out there that occasionally have on-and-off development, often for years, before taking off bigtime again. I spent two (!) years full-time developing Hydranode, so starting to proclaim the death of the project just after couple months of slowed / non-existant development is a bit harsh, don't you think?


PS: Hydranode is OSS project, but why aren't there any OSS developers jumping in to develop while I'm busy with other things? Is Hydranode codebase really so complex that nobody is interested in learning it, or is it because developers don't believe in Hydranode being something worth developing?

Sir, I would love to help with hydranode, however you have set the quality bar at a point where it is quite intimidating for most hack coders to join the hydranode development team.
So, let me get this straight. In order to develop successful open source software, you need to write messy code with little (if any) design and avoid using any advanced language features? Seemed to work well for eMule, (no offence meant to eMule devs, really).

Makes sense (in a really wierd and strange way), indeed. If the codebase is a mess, there will be many people around who wish to "improve" the codebase, or dedesign or similar, and during that, new features also get implemented as a side-effect. However, given a clean codebase (and, god forbid, using some more advanced language techniques), and everyone avoids it like a plague.

It all comes down to basic user experience really - just as with any application, the user must be able to jump in without learning anything new or having any prior knowledge, and feel right at home. The same applies to programmers - if I want to make a change to a 3rd-party codebase, I wish to be able to jump in, make the change, and move on, without digging through pages of documentation, coding standards, or (god forbid) - language reference. Messy / design-less code tends to favour local changes despite their, often surprising, side-effects and inherent bugs (but those can be fixed locally as well!).

To be honest, if I needed to make a change in a medium-sized C application (note: I never learned C, so I'm a novice C programmer), I would probably run away in fear if it imposed coding or quality standards, simply because I have no time nor interest in matching them - I just want to make my fix and move on. Give me a C-with-objects codebase (GTK comes to mind), and I run away in fear - just as the programmers looking at Hydranode codebase do, apparently.

It's sad, but seems the most logical explanation why there are no other active coders in Hydranode project after over two years of project lifetime.

Is Hydranode doomed to stay at the "one-man-show" state? If that's the case, the long-term future of the project becomes rather questionable, since while I may have 9 lives, I'm still only human with only 25 [sic] hours a day.

I think now that you have Hydranode at 0.3 and is working, opportunity now exists where people can start doing some homework around that base and maybe start contributing.

For a while there you were tinkering with different solutions to specific problems - replacing them and finally landing on the right solution. These changes were all done within your design spec, but as we know there are more than one way to skin the preverbal cat (no offence of course madcat;-)

Also, developing your solution from an embryonic stage means that you clearly understand the codebase, its structure and philosophy, it will take some time for others to get the same level of confidence.

I'm sure that now the invitation is clearly open (which I sure has been all the time), others may invest time in coming up to speed on the existing code base especially now that there is a tangible product.

Sorry you feel frustrated about others participation in your project, but I think you are under the gun right now with competing priorities.

I use Hydranode full time now, converted from mldonkey, I’ll take a look again at your codebase and documentation, but I’m not a very good C++ coder – I don’t feel confident in making really useful contributions.
Nice blog entry, thanks for writing it! ;)

What about using CakePHP? It support AJAX and many other stuff, it's a bit like RubyOnRails but using PHP.

* Model, View, Controller Architecture
* View Helpers for AJAX, Javascript, HTML Forms and more
* Built-in Validation
* Application Scaffolding
* Application and CRUD code generation via Bake
* Access Control Lists
* Data Sanitization
* Security, Session, and Request Handling Components
* Flexible View Caching
* And More...
Forget to say...

See this article, it talks (mostly) about the negative stuff of CSS.
I think that Mathew has a point. I already contributed little bits here and there, but I just don't think I can hold up to your quality standards so that I could contribute bigger stuff (let's not talk about my mediocre c++ skills -.-).
But I think that as Hydranode continues to improve skilled coders will be attracted to it: nice and clean codebase, competent lead developer. So I guess it won't stay a one-man-show forever :)


P.S.: Maybe you could suggest code-work that you think is suitable to be done by an 'outsider' together with some explanation what you expect. That might help to start things off...
I see the problem is mainly that people thinks Hydranode soon will be abandonated because the main developer (that does most of the development work and the site too) is desesperated because nobody helps him in the task and he needs to work for getting money.

It seems you are thinking wrong and must understand the situation like being a person that not knows your situation, only your work and probably not since the beginning. You must motivate both users and developers not only with words, but facts too.

You are in a difficult situation, needing work for money and abandoning your dream, Hydranode. Not be obsessive wih this bad situation, relax, think about it, explain to developers why your project is great and provide them very interesting objective reasons for collaboring in your project in form of documentation and code.
Need to advertise this project more. I just found it today.
Hmm, advertise more? What would be the best way to do this? I'd imagine it'd be pretty spam-like to just post messages in forums for other software... I suppose there are forum categories specifically for things not related to their own software, maybe suggesting features that Hydranode has would also work? Anyone have any ideas on the ethics of advertising? =P
anyone here? :-)

PS: Hydranode is OSS project, but why aren't there any OSS developers jumping in to develop while I'm busy with other things? Is Hydranode codebase really so complex that nobody is interested in learning it, or is it because developers don't believe in Hydranode being something worth developing?

I think is the second thing and the very low visibility of your project.

Your project is knowed by too few people and it's in a early stage where is being quite usable but not having most of the features of its competitors.

Your problem is difficult to solve: you must continue developing it nearly alone and attracting users and developers at same time. Remember that some of those users can be developers too or having a developer friend, and some developers are interested in apps with a visible userbase and sadly Hydranode still has a quite very small userbase.

Short words about the solution: Try to develop Hydranode instead abandoning it, attract users and developers and WAIT without desesperate...
you could try to 'cheat' with advertising. simply go to several linux distros forums and ask them to add hydranode to the repository.

people might want to try it. if not, at least, they hear about it
Madcat: Patience, everyone is not capable of coding and most people not use google for finding new apps.

Your project must have more killer apps, more equal in features than the competitors, providing strong advantages and many more. I'm sure if you have patience and when developing Hydranode to a point where it can substitute a great number of P2P/download manager apps, developers will can join some time before that.
Projects are very difficult in the beginning and your project is quite complex. Patience and not be negative about the current situation, I'm sure it will change with some more time.

Madcat: thanks a lot for your precious time and your great project, Hydranode.
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?