A Japanese Geek's MySQL Blog.

2009-07-15

Expectation For Chrome OS

I was really impressed by the news; Google plans to release "Chrome OS". When I heard it, I felt like some big puzzle in my mind was resolved as if I had a key hole and the news was a key. Most of people may think that Chrome OS will be one of Linux distribution simply which implements Chrome OS. But totally I don't think so. It will never be such a boring OS, I guess!! When I imagine the upcoming OS, I am a bit excited.

While the technology details have not been published, I expect that Chrome OS architecture will be like below:


Please note that this is my personal expectation, so the actual architecture will differ ;) If the act will totally different from this, please go ahead and laugh about this picture!

Anyway, let's go to the details about imaginary Chrome OS architecture in my mind.

1. UI = Chrome Browser

I'm confident that Chrome Browser will be an only UI which a user can access. There will be no UNIX shells which we are familiar with. Geeks may say "OS without shells are not UNIX!". It's true. But Google doesn't target such geeks at all. All operation will be performed via Chrome Browser.

2. Local Web Server

If my assumption above is correct, Chrome OS will have a web server inside like lighttpd or Apache for its own use. Why? If the only UI which a user can access is Chrome Browser, how does he or she shutdown the computer? I expect that Chrome OS will have a system management page which allows a user to manage or configure the system, which is a kind of Web application running on the local web server.

3. User Application Runs On Web Server

It is needless to say, Chrome OS will make use of Google cloud. However, it's a not good idea that doing everything, even a trivial thing, on the cloud. Will Chrome OS run Calculator application on the cloud? I don't think so. If Chrome OS will do such a stupid thing, Google cloud will not able to handle megatons of requests. Then, such a trivial application will run on the client using Javascript or as an web application. In either case, Chrome OS will have rich applications, because there are lots of web programmers who can develop such applications all over the world.

Why this is interesting is; if Chrome OS can open up the network port to the internal web server, users can access the application running on the own computer for each other. This means that the desktop application suddenly turn out to be a web application! Sounds exciting? In order to keep the security, Chrome OS may use Open IDs provided by Google.

4. Good Bye Files

Probably, this could be the most significant change upon Chrome OS. I expect that Chrome OS will not have any method to access files on the computer like "Windows Explorer". Using files for data store and arranging files on a tree based filesystem are really primitive, such a method has been used since dinosaurs ruled the earth. One should imagine the content of file based on the filename, but a filename does not always describe its content correctly, so managing data using files is messy. People really want to do so? No! They simply want to store data, keep data and search data quickly when needed. Using files upon tree based filesystem is not the only way to manage data, and it's an inefficient way.

Instead, Chrome OS will store data on a database management system. Local web applications will access database as if usual web applications make use of underlying database nowadays. Then, people will leave away from managing files.

If so, what kind of RDBMS will be used on Chrome OS? The most probable answer is "sqlite". However, the problem is that sqlite cannot handle queries quickly when data grows large. Then, Chrome OS should employ more scalable RDBMS like MySQL, firebird or PostgreSQL IMHO. I strongly recommend Google to use MySQL as a MySQLer. If Google thinks that GPLv2 is not suitable for Chrome OS, and that's why MySQL is not employed by Chrome OS, please consider to apply FOSS Exception, which enables OSS project to release the software using other licenses than GPLv2 if the license is listed in: http://www.mysql.com/about/legal/licensing/foss-exception/

5. Robust Security

On Chrome OS, a user will be unable to invoke programs like we do now, and it will be unnecessary. Since the only program which user will access is Chrome Browser, it can be invoked by OS in advance. OS can invoke the browser as "root" user, then it can change the user afterward using setuid() system call. In this way, Chrome Browser program image on the filesystem can be owned by root and can be invoked by root only. An ordinal user doesn't have to invoke any programs on Chrome OS, because a user can do everything upon the browser. Even an ordinal user doesn't have to access any files on the computer at all.

In this case, even if the browser is cracked and operated by a malicious user, the browser cannot invoke any programs! How secure such OS is?! In addition, people will be able to get off scanning virus on the computer everyday. Because there will be no user programs to scan!

.....

While the above is completely my personal imagination. I'm lost in wild fancies like this, however if it is true, Chrome OS can be recognized as "It's our attempt to re-think what operating systems should be." as described in the official blog. AFAICT, I will be a fun of Chrome OS if it is true :)

14 comments:

  1. I have done some speculation of my own on this matter, and I think that Google Wave (If you haven't seen the presentation video, I recommend it: http://wave.google.com) will be an important player in Google OS.
    Even if the operating system uses SQLite for offline processing (I can appreciate the advantages of an easy-to-embed DBMS) the Wave protocol requires a server that distributes content rapidly to many clients. As such, a single user DBMS like SQLite is not a good choice, and MySQL can find its usefulness.

    ReplyDelete
  2. Interesting post ;)

    #1 "Chrome Browser will be an only UI which a user can access"

    and

    #2 "On Chrome OS, a user will be unable to invoke programs like we do now, and it will be unnecessary. "

    I don't think so. Although I do expect the browser to be the main end-user application
    portal.

    But what about configuring the OS for the new or changed hardware? Stuff like setting screen resolution, or even plugging in a new USB device...I can see how you could implement all that with browser plugins, but seriously - why would you?

    No, I suspect browser centricity is a feature that gets the initial focus, after all Google needs some unique selling point. But once people are running Chrome OS (read: chucked windows out, or are sufficiently adapted to the alternative to windows), this will be the stealth path to deploy classic desktop applications.

    Another class of "classic" applications, esp. games might be run through the native client (x86 browser sandbox). Look at chrome - it is the leanest UI of all browsers - really, for the end-users, running an application in chrome through native client will be almost indiscernable from what we do now directly on the desktop. (you maybe right about the architectural and security implications, but the user experience won't be as alien as it might seem at a first glance)

    Don't get me wrong - I think your analysis is right, the browser will be the main UI. Just not the only one. But once end-users really like it, they are going to want to run desktop applications too.

    #3 "If so, what kind of RDBMS will be used on Chrome OS? The most probable answer is "sqlite"."

    Perhaps. Whatever it is, I think Google will want a native JSON protocol to access it, perhaps a native XML protocol too. A lot of the app code is now dealing with converting data to javascript objects (or XML structures) and back again. There has got to be a simpler way.

    ReplyDelete
  3. I think MySQL will still be the database of choice.

    ReplyDelete
  4. why can't I paste in this form?

    ReplyDelete
  5. I think we are all exited what it comes out like. GOOOS (:-) ) will be open source and anybody can add a console applciation, a Window Manger etc - and if Google don't others will.

    I do not think an OS without local file system access is usable. You need a text editor, a simpe image editor etc. I don't believe it will materialize like that. Also because even today you cannt take for granted that you are always online. But I expect that (somewhat like Mac OS-X) that non-primary GUI functionalites will be invisible to users that do not want it/do not need it.

    My personal wish is that GOOOS will ship with Wine or that it will be possible to install Wine. That would very well be a success criteria: that users may continue to user their Windows applications.

    ReplyDelete
  6. ITSolusenz departments manage all components ITsolusenz.com of software development including, Application Development Company, software development company india, Software Development Services.

    ReplyDelete
  7. data entry india applications let you recognize forms filled in by hand in order to automate data entry tasks. Handprint recognition has come a long way in the past few years. Cost and complexity have gone down while accuracy gets increasingly higher. This has finally made this technology available to small and mid-sized businesses.

    ReplyDelete
  8. Interesting article, added his blog to Favorites

    ReplyDelete
  9. Are Alexa's traffic rankings accurate? I'm hearing conflicting stories on this.
    I use a site's Alexa ranking to decide whether to advertise or exchange
    links with them.

    ReplyDelete
  10. Google Vs Bing Vs Yahoo - Which Is Better?

    ReplyDelete
  11. in fact I await the best to this new OS, until this moment any Google product is good, Android, Chrome internet browser, and the same Google is a good product, for these reasons I trust in this new OS.

    ReplyDelete
  12. Hi, thank you for sharing this great info. Was just browsing through the net in my office and happened upon your blog. It is really very well written and quit comprehensive in explaining with a very simple language.

    ReplyDelete
  13. I read about the architecture of Chrome , its said that The firmware contributes to fast boot time by not probing for hardware, such as floppy disk drives, that are no longer common on computers.

    ReplyDelete