More solid ideas about a web-based desktop

I think the web-based desktop idea is the next big thing on the net. Backpack is a Rails app that is moving us in that direction. The problem I’m having is that all these are companies which want control of your data. They want you to pay for their service. There’s nothing wrong with that for some people but I want complete control. I would like a web app that I can install on whatever webserver I want and take my files and my customized desktop to another host if I want. I just pay for my normal hosting and that’s it. This leads me into thinking that this desktop webapp I’m going to try to get started writing will need to be an open source project. There are ways to make money off it in the long run like these companies are trying to do but that’s not the overall goal of the project. That would be a side project that would use the open desktop and build a business around deploying it for users.

There are a number of issues that I need to look into before I begin. First, I need a Javascript windowing library which can handle some of the windowing capabilities of sites like Meebo or Protopage. One library that I ran into today is script.aculo.us and another is Rico. I’m sure there’s dozens more and there’s probably one that does exactly what I’m looking for it’s just a matter of finding it and learning how to use it.

Then it’s a matter of understanding how to interface with different webapps via RSS, XMLRPC, SOAP, or something like that. The first line of business after the desktop and windowing is working is creating an open source filesystem webapp to bundle with the desktop. That way you can either use the bundled filesystem or you can use another webapp to store your files. Personally, I want full control over my data so I’d host my filesystem on the same server as the desktop.

  • http://yajaf.blogspot.com/ mikepk

    It’s funny you should talk about a web-based desktop. My first “sample application” is a windows explorere/Mac finder clone. I have some screenshots of it running. I’m looking for some feedback on my project.

    I’ve tried to simplify the creation of ajax style applications with my YAJAF! javascript library/Ajax framework. I think I’ve come up with a way to build on the tacit knowledge of GUI programmers, creating an extremely flexible library/framework, and making it all very ‘natural’ to use for programmers of traditional object oriented languages. I haven’t released it yet, and I’m trying to see if there’s any interest in doing so. I’m looking for comments to try and gauge interest.

    All comments are welcome, including “you fool, what the heck are you thinking, there’s X million js libraries out there already!”.

  • http://www.brianmcquay.com admin

    The lack of any code or real documentation on your site makes my ability to provide reasonable feedback quite limited. I would suggest either providing more details or posting code on your site. I can’t see any way for me to judge what YAJAF even does other than the vague description of features mention in the FAQ. Personally, I’m looking for something open source with a nice licence.

    Your screenshots give me the impression that YAJAF is more of an interface between the local system and the browser (correct me if I’m wrong). My idea of a web-based desktop is more focused on the interaction between different web applications via SOAP/XMLRPC/RSS and organizing those interactions and webapps in a way that smooths out my daily user experience.

    You provide a screenshot of a typical *nix filesystem. The filesytem I envision only needs to be those files that I’m interested in storing, not the entire backend server filesystem. I might want to edit the site source via the web so that might be included but certainly I don’t need /proc and crap like that. Another thing I want is the filesystem to be taggable. This might make navigating the filesystem a little different than the usual hierarchial tree approach we’re accustomed to. I have no solid implementation ideas on this so far though.

    The javascript windowing is a critical part of the web desktop but having something open and free is what this project is about. I won’t be interested in a closed project. There are already companies working on what I’m talking about but they want to control the source and ultimately my data so they can charge me what they will. I want ultimate control of my own information which means I need it to be open and free. I want to be able to take my entire web desktop, files and all, and move to a new web host if I so choose.

  • http://yajaf.blogspot.com/ mikepk

    “The lack of any code or real documentation on your site makes my ability to provide reasonable feedback quite limited. ”

    Well that in itself is pretty useful feedback. Actually I should probably make more clear what exactly I have there. I appreciate it!

    “I can’t see any way for me to judge what YAJAF even does other than the vague description of features mention in the FAQ. Personally, I’m looking for something open source with a nice licence.”

    Again very useful feedback… maybe I’ll alter the site some more. This whole framework thing isn’t my primary project so I was trying to see if people were at all interested in it. I’m not actually looking to keep it closed source (since it’s all javascript libraries it’s pretty much impossible anyway), I’m looking to see if people would pay for the developer tool. I’ve already started it, but what I envision is a web IDE to generate code with full access to Docs and API. I’m thinking of making it a subscription ($5-$10/month) or advertising based model. The actual code and applications generated would be free/open source.

    “Your screenshots give me the impression that YAJAF is more of an interface between the local system and the browser (correct me if I’m wrong).”

    Hmmm I guess I need to fix that. There is no interaction between the local machine and the browser (well other than the browser). I assume you mean local as in the PC. The filesystem I was browsing was that of a remote web server.

    If you instead mean, ‘local’ to that particular web server, then there are some technical hurdles before you can do truly cross domain applications. I’ve got the seeds of it in a dynamic application/code loader but it’s not fully working yet.

    The actual application I’m writing has nothing really to do with the screenshots. You’re correct, the file browser application is just showing a unix filesystem, but that’s because it was a simple little app just to show off the windowing toolkit. It’s basically just a little apache mod_perl module to send me XML representations of the filesystem. The whole sample application took me about 3 hours to write (with debugging!) using the toolkit.

    The real power of the whole thing is that it lets you write GUI’s for web applications using standard OO techniques. I don’t know if you’ve played with the prototype/rico/dojo means of programming (with it’s ‘magic functions’) but it can be a little strange and frustrating at times.

    Again thanks for the feedback!

    -MPK

    Although it sounds like you’re not that interested, here’s a little screencast of that same unix filebrowser app.