Thursday, September 14, 2006

I met Sabeer Bhatia, co-founder of Hotmail.

I could meet Sabeer Bhatia today. He came to our Carnegie Mellon campus as a guest speaker. I was very impressed and motivate by his speech. He talked about hotmail story and his other startup ventures. Hotmail was a big success. The later startups were not as successful. All this information is available on web so I won't spend time on it.

I just wanted to share one thing, which I took from his speech. In his entrepreneur career there were ups and downs but there was one thing, which was constant. His tremendous passion towards whatever he is doing.

I guess every entrepreneur requires this passion. Passion helps entrepreneur to face hurdles in day-to-day business. Passion helps to retain employees since employer’s passion also influences them. Passion drives you successfully through downturn.

Now the question is: How people like Sabeer are always so passionate. I am not sure.
What are your thoughts on this? Please post your comments.

Monday, September 04, 2006

Web 2.0

What is Web 2.0

There are several definitions floating around Web2.0. The most simplistic definition would be second generation of Internet based services.

The first generation was during dot com boom where the major emphasis was to publish your content on the web and look for ways to find more number of subscribers. The second generation is all about easy and to certain extent real time collaboration. You do not need a heavy investment to publish your content. You do not need heavy investment to reach millions of users. The technology enables you to publish your opinions, demonstrate your strengths and get feedback from other Internet users.

Web2.0 is a combination of technology, business trend and newer approach of using an Internet.

Is web2.0 a bubble?

I do not think so. Bubble is always related with Finance. Finance bubble occurs in two simple steps: 1. People invest too much due to some fortune telling or speculation and 2. Withdraw money all of a sudden because of another speculation. Today all of us are very careful investors since we saw the dot com burst just a few years ago. People will invest in companies who solve customer’s problems with the help of technology rather than just provide a technology.

What problems web2.0 can solve?

I can think of few areas.
1. Web 2.0 is a great media for people having great skills but unable to demonstrate in front of mass audience because of lack of funding or unavailability of platform. E.g. a person living in third world country has great product ideas then it’s easy for him/her to share through wikis.
2. Offshore software development model can utilize web2.0 for effective communication.
3. Offshore manufacturing models can utilize it for collaboration with different companies in supply chain. E.g. Design partners, tooling partners, suppliers, contract manufacturers, OEMS can collaborate for new product launching.

There might be more than these applications. The companies in this space will be successful only if they solve the real customer problems.


How Web2.0 can generate money?

I think the revenue generation is through effective advertisement. I feel that Internet is major competitor of television. In few years advertisement on Internet will be more effective than advertisements on television.

Monday, June 26, 2006

Work models used in systems and requirements

Five different models provide five perspectives on how work is done. These are described in the following table.


Flow Model
=========


Usage: To capture communication and coordination between people and organization.


Description: This model offers a bird’s-eye view of the organization, showing people and their responsibilities, the communication path between the people independent of time, and the things to be communicated—either tangible artifacts or intangible coordination. It’s appropriate to use it for building a product for many customers. It helps to get most appropriate flow at abstract level which is useful for many customers. This helps to create a product for multiple industry segments. (E.g. ERP systems)


Sequence Model
============


Usage: To capture detailed steps performed to accomplish a task.

Description: The sequence model represents the steps by which work is done, the triggers that kick off a set of steps, and the customer intents that are being accomplished. This model starts with overall intent of the sequence and the trigger that initiates it. Then it lists each step in order. Steps that can cause problems are labeled with lightning bolt. This model is appropriate for building product for multiple customers to identify common intents and common steps.

Artifact Model
==========

Usage: To find out how artifacts are used and structured in doing the work.

Description: Artifacts are tangible things that people create or use to help them get their work done. Artifacts gives insight into following: Which information is important to user, How the information is used, How to organize information according to user needs.
In muli-customer product, it might not be very useful to study this model for every customer. Artifact model for one or two representative customers is good enough for design.

Cultural Model
===========

Usage: To capture culture and policy.

Description: Culture and policies of an organization typically influence how work is carried out. Lack of understanding of culture and policies might produce a system which is not acceptable or useful to customers. This model helps us to find influencers (people/organizations/groups) and the extent to which they influence the work. This in turn helps to design a system appropriate for a culture. This is useful in developing product for multiple customers to find out the culture at abstract level. Sometimes, nature of process drives a culture and it can be similar across organizations.

Physical Model
===========

Usage: Demonstrates the physical environment as it supports the work.

Description: Physical model reveals design constraints. The model represents how the work is structured at individual workplace and site. This model gives more insight into organization of environment used to carrying out a work. This model is not equally important for multiple customer environments since the physical model might be entirely different for each customer.




Reference :
Contextual design by Alen Cooper
and
My experience with these work models

Vision Statement in software project

Vision document describes application in general terms, description of target market, the system users and their profile, and application features. In summary, vision document is a concise description of everything which is most important about product and application.

In software development, development teams get grouped based on either similar technology or similar features. E.g. UI group, backend group, Java developers, Billing System team etc. As we go along, each group’s thinking becomes narrow and gets restricted to their own domain. These teams initially interact with marketing very closely but this interaction becomes infrequent during development cycle. The decision making during development is completely influenced by groups who have very good articulators. This type of development environment is not appropriate since it is not customer focused. Vision document helps to alleviate this problem if visited frequently during development cycle. This document connects customers, management team, marketing, development team, and project managers and helps them to come to a same play ground. It helps teams to understand the end customers, their bottom line, users who are going to use the software. With this understanding, decision making and priorities revolve around customers and their problems.

Vision statement enables team to produce a product which is easily acceptable by customers. Customers get features which they consider important because those features solve their business problems.

Sunday, May 28, 2006

Use Cases

What is a use case?

According to Alistair Cockburn, use case captures a contract between stakeholders of a system about its behavior.

Why use cases are important?

Use cases depict all possible interaction of users with the software system. In any project, capturing use cases is a useful step. It helps us to think in direction of end user’s perspective. We tend to capture significant exceptions conditions in requirements stage itself. It helps development team to understand the system from user perspective. Use case also helps project managers to set milestones and come up with estimations.

User interaction might be very small percentage of total requirements, but all the requirements revolves around user interaction. Consider user interaction as a hub of requirement wheel and the spokes are resulting requirements in all direction. If we can capture most of the user interactions then we can assume that we have captured most of all requirements.

Use cases are not perfect. We write use cases based on current understanding of system and domain knowledge. In all software projects teams’ understanding of domain, requirements and technology improves as time passes. It’s a natural process. Some use cases might sound stupid towards the end of the project, but you need to appreciate that those stupid use cases lead you towards right path. We need to strive to make use cases sufficient.

Reference
I would recommend a book called “Writing Effective Use Cases” by Alistair Cockburn. Author discusses various use cases formats and their applicability in different situations.

Friday, May 19, 2006

Contextual design

Any successful system improves its users’ work practice. The improvement means increase in efficiency and accuracy. One should be able to deliver in less amount of time without any errors. Technology in software really does not matter. People decide to use jazzy user interfaces because they look good during demo and they look “cool” to your developers. But, if that extra graphics is killing the performance and not adding any convenience to end users then it’s incorrect technology to use. If particular software is going to improve the system then it will get revealed during design phase itself. If we are not sure about it after completing high level design then do not start coding. It’s time to revisit your design.

Contextual design as described by Hugh Beyer and Karen Holtzblatt promises successful software. The process of contextual design drives work redesign if required. Work redesign brings the designers together to discuss the consolidated data and how technology can improve the work. This focuses the conversation on how technology helps people to get their jobs done, rather than on what could be done with technology without considering the impact on people’s real lives.

For more details on contextual design, I would recommend you to go through book called “Contextual design – Beyer/ Holtzblatt”.

This book is available on Amazon.com
http://www.amazon.com/gp/product/1558604111/qid=1148032519/sr=2-1/ref=pd_bbs_b_2_1/102-4335525-3001724?s=books&v=glance&n=283155

Tuesday, May 16, 2006

Software development and engineering manufacturing.

I came from manufacturing background. I grew up in an Industrial area in India. Since I was a kid I had tremendous interest in engineering manufacturing. I also worked in manufacturing industry for few years. I dealt with suppliers and contract manufacturers. It involved design of tooling and co-ordination with contract manufacturer to get it manufactured. All the specifications in engineering manufacturing are communicated through engineering drawing. Engineering drawing is very powerful specification tool. Once the idea is presented through engineering drawing, there is hardly any room for ambiguity. You can send any complex drawing to Singapore, Taiwan, India or any country for that matter, and get it done as you specified without much of a co-ordination. Most of the co-ordination is around dates, contracts and logistics.

I always wondered, if it is possible to get it produced as per the specification in engineering manufacturing then why it’s so difficult to get it done in software. I made an opinion that the engineering manufacturing is at least 300 years old industry and so the specifications are much matured. It will take some time for software to come up to that stage.

I asked this question to Dr. Mark Paulk. Mark is a Senior Systems Scientist at Carnegie Mellon University. He is currently working on the eSourcing Capability Model for Service Providers (eSCM-SP) and related sourcing topics for the IT Services Qualification Center. His research interests center on high maturity practices, statistical analysis and control of software processes, and agile methods. I met him in Carnegie Mellon’s west coast campus. He gave me very insightful answer. He said manufacturing and software development is not apple to apple comparison. Engineering design process can be compared with software development. You are constantly designing while you develop the software. The manufacturing equivalent in software is CD burning. CD burning is a very mature process and people can do it with zero defects. This sounded pretty trivial at face value but there was a tremendous insight behind it.

We all tend to consider software coding as if it’s a manufacturing process. We all try to manage software development as a production shop and we always fail. We need to understand that we are in design process till we cut the first CD for our customers. This means all stakeholders involved in development need to know what exactly customer needs. This means, all the people in development need to be very clear about product vision, market for the product, business aspect of product and of course the technology behind it. Most of the software development companies keep their developers away from business, keep their product people away from technology. This division of labor works fine in manufacturing when design is done. It really does not work during design where innovation is required.

Links :
Dr. Mark Paulk
http://west.cmu.edu/who_we_are/faculty_staff/directory/1772556.html

OpenSource software recommendations for mid sized company's IT

This blog is about a opensource software recommendations report for a mid sized company's IT . I have used a fictitious company called XYZ Semiconductors whose IT is willing to go for opensource software.

SugarCRM is one of the very mature business application within opensource software. SugarCRM customer list includes customers who are moving from salesforce.com to SugarCRM. I consider this as a significant achievement of opensource software.

Executive summary
XYZ Semiconductors needs CRM software for growing business needs. We recommend open source SugarCRM professional version to fulfill the needs. SugarCRM provides all the required CRM features for XYZ. It's very intuitive and easy to use for sales users and their management. It's very easy to customize the software for growing business needs.

Company profile
XYZ semiconductors Inc. is in the business of semiconductors design and distribution. They do chip designs and get the manufacturing done through contract manufacturers. The company started 5 years ago in 2001. It been growing 20% per year since then. The company's annual revenue for year 2005 was $ 200M.The company has IT department to support software applications used across business functions. Their IT has developed applications for finance and distribution over the past few years. These applications use Oracle database and Java/JSP as a technology stack.

CRM software need
As the company's business is growing they need CRM software to manage sales opportunities, promotions and pipelines effectively. They have potential 30 sales users who will use this software for day to day job. They also have some staff in marketing and sales who will need to have business intelligence functionality. They estimate that the number of users will go up to 60 users in next three years. Company needs a CRM software which can be implemented in two to three months time.

The software should be able to accommodate their changing business needs. The anticipated changes are due to changes in business processes, new product introduction etc. The software should be able to integrate with existing finance and distribution software. The software should scale for growth in number of users and number of transactions.

IT is looking for following functional features in CRM software.

1. Manage leads and opportunities generated through field sales and Tele-sales.
2. Manage sales pipeline.
3. Integration with existing finance and distribution system.
4. Marketing promotions and campaigns.

The IT management is open to use opensource software. The IT management is open for OpenSource software since they are using Bugzilla as a IT issue tracking tool.

SugarCRM recommendation
We strongly recommend SugarCRM1 open source software – professional version to fulfill CRM needs of the business. SugarCRM is the most significant open source player in the CRM market (other names include Anteil, Compiere, and OhioEdge). To build their CRM suite of products, SugarCRM has been able to galvanize and leverage a community of 3,000 developers2 SugarCRM includes features such as workflow management, user-interface themes, access control, mail merge, as well as customizable dashboards and advanced reporting. The workflow automation feature should bring SugarCRM closer to the more established SMB market players. Since Sales Automation is typically the first foray a company makes into CRM, lead assignment automation, alert generation, and other workflow automation are important features. Further notable features of SugarCRM include its availability in 24 languages, as well as the ability to define, launch and measure e-mail marketing campaigns, then transfer the campaign leads into the sales pipeline.

In addition to the features already mentioned above, SugarCRM also has support for wireless capability, accounts, contacts, leads, opportunities, tasks, emails, case management, and calendaring with call scheduling and meeting planning. Included is also Project Management, a non-typical SFA module. Furthermore, an additional module called Sugar Collaborate adds tools like document management, employee directory, and calendar synchronization.

Business benefits
We do see following benefits to XYZ.

1. Potential savings in license cost and support cost compared to established ERP vendors like Siebel.
2. All required feature are supported in professional version.
3. Availability of source code and no license restriction to modify the source code for customization needs. They need not to unnecessary alter their business processes simply because software can not support it.
4. SugarCRM is based on LAMP technology stack. It's very easy to find skills in this technology stack.

Licensing
The company needs to purchase SugarCRM under SugarCRM public license. It comes with unlimited online and email support and free software updates. Customer gets source code and they can modify it as per their requirements. The license cost as of 4/23/2006 is $239 per user per year. The license is called SugarCRM public license2 or SPL in short.


Support
Support is available through lot of product related information on SugarCRM website. We can classify support as free support and paid support. Here are the details.

Free support
1. Discussion forums available at http://www.sugarcrm.com/crm/index.php?option=com_network
There are dedicated forums for individual product features. All forums are very active. There are some forums for foreign languages.
2. Software updates, documentation, user manuals are available at http://www.sugarcrm.com/crm/download/sugar-suite.html.
3. We can look at the bug database through http://www.sugarcrm.com/crm/?option=com_sugarbugs&Itemid=&task=search. We can search bugs by different attributes.
4. SugarCRM has comprehensive FAQs (Frequently asked questions) available at http://www.sugarcrm.com/forums/faq.php

Paid support
It's provided by SugarCRM. Customers need to buy annual support which costs around $100 per year per licensed users. Customers can get support in the areas of installation, features and customization. Customers can access sugarNetwork for Microsoft plug-ins and training material.

We encourage XYZ to buy a support subscription for the first year. XYZ developers and business analysts can make use of free support and evaluate if the paid support subscription is required from next year. Please note, software updates are available to customers even if they do not subscribe to support services.

Consulting services
Professional consulting service is also available through Olliance group3. SugarCRM and Olliance group have strategic partnership. They offer complete consulting and technology solution packages for enterprises evaluating or running open source business applications.

XYZ's IT staff will be able to implement and maintain SugarCRM without the help from outside consulting firms. XYZ uses standard CRM processes from lead generation to order booking. These processes are supported by SugarCRM at a business process level. However there will be some customization required. SugarCRM is based on LAMP (Linux-Apache-MySQL-PHP) technology stack . It's very easy to find development skills in this technology stack as well as current development team familiar with database and web programming can come up to speed in this technology stack after sufficient training. There are lot of training courses available on web.

SugarCRM references
The references and case studies are available at http://www.sugarcrm.com/crm/customers/index.html. We encourage XYZ IT management to go through the case studies and contact customers to get more references

Recommendations for future
XYZ can make use of more features such as mobile connectivity in another phase. XYZ can also evaluate open source software in other domain
Most of the OpenSOurce software in the other domain areas like project management, content management, ERP applications are based on LAMP technology stack. Once XYZ gains experience in maintaining LAMP stack, it will easier for IT to adopt more open source software from other domains.
1http://www.sugarcrm.com/crm/
2http://www.sugarforge.org/content/developer-zone/
2http://www.sugarcrm.com/SPL/
3 http://www.olliancegroup.com

Saturday, May 13, 2006

Installation of commonly required opensource software on Linux

I strongly feel that all software will become open source in next ten years. As the software become commodity, source code really does not matter. How you create business around your software matters a lot. Opensource software on Linux is a persuading combination for computer adoption by common people from developing countries like India, China etc. Most of the middle class educated people can not afford Microsoft products. There are tons of small scale businesses in India who are willing to go for back office automation but the hurdle is license cost and support cost. Hardware cost is really not a big deal.

I thought, let's install commonly used openSource software on Linux and see how mature is the market in this domain. I found lot of interesting information around business models based on OpenSource software. I will post that information in next blogs.

I will focus on installation part in today's blog.


1. Introduction
------------------
This document talks about creating Linux partition on laptop and installation of followings software:

Linux distro Ubuntu 5.10
Apache, PHP and MySQL (Great gift for small-medium size business IT)
SugarCRM (Successful opensource customer relationship management)
Drupal (Content management opensource software)


2 Creating new partition on laptop
-------------------------------------------
Before install, I used QTParted on a Knoppix CD to resize my WinXP partition to 80GB from 90GB.


3 Installation of Ubuntu Linux distro
---------------------------------------------

3.1 Ubuntu 5.10 installation
----------------------------------
CD image for Ubuntu 5.10 (ubuntu-5.10-install-i386.iso) is available at http://mirror.mcs.anl.gov/pub/ubuntu-iso/CDs/5.10/
I burned a CD with above image and installed Ubuntu on remaining 10GB partition.


3.2 Updating installation
-------------------------------
I updated installation by issuing following command
# sudo apt-get update


3.3 Activating wireless connection
-----------------------------------------
We need to first make sure that the wireless card on laptop is recognized by Ubuntu installation. I confirmed it from network settings as follows:
1. Go to System -> Administration -> Networking
2. Click on “Wireless connection” and then click on “Properties”.
3. Select Network name from list of available networks.
4. In “Connection settings” section, set configuration to “DHCP”.
5. Click OK.

This will set up a wireless connection.


3.4 Configuration of Printer
----------------------------------
Follow the steps for printer configuration:
Go to System-> Administration-> Printing
Click on “New Printer”
Select “Network Printer”
Specify URI. In my case, it was a printer within my company.



4 Installation of Apache2
-------------------------------
Ubuntu has provided apt-get utility for installing standard packages like Apache, PHP and MySQL. We can install these software by issuing following commands:
# sudo apt-get install apache2
It installed Apache version 2.0.54
You can re-start apache for sanity check by following command
# /etc/init.d/apache2 restart
Forcing reload of web server (Apache2)...
We can confirm the installation by going to http://localhost/apache2-default/ through browser.


5 Installation of PHP
-------------------------
PHP version 5.0.5-2 was installed using following command.
# sudo apt-get install php5
In order to test PHP, I created a small testphp.php page as follows:

Copied testphp.php to /var/www. It was viewed through http://localhost/testphp.php.


6 Installation of MySQL
-----------------------------
I followed instructions on MySQL's website http://dev.mysql.com/doc/refman/5.0/en/Linux-rpm.rpm.html to install MySQL server 5.0.19.
Later I followed post installation steps from http://dev.mysql.com/doc/refman/5.0/en/unix-post-installation.html for validating and testing installation.


7 Installation of sugarCRM
---------------------------------
I went through following steps for installation of sugarCRM.

1. Download latest stable version of suagarCRM from http://www.sugarforge.org/frs/download.php/1104/SugarSuite-4.0.1e.zip

2. Copy SugarSuite-4.0.1e.zip to apache2's public html directory. In my case, I copied to /var/www

3. Unzip SugarSuite-4.0.1e.zip

4. Rename SugarSuite-4.0.1e to sugarCRM for convenience.

5. Restart apache2

root@prashant:~# /etc/init.d/apache2 restart
* Forcing reload of web server (Apache2)...

6. Go to http://localhost/sugarCRM. It starts the installation wizard on browser itself. This wizard will take you through license acceptance and registration.

7. Continue following the wizard. It does a system acceptance check. It asks you to perform certain tasks if the system is not ready for installation. In my case, I had to do following corrections:

- I needed to give write permissions to following directories and their1 sub-
directories in /var/www/sugarCRM:
custom, modules, data, cache,

- I needed to give write permissions to /var/www/sugarCRM/config.php

- It asked me to increase PHP memory limit to 20M or larger. This was done
by modifying /etc/php5/apache2/php.ini file. We need to search for word
'memory_limit' and set it to 20M as follows

memory_limit = 20M

8. The next step is to do database configuration. It was done with following parameters
- Host Name : localhost
- DatabaseName : sugarCRM
- User Name for SugarCRM : sugarcrm
- Password for SugarCRM : welcome
- SugarCRM admin password : welcome

9. With these steps, I was supposed to be done with installation but I faced one hurdle. SugarCRM was not connecting to MySQL database. It gave me following error:

Database admin user name and/or password is invalid (Error 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client).

I restarted MySQL database and restarted Apche2 but the error did not go away. I went to SugarCRM help forum and posted this question twice but I did not get any response. Finally, I found some information in MySQL documentation http://dev.mysql.com/doc/refman/5.0/en/old-client.html

This documentation explained the configuration steps for old client. The error was due to the fact that the sugarCRM latest stable version uses older MySQL client. We need to update MySQL root password using “OLD_PASSWORD” API.

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('welcome')
-> WHERE Host = 'localhost' AND User = 'root';

mysql> FLUSH PRIVILEGES;
This step resolved the issue with database connection and I was able to complete installation.


8 Installation of Drupal

I followed the instruction on http://wiki.clug.org.za/wiki/Drupal_CMS_on_Ubuntu_5.10_(Breezy)
for drupal installation. Drupal installation was very straightforward and I could complete it without any hurdle. Here are the steps used :

1. Download Drupal in some directory
wget http://drupal.org/files/projects/drupal-4.6.5.tar.gz

2. Extract the contents of above archive.
tar -zxvf drupal-4.6.5.tar.gz

3. Move Drupal into web server's root directory
sudo mv drupal-4.6.5/* /var/www
sudo nv drupal-4.6.5/.htaccess /var/www

4. Create the Drupal database:

mysqladmin -u root -p create drupal

5. Set database access rights for Drupal database:

# mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON drupal.* TO root@localhost IDENTIFIED BY 'welcome';
mysql> FLUSH PRIVILEGES;
mysql> quit

6. Load Drupal database schema.
mysql -u root -p drupal < database/database.mysql

7.Configure Drupal to access MySQL

cd /var/www/sites/default
sudo vi settings.php
Search for word mysql and modify db_url as follows:
$db_url = 'mysql://root:welcome@localhost/drupal';

We need to remove previous index.html (if any) from /var/www directory.

8. This completes the Drupal installation. Drupal does not create any sub-directory in apache's public html. In other words, we can log on to Drupal by going to http://localhost. We need to remove previous index.html (if any) from /var/www directory.

Wednesday, April 26, 2006

Installation of MediaWiki and SugarCRM on windows XP

Introduction

    In this task, I have successfully installed MediaWiki and SugarCRM on
    Windows XP. I did some customization in each application.

    MediaWiki

After installation and changed the skin to “chick” by modifying
LocalSettings.php as follows.


a. Locate LocalSettings.php in Apache public_html / wiki directory. In
my case the file was located at C:\Program Files\Apache
Group\Apache2\htdocs\wiki.


b.Configure skin using parameter as follows

$wgDefaultSkin = 'chick';


The resultant main page is as follows:





SugarCRM

I performed following tasks after downloading sugarCRM.

1. Created a new account.


2. Created a new contact.




3. Modified “Account List” screen by swapping “user”
and “city” columns.





Tuesday, April 25, 2006

Opensource software business readiness

If you are CTO, IT director or manager and wish to adopt open source software for your organization then visit www.openbrr.org.
One of the challenge is to select software from thousands of available software. Business readiness rating will help you to determine business maturity of the software. You can also contribute to these standards. I don't want to sound like I am trying to market this framework. However, I encourage you to visit openbrr.org and make use of it.

Installation of common OpenSource software on windows XP

This documents discusses the installation of various open source software on windows XP. The document talks about web site from which the software got downloaded, information source for installation and useful information which will help others to install these software n their own.

Installing Openoffice 2.0

Downloaded from: http://www.openoffice.org/

Installation tips:
1. Go to http://www.openoffice.org/

2. Click on green box with text “get Openoffice.org version 2.0.” and follow the instructions. Select “Install with JRE”. It will download Ooo_2.0.2_Win32Intel_install_wJRE.exe.

3. Run the executable file downloaded in step 2. It will install OpenOffice.

Testing:
1. On windows, go to Start->All Programs->OpenOfficeOrg2.0 and verify that you can see following products in the list
OpenOffice.org Base
OpenOffice.org Calc
OpenOffice.org Draw
OpenOffice.org Impress
OpenOffice.org Math
OpenOffice.org Writer

2. Open Writer and write few lines and save document.

3. Open Microsoft Word document using Writer.

4. Open Microsoft excel document using Calc.


Installing Apache 2.0

Downloaded from: http://httpd.apache.org/download.cgi

Installation tips:

Open a web page http://a51.neostrada.pl/. This web page is a tutorial to show you how to install Apache2 with PHP5 and MySQL. The instructions are very clear and everything worked for me as described. You can use download links from this web page or you can download it from http://httpd.apache.org/download.cgi.

1. Click on “Win32Binary(MSI Installer):” link on above web page.

2. It will download apache_2.0.55-win32-x86-no_ssl.msi file. Run this file by choosing “Run” option. It will open up installation wizard as follows.

1. Follow the instructions on installation wizard to install Apache.

2. Here are the key settings which I used whenever asked by installation wizard.
1. Network Domain : localhost
2. Server name : localhost
3. Installation : Typical

Testing :
1. Click on a feather-like icon on the task bar. Right-click and select "Open Apache Monitor".
If the monitor comes up with “Apache2” along with green button then we can assume that the
Apache server is started.

2. Now visit http://localhost/ You will see following web page.

3. Using Apache monitor stop and restart the apache server.


Installing PHP5

Downloaded from: http://www.php.net/downloads.php

Installation tips:

1.Follow the instructions mentioned in http://a51.neostrada.pl/

2. The instructions will configure apache for PHP5. It is achieved by configuring httpd.conf.
We need to add following text at the bottom in httpd.conf
LoadModule php5_module C:/Server/php/php5apache2.dllPHPIniDir C:/Server/phpAddType application/x-httpd-php .php

3. You will also need to copy some dll files from ph5 installation directory to Apache2 installation directory. The detail instructions are available in http://a51.neostrada.pl/

Testing:

1. Create phpinfo.php with following content


2. Copy phpinfo.php to Apache2/htdocs directory.

3. Re-start Apache.

4. Visit http://localhost/phpinfo.php. You will see following page.




Installing MySQL5.0

Downloaded from : http://dev.mysql.com/downloads/mysql/5.0.html

Installation tips :

1. Click download link associated with Windows (x86)

2. It will download mysql-5.0.19-win32.zip file.

3. Click on the “Setup” after double clicking above zip file. Follow the instructions shown by setup wizard.

4. Choose custom installation and follow the instructions given in http://a51.neostrada.pl/

5. Download phpMyAdmin from http://www.phpmyadmin.net/home_page/downloads.php

6. Extract the file to Document Root\pma (In my case “C:\Program Files\Apache Group\Apache2\htdocs\pma”)

7. Edit config.default.php located in pma folder by following the instructions in http://a51.neostrada.pl/

8. Restart Apache2.

9. Visit http://localhost/pma/. It will come up with following page, which confirms that the installation is successful.

10.Click on “Show MySQL runtime information”. This page fetches information from database and confirms that MySQL is correctly configured.


Installing FireFox 1.5

Downloaded from : http://download-firefox.org/free-downloads/

Installation tips : The installation is very straightforward. Just follow the instructions.

Testing

1. Visit some web sites using firefox.

2. Create RSS feed using “Manage bookmarks”.


Thunderbird

Downloaded from : http://www.mozilla.com/thunderbird/

Installation tips : The installation is very straightforward. Just follow the instructions.



Azureus

Downloaded from : http://azureus.sourceforge.net/download.php

Installation tips : The installation is very straightforward. Just follow the instructions.


Eclipse

I already use eclipse 3.0 for Java development. The download is available from
http://www.eclipse.org/


Summary
The installations were very straightforward for most of the software. Some configuration is involved for running Apache+PHP+MySQL together. The detail instructions for configuring Apache+PHP+MySQL are available on http://a51.neostrada.pl/.