<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>Netbeans PHP Team Blog Interview</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="author" content="lloyd.dunn@sun.com">
<meta name="description" content="
	Interview with Petr Pišl and Jan Chalupa of the NetBeans PHP Team Blog
	">
<meta name="keywords" content="
	NetBeans, IDE, integrated development environment, PHP, team blog, blog, interview
	">
<link href="../../../netbeans.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
.photobox { 
	float: left;
	padding: 0 1em 1em 0;
	}
	.photobox p.caption {
		margin: 3px 0;
		font-size: smaller;
		}
	
img#teamblog {
    width: 400px;
    border: 1px solid #d1d1d1;
    }

.lead { 
	margin: 2em 0; 
	font-size: 1.1em; 
	}

.callout {
	font-family: serif;
	color: #ee6b00;
	border-left: 1px solid #d1d1d1;
	width: 180px;
	float: right;
	padding: .25em 1em .75em 1em;
	margin: .5em 0 .5em 1em;
	font-size: 1.5em;
	}
	
.infobox {
	width: 180px;
	border-left: 1px solid #d1d1d1;
	float: right;
	padding: 0 1em .75em 1em;
	margin: .5em 0 .5em 1em;
	}
	.infobox p { 
		color: #ee6b00; 
		margin: .7em 0 .3em 0; 
		padding: 0 0 3px 0; 
		border-bottom: 1px solid #d1d1d1; }
	.infobox li { margin: 0 0 0 -2em; }

hr {
	clear: both; 
	border: 0 none; 
	height: 1px; 
	border-bottom: 1px solid #d1d1d1; 
	margin: .25em 0 1em 0; 
	padding: .25em 0 1em 0; 
	width: 100%;
	}

q:before { content:"“";}
q:after { content:"”";}

</style>
</head>

<body>

<h1>Get the Latest from the PHP Development Team Blog</h1>
<h3>Interview with Petr Pišl and Jan Chalupa</h3>

<p class="lead">Along with the release of NetBeans 6.1 last April, the NetBeans PHP development team also released their Early Access for PHP. They have been busy ever since working on new features to support the ever-growing legion of PHP developers. When NetBeans IDE 6.5 is released later this year, it will include built-in PHP support. So that you can get the latest news, details on features, and tips and tricks for developing PHP in NetBeans, the NetBeans PHP development team has begun a new blog called <a href="http://blogs.sun.com/netbeansphp/" title="NetBeans for PHP">NetBeans for PHP</a>.</p>

<div class="photobox">
<a href="http://blogs.sun.com/netbeansphp/" title="NetBeans for PHP">
<img id="teamblog" src="../../../images_www/articles/interviews/php-team-blog.jpg" alt="NetBeans for PHP" title="NetBeans for PHP" /></a>
<p class="caption">Petr Pišl and Jan Chalupa</p>
</div>

<p><b>Tell us about your new blog! Why did you start it, and who it is for?</b></p>
<p><b>Petr Pišl</b>: I'm a tech lead for PHP support in NetBeans and some people asked me for a way to promote what our team is doing. A month ago I was sure I would not write a blog. I want to do things right, and to have a good blog takes a lot of time. After discussing it with Jan Chalupa we created this team blog. Jan made the UI, and I also have to thank Jiří Sedláček, who helped us with this.</p>
<p><b>Jan Chalupa</b>: After retiring from management, I started working on an internal web app (in PHP). So I've been working closely with the engineering team to build PHP support for NetBeans. I was their first user and was constantly impressed by the great product the team was delivering on a very tight schedule.</p>
<p>We shipped the Early Access of NetBeans IDE for PHP in April and I knew that even more interesting and advanced features were already in the works. I thought it would be a good idea for the developers to tell the world what they were working on and get some immediate user feedback. So, I discussed the blogging idea with Petr. The problem was that everyone on the team was extremely busy and most people did not feel they could run a blog on their own.</p>
<p>Then we remembered that the <a href="http://blogs.sun.com/nbprofiler/" title="NetBeans Profiler Blog">NetBeans Profiler guys</a> had been running their team blog for a while and it was working pretty well for them. So, we decided to try to do the same. We started the NetBeans PHP team blog. We even copied the design from the Profiler blog and adapted it to our needs. </p>

<div class="callout">
<q>We want to provide functionality which is not available in other free IDEs.</q>
</div>

<p>Originally, Petr came up with an idea of merging the unofficial PHP logo (the elePHPant) with the NetBeans Cube logo. I tried it, but several people came asking <q>Why the heck is that elephant in a cage?</q> So, I figured my graphics skills were too limited to express Petr's brilliant idea. Perhaps if we can get support from a professional designer, we may revisit it in the future. :-)</p>
<p><b>How long have you been working in PHP development? How did you get started?</b></p>
<p><b>PP</b>: It was something like five years ago that I looked at PHP for the first time. I needed to write a simple web application, which had to run on very old machine. It was machine with Intel 486 processor and 16 MB memory. Running a servlet container for a Java web-based application is not possible on such computer. So I tried PHP. I was able to write a simple application in three days. This application still works!</p>
<p>In December, 2007 I was asked to look at PHP support in NetBeans and figure out what we could do. Lat February, the development of PHP support in NetBeans began in Prague. I worked on the PHP parser and. starting in March, we had had a team of four engineers (including working on PHP support in NetBeans.</p>
<p><b>What do you like best about PHP? What does PHP do that separates it from other scripting or programming languages?</b></p>
<p><b>PP</b>: I really like the possibility to start writing a web application without studying the language or a lot of specifications. The learning curve is very fast. This can be said about other scripting languages as well, but PHP was invented specifically for web development. It's really very easy to start with PHP, there are a lot of tutorials and other materials on the internet.</p>

<div class="infobox">
<p><b>What is it?</b></p>
<ul>
<li>PHP support for the NetBeans IDE</li>
</ul>
<p><b>How do I get it?</b> </p>
<ul>
<li>Download the latest with <a href="http://bits.netbeans.org/download/6.5/m1/">NetBeans 6.5 Milestone 1</a></li>
</ul>
<p><b>How big is it?</b> </p>
<ul>
<li>30 MB with Base IDE</li>
</ul>
<p><b>System requirements?</b></p>
<ul>
<li>Windows, Linux, MacOS X</li>
<li>JDK 5.0</li>
</ul>
<p><b>Features?</b></p>
<ul>
<li>Automatic deployment to localhost or remotely</li>
<li>Code completion</li>
<li>Syntax highlighting</li>
<li>Mark occurrences</li>
<li>Refactoring</li>
<li>Code templates</li>
<li>Documentation pop-up</li>
<li>Code navigaton</li>
<li>Editor warnings</li>
<li>Task list</li>
</ul>
</div>

<p><b>What are some of the good things that the NetBeans IDE can offer to PHP developers? Why should they be using NetBeans?</b></p>
<p><b>PP</b>: This is a really good question. Our IDE is free, and it is smaller than other Java-based IDEs. We are trying hard to keep down memory consumption, and make it a small download. We also want to provide functionality which is not available in other free IDEs. Plus, there are modules from the NetBeans module repository that are very helpful for the PHP developer. For example, we have built-in support for many control version systems (CVS, Subversion, Mercurial, ClearCase). At the moment, we are finishing the first version of PHP support in NetBeans. We want to add a lot of functionality in the next release like refactoring, unit testing and PHP frameworks support.</p>
<p><b>JC</b>: I agree. Our PHP support is light-weight, fast, powerful and free. I would add that along with the advanced JavaScript editing capabilities introduced in NetBeans 6.1 and the JavaScript debugger coming in NetBeans 6.5, we are going to provide PHP developers with a powerful tool for both server- and client-side web application development.</p>
<p><b>How many are on the PHP team? Do all of them post to the blog?</b></p>
<p><b>JC</b>: The PHP team has four developers, one HI engineer, two QA engineers and one documentation representative. Everyone has promised to contribute to the blog.</p>
<p><b>PP</b>: Also I need to point out that Jan is a <q>friend</q> of our team. He was the first real user of our support and he uses it still. Jan helps us with promotion, and the PHP blog. And if you just look at IssueZilla you will see how many bugs he has entered about PHP support!</p>
<p><b>The first post was only a few weeks ago (June 9). Are you pleased so far with the response?</b></p>
<p><b>JC</b>: I don't think we started the blog to make it into any charts. I just felt the team needed a channel to let users know about some new and cool features as they are being implemented and also to get some early feedback. It seems to be working great for both things so far.</p>
<p><b>You've described several purposes for the blog, such as: reaching out to NetBeans users and PHP developers; letting devolopers know when there are new things to try out; offering tips and how-tos; and getting quick feedback to improve the IDE. Does one of these stand out as particularly important to you? Do you have another main goal of the blog you'd like to describe?</b></p>
<p><b>PP</b>: I would just add one more. We want to use the blog as a communication channel with our QA. You know, you have to write up a feature anyway, so why not do it as a blog entry?</p>
<p><b>Thanks for talking with us, and good luck with your new blog!</b></p>

<h2>Give it a Try</h2>
<p>Download <a href="http://bits.netbeans.org/download/6.5/m1/">NetBeans IDE 6.5 Milestone 1</a> and give it a try!</p>

<h2>Further Reading</h2>
<p>Visit the <a href="http://blogs.sun.com/netbeansphp/" title="NetBeans for PHP">NetBeans for PHP</a> blog and leave a comment.</p>
<p>Learn more at <a href="https://netbeans.org/kb/trails/php.html">The PHP Learning Trail</a>. </p>

</body>
</html>
