Women in Technology

Hear us Roar



Article:
  Rethinking the Linux Distribution
Subject:   requirements first
Date:   2007-05-14 05:20:32
From:   Kuros
I think a Linux rethink is a fantastic idea. I think a lot of developers and users have at one time or the other thought about this and if there is a realistic and fruitful approach, a project such as this will attract the necessary man power. Here are my initial thoughts:



  • My trackrecord as a software developer has taught me that an exact set of requirements are a key to every software project, especially a "web OS" project. It has to be clear, who the users of this software will be, and which set of applications and features it is to support. A best-of-breed approach will fail in this case, as it invariably bring in applications into the fold that are half-implemented or not good enough. Even
    today I feel that wether I choose Linux or Windows the top 10 features that I use these systems for, have a high chance of failure, due to:



    • software errors

    • inflexibility of the applications

    • software upgrades


    I wish to have a system that has the top 10 applications that I use most frequently, work PERFECTLY, without exceptions. I think the focus of "web OS" should be that...


  • Furthermore, my vision of a "web OS" goes along
    the lines of an "online mainframe" system. In
    the old days, a few people maintained the
    mainframe and all users benefited from their
    work. True, there was a single point of failure
    in the system, but it also meant that you had
    to fixed it at exactly on point. Today, each
    desktop has become its own little universe.
    I hesitate to accept the parts of the model
    proposed in this article, that are biased
    towards rich-client applications, i.e. anything
    requiring a client-side installation.

  • There a few fundamental obstacles to writing
    good web based applications or systems, and in my view these obstacles are never properly addressed even by experts in Web development. These obstacles must be addressed in, perhaps in SW models, and a good place to start is in "web OS". The obstacles are:



    • HTML was never meant to be a user interface language, yet we use (and abuse) it
      as such. If we want to have nice and reliable front ends to a "web OS" we should move away from it

    • HTTP is a bottle neck for writing networked applications. First of all, truly interactive applications require full support for the Model-View-Controller (MVC) paradigm. In MVC there is a scenario whereby, changes in the model effect changes in the view, yet HTTP does not allow for this. Most developers, ignore or underestimate how limiting this restriction is. Second, HTTP (Port 80) has become synonymous with application security. Because of this, effectively , any interesting application you want to write, becomes a nightmare to implement, because of this restriction. A new security model for "web OS" must be conceived.



  • Question: Where exactly is the discussion for this project taking place? (Link to Forum??)

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • requirements first
    2007-05-14 06:22:13  georgebelotsky [View]

    This forum looks like the best place to have the discussion. The article text is right here, and O'Reilly should be a reliable host to store our ideas.

    Also, you raise important points regarding security, state management, and the need to think about network protocol design. The success of the Web OS will depend in large measure on the capabilities of the protocol.

    Regarding client side software, the thin vs. thick debate is a good one to have. How much runs on the client, and how much on the server? The approach proposed in the article entails a gentle transition from today's locally installed applications to a Web OS. So, clients will start out thick, and become thinner.

    How thin will the client become? That depends on the application, and the preference of specific users. Such flexibility is the attraction of the free Web OS. Some users will choose to run almost everything on a local PC. Others will set up in-house servers, and run thin clients. Still others will contract with an outside provider (or several) to host the applications. If the components are open, and can run anywhere, then there are many possibilities to create the right environment for everyone.