Wednesday, September 26, 2012

Jayanagar

One of the more traditional places in Bangalore is Jayanagar. My wife keeps coming here for various household needs. Today we're here to get some of her silk sarees dry cleaned. Traditional Indian silk sarees need good care for maintaining their good look and material quality. Band Box Dry Cleaners are a good place in Jayanagar to get the maintenance done. On an idle Wednesday afternoon I feel sleepy here in my car. Zzzz.

Tuesday, September 25, 2012

Jelly Bean update for Galaxy Note!

Finally some dependable news about the release of Jelly Bean update for Galaxy Note. The Verge reports that they received an email from Samsung announcing the plans for Jelly Bean updates for its flagship device and 15 other models which includes the N7000! Yay!

Monday, September 24, 2012

Samsung Galaxy Note (N7000) firmware update 4.0.4 for India

Last week I got an OTA notification from Samsung software update service on my Galaxy Note. It was for the firmware update 4.0.4. In May, the Note was officially updated to ICS (4.0.3) through Kies in India. I've been enjoying ICS since then on the Note which came with Gingerbread installed from factory.

Meanwhile, Galaxy S III has been released and it features an updated Touch Wiz UI with enhancements to Gallery, Contacts, etc apps. Also, the Jelly Bean update was announced by Google in between. So many Note users have been waiting for both these updates on their phones. Although one can root their device and choose from a number of ROMs available (CyanogenMod, AOKP, etc) you will loose the S-Note app and other S-Pen apps. You can use 3rd party apps like Papyrus, but you will miss the S-Memo suite from Samsung which is a good collection of useful widgets and apps. So one is at the mercy of Samsung to announce the updates ASAP for the Note. 

Thankfully, Samsung has addressed the former by releasing this 4.0.4 update. Now you can enjoy the updated Touch Wiz UI that's loaded in Galaxy S III on your Note. It certainly looks pretty. Here is the phone software info on my galaxy note -



We can see from phone info that it is the DDLR1 4.0.4 version firmware and the kernel build date is Sep 8 2012.

Here are few more screenshots from the beautiful screen of Galaxy Note with the 4.0.4 update -







Check out the floating video window in the following pic. You can continue watching a video while going about your activities on the Note!



Now, I'm eagerly waiting for Jelly Bean update for the Note. Though Samsung has vaguely confirmed that it will release Jelly Bean for the N7000 around November, I am a little apprehensive whether it will or not considering that it has officially announced a plethora of new models with Jelly Bean for the same time frame. The biggest feature that I'm looking forward to in the Jelly Bean update is Project Butter, which is going to utilize the latest graphics processing features to render the smoothest Android experience. The demo videos show how lag-free the experience is. With the HD screen and the hardware of Galaxy Note it will be an amazing experience. But, looks like I gotta be a bit more patient till I go hands on with it! Come on Samsung, do it!

Saturday, September 08, 2012

Choosing NetBeans 7.2 as a PHP IDE

I've been planning to use an IDE for my PHP development tasks for sometime now. So far my trusted EditPlus editor has served me well along with the XAMPP stack for developing all kinds of web 2.0 applications using PHP, jQuery and CSS. It is relatively easy to work with PHP as compared to other languages like Java, C, etc. A powerful text editor is generally enough to let you implement your projects with ease, if you know HTML tags and PHP syntax well. However, as the number of projects and deadlines increase and you begin to multitask to the hilt, you painfully realize the limitations of using just an editor.

In my other life I'm an industrial programmer using Java and Eclipse for software development. I love the Eclipse IDE; its a blessing for the Java developer! Development in Eclipse enhances your productivity and efficiency in delivering well tested and high quality Java/JEE applications. I have been using Eclipse for over 7 years now and it has served me very well. Thanks to Eclipse, I have been able to breeze through projects with hundreds of dependencies, thousands of lines of code and multiple deployment platforms. Enterprise Java projects are usually very large with varieties of dependencies and an IDE is pretty much a necessity to get even the basic things done properly with testing (at least for me!). Eclipse provides all kinds of features to help you get through those challenges without much fuss. And if it doesn't, you have hundreds of free plugins to choose from or better yet you can develop one pretty easily!

I recently resumed full time development in PHP for some new projects and I decided that this time I'm going to use an IDE for PHP too. I surveyed the web and found few compelling choices. Usually, for personal projects, I prefer using open source software even if a better commercial or freeware alternative is available. Its a matter of preference and you get to learn and understand a lot of things better if you use community developed software. According to me, it also helps you to become a better software developer and offers you a chance to fix bugs in the product you use immediately, rather than rely on someone else to do it on their own financially justifiable roadmap.

Coming back to the point, here is a list of 10 IDEs, I considered using for PHP and evaluated -
  1. NetBeans IDE 7.2 (Open source and free)
  2. JetBrains PHPStorm 4.0 (Commercial with 30 days trial)
  3. Adobe Dreamweaver CS5 (Commercial with 30 days trial)
  4. Aptana Studio 3 (Evolved from PHP tools for Eclipse. Open source and free.)
  5. Komodo IDE (Commercial with trial)
  6. Microsoft Web Platform, PHP On Windows (Freeware)
  7. Zend Studio 9.0 (Commercial with trial)
  8. Microsoft Expression Web 4 (Commercial with trial)
  9. MP Software phpDesigner 8 (Commercial with trial)
  10. NuSphere PhpEd (Commercial with trial)
There are some other options that you can find on web, but these 10 are the ones in good standing within the PHP community.

Considering that I'm evaluating these editors in 2012, I expected the best IDE to be robust, snappy and lightweight. I won't dwell on the basic features like project/file management, debugging features, etc as these are always taken care of by the developers of these IDEs. These are definitely not developed by amateurs and the makers know their job extremely well.

Dreamweaver is very good. But it is very expensive too! It is a native application for Windows unlike some Java based IDEs which are cross platform. It is fast and pretty. It has a WYSIWYG editor which is considered the best in market by some high profile designers. But I'm not willing to part with so much money just for it being jazzy and convenient. If you know how to hand code HTML/CSS, WYSIWYG will actually hamper your speed, at least I feel so. So I opted out of Dreamweaver even though it is a nice IDE. Maybe if my employer pays for the license I would love to use it. But till then, I would go for a cheaper alternative. The same could be said for MS Expression Web 4 also. Wonderfully polished and modern IDE but too expensive for an independent developer.

I personally didn't enjoy developing in PhpEd, phpDesigner, Zend Studio and Komodo IDE. For some reason I wasn't comfortable using either their UI or development views. Its strictly a matter of personal preference but instead of these paid options which look sort of dated, I would prefer the free and handsome MS Web Platform. You can publish files to your hosting provider also with it. It is a snappy, powerful and free IDE. Many developers hate MS so it won't be a good option for them. But despite its origins in MS, it is a very useful tool made available for free. Aptana Studio is also a free and open source option, but I don't enjoy developing PHP in Java views. Again personal preference. I am too used to an Eclipse based UI for Java that I need a break for other languages. Seriously, this is a genuine occupational hazard!

So now, only 2 choices remain.

JetBrains are an awesome company and I have enjoyed using IntelliJIDEA on both Windows and Linux. Its well worth the money you pay for it. With its excellent refactoring support and latest features it has won many fans in the Java community. So I thought PHPStorm should be naturally a good product from their stable. But again I was uncomfortable with the UI for PHPStorm, it reminded me too much of Java and I quickly abandoned it. My bad.

NetBeans has had a weird history. Eclipse has never been criticized too much by the community or changed its design goals (especially for Java and OOP development). It has retained its look and feel over the years and still performs splendidly. NetBeans' reputation and UI on the other hand has went through complex cycles. It has changed over the years. There were few versions in which the GA release was not upto the community's expectations and some versions which were unstable and with bloated features. I have used NetBeans for Java and JEE development earlier but never enjoyed it the way I would Eclipse. Few years back, I used it for a J2ME project and that was the last of it.

Or so I thought. While searching for PHP IDEs I found that all over the blogosphere and developer sites NetBeans has many devoted fans! So reluctantly I downloaded version 7.2 PHP edition and started using it. And lo and behold! I got hooked. Seriously. I was evaluating Dreamweaver when I installed NetBeans. NetBeans has a nice UI which gives a commendable illusion of a native app which it isn't. Apart from that, the views in PHP edition are minimal and yet have all requisites for an experienced programmer. It has support for frameworks too but I'm not a fan of frameworks and prefer to develop my own PHP classes and code. It has good code completion and hinting for PHP, HTML, CSS and JavaScript, which is sufficient for me as I'm not moving to HTML5 anytime soon. Best of all, NetBeans is open source and free! You can download and create your own plugins too.

So there, with this experience I found NetBeans a surprisingly refreshing IDE for PHP. At least for myself. So XAMPP and NetBeans does it for me on all desktop platforms - Windows, Linux and Mac! Isn't that wonderful?

So now I'm enjoying developing my PHP applications in NetBeans for some time. Hope it helped you to get a useful overview of PHP IDEs from a Java programmer's perspective. I'm planning to write a tutorial on how to develop Web 2.0 applications using PHP, HTML/CSS, MySQL, Paint.NET and jQuery, on a Linux shared hosting. Will share it and some writeups on other components of Web 2.0 application development soon.

See ya!