What is this about
The current UVa Online Judge platform was written back in 2005, using the technlogies and web concepts available at that time. During the past years the overall online services scenario has changed a lot. The way users interact with internet today is radically different. It is about time of bringing UVa Online Judge to a new level.
What we have now is obsolete. Both software and hardware approaches. We want to make UVa Online Judge an state-of-the-art service to provide our users with the finest online training. But we need help to do that, as we currently don't have the resources to do it they way we are looking forward.
Is the current UVa Online Judge in jeopardy?
No, it is not. As long as we are able of maintaining our current supporters and sources of funding we can keep it going as is. But things are not forever. We are not immune to the elements. If we had, for example, a serious hardware failure in our server, it would be very difficult for us to recover. Our current resources are so small at this moment that we can only promess our users that we will keep the site running in its current state, but there is no way that we can fix bugs, improve the software or even keep the hardware upgraded.
Fixing the current platform is a 'no go'. The only way of putting the site up to date is starting from scratch, building a new system using modern concepts on all of its sides. A system that can serve our community for the next 5 to 10 years. We want to make things easier for fixing bugs, adding features and attending suggestions and requests. How will it be done? These are some of the main changes we are proposing:
- Making it a social site where users can interact and be more participant
- Creating apps for mobile devices
- Using last generation web technologies
- Having public APIs so people can provide their own functionallity
- Putting the whole site in the cloud, to minimize or eliminate the risks of suffering a hardware failure
Also, the resulting software will be published as Open Source under a free license. This way every user will be able of using the code for their own use or contribute fixes and features to the platform. This doesn't mean that we will have an open development approach since minute 0, but it will eventually become open software in its full meaning, once we get the bases set and the core of the system is done. From that point, everyone will be welcomed to contribute, fix, give an oppinion, etc.
How will we use the funds
There are, of course, many ways to use money during software development, but these are the main three areas where we will employ it:
- A full time developer
- Cloud computing resources
- Reformatting all the problems to unify them and easily produce the different versions needed (HTML, PDF, ePub, etc). We've been trying to do this for years, but it is a huge ammount of work
What more to expect
At this point it is early to determine what will be in and what not. But you can take one think as a given, we will listen to the community during the creation of the new platform and we will try to include as many requests as we are able to.
When will the new platform be ready?
It's too soon to say. If we reach the requested 50,000 EUR funding, it will be ready by the end of this year. If not, this will be slower. The less money we are able of gathering, the longer it will take.
...to all contributors, and also thank you to all that for one reason or another would like to help but are not able to. Our site is free of use and it always will be. Please, don't put money into this because to feel 'forced' in any way to do it. Put money into this just because you want to and feel like it. We know that the perks we are offering might not be a great deal, but we prefer using the money to make a great site. That will be the greatest perk of all. Anyway, a postcard with my signature might sell for millions in the years to come, who knows :) :)
Thanks a lot!