Monday, August 10, 2009

SpringSource Course on Infrastructure Pays Out

This is unexpected but logical. SpringSource has been acquired by VMware.

As Rod Johnson mentions in his blog post there are no product overlaps between two companies, which makes the acquisition a conglomeration type of a deal.

On the other hand, if we looked closely at the developments within SpringSource during the past year or so, we would see an accelerating deviation away from the core Java framework business and towards the deployment infrastructure business.

There is a lot of synergy between the companies indeed. In the enterprise, Java is increasingly deployed on virtual infrastructure powered by VMware. An integrated solution seems like a very solid business opportunity and will likely have a significant buy-in in the Java-heavy enterprise.

What's bothering about SpringSource is the stagnating rate of innovation in their core business of Java frameworks. Most of the development on the Java front seems to be shaped around SpringSource's commercial offerings. Valuable projects of general interest like Groovy/Grails Eclipse integration don't seem to get enough resources allocated to drive them to a release fast.

Which leaves us with Google as the innovation leader in the Java space. Not to diminish the role of the search titan, a healthy ecosystem needs many living things to thrive. Another entity will eventually step up and challenge. Who that will be?

Facebook Buys FriendFeed('s Team)

Facebook has just gotten a booster injection of engineering talent by acquiring social aggregator FriendFeed.

High pedigree FriendFeed team will join Facebook ranks for a while.

This is a strategic move for IPO-bound Facebook. Since day one FriendFeed folks have been out-innovating Facebook engineering. Now when the team is brought in the house we can expect another Facebook spurt towards the dominance on the web.

As to FriendFeed the service, my feel is it's safe to close your account and move on with life.

Sunday, August 9, 2009

Android Development How-to: Launch an Activity on Phone Boot

This note is intended to get you going with the task in the subject in 5-10 minutes depending on your reading and typing speed. It applies to Android 1.5 (Cupcake).

Add this permission to AndroidManifest.xml:

<uses-permission name="android.permission.RECEIVE_BOOT_COMPLETED">

And a receiver element to the manifest:

<receiver name=".StartupBroadcastReceiver">
<intent-filter>
<action name="android.intent.action.BOOT_COMPLETED">
<category name="android.intent.category.HOME">
</intent-filter>
</receiver>

Create StartupBroadcastRecevier class similar to the following:

// replace with your package name
package com.burnayev.actioncomplete.android;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

import com.burnayev.actioncomplete.android.activity.Main;

public class StartupBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
Intent startupIntent = new Intent(context, Main.class); // substitute with your launcher class
startupIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startupIntent);
}

}

You are done.

To test that your application starts up on boot you have to:
  1. Run the application from Eclipse so that it gets installed on your phone.
  2. Reboot your device (turn it off then turn it on). When phone starts up you should see your application started after a delay.
Enjoy.

Tuesday, August 4, 2009

First Thoughts on Java Store

I've recently had a chance to check out Java Store Beta.

Alright, what is Java Store you might ask?

From a marketing viewpoint Java Store is Sun's concession to current vogue of application distribution hubs sparkled by iPhone App Store.

Technically it's an attempt to validate much hyped and heavily promoted JavaFX technology and to breathe new life into Java Web Start technology.

The official definition goes like this:
The Java Store is the single best online destination to find interesting, useful and entertaining Java software applications. Social networking, games, productivity tools and business applications are examples of what you can download from the Java Store. This easy-to-use storefront, and all applications, are currently available for free as part of the beta program for U.S. residents.
While Sun understandably exploits Java brand for the sake of promotion, the bulk of current store content is based on JavaFX technology, which is not quite the same as Java and requires quite a bit of ramping up from a developer standpoint.

JavaFX issue aside, the store seems to justify its beta tag. I was able to install a few apps but couldn't browse categories for some reason.

Java Store introduces an original way of installing an application - you drag it out of the store window to start the installation. A more traditional way of installation is to hover your mouse over an application and initiate the install from the window that pops up.

The featured JavaFX for Facebook application implements an interesting concept of a desktop widget that is attached to the left side of the screen and sits on top of all the open windows all the time. The setup of the application is somewhat clunky due to the way of handling the communication with Facebook to login and grant permissions. The user interface is simple but the results I got were not always what I expected.

Two ways of monetization in Java Store are paid applications (future) and/or in-app advertisement. Not innovative but good enough for a sales channel.

While Jonathan Schwartz used word "billions" in connection with Java Store, we are yet to see the wide adoption of the concept and the technologies behind it. On the bright side, finally Java Web Start works as it was supposed to 8 years ago when it was introduced.