Thursday, February 08, 2007

POW: the embedded web server Firefox plugin has arrived!

Server Side JavaScript (SSJS) is back with avengeance, except now the server *is* the client!

David Kellog's POW Firefox Plugin (Plain Old Webserver) [See also: Wiki and Forum thread] is a work of near genius. I have blogged before about how we are on the brink of a POW is evidence of this. I have written about Embedding Databases, Web Servers, App Servers in the Browser, we have seen Sun's impressive LAJAX applet embedded Java DB (Apache Derby) demo, my own prize winning ;) experiments with Jetty and Firefox 2.0 support for persistent storage using SQLite.

Enough playing, even at this early stage of development, POW looks like the real thing. I do not really understand how it works (XUL and XPCOM being complete mysteries to me) but I know a good thing when I see it.Since POW uses the Firefox embedded JavaScript engine, it should also support E4X and anything else that should come along in later JavaScript releases.

If there is any justice in the world, POW should be HUGE...


ismjml said...

Been reading about POW since morning on netbut unableto get its usefulness :)

i must be real slow...
Note: Comment imported. Original by Anonymous at 2007-02-22 14:30

ismjml said...

I'm sure you are not real slow otherwise you would not be interested in POW, I sense that like me, you feel that there is something of deeper significance in POW that you are struggling to appreciate! I am in a similar position, POW is interesting, not so much for the state it is currently in (early development), but for what it could become.

I think that the web in heading in a POW direction (I am loathed to say but you could call this Web 3.0!).

There are already similar client side web style technologies in the wild but you may not recognise them as such (e.g. Google Desktop, Mac OS Dashboard and Yahoo Widget Engine), the downside to these is that they are totally proprietary. Hopefully, POW will remain open source and therefore open up similar technological platform to a much wider range of projects.

Imagine a portal application where client settings can be saved to the client side rather than some monolithic relational database! Client site processing is cool; Google Maps showed us that!

Any new innovations that Firefox introduces (E4X etc.) are likely also to work in POW applications. Applications that could be written for POW at first will probably focus on the interactive; this makes sense because the server is online whilst you are browsing the web. So they are likely to be things like chat applications, Wikis and file sharing. Security is a slight concern, if you start installing other peoples POW web applications onto your machine but then again there is always a risk when installing unknown software.

POW is really, really easy to install into Firefox. Compare this with setting up Apache/Tomcat etc. POW has scripting (SJSS) and database access (SQLite) built in, no hassle. Have you ever tried setting up Apache to use PHP and MySQL; IMHO a horrible experience?

So there you have it, database access, scripting, the speed of a local application, familiar JavaScript/Web technologies and the potential to write all sorts of clever AJAX apps (e.g. DOJO offline). It is still early days but what's not to like?

Note: Comment imported. Original by markmc website: at 2007-02-22 15:43

ismjml said...

Yeah, but what does it DO?
Note: Comment imported. Original by Anonymous at 2008-01-23 20:36

ismjml said...

POW hosts JavaScript applications


Apache hosts PHP or Perl applications

Note: Comment imported. Original by markmc website: at 2008-01-24 08:56

ismjml said...

As a teacher I find this could be potentially really useful.

Imagine a classroom with 5-25 computers. Now imagine that students and teacher can start up and add pages, applications, etc. to a series of webservers - chats, community shared directories through the web.

Now imagine being able to do this across an ENTIRE SCHOOL.
Note: Comment imported. Original by ancienthart at 2008-04-20 09:09

ismjml said...

Its really a "what can't it do?" question if you ask me. I was just sitting around the other day, before i noticed POW, playing with my WAMP server and envisioning web applications that rely upon a client side server. The reason for this line of thinking was the want to develop an application(s) that ports easily across platforms and, in the particular case of what i am doing, on intranet rather then the internet. This will make one less step for my network and enable me to create tools that can be deployed when there is no hope of being connected to the internet and people are still relying upon technology to get a job done.
Note: Comment imported. Original by Zak Venturo at 2008-12-31 08:57

for ict 99 said...

IEEE Project Domain management in software engineering is distinct from traditional project deveopment in that software projects have a unique lifecycle process that requires multiple rounds of testing, updating, and faculty feedback. A IEEE Domain project Final Year Projects for CSE system development life cycle is essentially a phased project model that defines the organizational constraints of a large-scale systems project. The methods used in a IEEE DOmain Project systems development life cycle strategy Project Centers in Chennai For CSE provide clearly defined phases of work to plan, design, test, deploy, and maintain information systems.

This is enough for me. I want to write software that anyone can use, and virtually everyone who has an internet connected device with a screen can use apps written in JavaScript. JavaScript Training in Chennai JavaScript was used for little more than mouse hover animations and little calculations to make static websites feel more interactive. Let’s assume 90% of all websites using JavaScript use it in a trivial way. That still leaves 150 million substantial JavaScript Training in Chennai JavaScript applications.