Online software development: the WikiRAD


I love the idea of social software. Specifically, while it has been several years since I first encountered the wiki concept (Ward Cunningham‘s c2.com), and I have been a Wikipedia contributor for a while, it is only since I checked out the emerging wiki hosting sites (see Google and social software: wikis) that I realize that wikis are becoming mainstream. Sites like Wikispaces, JotSpot and PbWiki are providing anyone with the tools to safely and effortlessly develop a body of knowledge.

On a seemingly unrelated point, I am currently developing some stuff in PHP (codeword ‘photcasting‘ but more on that later) and I realise my development environment is so amateuristic: I use a text-editor with FTP support (the last couple of years it has always been Editplus), and everytime I save some code, I overwrite the older version on the ‘live’ server. I also develop on different PCs in a typical week (easily 3) and so I don’t have 1 development PC with PHP running where I could stage everything before I deploy it to my ‘production’ site. With a bad broadband connection, when a ‘save’ operation goes wrong, you end up with a ‘crucialstuff.php’ script file that is empty (0 bytes) and brings your whole site down. Unfortunately, I know this from (repeated) experience.

Earlier today, I was thinking about these 2 issues one right after the other and bam: they collided. I have a new development paradigm: the WikiRAD.

‘WikiRAD’ development

WRITE CODE

  • you write your code with your browser in a Wiki-style editor, with syntax colouring added (haven’t seen that in a Wiki editor yet). The code resides on a WikiRAD server (with RAID5 disks, daily backups, …). You need no other software on your PC to be able to develop software.
  • the Wiki system takes care of version management and comparing of sources (Wikis already do this). Check in, check out, rollback, branching, merging, several developers on 1 codebase, … all possible!
  • you can search your whole codebase for certain keywords, jump to class definitions – just like normal IDE
  • when you look at your code, the names of classes, templates, libaries, .. become clickable, just like in a … wiki!
  • there are tools to make writing code easier (class wizard, sample code, forum for questions)
  • there’s a Google-like crawler that indexes code so it becomes available for other developers – this is real “open source”!

COMPILE AND RUN

  • the WikiRAD server lets you develop in a ‘stage’ mode (separate from your real system) and lets you deploy it to ‘production’ once you’re sure. The production server can be your own server, with deployment via FTP or SSH.
  • for the most popular languages, you also have a lint system that can detect obvious errors in your code before compiling.
  • if the language you write in requires compiling (like C++, C#, VB.NET, …) the server takes care of that – probably faster than on your own Pentium III.
  • you no longer need to set up a ‘similar’ server to test your software, it will run on the same kind of system, behind the same combination of routers and firewalls, with the same libraries installed.
  • you can add breakpoints, see the console output, view values of variables, …

So take Sourceforge, drop in a Wiki system for writing the code, a system for online debugging and profiling and tada: life has just become so much easier for a programmer.

All remarks are welcome!

Technorati:

7 thoughts on “Online software development: the WikiRAD”

  1. I love this vision. It’s a lot of work to bootstrap, but would be pretty amazing otherwise.

    – Lucas

  2. This might be in the direction you want to go:

    http://www.trimpath.com/project/wiki/SinglePageApplicationAndDevelopmentEnvironment

    Developing in a browser is not a good idea for full time developers I think. There used to be such a trend in the late nineties, Silverstream had such an environment, and the open source Midgard content management framework (core written in ’99) lets you write php in a browser: but it’s not really comfortable compared with real editors. Maybe you’d better take the time to install Apache/MySql/PHP on all of your pc’s 🙂 ?

  3. Yeah man,
    I like the idea.
    Pascal is right when he says that it’s not comfortable working in a browser editor.
    But, with the technology’s now available (especially ajax) i do believe it becomes possible to write a comfortable editor in the browser.

    I think i would be still developing most of my code on my development PC though, but the WikiRAD would be very helpfull to edit and create things that are easily to deploy.

  4. There used to be a project to build an advanced text editor in XUL called MozEdit, which could possibly be a good basis for the most complex part of this idea: an online editor programmers could feel comfortable with — although of course at the expense of cross-browser functionality…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.