28 February 2007

Building Commercial-Quality Plugins

This is not review about the book that I’m about to complete before the weekend. Rather, this is just about sharing a few thoughts on what the other group of the computing spectrum(non-web spectrum) is thinking and brewing about. Ever heard of a standalone web application that updates itself by downloading the latest *.jar files once the host PC has become online again? Sounds proposterous? A standalone web application on your desktop or laptop? When you really don’t need other things that comes with it.

This is what building commercial-quality plugin is all about. And the easiest choice is deploying it within a Rich Client Plaform (RCP) shell. And the easiest tool to do this is with Eclipse RCP. Why Eclipse? First, the value because it uses SWT. Like it or not SWT is the “closest thing to metal” when developing Java desktop application.

So what do you have out of the box when you decide to build Java desktop applications with Eclipse RCP? Three of the basic things are:

1. Views, Editors and Perspectives - That you don’t need to build painstakingly.
2. Eclipse Forms - Even better than what .Net can offer.
3. Built-in updating mechanism - That is also used in Rational products. This is also the technology that challenges the reason for developing web applications in the enterprise level.

Change is a hard pill to swallow.

27 February 2007

The Linux Terminal Server Project



I was asked privately by a certain individual about my raves on Java Desktop regarding what is my deployment strategy to make it more attractive to web savvy IT departments. I told him I don't have a strategy, I got strategies and one of my favorite is the LTSP strategy or the Linux Terminal Server Project.

LTSP has been going on around for many, many years. It has been proven to work and work well. What are the risks? Just like any web applications, if the server goes down, everything goes down no buts and ifs. What are the benefits? No more web server to maintain! That's one great blessing for an administrator.

LTSP is an implementation of a thin-client from a hardware perspective(neat strategy, right?). You got a server that runs all the services that several thin-client needs. Very straightforward and simple. This is an ideal Third World solution, others can waste more money as they please.

Note: Image courtesy of LTSP.org

The 2007 Philippine Elections

By this time, I'll be an absentee voter. How will I choose my candidates depends on what will benefit my interest. In other words it's called vested interest. In the Senate, candidates who will win my vote may need to introduce or continue work on the following bills:

1. An act to promulgate the use of Open Source Software in all state-controlled institutions, government agencies and other local government units.

2. Bigger tax breaks for technology startups to be able to compete effectively in the global market.

3. Lower taxes for importation of computer hardware and all other peripherals. A MacBook in the Philippines should be priced just the same as in Singapore.

4. Accreditation of vendor certifications in to the national educational system.

5. Deregulation of VoIP services.

6. Deregulation of Broadband access nationwide.

7. Longer amnesty period for pirated software users to switch to legitimate software.

8. Regulating or banning of commercial software (local or international) with license agreements that are deemed unconstitutional and unfavorable to the national interest.

9. Set up of special courts that will handle ICT-related cases such as Internet fraud, intellectual property rights etc.

10. Disallowing registration of software patents. Includes dishonouring software patents registered outside Philippines.

11. Blocking multinational sites that will not accept credit cards issued in the Philippines from our national network. A blacklist of URLs shall be posted to all ISPs for blocking nationwide.

I believe with all this in place we're geared up for a strong headstart.

Working In The Garage Is Fun!!!

Philippines, 6:30am - I was awakened by the hustle and bustle going around the house. As usual, my wife is preparing breakfast and my daughter is getting ready for school, the TV is up for early morning news (that's Unang Hirit!). This has been going around since I came home for a Chinese New Year leave. While recovering from a recent surgery, I have nothing to do but flip my laptop somewhere and do something.

Good thing I was able to setup quickly our WiFi router at home so I can work anywhere around the house. These gadgets are truly heaven-sent, my ideal workplace has finally come to life but not yet for good.

The Philippine Early Morning Breeze is not as polluted as it may seem to be. After finishing breakfast, I decided to grab my laptop and pull a monobloc chair in our garage. With the cool air, birds in chorus and swinging leaves from a nearby jackfruit tree what's not to like? This is an environment where great ideas pop up, prototyped and worked on. There's nothing like this anywhere else. This is the kind of place where you can stay focused and relaxed without falling into sleep just slip in a CD into the home entertainment system and work.

Other stuff that I need to continue the work I started: 1.) A publicly-hosted CVS server 2.) A Linux File Server 3.) More Linux laptops 4.) More Linux workstations and everything I need to build my home data center. After which, DynamicBeans can move to a real office somewhere in Ayala Alabang to keep the "Third World" tropical ambient.

Those who lived by the hype, die by the hype. Every true blue high-tech company today started in a garage(Apple, HP etc.) and these companies has serious products, not hype. And not "soapbox" products that works well in demo, but sucks in real implementations. I stayed long enough in Singapore to see a lot of this sh*t. Nobody understands Garage Culture outside the U.S. except the Philippines. So I invite you all to breathe our Morning Breeze.

26 February 2007

Java Desktop, taking back the power from the Web

This is not about Swing vs. SWT and this not about any L&F wars. In fact, I would love to have both UI toolkits work its best for whatever I'm going to use it for. I don't even care whether are more jobs for Java Swing developers than SWT either.

As we move forward, it's obvious that the advent of Rich Internet Application is not about Java anymore, in fact, in today's Web development the term "Pure Java" is dead and it is increasingly becomes boring as time goes by. From past experience, the only reason I saw Java being used as programming language for the web is that most Java programmers were too weak to code in Swing or SWT. But from where I learned my stuff, in this world, only Singapore is perfectly online to put so much love for anything Java and Web. In a bigger space, offline processes and asynchronous messaging is part of everyday business as what JMS and Middleware book authors has been emphasizing.

So why Java on the desktop? Ten years ago, the hardware can't catch up with the JVM and that was ten years ago. Today, why put everything in the server? And not exploit the power of the client? Deployment costs? Why not rethink your deployment strategies? The demand for offline processes is so huge that no one can ignore by now the efforts in developing Java desktop application in Swing or SWT, it already made perfect sense. Accept it or not, today the web belongs to Ruby.

There are instances where users can not be always online or even reliably online take for example, Third World rural banking where internet is still the future, business can not rely effectively on the web in this situation and definitely solutions providers who embraces Web already lost the opportunity to do business in this area.

Today and in the future anyone who wish to survive developing frontline applications in Java should start considering different desktop technologies that will help them switch and take back the desktop.

25 February 2007

These Are The Days

2 years ago, this is the desk where the more exciting Java codes have been written, it is a microbrewery in its own right. This is the place where some of the unconventional ideas came to life. This is where some of the near-impossible tasks were completed. Different codes for different reasons turned out from here too. Some codes were made just to simply prove a point or win an argument, some are made to debunk a hype, some were made with real-life purpose...to make a living, and make a life.

Now, I'm sitting in front of this desk once again to continue what has been paused some time, to pursue the ultimate goal while burning the midnight oil. Most importantly, to complete an unfinished business. After a couple of years overseas, loaded with so much distractions and failed expectations where I thought I could continue what I started. Regardless of material success, I am unhappier than before and I think that what is eating me.

Behind this desk, I'm in control. I make the decisions, both tactical and strategic. These are the things that I'm willing to buy back and earn from once again. And this God-forsaken Motherland(that's Philippines, of course), is where everything is happening right now, yes ladies and gentlemen, believe it or not people are flocking here to forge some serious deals and mind you we're not just about Professional Services, we're not just solutions provider pretending to have some product made out of crap like some five or more years ago. In terms of software development, we are much more relevant than our neighbors combined. Forget about the FUD that the international mainstream media is throwing at us such as terrorism, crime and political instability, at most these crises are more of an opportunity rather than a sickening problem and it's not exclusive to us(at least we could laugh at this because others can't).

Those were the glorious days. Today, this is the place to be when you're ready. We are the real deal.