Aldonline

Black Old Sun Microsystems and JavaFX

These are black days for the house of Java.

( image credit: Yahoo )
Will this give way to a takeover? Will they manage to pull some tricks and orchestrate a comeback?

Instead of trying to answer the latter, let me open a new front: JafaFX is just around the corner and Sun has a chance to make some big noise.

From a dev perspective, JavaFX is a pretty reasonable solution ( after years of missing the target with AWT, Swing, etc ). This means that, at this point, it all boils down to incrementing plugin penetration, streamlining deployment, and resolving cross platform issues. Adobe's Flash player, for example, is playing the opposite game: They need to catch up in terms of functionality to take advantage of their already large and reasonably reliable penetration.

Sun may appear to be a little late to the party, but keep in mind that, if they succeed in this task, they will be able to tap into an enormous dormant mass of developers. Considerably larger than Adobe's or even M$'. Moreover, the amount of functionality that could be injected to the RIA realm via the myriad of Java libraries would push the industry forward by leaps and bounds.

This would definitely provide some relief and revitalization for the beaten giant and, assuming they know what they are doing, open up new business fronts ( I guess that transitioning away from the "headless" java stack into a more integrated offering is ultimately aligned with cloud strategy. "The Network is the Computer"... don't forget who we are talking about ).

So far I am positively impressed with all things JavaFX and recognize its technical superiority over the current title holder. Let's see what happens when the tires hit the road, this is going to be an interesting process to watch.

Expect thousands of religious debates and passionate rants lighting up the blogosphere.

I would really like to know... Can Sun

  • streamline the runtime distribution?
  • gain market penetration?
  • effectively re-vitalize the brand?
  • capitalize on their developer base and the mature frameworks?

While it is relatively easy to control a software development roadmap, I believe it is pretty much impossible to control yet alone predict what will happen in terms of plugin pentration. The web is a complex system that keeps surprising us.

Links:

  • http://www.javafx.com/
  • This blog post and subsequent comments pretty much sum up the challenge that Sun is facing

google-anal...

In these days of Web2.0 Wild West they'll just do what it takes, won't they.
Well, at least they are using (SSL) protection ;)

The Key to Effective Innovation: Travelling Without Moving


Innovation is a broad and abused term, but I think it is fair to say that one thing is certain about any process that can be deemed innovative: you can't foresee the end of the road. The finale is a moving target by definition.

And this leaves you with a problem:

How can you move towards a moving target in a predictable/manageable way? How can you make sure that every step brings you closer to an unknown place?
How can you make sure your investment is never lost?

Solving this inherent contradiction is one of the keys to being an effective innovator.

And the answer is actually very simple: Improve your ability to move!

Work on the derivative as well. Take three steps forward, and then think about what you just did and how you could move faster next time.

75% walk. 25% Meta-walk.
Me, I'm probably 50/50.


  • Document everything behind you.
  • Look for patterns.
  • Generalize and refactor.
  • Make things well the first time ( even if it takes you longer ).
  • Work on your toolset, extend your reach.
  • If you are building software, build a platform ( to build your solution on top ).
  • Remove the overhead in everything you can.


Become a meta-walker and you'll always be closer to the goal, even if you don't know where it is.
And if the journey ends abruptly, nothing will be lost. You will be closer to everywhere.

If I Were an Adventurer

If I were a billionaire adventurer who has traveled around the world in a balloon and set several world records, I would like to die in such a way that I become a myth.

George Mallory kind of myth.

But, what if I had a heart attack?
Or I slipped while bathing?

( if you get it, you get it )

I Live in a Small Town...

I get this question often. So I'll answer it here officially.
I am currently based in a small, tiny town named Santiago, capital of Chile.

This is a panoramic view of where my office-hut is located:

The green patch to the right is actually a small barn where we keep our horses, although it is designed to look like a golf court.

There's a Christmas Tree Waiting in the Shadows...

You probably can't see it today, but there's a huge christmas tree standing in the shadows.
You didn't see it come in the room because it was brought in as a tiny seed 20 years ago and grew slowly over the years, right under your nose!

But now, christmas is approaching, lights are being wired, and the tree will become what it was meant to be in the first place.
Let's turn on the tree lights!
Let's give way to Linked Data!


Ho ho ho ho ;)

mIRI xmas!

The Apple, The Snake and The Strengthening Mind

I am a Zen practitioner. Although each day a little bit less...

One thing that has caught my attention lately is how my Internet time is inversely proportional to the ease with which I can practice meditation in any shape or form.

This makes sense if you consider that most meditations, in particular Zazen, use physical stillness as an anchor to divert attention from the mind. Once attention is drawn away, thoughts usually fall like dry leaves.

In this context, the Internet acts like fertilizer for my thoughts. They are stronger than ever! And they raise higher into new levels of abstraction ( this is also probably in part because of programming and KR&R ).

Or maybe I am developing a Wi-Fi sense of some kind ;) ( neuronal plasticity and electric cortical sensing still have unexplored boundaries you know ).

One thing is clear... we are becoming one endlessly chatting family that says "no sir" when you ask permission to be dismissed.

Beware sinners!
Beware of the proverbial apple and the snake... thou whilst be cast from paradise!


Why I Work On The Internets


- What do you do?

I'm an Internet guy



- Aha... you make websites?

Well, sort of. I work with knowledge



- Who's knowledge

Yours, mine... everyone's. I try to connect it.
The Internet as you know it is just one stage.
This is actually a big brain coming to life.



- Ahh hmmm ( eyes roll over ). And, why do you do that...

Because. I entered medical school a long time ago
and I realized that it was all about knowledge and communication.
Having the correct data at the right moment to act upon.



- Aahh so you studied medicine. You know, I have this headache, what can I take to...

I said loooong ago...
but I retired so I could study and work on the Internet.



- Aaah yeah right. Sorry, I forgot. You make websites now.

Ehhhh. That's right
I make websites on the Internets...






( And for the headache thing, try Google )

A Million Lines of Code from Base Camp

I have been splitting and refactoring a monstrous codebase into small chunks. Some of it into opensource projects.

Common sense says it should be faster to refactor and reorganize than to code in the first place. Right?

Humm. Not necessarily.
That depends on how careful you were on your way up.

You see, it works just like going down a mountain:

Gravity is a double edged sword. You better watch your step and hope for your nuts and bolts to be firm ( unit and regression tests ) and that you laid out the route correctly ( architecture, separation of concerns, dependencies ).

Ah, and did you know that 80% of fatal accidents happen on the way down?
( Hehe. Nice thought to have at this point )

See you at base camp ;)



Rappeling down Placa Roja. Maipo, Andes Mountains. Circa 2000.

A Simple Micro-Team Structure for R&D

When leading high tech innovation projects you usually face some recurring problems:

  • How do you exert indirect pressure for requirement freeze?
  • How do you transition from R&D to factory?
  • How do you improve the team's autonomy and release the lead innovator?
I'm going to touch briefly on a simple micro-team structure that addresses these requirements in a simple manner. Simple is Good because you won't forget ;).

The Innovation Module Micro-Team

I call the following 3-man configuration an "Innovation Module", consisting of one lead developer and two wings:



In this setup, the lead ( top ) is normally a subject expert who keeps tight contact with the customer and is given a preponderant weight in the team. The role of the other elements initially is mainly to support and offload the lead, remove roadblocks, fix bugs and undertake blocks of well-defined tasks. This is a highly agile structure for early stages of innovation and high customer contact and works particularly well with small scoped, specialized projects.

Dynamics and Evolution

The distribution of work is dependent on the stage, overall flux of requirements and complexity of the project. If an initial requirements gathering phase is taken and requirements are defined to great extent, then more work can be routed to the “wing” developers and lead appears sparsely. The more they stay in flux, the more work that has to go through the lead.
This is a way to transfer some control on innovation, design and research overhead to the customer so he can make adjustments regarding their own involvement and their commitment to the requirements ( lead time is usually much, much more expensive ). Therefore, this is an effective way to exert indirect pressure.

As the project evolves throughout agile iterations and specific business requirements become clearer, the team can move onto a different PMO supported structure and adopt a more scalable product oriented methodology such as Scrum (which we use internally for product development) to undertake more requirements across more projects.

In an ideal situation, the lead developer will be eventually replaced by a generic, shared project manager or PMO, and he will be free to bootstrap a new Innovation Module somewhere else.

Conclusion

I know of similar approaches, but this is my extreme simplification. Keeping it simple allows me to fit it into other methodologies, get the message across to the customer and remember the core principles.