December 16, 2007

Google Profile - What is it?

Google is about to launch another product called Google Profile. Google defines it as :

lets you tell others a bit more about who you are and what you’re all about. You control what goes into your Google Profile, sharing as much (or as little) as you’d like.


So, what's the idea? It will integrate all Google services you use and give you an identity. Further it will help you to manage your contacts.


You can find Google Profile in its initial state at Google Maps and Google Reader. These profiles are public and contain basic information about yourself. In Google Maps, you will find you profile on top and in Google Reader you will find it in "Friends" tab in settings. But I found that these are not in Sync for now. So you will have to edit in both the services. The big advantage of the Profile will be in searching individuals. It will be interesting to see how these public profiles will get integrated to Orkut and other social services.

Another minor topic is the addition of support for OpenID for commenting in blogs. So, what will be advantages with this feature? Google seems to be moving to the "Social Networking" in a fast rate!

December 15, 2007

Making better use of Google Analytics

Many bloggers and small companies make use of Google Analytics to analyze their web traffic. But how many of them are making full use of it? Analytics don't end at installing the code and setting Goals. There are many fine tuning a web developer needs to do in order to track better. Google itself has added new features from time to time to help its customers track and analyze better. Let's have a look at some tuning to your existing sites or blog.

Before we start, make sure you are using the new Analytics code. To check if you are using new code or not, here is a sample of new code:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : " http://www.");
document.write("\<script src='" + gaJsHost + " google-analytics.com/ga.js' type='text/javascript'>\<\/script>" );
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-XXXXXX-X ");
pageTracker._initData();
pageTracker._trackVisit();
</script>


You can get the step-by-step procedure here.

A blog or web site contains different types of links like documents and media files. Apart from these, the site may contain links to external pages which you provide as references. For example, I have link to my Resume below by Profile section. How do I track how many people download my Resume? An instant answer is to set a goal with the specified target URL. But Analytics provide a better solution!

To track downloads of media files like PDF,Doc and others, you can make use of the method _trackVisit(). For example, lets say I want to track my Resume's download. I update my link as follows:


<a href="http://olakara.googlepages.com/Abdel-Resume.pdf" onClick="javascript: pageTracker._trackVisit ('/Resume_Download'); ">Resume</a>


Now each download will be tracked as a visit to Resume_Download page. But our code update is not complete. We have some more modifications to make. If you look closely at the basic Analytics code, you will see that we are making use of pageTracker object and calling method like _initData. You need to add _trackVisit(),_setAllowLinker _trackTrans(). Another point to remember is to keep the Analytics code on top, may be the first thing in body tag.

That's not all, before we complete lets see how we can track java script events. For and example, if you click "About Me" from my top menu, I load a page using java script. To tract such event use can make use of the parameterized _trackVisit(). just like how we did in the previous case. But rather than calling it on the link, I call it in my java script functions. This way you can track even the Ajax requests. To track execution of a particular function all you have to do is add:

pageTracker._trackVisit("/home/about_me");


So now you have a better tracking of your blog or web site. I am still trying out these features and will bring out another update. But these days I get less time to do research. I will be soon releasing my blogger template for others to download as some of you have asked me. Plus, I have started to work on new template and this time it's going to be using Blogger API's. So watch out!

December 08, 2007

Google's API for creating Charts and Graphs

Google just keeps innovating! They just released their new API which is all about creating charts and graphs. It’s called Google Chart API. In one look, it’s a down to earth API for creating charts and graphs by simply passing values to an URL. This is what struck me the most! The API has only an URL to which you pass values like chart size, data and chart type. In turn the API creates the chart as image and you have it! Creating chart is as simple as that. Let’s have a peep inside…

This might be one of the best API’s available now. The reason? Everything is through the URL. Google defines their new charting API as:


The Google Chart API is an extremely simple tool that lets you easily create a chart from some data and embed it in a web page. You embed the data and formatting parameters in an HTTP request, and Google returns a PNG image of the chart. Many types of chart are supported, and by making the request into an image tag you can simply include the chart in a web page.


The API provides different types of charts like Line, Bar, Pie, Venn diagram etc. To create any chart, we just have to pass some parameters to the URL: http://chart.apis.google.com/chart, specifying chart size, type and date. The generic syntax will be as follows :

http://chart.apis.google.com/chart?<parameter1>&<parameter2>&<parametern>
For a simple pie chart, here is the code (URL):




So, you just created your Hello World chart using the API. All charts are generated as PNG images. Now lets look at the analyze the “Hello World” chart we just wrote.
You should have noticed that we passed 4 parameters, cht, chd, chs and chl. “ch” obviously stands for chart.. cht represents the chart type, chd the data, chs the size of chart and chl the charts label. The API provides different type of data encoding like simple, text and extended encodings.

Here’s some example..





Let me dig deeper and see how I can make use of this library! :)

December 05, 2007

XML declarative frameworks

I am not sure who started it, but what I am going to explain here is how XML declarative frameworks are evolving in web technology. XML has brought a big revolution to web technology and it’s still making ground. AJAX brought the revolution in many ways. But the major problem was that developers had to be an expert in browser compatibilities, CSS, JavaScript and had to have really good programming skills. Those are now the old days! We have many small and big Ajax libraries that provide reusable components. But the problem was the about amount of coding required. How do we reduce UI coding involved and concentrate of the functionality? An innovative solution to this is XML declarative UIs. And it’s happening in a big way!

Many developers would have heard of Adobe Flex. It makes use of MXML to create a UI and ActionScript to do the event/actions responses. Things didn't stop there ,OpenLaszlo came up with LZX, which is declarative XML description of an application interface. I admire the OpenLaszlo library because it gives the facility to compile its code to Flash and DHTML. These two products are much mature, but there are other libraries to lookout for.

Apache’s XAP (Extensible Ajax Platform) is a XML-based declarative framework for building, deploying and maintaining rich, interactive Ajax powered web applications. The project is in ASF incubator. The framework aims at providing rich UI using XML, a generic layer on top of existing JavaScript like jQuery, Prototype etc.. So you can have any javascript library and code the UI using XAL (Extensible Application Language). The XAP maps XAL markup to specific UI widgets. An XAP DOM, separate from the HTML DOM, maintains the UI state. The architecture of XAP is explained here.

Google too is in pursuit of Declarative XML structure for defining GWT widgets. The project is in still incubator. But this framework will be only for GWT. When compared to Apache’s XAP, DeclarativeUi is not generic and have less features.

Apache and Google may be very well known, but I found a hidden treasure called ZK. ZK claims to be yet another “#1 Ajax and mobile framework”. ZK makes use of off-the-shelf XUL and XHTML components, and manipulate them by listening to events triggered by users. ZK is available for Mobiles also, so applications will work on any devices that support J2ME, without any modification to applications. ZK has come up with the ZUML which is based on XUL. This makes it more generic and is highly integrated with Java. The framework provides a huge set of widgets and functionality.ZK framework's architecture is explained here.

I am yet to try out programming using these frameworks, but looking at the architecture and documentations, I feel ZK is more superior in XML declarative UI building among the XAP and DeclarativeUi. But the concept of XAP to support multiple JavaScript libraries is a plus for it. At the same time I have not reviewed the Microsoft technologies (will look into them later). These frameworks will reduce the amount of time spent on UI design but, we still lack visual editor for all these. May be Flex has FlexBuilder, but others like XAP or ZK should be looking forward to provide Eclipse plugins where developers need only to drag and drop to design UI.

November 26, 2007

Linus on where Linux is heading to..

I just read an interview from InformationWeek with Linus Torvalds, the creator of linux about where linux is headed in 2008. Linus is very exicted about the solid-state drives, graphics and wireless networking. When asked about Linux and Windows server development, here is what is had to say:

I simply don't use Microsoft products, not because I hate them, but because they aren't interesting to me.


If you are interested, here is the whole story.

November 08, 2007

Mandriva's open letter to Steve Ballmer

I came across Mandirva' Blog and site after a long time. I have used the distro when it was named Mandrake. One of their blog entries caught me. It shows how unethical Microsoft is.

It’s an open letter to Micorsoft CEO Steve Ballmer. Here is the full post:

Dear Steve,

Hi, this is François, from Mandriva.

I’m sure we are way too small for you to have heard of us. You know, we are one of these Linux company who is working hard to make its place in the market. We publish a Linux Distro, called Mandriva Linux. Mandriva Linux 2008, our last edition, has a pretty good review and we’re proud of it. You should try it, I’m sure you’d like it. We also happen to be one of the Linux companies that did not sign an agreement with your company (nobody’s perfect).

We recently closed a deal with the Nigerian Government. Maybe you heard about it, Steve. They were looking for an affordable hardware+software solution for their schools. The initial batch was 17,000 machines. We had a good deal to respond to their need: the Classmate PC from Intel, with a customized Mandriva Linux solution. We presented the solution to the local government, they liked the machine, they liked our system, they liked what we offered them, especially the fact that it was open, and that we could customize it for their country and so on.

Then, your people get in the game and the deal got more competitive. I would not say it got dirty, but someone could have said that. Your team fought and fought again the deal, but still the customer was happy with the CMPC and Mandriva.
We actually closed the deal, we took the order, we qualified the software, we got the machine shipped. To conclude, we did our job. And, the machine are being delivered right now.

Now, we hear a different story from the customer: “we shall pay for the Mandriva Software as agreed, but we shall replace it by Windows afterward.”
Wow! I’m impressed, Steve! What have you done to these guys to make them change their mind like this? It’s quite clear to me, and it will be to everyone. How do you call what you just did Steve? There is various names for it, I’m sure you know them.
Of course, I will keep fighting this one and the next one, and the next one. You have the money, the power, and maybe we have a different sense of ethics you and I, but I still believe that hard work, good technology and ethics can win too.

cheers

François

PS: a message to our friends in Nigeria: it’s still time to do the right thing and make the right choice, you will get lots of support for it and excellent services!


I am quite happy to see the Mandriva challenge Microsoft, because it has gone through bankruptcy protection and have emerged a strong open source player.

November 06, 2007

Google's OpenSocial API

Google might have failed to get the piece of Facebook cake, but they are on a roll! They recently announced OpenSocial, a set of APIs for building social applications. In May Facebook launched Facebook Platform giving access to developers to create applications inside Facebook. After this many third party applications by Microsoft, Slide, iLike, Digg etc have come up. Google with its new API is set to make bigger bang in social networking.

Google’s OpenSocial provides a common set of APIs for social applications across multiple websites. Unlike Facebook, which keeps its applicati
on platform closed, Google has opened up its API to any network that is ready to participate. So, Google is aiming at an open platform so that application lifecycle (create, deploy and manage) is easy and developers don’t have to make a choice from many different APIs. And if Google get control of this on web, they will be in the center! They will have control of the network!

So, with OpenSocial developers will be using the standard JavaScript and HTML to create applications that will fit to social networks like Orkut, LinkedIn, MySpace. Google says :

The ultimate goal is for any social website to be able to implement the APIs and host 3rd party social applications


Looking into the APIs.. there are three set of APIs:
  1. 1.People Data API
  2. 2.Activities Data API
  3. 3.Persistence Data API

These three are Javascript APIs. To access these APIs we can go for use client-side JavaScript API or use server-side RESTful data APIs. Here is the list of thing that Google promises the API is capable of:

  • Build applications without maintaining your own server
  • Build applications that include a server-side component (for offline processing and/or access from other websites)
  • Create brand-new applications
  • Expose existing web applications in the context of existing social websites
  • Add social features to existing Google Gadgets
  • Write one application that can run in the context of many different social websites

One major advantage of the new API seems to be the usage of existing technology. Google is not introducing any markup language like facebook (FBML). So, developers will be able to use the raw HTML,CSS for formating and display. There will be three types of people involved in using the OpenSocial: Host, Developer and End-User. Host will be any site that will allow OpenSocial to run on.

What is not clear is who will regulate and administer the Advertisements on the applications. Will developers have a hand? or the host will administer? We will have to wait and see on this. It will be interesting to see how Facebook will take it. And further, how sites adopting the API will extend, use and administer.

Oh!, and to checkout some OpenSocial stuff, try this!

November 01, 2007

Hello World with Ext JS 1.x and Ext 2.0 JS

Ext JS doesn't require an introduction on my blog. I have already written about it and now I am into it. Ext JS 2.0 beta was out recently and looks really cool with lot of new widgets, layouts etc.. The 2.0 version is definitely going to be a big release. I tried out my old Ext JS test files with the new version and found it incompatible! Some of the basic widget like buttons didn’t render properly. So, what is the difference? How can we get it running? In this article we will go through the setup, tools and compare "Hello World" programs.

The Setup

Setup of Ext is very simple. All you have to do is download the zipped library and extract it on you system. You can put it in the web server directory so that the applications we write will be able to access it. This is how it looks like on my Eclipse or web server:



The red box is the ext folder and files. You can remove the doc and examples when you deploy on your web server. In the blue boxed folder ie, appjs I have my custom javascript files for the web application. Now even if you don’t use Eclipse, a setup like this is enough for you to start programming using Ext JS library.

Tools of trade

The best tool available is Eclipse with the Spket IDE plugin installed. The plugin is free for non-commercial purpose and support many libraries like Laszlo, Silverlight , YUI etc. The Spket site also has tutorials on how to configure the plugins and get you started.

Hello World on 1.x

Ok. Lets get started with programming… Here is the HTML for Hello World program:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="js/extjs/resources/css/ext-all.css">
<script type="text/javascript" src="js/extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/extjs/ext-all-debug.js"></script>
<script type="text/javascript" src="js/appjs/index.js"></script>
<!-- A Localization Script File comes here -->
<script type="text/javascript">
Ext.onReady(App.init,App);
</script>
<title>Sample</title>
</head>
<body>
<div id="button-div"></div> 
</body>
</html>
There is not much to explain if you know HTML, but for the first times in Ext JS: Note the standard Ext javascript files included. Remember you can use the ext-all.js instead of the ext-all-debug.js. Also notice we have our own javascript file named index.js which is included before the Ext.onReady method is called. Now let’s have a look at the index.js:
App = function() {

var button;
var buttonHandler = function(button, event) {
alert('Hello World!'); 
};

return {

init: function() {
button = new Ext.Button('button-div',{text:'Hello World',handler: buttonHandler});
}
};
}();
Running this will give you a simple button on top of the web page titled "Hello World". On clicking it you get an alert box saying "Hello World" – That's All!



The Ext applications follow the module pattern described by Eric Miraglia. I will talk about this and Javascript OOP later. For now looking closely at the javascript you will see that when you instantiate a button you provide the DOM element and the object properties. In this case the DOM element is "button-div" and properties are text and handler function.

Hello World on 2.0

This code on Ext JS 2.0 is not going to work! You will get a button without any title and on clicking; you will not get the alert box too. In the latest version, we have lot of changes to the Ext that makes new version stand out among all other javascript libraries. If you do through the API documentation you will see new layout and widgets, changes in API etc. These changes in API cause the above mentioned problem. If you compare the constructor of Ext.Button class, you will notice that the latest version have only one parameter and that is the object configuration. You do not have to pass the DOM as in the case of old version. In Ext 2.0 you can specify the DOM in object configuration or you can make use of the applyToMarkup method. So our program will now look like:
App = function() {

var buttonObject;
var buttonHandler = function(button, event) {
alert('Hello World');
};
return {

init: function() {
buttonObject = new Ext.Button(
{text:'Hello World',handler:buttonHandler}); 
buttonObject.applyToMarkup('button-div');

}
};
}();
Instead of using the applyToMarkup method apply the DOM element you can instantiate the button as :
buttonObject=new Ext.Button({applyTo:'button-div',text:'Hello World',handler:buttonHandler});
Wrap up
Wrapping up .. I will post more on the Ext in coming days demonstrating different widgets and techniques as I study them.

October 27, 2007

Java is #1 Programming language

The first time I heard about Ruby was when one of my friend gave a seminar on it. That was way back in 2004. Later "Ruby on Rails" caught on. We have seen PHP's popularity increase. At the same time C# and ASP have emerged much stronger from the Microsoft. And Ajax technology pushing the Web 2.0 jargon to extrme limits. We now have a debate if it will evolve to Enterprise technology or not. There has been big words about Java missing the RIA (Rich Internet Application) wagon. Lets see, which language has fared in the market?

The TIOBE Programming Community mantains a programming language popularity index and its updated on a monthly basis. Its based on a combination of factor like availability of skilled engineers, courses and third party vendors. They have also make use of the search engines to calcuate the popularity. Here is the list taken from the TIOBE site :
  1. Java
  2. C
  3. Visual basic
  4. C++
  5. PHP
  6. Perl
  7. C#
  8. Python
  9. Javascript
  10. Ruby

Java topping the list is not a surprise, but it shows how popular and demanding Java is in the market compared to others. Interesting part is to see PHP and Ruby down at 5th and 10th position. Ruby has started to loose share to PHP for sure, but PHP has two rival's Java and C#. I am sure C# in the form of ASP.Net will catch on soon. I would say new developers should look at one server side technology and work on the design (CSS,Javascript,Ajax,Flex,Flash etc) as well. Its hard to get an expert on both side.

You can get the complete list of language populaity here. But remember that this list doesn't show the best language. Instead it shows what is popular. Many of my friends ask ask which language is study.. I would say, learn on core technology Java or .Net. But never stop there. You need know a combination to be known as the best!

October 07, 2007

Improved modularity in Java 7

Java 7 has been evolving @ at jdk7.dev.java.net for some time now. I decided to peep in and have a look at the features of what the next generation JDK has to offer. One of the eye catching features is the enhancement of modularity feature in JDK7. Technically we can call it: "JSR 294", but for now let’s have a look at it.

The JSR 294 calls for language extensions in support of information hiding and separate compilation. Along with this we also have JSR 277 which calls for a new form of distribution format or say new "jarring" technology. According to D.L. Parnas information hiding is :

Each module is characterized by its knowledge of a design decision which hides from all others. Its interface is chosen to reveal as little as possible about its inner workings.


So, Information hiding is powerful and should be enabled by the language itself. Java already has packages for information hiding. What is wrong with this? What are its limitations? For this we have the new "super package" or JSR 294!

Java packages supports information hiding, prevents name conflicts and they can be hierarchical. But projects are not confined to just one simple package. Thus public in a package become too "public"! Well what does that mean? Let’s have a look... In the current scenario, we can have a package P and another P.Q. Now when we import P.* to a client, we are able to access the entire P package’s hierarchy. What if we want to restrict P.Q package? So the goal of new language construct is to have an entity bigger than the package, provide a runtime access control, interfaces for packages and a new basis for deployment modules.



Thus, superpackage is defined as: A superpackage is a named collection of one or more packages or superpackages and their types. For example:

superpackage example.sample.lib {

// member packages
member package example.sample.lib;

// member superpackages
member superpackage example.sample.lib.network, example.sample.lib.parser;

// list of exported types
export example.sample.lib.SampleClass;

export superpackage example.sample.lib.network;

}

By using the superpackage feature we can limit the access to certain package part. We can depict it like this:



So, how are we going to work? What changes and do we implement this superpackage? To implement we will have another java file say, super-package.java. This file will declare which type belongs to the superpackage. The normal java class file will not have information on which superpackage it belongs to. On compiling the superpackage declaration file, we get a with .spkg extension which will contain declarations about the superpackage. At the run-time, accessibility inside the superpackage remains the same as today. Outside the superpackage, the JVM consults the .spkg file to determine accessibility. Other features of superpackage are nested superpackage and interfaces.

Conclusion:

Superpackages are an effective mechanism for information hiding in the Java programming language. It will work fine with the existing deployment mechanisms like JAR, WAR and EAR. But watch out for the JSR 277 (Java Module System).

October 01, 2007

GNOME's Online Desktop

Google, Yahoo! and Facebook... Virtual OSes like eyeOS,Virtual OS, YouOS, and countless other organizations are changing the software we use by shifting applications from Desktop Operating system to the web. Microsoft will integrate their Windows Desktop and Live service for sure(but I can't see it in near future ). Open source is all set and have released Online Desktop to integrate with anything and everything users want to use.

Virtual OS or Web desktops are not enough! That's where products like iGoogle come into picture. But iGoogle is still not complete, you need Google gadgets to integrate the net on your desktop. GNOME's solution to interating Web and Desktop is what we call : Online Desktop! The Open source team doesn't take Online Desktop as another web-based desktop or "webtop". Instead they define it as:

We are trying to create the ideal experience outside your browser. The fact is, you need hardware drivers, and the browser itself can't be web-based. The computing environment of the future won't be "turtles all the way down." But neither does it need a bunch of complexity designed for a pre-web world.


The idea is to keep all the information online. People will use a live CD or "Linux on thumb" to just boot and connect to the web. The main catch in Online Desktop's pilosophy is:

Because our desktop is open source, it will work with all the best-in-category web sites and services that you use, no matter who owns them.


You can access the GNOME Online Desktop through http://online.gnome.org/. The registration is very simple with a invitation. Once registered, you get a interface like social networking where you can aggregate feeds, share links, rate and comment on anything shared on Mugshot. Mugshot (Online Desktop) also have downloadable gadgets for both windows and linux. For linux, they presently have Fedora 6 and 7. It also supports latest Ubuntu or you can download the source and build your binary.

For me, the Online Desktop doesn't seem to be much of a new inovation. But for a open source community its a new start. We will have something like iGoogle,Orkut, etc.... in one box!

September 22, 2007

A peep into Yahoo Mash!

I just claimed profile on Yahoo’s new social network, Yahoo Mash! The site began with "invitation only" preview, and got my invitation from my friend Vishnu. Yahoo already have a social network site called Yahoo 360. But this is mostly ignored! So Yahoo is about to launch a whole new social network site to complete with orkut, facebook and others? but first lets have peep into Mash.

Like any other social networking services available Mash also goes with the terminology of profile, friends but with a catch. Users can edit each othe
r’s profiles, redecorating, changing information, and adding features. New features are presented in the form of modules which can be added and moved around in the profile. There are lots of modules that can be added to the profile like RSS readers,Mash pets, Guest book, Asteroids etc..

Mash have differnet type for menu, you can view your profile's and friends latest action in "Pulse". This is somthing orkut have started recently. In orkut after the UI revamp, we can see latest activites in our neighbourhood, a similar concept is "Pulse". The "Friends" menu is simple for now with no search functionality and limited grouping. You can gourp your friends to best friends, Just friends and Family only. You can invite as many friends and even import your mailing address book from Yahoo, Gmail and MSN.

So for now Yahoo Mash is infant now. There are more functionality to come for sure!

September 16, 2007

BPL Mobile announces new theft protection for mobiles.

BPL Mobiles have a new solution to mobile theft in the form of Ultimate Mobile Tracker (UMT).BPL Mobile is one of India's premier mobile phone service provider and has come up with this new solution powered by Sitare.

UMT is a software application that claims to help you track and even r
ecover your lost mobile phone. The application has to be installed in your mobile with twoalternate mobile numbers for being notified in case your phone is stolen. The application will always be active in the background and will not be visible yo user to disable or uninstall the tracker software.

Explaining how the application works, this is what BPL Mobile says:


In case your phone is stolen and the application detects any change of SIM card, 2 SMS will be immediately fired to the two alternate recipient nos. which had been entered during the setup. These messages will be sent by the O.S. directly through the kernel, without any notification on the mobile screen. The thief will be unaware that he is being tracked!

The messages will be sent periodically every 60 minutes making sure to the owner that the phone is active and helping him to trace the thief. The application, in short, will not lock or damage the phone making it unusable to the thief. If the phone becomes unusable, the thief might damage it or discard it and the phone will never be recovered back. In order to prevent this, the application will smartly allow the thief to use the phone and at the same time will discreetly keep tracking him to the owner. The application icon will be hidden and the thief will be unaware of existence of any such application! He will not be able to disable or uninstall it either.

The UMT is available for Rs. 149 one time fee. It is built to work on all SYMBIAN O.S. phones. A similar technology was introduced by Samsung for some of their mobiles, but UMT covers a wide range of mobiles. I still doubt how effective this solution will be in India as security has always been a issue when compared to western countries. But if UMT serves its purpose, its going to be a major step in the security of mobile phones.

September 15, 2007

Come back for Ubuntu!

After 9 months Ubuntu is back to my life. Today my friends and I decided to ditch Microsoft and turn back to Linux at our home system. So from now on we will be using Ubuntu to browse, listen music and orkut! he he.

Installing Ubuntu was as simple as ever. I have used it till I came to Bangalore. Everything went fine on my friends system and once the broadband configurations was done.. we were connected!! But just being connected was not we needed, Our next move was to update the software and install them.. as I type this entry, A big list of installation is going on!

Another problem is accessing the NTFS partitions.. By default we are not able to access the NTFS. I am installing ntfs-3g for it now. You will find enough help regarding this matter in Ubuntu forums itself. So, I am on the Linux again!

Happy Blogging :)

Should Java developers look at ColdFusion?

Adobe has been on heights with their products for the last one year. Adobe ColdFusion 8 was released this july.It's an application server and software development framework used for the development of computer software in general, and dynamic web sites. Question is, should java web developers look into these technologies? Lets see why and why not choose ColdFusion.

ColdFusion is a similar product to Microsoft's ASP.NET or Java Enterprise Edition. The first version of ColdFusion was released in 1995 by Allaire. In 2001 Allaire was acquired by Macromedia, which was in turn acquired by Adobe Systems in 2005.Interesting part of history is, Microsoft was once interested in acquiring Allaire but,Allaire showed a lack of interest! Initially ColdFusion was completly written in C++ until 2002. The entire application server was rewritten in Java that has resulted in recent Java-based versions being labelled with the "MX" suffix.But in the latest version, this "MX" has been dropped.

Enough of history.. Lets see its features and get into our topics! ColdFusion is available for on Linux, UNIX, Windows, and Mac OS X. But the application server is not a freeware from Abode. You can download a free developer edition and use it. The primary feature of ColdFusion is its associated scripting language, ColdFusion Markup Language (CFML), which resembles HTML in syntax. Other than CFML, ColdFusion supports programming languages such as server-side Actionscript and embedded scripts that can be written in a JavaScript-like language, known as CFScript.

Another great feature is increased productivity using ColdFusion. Like many dynamically typed scripting languages, there is no need to build, deploy, or restart your application server.You simply modify the code and refresh your browser to view your latest changes.What happends behind the scene is that server compiles .cfm pages into Java servlets.However, compilation is done in memory and not to disk.

Next major feature is something which java developers really will like. Developers can make seamless calls to all the built-in Java libraries, as well as those bundled with ColdFusion and any custom APIs of your own.Using CFScript developers to wrap java code and feel home! Integration with other technologies such as CORBA, web services, and COM is quite simple. Developers can also make calls to native methods on Linu,Unix or Windows using CFXes (ColdFusion Extension Tags). Due to these facilities there is no need to import another third-party library. So at the same time, ColdFusion is a big library!

So with these advantages, should Java developers turn and have a look at this technology? According to me, Java and JSP will still stay more powerful and flexible. Even though ColdFusion has productivity, does it give the high performance and reliability? For those who have never (Including me) tried ColdFusion before, its time we try it!

September 14, 2007

QNX "Opens" Neutrino!

QNX Software Systems, leading provider of superior realtime operating system (RTOS) software and services for embedded design announced its move revolutionizes software development practices by combining the best of the open source and commercial software domains.

Neutrino, the realtime operating system from QNX will be open sourced under a new hybrid software licensing arrangement. Neutrino is ward-winning, microkernel-based OS released in 2001. Now, the source code will be available for non-commercial use and anybody can access it! According to press release the first source release includes the code to the QNX Neutrino microkernel, the base C library, and a variety of board support packages (BSPs) for popular embedded and computing hardware.

The new hybrid model will allow free access to code but, but commercial deployments of QNX Neutrino runtime components still require royalties, and commercial developers will continue to pay for QNX Momentics development seats. So, what is QNX targeting at? Is it that they want to open up just for innovation and improving Neutrino and sell it off through their commercial license? We have seen many company follow this type of hybrid software model to take advantage of open source developer community!

September 13, 2007

Techno Paper gets a new look!

Thanks to Dan S, who built the Gray Press theme from PressRow. I just took the Gray Press theme and modified it suite my need. So, if you ask what's new in this mutated template.. I have a list!

My major advancement is that I learned how a blogger template is built from scratch. Initially I tired to come up with my own template. But, I find less time to spend on these stuff after my daily work. So finally, I listed out what I need in my new template. This was my list :
  • Menu in header
  • Better profile display
  • Search box other than Google custom search
  • Tag Cloud
  • Contact Me page
  • Peek-a-boo view of articles
  • Customized 3 column template
  • Better template (run away from my present template! )


The menu was part of PressRow and Gray Press had a image header. I re-introduced the menu into this template, and has the original look and feel. My new search box now makes use of the defaulf blogger search rather than the Google custom search or other tools.

Another important feature is "Contact Me" page. You can access it from my menu. The contact form is from jotform. To integrate it with this template I had to make use of some javascript. Peek-a-boo feature was obtained from the normal blogger hack blogs found around!, And thank to those who developed it.

So here is the new template for my blog after sacrificing my blogging time build a template!
Happy blogging!

August 16, 2007

Creating PDF files through Java

PDF has become a very popular interchange format for text and graphical documents and are used in electronic publishing. Abobe's PDF format has penetrated into the market extensively and this format has a big market share. Initially, it was designed as a "final" document format, but the dynamic requirements of document exchange over the Internet led to dynamic PDFs and also other formats. You will find many other formats like excel sheets, word documents dynamically created on net to deliver reports, results, product comparisons etc. So, lets have a look at creating PDF files dynamically.
As a java programmer you should be able to create PDF files in web applications and standalone applications once you finish this article. In the end I will also explain how to convert other documents to PDF online and also how to make options for creating PDFs of your blog or webpage.

PDF libraries:

You can find many libraries both commercial and open-source that will help you create PDF files.I will consider only open-source libraries here and particularly one library: iText. Apart from this library you have gnujpdf, JFreeReport, PJX etc...

As I said iText is a open-source pure Java class library for creating and manipulating PDF documents. It provides a rich set of features like support for both PDF and FDF documents, different layouts, images, document encryption, watermarks, document templates etc. Its published in two different licenses: MPL and LGPL.

On to Coding...

Like I said, I will be looking into iText library for now.. Let's get started. Upon downloading and extracting the compressed file, you will have a single jar file which holds all the necessary classes. There are two major classes in creating a PDF file, they are Document and PdfWriter. Document represents your programmatic PDF file and the writer helps you to associate the document object with any output stream. So you can directly write to a file system or transfer the PDF through a servlet's output stream. Now lets look into a simple method that will create a PDF file on file system:

public void createTestPdf() throws FileNotFoundException {
Document pdfDocument = new Document();
String filePath = "c:\\" + fileName;
FileOutputStream fos = new FileOutputStream( filePath );

PdfWriter writer = null;
try {
writer = PdfWriter.getInstance(pdfDocument, fos);
writer.open();
pdfDocument.addTitle("A sample PDF Title");
pdfDocument.addAuthor("Abdel");
pdfDocument.open();
pdfDocument.add(new Paragraph("This is a sample PDF document created using iText PDF library!"));
pdfDocument.add(Image.getInstance("C:\\Documents and Settings\\My Documents\\My Pictures\\puzzle.jpg"));
pdfDocument.add(new Paragraph("This is second Paragraph"));
pdfDocument.close();
writer.close();
}catch (DocumentException e) {
System.out.println("Document Exception!");
e.printStackTrace();
}
}

The above method createTestPdf will create a simple PDF file with some text and image. The API is quite simple.

Online PDF tools:

There are many online PDF tools available to create and convert files. Adobe provides PDF conversion for a fee, but lets look into some other alternatives. PDF Online provides two services: Doc2PDF Online and Web2PDF Online. Web2PDF Online is still in BETA and I will talk about it too.. but, first Doc2PDF. It gives you the facility to convert different documents like word document, excel sheets, power point slides, HTML etc to be converted online in three steps. Upload the documents, give the output filename and email address to which the converted document is to be sent.

Now onto web2PDF Online service. This helps you to convert your blog or website into PDF files. Your visitors can quickly save their useful information with a click of a button. To avail this service you have to create a account with PDF Online. They also track your site's PDF conversions. I tried it on my testing blogs and found some small glitches, like the quality and page size. But overall the service is good.

August 05, 2007

Blueprint, a CSS Framework

We have frameworks for everything today, starting from core programming frameworks to web and Ajax frameworks. Mentioning these frameworks will give us a endless list. Now, I am going to introduce a new framework, and this is a CSS framework called Blueprint!

The main aim of this framework is to cut down on your CSS development time. It gives you a solid CSS foundation to build your project on top of, with an easy-to-use grid, sensible typography, and even a stylesheet for printing. This framework is still young and not completely tested...

The framework is distributed with MIT license and is a result of Olav Bjørkøy's hard work. I will try this out and may be write about this framework again (About its usage and adaptability). Right now let me get back and enjoy my weekend!

August 03, 2007

Applying Themes to your Flex Application

Themes for the UI attract the user very much. You will find may of the UI libraries being made skinnable. One such example is the new YUI 2.3.0 where Yahoo have added skinning capability to YUI library. I am going to talk about themes in Flex here. This blog entry is basicaly a reply to one of the comment I reveiced after writing about styles in Flex applications.

Themes in Flex can be in many forms. Flex themes are in three forms: simple CSS file, SWF or SWC file.Lets take each of these one after the other.

CSS file Themes:
This is one of the easy way arround to apply themes. If you have the CSS file you can set the style or skin using the <mx:Style> tag. I have written about the CSS styles and you can have a look here!

SWC file Themes:
Themes also take the form of SWC files. These file contain style sheets and the images as assets. This is the major benifit of SWC files over CSS. In case of CSS files you need to carry the assets seperatly. SWC file make it easier to distribute and is precompiled.

To apply the theme to your Flex application you need to user the theme compiler option. When you compile a application using the mxmlc you can use the theme option to specify the theme that you require to apply on the application. For example

mxmlc -theme C:/flex_sdk/themeTest/sample.swc -file-specs themedFlex.mxml

Another way to provide the theme during compilation is to make use of the <theme> tag in flex-config.xml file.

For more information on this check the online flex reference!

SWF file Themes:

You can use SWF files to hold sikn assets and refer them from the Flex application. A SWF file can hold one of more assets and you can embed the required element using the Embed statement as follows:

<mx:Style>
Button {
upSkin: Embed(source="../assets/SubmitButtonUpSkin.swf");
}
</mx:Style>

To embed a perticular symbol from the SWF file you can use the symbol property to specify the symbol. An example is shown below:

<mx:Style>
Button {
upSkin: Embed(source='../assets/SubmitButtonSkins.swf', symbol='MyUpSkin');
}
</mx:Style>

So regarding themes.. that's all for now.. Ah hold on.. you can download some Flex themes from here. Have a look, They are great!

Online Video Converter

I have been looking for something like this for some time now. How do you convert and download video that you see in YouTube, Google videos etc? Here is the solution.. FLVIX!

The conversion is quite simple. All you have to do is paste the video URL in the text field provided and select the result format that you need. The video get converted to that format and you will have it downloaded. There are five formats: AVI, MOV, MP4, 3GP, MP3 (Audio).

So, if you have a list of favorite videos that you need downloaded.. go get IT!

Ext Releases version 1.1

I have been keeping tabs on this library for some time. After I found the v1.1’s candidate release few weeks ago, I have been learning how to built interface using the Ext library. So, what’s new with the Ext 1.1? You can download the new version here.

The new release includes stand-alone version of Ext, a lightweight HTML editor, a new Ext.Ajax utility class, enhancements to DateField and DatePicker, expanded documentation and bug fixes. Out of this the major advancement that you will see the is the stand-alone base library. Now Ext no longer requires you to use a 3rd party library like YUI or Prototype, but you still have the option to make use of the 3rd party libraries if required.

Another major advancement is the new WYSIWYG html editor. The main idea was to make an html editor that integrates well with the other Ext components and also keep it extremely light weight. The new editor is said to be only 12k in size and easily customizable. For a demo check this out.

The other enhancement that will catch your eye is the new Ajax utility class. The Ext.Ajax provides features to handle global Ajax events. These events includes queuing and combining Ajax requests into a single call, cancel requests, provide data locally, add parameters, etc. I will look in-depth to this matter as I will be using this Ajax class. :)

Now regarding the documentation, I still don’t find any tutorial that will kick start a new developer and make him adapt Ext easily. I would say the API documentation is really good but still need improvement when it comes to beginners. But for now,I will download the v1.1 and start playing.

August 01, 2007

Adobe AIR Application list

AIR applications have started appearing and they are coming up fast. Last week I spotted a IM Messenger built using AIR and is pretty good! Here is a list of AIR applications that I found few minutes ago. Its built in wiki and anybody can add a new application to the list. At present the list is about 78 and I am sure this will grow.

For all the Adobe AIR enthusiast, this list will give you a good collection of AIR applications!

Link to the list : http://airapps.pbwiki.com/FrontPage

Well, if you have missed the train, I suggest you check these links out:

Adobe AIR : http://labs.adobe.com/technologies/air/

AIR Resource : http://www.airapps.net/ (You will get all the resource from this site!)

July 30, 2007

Microsoft's open source licenses.

Microsoft seems to be trying to create a open source license after all the criticizing it had done in recent months. They appear to be working on a new license for their own open source code and software and get it approved by OSI. So Microsoft has submitted its so-called shared source licenses to the Open Source Initiative for certification as true open-source licenses.

Microsoft initially started off with the relase of Windows Installer XML on SourceForge almost three years ago. After this Microsoft has released 650 internally developed software programs to the general public via its shared source program. At the same time don't expect Them to release Windows or other major revenue making software to be released under the shared source licenses. These shared source applications are hosted at Microsoft's CodePlex site, which is equivalent to SourceForge.They have come up with three licenses:
  • Microsoft Permissive License (Ms-PL)
  • Microsoft Community License (Ms-CL)
  • Microsoft Reference License (Ms-RL)
According to Microsoft,if the licenses are approved, should give the community additional confidence that the code they sharing is truly Open Source. But I wonder how the OSI team and the open source community will take this. This is mainly because of the recent behavour of the company with copen source community.They have claimed that Linux and other open-source products infringe on 235 of its patents. Apart from this they reached agreements with Novell Inc and other vendors like Linspire which brought a split within the Linux community.

So, If Microsoft joins the open source technology like Nokia, Apple and others, will we have a mind shift from Microsoft? Microsoft CEO Steve Ballmer, who once called Linux "a cancer"! And
now they seems to criticize and follow the open source line!



SugarCRM Adopts GPLv3!

SugarCRM Inc., the world’s leading provider of commercial open source customer relationship management (CRM) software became one of the first adopters of GPLv3. The upcoming release of Sugar Community Edition 5.0 will be licensed under the new Version 3 of the GNU General Public License (GPL). GPLv3 was released recently by the FSF as new license for free and open source softwares.

SugarCRM's also has Professional and Enterprise edition which remain under commercial licenses and is said to have a good customer base. The software is well know to easily adapt to any business environment by offering a more flexible, cost-effective alternative than proprietary applications. The major reason for this shift may be because the company used Mozilla-derived license, which is not a recognized OSI-approved open source license.

For more details check out the company's Press release and FAQ!

July 26, 2007

What is ReactOS?

ReactOS is a free and open-sourced operating system based on the Windows architecture. It stands for React Operating System. The operating system a ground-up implementation of Microsoft Windows XP compatible OS. The ReactOS team aims to achieve complete binary compatibility with both applications and device drivers. The OS is licensed under the GNU General Public License, but some parts have different licenses like code from Wine project which is licensed under LGPL.

In major difference in ReactOs is that even though its open-source, it is not a wrapper built on Linux. Instead the ReactOS development team has built a operating system with windows architecture and plan to provide support for existing applications and drivers. So is it another OS apart from all these Windows,Linux,Unix,Mac...?? Well even though the ReactOS belives it's not "yet another OS".. I belive it is. As per the ReactOS team the major reason for developing this OS is that "some people, or especially companies, will -never- switch to Linux." -- Which I will never belive!

ReactOS claims that its compatible and visualy consistent with Windows.Thus,it removes many of the problems that people or companies face when switching to Linux: training everyone on the new OS, increased support costs, acquiring or writing new software, hardware incompatibilities, and the list grows.

So, is this new OS here to stay and replace what Linux has been fighting for (desktop replacement of windows)? You can download the 0.3.1 version of ReactOS and check out how good it is! Good luck!

mxGraph - drawing diagrams in a browser

Web 2.0 has brought a lot of desktop applications and collboration technique on to net. Starting with personal file storages to online office suites and net meeting. The "quick web"a result of Ajax,Flex and other technologies like SOA, have made this possible. I have recently presented many online applications and here is another: mxGraph!

mxGraph is solution for drawing diagrams in a browser. It not a online paint application, but help in drawing flowcharts,workflows, build database schemas and create network topology diagrams. mxGraph is built using a javascript library but I was not able to identify with one. Looks like they have come up with their own library. One impressing thing about mxGraph is that it is comaritively faster than other online applications.

Like I mentioned,mxGraph provides four types of diagrams : Workflow, Diagram (flow charts, organization charts etc.),Network and Database. I tested all four options and liked Workflow and Database. Workflow is a complete tool with very detail capablities (better that Documentum workflow manger) and is worth try for whose who design workflows and work in this area.

The other tool is the Database where you can build your schema using the UI and convert all your database development into SQL statments or export it as XML. Both these features are very useful for database design.

The mxGraph look very professional and is I am sure a try will not be waste of time!

July 22, 2007

Visual search engines

For some time Google have been experimenting with new way to display search results, so are others. You can see a new trend coming up by representing results in visual form rather than listing it. You can call these "Visual Search Engines".In this entry I am going to talk about two such search engines. These two search engines have come up with interesting ideas to represent the results. These two are : Quintura and searchCrystal.

Lets start with Quintura ... Its a company that was launched with a mission to make Web search easier and faster by adding context or meaning to keywords and visualizing search. With its "See & Find" technology the results are displayed in two halves: Tag Cloud on left and list on right with links to the result pages. Keeping mouse on any entry in the tag cloud fetches more results regarding that entry. The right half also changes accordingly to display the result.

Quintura develoment team has come up with both web version (web site) and a desktop version which can be downloaded for free. Apart from this, that have provided the facility to save and share the searches.

Now on to, searchCrystal... Its a search tool that collects information from multiple search engines and displays them in cluster,spiral or list. The tool fetches results from web, image, video, blog, tagging, news engines, flickr and even RSS feeds. But the search engine is slow compared to other search tools. This is what I against my name:


Apart from being slow in displaying the data, there is no trouble from searchCrystal. You can get widgets that can be placed into your website or blog. Plus you can sign up for Analytics where the true power of the search engine lays! The tool provides a heavy tool where you can customize the search queries and see the results. You also get tog cloud, filters, sort tools etc. So this may become a serious tool for those who really want to study the trends, patterns and details of how the information is on net.

Now onto the final word.. you will see these tools come up for sure. I expect searchCrystal to improve as they have come up with a brilliant tool. Both these search engines are still in beta and Google must look into these type of data visualization in future. I have always wanted Google to provide a tag cloud of the resent search in their home page.

But for now.. I will simply watch these new tools and will as always use Google :)

July 19, 2007

Microsoft Strikes GPLv3 and ditchs Linspire!

Yet again Microsoft plays out its plan to mess up Linux and open source software. I am sure you must have heard about the MS deal with Novell and Linspire.And now we see how MS is ditching both these compaines after the so called "patent protection deal"!

The latest : Microsoft says that's open source software licensed under GPLv3 isn't covered by the patent protection deal it recently signed with desktop Linux distributor Linspire.

On "Microsoft Interoperability" site it says "software products of Linspire that include the Linux operating system, including Linspire Five-0 and successor offerings. However, Client Offerings do not include (i) any portions of products that comprise or include Foundry Products, Clone Products, GPLv3 Software or Other Excluded Products, (ii) Freespire and any other software offerings that include the Linux operating system for which Linspire receives no Revenue, (iii) any products running on a server, or (iv) any Linspire CNR applications distributed separately from the Linux operating system."

The article appeared on MS site on July 5th, 6 days after GPLv3 was launched. From the time of launch Microsoft has been treating GPLv3 software as highly radioactive. Just after the launch, Microsoft said "Microsoft isn't a party to the GPLv3 license and none of its actions are to be misinterpreted as accepting status as a contracting party of GPLv3 or assuming any legal obligations under such license,".

Its not just Linspire that's the target,but Novell is also in the trap.Microsoft recently said that it wouldn't distribute any GPLv3 software under its SUSE Linux alliance with Novell. But Novell insists that GPLv3 does not touch their agreement. So does Microsoft! So now we know that's going to happen with the agreements if Novell and Linspire want to provide GPLv3 softwares! And this is how Microsoft does the business -- Destroy your competitor!

July 17, 2007

New IM from Airtel (Airtel Messenger)!

Bharti Airtel, a company of Bharti Enterprises have introduced 'Airtel Messenger'. A service that offers the power of text chatting within a personalized set of communities. Users will now enjoy real time chat on your mobile. 'Airtel Messenger' is aiming to bring in the same experience as that of a desktop chat service like Yahoo Messenger. You can now send and receive messages in real-time without the need to be attached to a computer but will require GPRS.

You can create a buddy list and add a buddy to buddy list or import buddies from you phone contact list. The service also offers you various personalized options of usage such as status-tag option like Online, Offline, I am busy etc. Users can use the "Airtel Live" GPRS connection which is free GRPS rather than 'Mobile Office' or any other connection provided by Airtel. Since this service is now, Airtel is providing it free till August 31st, but the supported handsets is a small number. For more details of this see 'Airtel Messenger' site.

Now other details of this messenger... It's developed by Jataayu Software which s a pioneer in the Mobile Internet domain. I assume Airtel has customized Mobile IM Client to come up with Airtel Messenger.

So, with this new mobile messenger installed on my mobi.. I am going to play with it :)

July 12, 2007

An introduction to WhoLinked!

WhoLinked is a very interesting service that I found recently [ I need more time to surf :( ] . The WhoLinked service is service that checks to see who is linking to your website and then provides you with an easy way to display this information on your website or blog. You can see my WhoLinked widget on the right side below subscribe options.

So what is it? Lets have a peep into it... WhoLinked have code/plugins for Blogger, Typepad, Moveable Type and generic blogs and websites. And the installation of this service is quite easy. All you have to do is select the type of blogging service you use, get the code and install it on your blog. WhoLinked also provides a small control panal that helps you to customize your displayed results. You can choose the number of rows,language,layout and also ban some of the entries.

So far its a small tool, but I am not sure of the spam protection of this stuff. I will watch this for the next few days and update this entry [may be!]. Till then bye!

July 09, 2007

What is Acropolis?

Microsoft have given enough publicty for Silverlight, but did they miss out one of their own product during the RIA campain against Adobe's Flex and Apollo or Sun's JavaFX? I am talking about "Acropolis", A code named project which microsoft has been working on for long.It's a toolkit for creating modular, business-focused Windows client applications. Its build on .NET framework and includes a run-time framework,tools and out-of-the-box functionality. The basic idea is to alow build reusable,connectable components and assemble them to work as an application.

"Acropolis" applications consist of a shell and one or more discrete pieces of business logic that interact with each other. These pieces of business logic, called parts, are the building blocks of an "Acropolis" application. A part that logically contains other parts is called a form. So, "Acropolis" part contains only the business logic and no user interface code, but a part do have a interface accociated with it.These are called a part view or just view. To build a "Acropolis" application, we will need a xaml file, and c# or VB file. The xaml file will contain the connection point and service dependency declarations for the part. And, Visual C# or Visual Basic file contains the business logic of the part.

The "Acropolis" runtime and shell provide a framework and an application host to create smart client applications. The runtime manages the lifetimes and intercommunication of all parts and services in an "Acropolis" application. On the other hand, shell is shell is a parent or host application that integrates "Acropolis" parts, forms, and services together with its own functionality. It defines the overall appearance and behavior of an "Acropolis" application.

So with "Acropolis" Microsoft is really planning to change how business applications are developed. But the questions are,
  • Is "Acropolis" capable of making business application programs easier to build and manage?
  • Will it provide web-desktop intergration?
  • Will these applications run on portable devices [sure will require .NET framework!]?
  • Will these applications interact with other entriprise products build by other than Microsoft?
But for now, Microsoft seems to keep "Acropolis" under cover.

July 03, 2007

Backbase for iPhone

Here is the next step of Backbase! They are going to introduce Ajax SDK for iPhone. But's its not going to be just the iPhone, since iPhone uses Apple's Safari web browser, the new SDK will be applicable for desktop versions of borwers also. Ajax is one of the preferred technology for developing custom applications on the iPhone, because the iPhone does not allow installation of native applications. so backbase is all set to provide a strong environment for developers to build ajax applications that have the power of native applications.


"Because of our Ajax dedication and focus, support for the iPhone will reinforce Backbase's technology leadership role in the Ajax space," said Backbase President and CEO Jouk Pleiter. "It ensures that customers developing websites and Web applications using our technology can fully leverage Apple's iPhone and OSX platforms."

The new version of the Backbase Ajax Framework is fully compatible with the Apple stack (OS X and Safari 2 and 3).Backbase promises to provide the new software soon. They recently launched Ajax 360 service, which is a complete enterprise Ajax solution. Let's see who all comes out with their ajax SDK. I guess dojo,yui and other will come up with their widget extension
necessary for iPhone.

June 29, 2007

Ajax13 - Yet another online office suite!

Everyday new web 2.0 applications appear and users have many options to choose from for any of their task! Be it blogging, photo share, social networks etc. Recently we have seen Google, Microsoft and others come up with online office solutions. These kinds of applications are here make software installations a history. Let me introduce an online office suite called Ajax13. I am not sure why "13" but, the Ajax 13 Inc. is a software development company that introduces web-based applications written using the AJAX based methodology. And their vision is software-as-a-service, which is gaining great momentum these days.

Ajax13 offers 5 online applications. They are ajaxWrite,ajaxSketch, ajaxXLS, ajaxPresents and ajaxTunes. The first four make up web-based office suite similar to Microsoft's Office. These applications have been designed to look like Microsoft Office, making it easy for anyone to start using it without needing to learn a new program.

ajaxWrite is a word processor that can read and write Microsoft Word documents. Apart from MS Word document formats it can handle Open Office format, PDF etc. Thus in a way you can convert your doc file to PDF file through a simple "Save As.." function. But when I tried it out, I couldn't even save ordinary doc file to my hard drive as the Ajax13 team promises. All I get is "java.io.IOException:Conversion failed".

ajaxSketch is a drawing tool that provides an environment for diagramming, creating flow charts, free hand drawing and more. It has been designed to look like Illustrator, but the interface is clean and very easy (except that it is slow compared to ajaxWrite). It supports the SVG format and nothing more. I tried the "Export" menu and was expecting to see a large list of possible exports, but i found only SVG format.

ajaxXLS is just a spreadsheet viewer that allows you to easily open any xls file. The Ajax13 team has a separate spreadsheet editor in Beta stage, but it is still in early stage of development. It has been designed to look like Microsoft Excel, but they promise to have compatibility with Open Office.

Now onto the last product, ajaxTunes. It's a music player that lets you play high-quality streaming music straight from the Internet on any computer. It’s a decent web based layer and they have provided the facility to add it to any website. Thus you can play a song or provide a song list to your website visitors. Apart from these features, you can make use of an AJAX based music manager to which you can upload music available on the web, called Sideloading, so you have access to your favorite songs from anywhere.

Ajax13 team have lot of work to do if you see what Google and others have come up with.Google have recently updated their Docs and Spreadsheets's looks.They have come up with a new interface that looks like windows explorer and easy to browse. But these competitive Web 2.0 applications are going to bring more and more feature rich applications online.

June 28, 2007

GNU ready to Launch GPLv3!

GNU GPLv3 has gone through first,second,third and forth draft and lots of debate.Now FSF (Free Software Foundation) is all set for the official release of the GNU GPL version 3 on Friday, June 29. With this new release GNU community hopes to defend the efforts to make free software proprietary.

The core legal mechanism of the GNU GPL is that of copyleft, which requires modified versions of GPL'd software to be GPL'd themselves. This was the concept which Richard Stallman came up with and he will anounce the release of GPLv3 at Noon (EDT). You can view the live stream from www.fsf.org.

June 25, 2007

Ext, Yet another Ajax &UI Library!

Here is another Ajax & UI library worth looking at! Ext is a client-side, javascript framework for building web applications. It’s developed by Jack Slocum, who started off creating extension utilities for the Yahoo! User Interface (YUI) library. It was then called “yui-ext”. Now Ext is an independent framework which is gaining popularity at a rapid pace.

Ext is dual-licensed under the LGPL and a commercial license. And this is an important flexibility option that you will find in Ext. With regard to support of different server platforms, Ext runs on any platform hat can process POST requests and return structured data. Remember, Ext is a client-side framework!

Ext is built on a slightly different architecture. I would say it’s an enhancement framework. It requires you to include one of the following base libraries: YUI, jQuery or Protoype/Script.aculo.us. Apart from that Ext also have native Ext adapter, so the external libraries are no longer required. But this feature is available only from version 1.1 onwards. You can also use Ext along with GWT and other libraries. I am sure the library support of Ext will increase in future.

Now for development using Ext you will find best tool combination for debugging your application is to use the Mozilla Firefox browser with the Firebug add-on and optionally the Web Developer add-on. If you are looking for an IDE, Spket IDE will be the one you should use! It’s a toolkit for JavaScript and XML development. It supports Support for ExtJS 1.1 development. It also supports JavaScript code completion. Apart from that Spket IDE supports Laszlo, Silerlight and Yahoo! Widget.

June 20, 2007

Adding Social bookmarks in New Blogger

People have started to using social bookmarks and its very common in blogs.But majority of these bookmarks are from sites like AddThis or iFeedReaders or AddThisBookmark etc. In this entry,we will see how to add social bookmarks to a new blogger.

Adding the new bookmarking links are not same as the old blogger.For the old blogger the blog entry url was represented as <$BlogItemPermalinkURL$> and title as <$BlogItemTitle$>.Whereas in the new blogger we have these represented as data:post.url and data:post.title respectively.

In new blogger you need to edit you template HTML to add these bookmarking links.In Templates, select "Edit Html" and check "Expand Widget Templates". Search for <p class='post-footer-line post-footer-line-1' />. Remeber that post-footer-line-1 will put your social bookmark links in footer's first link. If you intend to change the line, update the appropriate <P> tag. Also remember to close the tag in the end!

Add these to the required <P> tag :

Add to:
<a expr:href='"http://digg.com/submit?phase=2&url=" + data:post.url + "&title=" + data:post.title'>
Digg</a> |
<a expr:href='"http://del.icio.us/post?v=4&noui&jump=close&url= " + data:post.url + "&title=" + data:post.title'>
Del.icio.us</a>

Now simple save the template and you have your social bookmark added!

June 12, 2007

Adobe rolls out Betas

Adobe Systems announced the public beta of Adobe Flex 3, Adobe Integrated Runtime (AIR) formerly code-named Apollo, Adobe Builder Beta and Flash Player update. With the new Flex and AIR Abode is pushing itself up in the rich Internet applications (RIAs) competition.

Adobe Flex 3 Beta:

The new version of cross platform, free open source framework for creating RIA adds rich new UI capabilities, enhanced developer productivity, desktop deployment and enterprise testing and performance tools. The Flex 3 public beta also marks the first significant deliverable for the open source Flex project, beginning with the availability of nightly builds and a public bug database. Some of the key changes in Flex 3 from its predecessors are:

  • Enhancement to designer/developer workflow.
  • New Containers (mx:ConstraintRow and mx:ConstraintColumn).
  • Code enhancement include: faster compilation, compiler class caching, deeper language intelligence for AS3/MXML/CSS, Code Search, Refactoring, Code Outline, Profiling, Profiling Live Memory Data, Enhanced Module support, and Multiple SDK support.
  • New Widgets, Components and Classes.
  • Smaller SWF file.

Ted Patrick had a week long blog entries on the new Flex version. Each of the above mentioned features is explained in detail.

Adobe Integrated Runtime (AIR):

Apollo Runtime becomes Adobe Integrated Runtime. The cross-operating system runtime was code-named Apollo. It allows developers to use their existing web development skills to build and deploy rich Internet applications to the desktop. Now AIR is set to become a major runtime that all the desktops will have. AIR will also pay a major roll in RIA, mashup softwares and Web 2.0 and beyond.

Adobe Flex Builder 3 Public Beta:

Flex Builder 3 Public Beta is available for download in Adobe Labs. This early public prerelease version begins a new, more transparent product development process from Adobe, with frequent, regular access to early builds and greater insight provided into the feature roadmap and planning process. The Flex Builder 3 beta release will provide you with an opportunity to explore powerful new features. Some of the new major features include:

  • Support for the new Adobe Integrated Runtime (AIR).
  • Code Refactoring.
  • Memory and performance profiling.
  • SWF file size reduction through persistent framework caching.

You can also view the complete detailed specs for Flex Builder 3.

Flash Player 9 Update 3 Beta 1:

The new Flash player is code-named "FrogStar". It adds support for caching the Flex Framework within the Flash Player. Moving forward the Flex Framework will be cached within the Flash Player dramatically reducing the size of the output SWF files. SWF files will contain only your code and Flex Preloader containing the caching/loading logic. Some of the new capabilities of Flash Player are:

  • Flex Framework to be cached for use across domains.
  • The Player Cache will support Flex 3.0 and future versions of the Flex Framework.
  • Flex Framework now supports Runtime Shared Libraries (RSL's).

Conclusion:

So with these new features, Adobe is trying to capture the market which other Ajax libraries have. The size of SWF has been an issue for some time. I know some of the projects which opted other technologies like Openlazlo and others due to the size of SWF file.

Another important factor is with Sun’s JRE. Unless Sun reduces the size of JRE and make it more portable, its new RIA technology JavaFX will find it difficult to compete. Compared to Sun Micorsystems, Microsoft seems to be making ground with its new Ajax projects and other .Net enhancements.

Backbase Ajax 360

Backbase has been a leader in providing Ajax solution. They have released Backbase Ajax 360 is a complete enterprise Ajax solution. It includes everything needed for efficient, risk-free browser-based RIA development and life cycle management. It is solution for ensuring successful Ajax implementations in an enterprise environment.

The new product delivers a complete set of development tools designed to significantly improve developer productivity. Another major advantage is that, the company adds comprehensive services on top of the Framework. They also provide Ajax-based RIA architecture expertise, Ajax training, professional development services and enterprise premium support

Talking about Backbase Ajax 360: It’s a complete enterprise solution built on open standards. The framework includes the entire DHTML stack: (X)HTML, CSS, JavaScript, DOM, XMLHttpRequest, etc. It also supports XPath, XMLEvents, SMIL, XInclude, XMLSchema, and XSLTransform. In addition, Backbase also supports Java standards such as JSF, Facelets, Struts, Spring MVC, JSR 168 and JSR 286. Unlike other available products, Backbase's standards-based solutions work with existing applications and technology. It reduces risk and accelerates development cycles.

Backbase provides a rich Enterprise Ajax Framework with widget interoperability, communication, and binding control to data sources. It also takes care of all routine tasks and requirements, allowing developers to focus on the unique aspects of an application, the business logic and UI composition. The system includes more than 250 pre-built and pre-tested Ajax Widgets and functions. IDE plug-ins is also available for the Eclipse development platform and Adobe Dreamweaver. In addition, Backbase provides real time debugging functionality directly from within the Web browser.

Another major ability is Enterprise Integration. Backbase Ajax client technology is fully server agnostic as well. The software seamlessly integrates with common Web servers, application servers, and portal and SOA mashup servers. It is compatible with any server: Java EE, .NET, PHP, and ColdFusion. In addition to its client technology, Backbase provides additional pre-build connectors and/or runtimes for the Java server platform (e.g. Struts, JSF, Portal, Spring MVC).

I haven’t tested the new product yet. But it looks like Backbase has done their homework to compete with others.