Archive for December, 2011

The future of WWW, the Virtual World Transfer Protocol and the Virtual World Traveler

Monday, December 26th, 2011

With more than 2 decades development, the internet industry advanced hugely, at many aspects. But in general life, browsing 2D WWW pages rendered in browsers is still the main user experience. Although there are many rich media types embedded, the experience is still not very engaged.  It is really the time to welcome a more impressive web surfing implementation. It is very possible the new implementation is the very old concept – Virtual World. Thanks to Linden Lab for bringing us the Second Life world, which surely is the early prototype of the future WWW. But the implementation of Second Life is far from the ideal.

What Second Life has done bad?

  • closed ecosystem. Although the client development is open, but the server side is closed. Especially, the world is closed.
  • Linden Lab is too ambitious. They want to build all aspects of the next generation of WWW.
  • the world is flat. Not that bad, but really not real.
  • lame avatar animations and controls

What Second Life has done good?

  • one world instance. This is great comparing to WoW.
  • the world is being modified continuously by users. This is another important good point comparing to WoW.
  • embed 2D pages in 3D world.

What is an ideal implementation?

I really don’t know it clearly, but I think the most important point is to keep the world open. At the server side, any companies/communities/people can create and manage a subset of the world. We can call this role as land service provider, just as nowadays’ page hosting service provider. A sub world may be a small planet, a shopping mall or other weird models.

At the client side, all developers can contribute to Virtual World Traveler, just as nowadays’ browsers. Certainly, there will be many technology standard proposals born and vanish. But surely some will be the winners, just as nowadays’ HTML and CSS.

The HTTP protocol is not good enough for the Virtual World, we need a new protocol, Virtual World Transfer Protocol (VWTP) is a good name, which will keep the connection state alive between the server and clients. The domain system still works, and the coordinate will be important part in URL, such as vwtp://example.com/(x,y). There will be many type of coordinates. The coordinates may have 2, 3 or 4 and more dimensions.

What is the corresponding concepts of HTML/CSS in the Virtual World, maybe they will be the triangle meshes and textures used in nowadays’ 3D games, maybe they are others, hybrid model formats showing in one scene is not a bad idea. Renderer will be a important component in the Virtual World Traveler. Multiple renderers functioning at the same time will be very possible.

AI has not counterpart in nowdays’ browsers.

There will be many creative application types in the Virtual World, such as virtual play fields, virtual theatre, etc.

The Virtual World even will affect the development of future operating systems.

The age of NoCompiler languages will come.

Sunday, December 4th, 2011

The mobile age is coming, with a very fast pace. But most people today still think mobile devices will not replace PC completely. One reason may be programming is difficult on mobile devices. This is right, if we will always program by typing texts.

The “Text Typing -> Compile -> Link” model is so successful in the past decades so that other models fall into the shade. But with the coming of mobile age, the situation will change.

Text programming obviously is not a good model in mobile age. How about visual programming? Visual programming really has more natural advantages than text programming. They will surely get a larger market share on mobile devices than PC. But I don’t think traditional visual programmings will be the final winner on mobile devices. If it will, it has defeated text programming on PC already. The reasons why it didn’t win on PC are exact the reasons why it will not will win on mobile device.

(Here, I mean the narrow visual programming definition, for example, LabView. In a wider visual programming definition, using Adobe Flash CS even PhotoShop can also be viewed as visual programming. Artists are programmers, programmers are also artists. :))

What programming language model will win on mobile devices? I really don’t know. But I have a candidate solution, which is a combination of traits from both text programming and traditional visual programming. Finger Programming is a good name for it. But I would call it NoCompiler Programming or YouComiler Programming language. Yes, this type languages need NOT compiler. You, the programmer, is the compiler. When a program is coded done, it is already compiled. We just need a linker to create the final execute program or a no-compiler VM to run it.

It is hard for me to describe clearly how to use NoCompiler languages to program here. If you ever used Phyard Builder’s script editor, you know what I say above. Now the Piapia language, Phyard Builder’s script language, is still far to the perfect implementation of a good NoCompiler language. I will improve it continuously. In fact, the current implementation is much like the script editor of Flash MX Studio (I really don’t know what it is like in Flash CS), but there will be more and more differences.

If NoCompiler programming model, or another model for mobile age, wins text programming, the PC age will be over.
Another impact of NoCompiler languages is the current predicted future Cloud Compilers will become Cloud Linkers.