The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Framework or webos?

We have an 'online desktop', where all the apps live in little windows in the browser.
To create these apps we fall back on small xml servlets defining the apps gui and the code beind neatly separated.
It's easy and quick, and it's clearly separating the presentation from the code.
It's a really good ajax framework, plain and simple.
Now it's becoming clear to us that we shouldn't have done that, because it backfired on us.
The desktop thingie has completely 'killed' the framework aspect in everyones mind.

The question is, where to draw the line between what's a framework and what's a 'webos'?

Is there an established formulated description of exactly what a 'framework' is, and/or 'a webos' is, and what the difference is between them?
It's seems to be (essentially) the same thing to me?
Mikael Bergkvist Send private email
Wednesday, August 02, 2006
 
 
I don't understand how it backfired on you?
Mike S Send private email
Wednesday, August 02, 2006
 
 
"Is there an established formulated description of exactly what a 'framework' is, and/or 'a webos' is, and what the difference is between them?"

A web OS is a stupid toy that presupposes that people want to interact with web applications using some kind of virtual desktop within their browser which in turn is on a desktop.

A framework is a toolset/library that helps developers build applications by providing a lot of built in capabilities.  In your case, the ability to easily build a suite of AJAX enabled web applications.

"It's seems to be (essentially) the same thing to me?"

Well I'm kinda bashing web OSes (deservably) but that doesn't mean I don't think your product has value.

A lot amounts to marketting: A web OS feels like it's marketed to end-users where as a framework is marketed to developers.  A web OS is a product on it's own but a framework is simply a toolkit for building applications.  It's all semantics and other people may read it differently but that's my opinion.
Almost H. Anonymous Send private email
Wednesday, August 02, 2006
 
 
"I don't understand how it backfired on you?"

Because some do see it as a 'stupid toy', which blinds them to what our product really does.

We created the 'desktop' because sometimes there's a benefit in having several apps opened (as we see it) since you can copy/paste inbetween apps easier that way.
And also because we thought it would be a cool demo at the time.
But we might have to rethink the whole thing in order to underline the 'framework' part of it.
Mikael Bergkvist Send private email
Wednesday, August 02, 2006
 
 
"because sometimes there's a benefit in having several apps opened"

The problem I see with your product and other web desktops is that there is no market for "several apps".  When companies look to build a web application, they aren't looking to build a suite of them.  They want to build one large app.  The desktop almost presumes a number of small utility applications rather than one large one.

Being able to copy/paste (or drag/drop) inbetween applications doesn't matter if you only need one.

"But we might have to rethink the whole thing in order to underline the 'framework' part of it."

You need to either focus on the single-application scenario *or* be able to explain the value of building and running multiple applications in your system.  I think the former is more likely.  I'm not sure, however, if that completely destroys the value of your system.  If the value is purely in running applications side-by-side then you need some way to prove there's some value in that for enterprise applications.
Almost H. Anonymous Send private email
Wednesday, August 02, 2006
 
 
"sometimes there's a benefit in having several apps opened (as we see it) since you can copy/paste inbetween apps easier that way."

But...if I'm running your apps in a browser, then my native OS can handle copying and pasting between the apps.

I agree with AHA. The whole notion of a Web OS is completely misguided.
BenjiSmith Send private email
Wednesday, August 02, 2006
 
 
One simple example: we created an email application first.
Then a calendar application was created.
Two applications.
Then we realised that we could jack the one into the other, and have a calendar function, searching the email and the email could add a todo/event list using it.
Then a clock was added, that jacked into both.
Then the pre-existing fileexplorer jacked into the email and the calendar, ading search and getting sending files to people back from the calendar and the email, on specific dates, etc..and then they all jacked into the rich text editor, and so on..
We had all these apps planned out already, but since they used the same framework on the desktop, they could all be wired together for all kinds of dynamic effects that we had not originally planned for.

New apps developed by new developers will be able to do the same, and include stuff from all of the above.

This is what we think a framework is good for, but it became easier to exploit in this context.
Mikael Bergkvist Send private email
Wednesday, August 02, 2006
 
 
Well, Mikael, most people would call that a single "application" with multiple "modules".

But call it whatever you want. I think the central point (like AHA said) is that it's dumb to have a desktop in a browser window.

If I were you, and I wanted to market the framework, I'd say something like "the modular architecture of this framework makes it simple to extend the application with new modules and to pass complex data back and forth between disparate modules from third-party authors".

Or something like that.

I'd never mention the WebOS. Because I don't think anyone out there really thinks a WebOS is a good idea.
BenjiSmith Send private email
Thursday, August 03, 2006
 
 
I like it.
Thanks all for your well thoughtout comments.
Mikael Bergkvist Send private email
Thursday, August 03, 2006
 
 
When did a "desktop" become an operating system?
l belk
Thursday, August 03, 2006
 
 
Never.

A desktop is simply a way to view and organize multiple apps running parallell to eachother, as I see it.

We never pretended to be an OS per se, it's just what that kind of app is generally called on the web.
If everyone is calling an apple a banana, what to do?
Mikael Bergkvist Send private email
Friday, August 04, 2006
 
 
I wrote a related article about this a few years ago: http://www.imnmotion.com/documents/html/technical/design/functionalityFromContent.html

I'll use my own previous experience with frameworks and DHTML windows to try and answer your question.

DHTML windows are old, and not much younger is embedding other DHTML or controls in those windows. For instance, here's a demo from 5+ years ago, using AJAX, embedding widgets in windows on a 'desktop' (granted, a very rudimentary example) http://www.imnmotion.com/projects/mdi/sample_demo.html  (another example: http://www.imnmotion.com/index_mdi_test.html ) And you can find many older DHTML windows out there.  I spent a lot of time writing what I thought was an elaborate 'framework' for creating DHTML windows and desktops; my UIs left something to be desired, but I had the windows and widgets, darnit.

After 2 years (2000 - 2002), I decided to redesign my windows 'framework', because I thought it was time to clean it up and it was a pain to implement and extend.  However, I wound up with something completely different: http://www.imnmotion.com/projects/engine/  It didn't have a UI, it didn't do any effects, it didn't possess any sort of widget.  What it did have was the groundwork for re-creating the windows library.

I was never interested in re-visiting the windows library again, even though I had written the 'Engine' framework as a replacement, with the end result being some sort of window.  However, that changed when AJAX became the latest fad, and the AJAX libraries all came out.  Here I was, sitting on an AJAX library, and I realized too late that my lack of UI gizmos (and it not being open source, and my license being a bit more restrictive, yada yada) meant I was missing out on the crowd-pleasing-steps as it were.  So, I went back and recreated the windows: http://www.imnmotion.com/projects/engine/demonstrations/demonstration_17/index.html

The difference between the first and last example: the first was a big widget for making DHTML windows, and the last used a framework for Web applications, plus a completely separate widget for doing the same thing.

So, as my sample-laden story concludes, I see the difference as such: if you take out all your product-specific implementations: the clock, the email, the calendar,  and desktop and icons, what you have left, if anything, is your framework.  Depending on how you slice it, your framework includes a mechanism for creating DHTML windows.  Your framework plus the collection of add-ons and widgets that create your particular set of windows and desktop and icons becomes your web app/ web os / web desktop.
Stephen Cote Send private email
Monday, August 07, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz