Saturday, July 25, 2009

Web 2.0 – A starting pitch…

Web 2.0 fundamentally takes how business uses its customers, partners, and their interrelationship. First any Web 2.0 should focus on bringing the web users together via network effect. For example www.flickr.com is a web 2.0 based website which is carefully engineered to get the network effect rolling in the right place for its partners and itself drive the revenue to the company. Collective user value is the key ingredient to make a Web 2.0 business a success. Network effect is brought in place by usually mixing the following with the right mix of certain ratio based on the focus of 2.0 product – freemium, web based sharing capability with a community around them, network effects. Freemiums are usually not that easy to obtain because strong source of revenue should back the funding required. Some of the freemium business models have become very successful, like Adobe Acrobat Reader, Flickr, MySpace, Skype, etc… . Web 2.0 should always be a booming success if the application has zero marketing cost. Value added services should help the same to maintain a precalculated / speculated amount of money to flow in. Every web 2.0 company can make revenue in the following ways.
I call these the Navarathnas of Web 2.0
  1. Allow users to store data/activity for free up to a certain limit.
  2. Make the tool (web 2.0) to be interactive , fast , optimal which will attract the users to do it again.
  3. For users who cross over certain limit, provide information of how to obtain more features / activity by paying for Value Added Service.
  4. Allow users to share the data/activity information with their other friends , by requesting them to register for a similar service.
  5. Don’t provide free credits, for users introduced by them. U cant give any more.
  6. If a user joins by them self don’t provide free credits again for joining. Ur already free.
  7. Allow users to directly take the data / activity out of  your system to your partners system, where you need to cash upon the transfer from your partners, make sure your partner does not tie up the system which is an exact replica of yours.
  8. Index and optimize search across the data of all users who are willing to share it, and bring in revenue by bringing in ad for targeting such customers.
  9. Allow users to add meta data, make some of the users feel the taste of being a developer… which will make computer novice very happy, expert and developers to learn / make use..
All these Navarathnas should stay on top of one gold ring model which is called the value of your company. When you have such a web 2.0 business built, no doubt that your company will become a multi million dollar business. Make sure that you a solid infrastructure to support the growth of your user base. Having 100 users at a time should not bring down your server.

Sunday, May 24, 2009

Virtual Box – Sun Microsystems

Virtual box is open source – full virtualization of x86 hardware. Unlike Microsoft Virual PC (A free version of virtualization software for x86 architecture) which had some issue to bring up the imagedisplay setting properly for fedora Linux or open Solaris OS. I have a Dell Inspiron 1520/1521 who's WXGA+ diplay uses inbuilt display from intel chipset which shares 512 MB or RAM (max) when the installed RAM is 4GB. On parallel installation of Fedora Linux or Open Solaris OS, they fail to detect my WXGA+ display, or comply with it for even a lower resolution. It appeared the same when i tried to install these Operating Systems as Virtual instances on Microsoft Virtual PC. Microsoft Virtual PC, is expected to generate a virtualized display card with generic drivers, but what i expected was not a true possibility as it was built for what it imagewas. Other hardware virtualization options of Xen HyperV (Open Source) was ruled out, because the issue was not just installing Virtual OS over my laptop but, was to bypass the video card compatibility issue with Open Solaris OS or Fedora Linux. Surprisingly i came across the Virtual Box from Sun Microsystems. Open Solaris requires only 512 MB , but if you allocate 512 MB to install the OS then it might take few hours to complete the installation. It is better allocate 1GB+. After it installs Open Solaris runs without any issues on the machine. Network connection gets shared automatically with the underlying Network imageconnection. On the whole I appreciate this flaw less open source Virtual Box.

Friday, April 3, 2009

"Out of the Box" Cloud Computing

What do you see outside the cloud is more important to define than what should be inside the cloud. It is deficult to identify what should be inside the cloud, and its a complex question like what is really Web 2.0 .

When web 2.0 came a few knew a little bit, but they were literally confused of how to define it, and few years later, every one knew, thats a term that can be used to gain better / easy market attention and but not attraction. Still not a clear way to define it.

Any new concept needs to gain attention, which should turn into attraction (at least for developers in the world of IT), for every one to implement it in a development world. Geeks jump on every thing, but that does not mean its popular. Users should jump on and luv to use the same beauty. If not then its real waste of time and money on every new concept of that category even if only net geeks junk blogs on that.

Now lets define Cloud Computing.

Definition : A process of computation that is developed in one or many definable locations and the same which compiles or executes (based on type of application) in a non definable location, over a non specific platform connecting to any type of application only via an interface (API) which is appendable, deductible & alterable at will of development from single point by secured application configuration is defined as Cloud Computing.

Beauty of Transfer :

SaaS (Software as Service) : Helped users to get things done, without loading Software on their define location / server / machine.

HaaS (Hardware as Service ) : Helped users to get things done using a hardware which does not exist in their location.

PaaS (Platform as Service) : Helped users to use (HaaS) and (SaaS) together, for their benifit.

Though these were existing, if you want your app from one service provider to another , yuck... ull have to cry the hell out of you wallet do bare those expenses.

With Cloud in picture, you develop your app that might have a (HaaS) which you can switch any time you want.

With Cloud in picture, you develop your app that might have a (SaaS) whose interface you can swith any time you want.

With Cloud in picture, you develop your app that can move where ever you want, but you dont know the physical location of where exactly your app runs from.

Worries for you : Only your development

Happines for you : Lower Cost

Risk for you : Data Security.

Thursday, December 14, 2006

First question for any one in Java .. ? JVM/JRE/JDK ?

A very old friend of mine at very early stages of picking up Java wanted to know what's exactly different between JVM, JRE and JDK. Well not one, but many did have the same question..

If you want to develop Java get these clear.

JVM is inside JRE, or its an instance of JRE. Its like (sorry its not exactly like but in-effect) a virtual machine. When a Java application has to be run, It opens up the byte code (.class file) provided to it. Loads it into the Virtual Machine, interprets the byte code based on machine type on which its running or uses JIT compiler such as Sun’s Hotspot. Keep in mind that some Java programs like Hello World might not even need JIT compilation, it can just work with interpretation, but more complex application might/will need JIT compiler where it compile before running it. It also manages the way the application runs inside the Virtual Machine. i.e. it manages the space allocation, etc… while the loaded application is running. Once execution is complete the JVM is garbage collected.

JRE as explained it contains JVM, and in essence it contains the Java API Libraries, Browser Plug-in, which makes minimum environment to execute Java based applications, and JVM uses these while executing an application. JRE also acts as an interface between the OS and JVM.

So if any one is going to run a Java application (already developed) they will need JRE which sits on top the OS, and JVM which sits within the JRE. So a clients machines will need JRE.

But who is going to develop the application? And one who develops - will they need JRE? No. As explained above JRE will only be able to take in the class file for it to run the application, but to get the class file, developer of the application will need JDK. Developer Kit, is going to contain the list of java classes (over 5000  classes today from Sun Microsystems) to build the java (.java) application to byte code (.class) type. This byte code can be distributed as just .class file, or if there are several .class files which make an application then it can be archived into .jar file type and shipped/transferred to client machine to execute it on their machine where JRE is installed already.

Having JDK on client is not any harm, since JDK comes with JRE and JVM, you don't need to separately install JRE. But its an overkill. Client machines are obviously expected to be thin in configuration , like even a mobile phone can have a JRE where you can run your application, and installing JDK on a Linux based thin machine, will make it choke and cry. So as a developer (expected) who is reading this, you will need only JDK, and request your friends / clients to install JRE.