2007 is the year of disruption. At least in my opinion. We are in the final month of the year and looking back I see several disruptive technologies that will change the technology landscape in the next few years. If you look at the following list which is not in any significant order other than alphabetical you will see what I mean
Android
Asus Eee PC
Google Presentations
gOS
Grails
Groovy
Knol
iPhone
iPod Touch
Mac OS X Leopard
Nokia N810
OLPC
OpenJDK
OpenSocial
Each one of the above technologies is creating a change wave that affects an existing market space or is the catalyst for an emerging market. These technologies are actually causing competition to re-evaluate its current market and live with the threat of being displaced.
Sunday, December 16, 2007
Saturday, November 10, 2007
Naked Objects Pattern
I am sitting here early on a Saturday morning at a local Honda dealer waiting for my vehicle to be serviced. While online and drinking a good cup of java (coffee), I had not written to this blog in a while (been quite busy) so decided to discuss a new Java technology that I have been researching lately which is quite impressive and ground breaking in my opinion.
While researching Java technology, I encountered a new pattern to which I was previous unexposed. It is called the Naked Objects pattern. What was surprising to me is just how little coverage this design or architectural pattern receives in the popular cyberspace. What started me down this path was the What is the Matter with JMatter? article I read last week. After reading that article and doing quite a bit of exprimentation with JMatter, it was the Naked Object architectural pattern that is most interesting.
I will not go into too much detail about JMatter, but in a nutshell it implements the Naked Objects architectural pattern and throws in some domain-driven design concepts to provide a very capable Java application engineering framework. The result is an extremely agile development environment for Java technologists. At first I thought JMatter was for the average user. After experimenting with it for a week, I have come to the viewpoint that JMatter is for the exprienced Java developer that understands design patterns, Ant, Hibernate, Spring, dependency-injection, XML, Swing and a few other best of breed Java frameworks that it leverages. The result is a several order of magnitude increase in application development productivity. What would have taken weeks or months to build can now be engineered in days or weeks.
The JMatter applications are currently client/server and leverage Java Web Start for deployment. What is on the drawing board is better usage of WingS and Echo2 to generate AJAX capable applications based on the JMatter application. I tested this capability that is integrated into JMatter today and it requires a bit more maturity before I would recommend using it. For now, if you an experienced Java developer, JMatter is worth a look. It changed my entire perspective on Java application development which I now call application engineering. Using JMatter and its capabilities allows you to engineer applications vice developing them in the traditional sense, lots of coding.
While researching Java technology, I encountered a new pattern to which I was previous unexposed. It is called the Naked Objects pattern. What was surprising to me is just how little coverage this design or architectural pattern receives in the popular cyberspace. What started me down this path was the What is the Matter with JMatter? article I read last week. After reading that article and doing quite a bit of exprimentation with JMatter, it was the Naked Object architectural pattern that is most interesting.
I will not go into too much detail about JMatter, but in a nutshell it implements the Naked Objects architectural pattern and throws in some domain-driven design concepts to provide a very capable Java application engineering framework. The result is an extremely agile development environment for Java technologists. At first I thought JMatter was for the average user. After experimenting with it for a week, I have come to the viewpoint that JMatter is for the exprienced Java developer that understands design patterns, Ant, Hibernate, Spring, dependency-injection, XML, Swing and a few other best of breed Java frameworks that it leverages. The result is a several order of magnitude increase in application development productivity. What would have taken weeks or months to build can now be engineered in days or weeks.
The JMatter applications are currently client/server and leverage Java Web Start for deployment. What is on the drawing board is better usage of WingS and Echo2 to generate AJAX capable applications based on the JMatter application. I tested this capability that is integrated into JMatter today and it requires a bit more maturity before I would recommend using it. For now, if you an experienced Java developer, JMatter is worth a look. It changed my entire perspective on Java application development which I now call application engineering. Using JMatter and its capabilities allows you to engineer applications vice developing them in the traditional sense, lots of coding.
Sunday, August 26, 2007
Google Sky, Wow!
I predicted Google would do something unpredictable and it occurred earlier this week. They released Google Sky which is integrated into the already incredible Google Earth. If you are into astronomy or just want to see what type of imagery is available of space, then this is it. Google has taken the collective imagery from the science community (NASA, etc..) and put into one place that anyone can now use and navigate just as you can with Google Earth.
I used a few astronomy programs and Google Sky definitely is the best one I have seen to date. I can't wait until there is a similar add-on for the Moon and Mars. Currently, Google Moon and Google Mars are accessible as 2-D browser applications.
I used a few astronomy programs and Google Sky definitely is the best one I have seen to date. I can't wait until there is a similar add-on for the Moon and Mars. Currently, Google Moon and Google Mars are accessible as 2-D browser applications.
Monday, August 06, 2007
Web OSs and the Future
I like looking toward the future and making bold predictions. Here is one, the WebOS paradigm will take over within the 3-5 years. Check out the list of existing WebOS projects at Wikipedia.
I have experimented with a few of these and just recently installed eyeOS which is a really impressive WebOS concept. It is written in PHP and is extremely lightweight. I read a really good review of eyeOS and then tried out it. Another decent concept is YouOS which is written entirely Javascript. It is currently in a proof of concept phase but has promising future if it is continually supported and matures. I have used the Sun Java Desktop System which is is very similar in concept however does not execute entirely within your web browser.
As the WebOS paradigm matures, I think it will eventually take over what virtualization and other desktop paradigms do today purely because a WebOS lends itself to execute in an extremely lightweight container, the web browser, and lends itself to exist in embedded web browser objects executing in mobile and new generation of personal digital devices (i.e. iPhones, GPS devices, PS3, Wii, DS, PDAs, smart phones, PAVs, etc.)
I have experimented with a few of these and just recently installed eyeOS which is a really impressive WebOS concept. It is written in PHP and is extremely lightweight. I read a really good review of eyeOS and then tried out it. Another decent concept is YouOS which is written entirely Javascript. It is currently in a proof of concept phase but has promising future if it is continually supported and matures. I have used the Sun Java Desktop System which is is very similar in concept however does not execute entirely within your web browser.
As the WebOS paradigm matures, I think it will eventually take over what virtualization and other desktop paradigms do today purely because a WebOS lends itself to execute in an extremely lightweight container, the web browser, and lends itself to exist in embedded web browser objects executing in mobile and new generation of personal digital devices (i.e. iPhones, GPS devices, PS3, Wii, DS, PDAs, smart phones, PAVs, etc.)
Saturday, July 21, 2007
The Firefox Kid and a new Web OS Project
While drinking my first cup of coffee on this wonderful Saturday morning in July, I bumped upon an article at Slashdot about Blake Ross, The Firefox Kid, and his latest project, Parakey. The details about Parakey are sparse because it it still in development. However, what is interesting is the peek that Blake has allowed to date.
In a nutshell from what I have gathered, Parakey is an open-source based application that instals on your desktop and runs in your browser and bridges the gap between desktops and the web. In essence, it is like a Web OS. As the project matures, we will see more details.
You have to read the article to get the full scope. There is also some interesting historical information about how Blake got involved in the Firefox creation.
Here is an interesting note, Facebook just purchased Parakey for an undisclosed amount. The we will continue be a highly dynamic place.
In a nutshell from what I have gathered, Parakey is an open-source based application that instals on your desktop and runs in your browser and bridges the gap between desktops and the web. In essence, it is like a Web OS. As the project matures, we will see more details.
You have to read the article to get the full scope. There is also some interesting historical information about how Blake got involved in the Firefox creation.
Here is an interesting note, Facebook just purchased Parakey for an undisclosed amount. The we will continue be a highly dynamic place.
Thursday, July 19, 2007
Firefox Has 28% Marketshare in Europe
I predicted this a year ago. At the rate that Firefox usage has been increasing it appears that Firefox now consists of 28% of European users. "Europe Helps Life Firefox Market Share". In some countries usage is as high as 48%! Whoa! At any rate, I think Firefox's ascent will continue especially when Firefox 3.0 comes out with its capability to support offline web applications similar to Google Gears technology.
If you are interested in web analytics, here are a few sites that clearly show the Firefox trend.
W3Schools Browser Market Share
Market Share Hit Links
What will be interesting is how this trend continues through 2007.
If you are interested in web analytics, here are a few sites that clearly show the Firefox trend.
W3Schools Browser Market Share
Market Share Hit Links
What will be interesting is how this trend continues through 2007.
Thursday, July 12, 2007
Offline Web Applications with Google Gears
As I expected, the unexpected innovation has been released by Google. I actually started using Google Gears the day it was announced from a user perspective when they enabled it in Google Reader. It definitely works and is actually a significant breakthrough at the tip of the ice berg.
Over at OnLAMP they put out some articles using Google Gears with PHP and MySQL. The Power Of Google Gears (part1, part2). It has only been a little while so let's see how this offline browser technology evolves. Mozilla is working on a similar technology in the next release of Firefox. Maybe we will see more of this later this year.
Over at OnLAMP they put out some articles using Google Gears with PHP and MySQL. The Power Of Google Gears (part1, part2). It has only been a little while so let's see how this offline browser technology evolves. Mozilla is working on a similar technology in the next release of Firefox. Maybe we will see more of this later this year.
Sunday, June 10, 2007
Grasshopper 2.0, Wow!
While perusing a few websites last week I enountered an article that piqued my interest at Internetnews.com, "Mainsoft Brings ASP.NET 2.0 to Linux". What the article really covered was the Mainsoft Grasshopper 2.0 product announced 6/6/2007 which lets you build your ASP.NET 2.0/C# or VB web application and targett for deployment on a Java/J2EE servlet container or portal.
I have been spending the past month working with the .NET 2.0/3.0 framework and have had the opportunity to test Grasshopper 2.0 using VS2005. The early verdict is, 'wow'! This is truly an accomplishment. The Mainsoft team has created a Visual Studio 2005 extension that converts Microsoft Intermediate Language (MSIL) bytecode to Java bytecode from a C# or VB ASP.NET 2.0 web application. It actually works as advertised. Grasshopper 2.0 fully supports .NET 2.0. The resulting product is a fully compliant Java .WAR that deploys to Tomcat-5.5 as you would expect.
Mainsoft provides a free Developer Version of Grasshopper 2.0 which I used. It requires an activiation key you must get from their website. Installation into VS2005 was flawless as long as you have VS2005 with SP1 installed. The Mainsoft tutorials are easy to follow. If you know how to build an ASP.NET 2.0 web app using VS2005 then using Grasshopper 2.0 is seamless. You just use your existing C# or VB skills in VS2005. You do not need to know Java in order to use it. That is intent of the product.
The Mainsoft online documentation, FAQs and tutorials are all decent for experienced developers. In addition to the Developer version there is the portal and enterprise versions which add additional features. The Mainsoft website provides a clear explanation of each version's features.
Now what would really be cool is Mainsoft Grasshopper supporting SharpDevelop. SharpDevelop is the best open source IDE for .NET that I have seen.
I have been spending the past month working with the .NET 2.0/3.0 framework and have had the opportunity to test Grasshopper 2.0 using VS2005. The early verdict is, 'wow'! This is truly an accomplishment. The Mainsoft team has created a Visual Studio 2005 extension that converts Microsoft Intermediate Language (MSIL) bytecode to Java bytecode from a C# or VB ASP.NET 2.0 web application. It actually works as advertised. Grasshopper 2.0 fully supports .NET 2.0. The resulting product is a fully compliant Java .WAR that deploys to Tomcat-5.5 as you would expect.
Mainsoft provides a free Developer Version of Grasshopper 2.0 which I used. It requires an activiation key you must get from their website. Installation into VS2005 was flawless as long as you have VS2005 with SP1 installed. The Mainsoft tutorials are easy to follow. If you know how to build an ASP.NET 2.0 web app using VS2005 then using Grasshopper 2.0 is seamless. You just use your existing C# or VB skills in VS2005. You do not need to know Java in order to use it. That is intent of the product.
The Mainsoft online documentation, FAQs and tutorials are all decent for experienced developers. In addition to the Developer version there is the portal and enterprise versions which add additional features. The Mainsoft website provides a clear explanation of each version's features.
Now what would really be cool is Mainsoft Grasshopper supporting SharpDevelop. SharpDevelop is the best open source IDE for .NET that I have seen.
Thursday, May 31, 2007
A Google Summer
Google surprises again in this first week after Memorial Day. If you have not been paying attention or maybe are getting into the nice weather we have been having towards the end of May, Google has updates Google Maps with Street Views. Nothing really new since Microsoft has had this in Live for about a year now. The difference is that the Google Street Views actually works nicely, is intuitive, and does it all in all browsers.
I toured San Francisco and in the new Google Maps Street Views and I am totally impressed! It is really an immersive 3-D experience. Wow is all I can say.
And then there is Google Gears! This one is just as impressive. It is an offline web application framework that works in all web browsers and platforms since is based on Javascript and a local SQLite database. I installed it on my MacBook and on Windows XP in Firefox and had no issues at all. Google has made Google Reader a Gears enabled application and it works just as advertised offline. Cool stuff.
Now, they just need to get GMail, Docs and Spreadsheets working in a similar transparent fashion. If Google Reader is any indication of what the near future brings, then 2007 will turn out to be quite an innovative year for Google. The real killer is that Google Gears is released as open-source under a BSD style license.
I think Microsoft is going to be in trouble and losing ground on the web front. I plan to see how Google Gears works out for enabling custom web applications to enable offline browsing capabilities. Time will tell how successful Google Gears becomes.
I toured San Francisco and in the new Google Maps Street Views and I am totally impressed! It is really an immersive 3-D experience. Wow is all I can say.
And then there is Google Gears! This one is just as impressive. It is an offline web application framework that works in all web browsers and platforms since is based on Javascript and a local SQLite database. I installed it on my MacBook and on Windows XP in Firefox and had no issues at all. Google has made Google Reader a Gears enabled application and it works just as advertised offline. Cool stuff.
Now, they just need to get GMail, Docs and Spreadsheets working in a similar transparent fashion. If Google Reader is any indication of what the near future brings, then 2007 will turn out to be quite an innovative year for Google. The real killer is that Google Gears is released as open-source under a BSD style license.
I think Microsoft is going to be in trouble and losing ground on the web front. I plan to see how Google Gears works out for enabling custom web applications to enable offline browsing capabilities. Time will tell how successful Google Gears becomes.
Sunday, May 13, 2007
Microsoft vs. FOSS
Well, I expected this was coming any day now and that day has arrived. Microsoft has initiated a new front against Free and Open Source Software (FOSS). The CNNMoney article is a good read, "Microsoft Takes On the Free World", about the front Microsoft intends to open concerning specific patents it says Linux and other open source software violates.
The next week and the future will be interesting. The article discusses a 'cold war' like scenario in software technology putting Microsoft and the FOSS in direct legal collision course. FOSS has powerful corporate patrons and allies. In 2005, six of them - IBM, Sony, Philips, Novell, Red Hat and NEC - set up the Open Invention Network to acquire a portfolio of patents that might pose problems for companies like Microsoft, which are known to pose a patent threat to Linux. There is speculation that the intent of this is to provide a 'mutually assured' litigation scenario similar to the cold war 'mutually assured destruction' scenario.
FOSS and others are on the opposing front with their own arsenal of patents ready for its use as a counter attack against Microsoft. Looks like the SCO law suit all over again but this time a more frontal assault. IBM won the SCO lawsuit. SCO was indirectly supported by Microsoft funds. An interesting fact to note is that IBM holds the most patents in the software industry and has not threatened anyone that I know about with its patents.
What is interesting is how the CNNMoney article states that half of the Fortune 500 use FOSS (Linux) and growing. The article alludes to Google which is widely known to be a large proponent of open source. One area that appears to be the real threat are online free web applications in which Google is moving towards very rapidly. Microsoft must really be hurting or at least is significantly threatened by Linux. Their fear of Google is well known.
It could be that the future trends with the migration towards open source and Linux will undermine future Microsoft business. I have read many blogs and analysis to this effect ("Microsoft is Dead", "Eight Signs Microsoft is Dead in t he Water" -John Dvorak) and the most recent actions by Microsoft appear to be supporting this theory. What is ironic is that Google never confirms or denies that it is competing with Microsoft. Microsoft appears to be obsessed with Google's success.
On yet another front, it was just recently reported that Apple's sales for MacBook accounted for near 10% of all notebooks in March 2007. Apple is also #4 on the notebook sales list. It looks like Microsoft is trying to open up too many fronts and maybe needs to review history and the art of war.
The next few years will be very interesting.
The next week and the future will be interesting. The article discusses a 'cold war' like scenario in software technology putting Microsoft and the FOSS in direct legal collision course. FOSS has powerful corporate patrons and allies. In 2005, six of them - IBM, Sony, Philips, Novell, Red Hat and NEC - set up the Open Invention Network to acquire a portfolio of patents that might pose problems for companies like Microsoft, which are known to pose a patent threat to Linux. There is speculation that the intent of this is to provide a 'mutually assured' litigation scenario similar to the cold war 'mutually assured destruction' scenario.
FOSS and others are on the opposing front with their own arsenal of patents ready for its use as a counter attack against Microsoft. Looks like the SCO law suit all over again but this time a more frontal assault. IBM won the SCO lawsuit. SCO was indirectly supported by Microsoft funds. An interesting fact to note is that IBM holds the most patents in the software industry and has not threatened anyone that I know about with its patents.
What is interesting is how the CNNMoney article states that half of the Fortune 500 use FOSS (Linux) and growing. The article alludes to Google which is widely known to be a large proponent of open source. One area that appears to be the real threat are online free web applications in which Google is moving towards very rapidly. Microsoft must really be hurting or at least is significantly threatened by Linux. Their fear of Google is well known.
It could be that the future trends with the migration towards open source and Linux will undermine future Microsoft business. I have read many blogs and analysis to this effect ("Microsoft is Dead", "Eight Signs Microsoft is Dead in t he Water" -John Dvorak) and the most recent actions by Microsoft appear to be supporting this theory. What is ironic is that Google never confirms or denies that it is competing with Microsoft. Microsoft appears to be obsessed with Google's success.
On yet another front, it was just recently reported that Apple's sales for MacBook accounted for near 10% of all notebooks in March 2007. Apple is also #4 on the notebook sales list. It looks like Microsoft is trying to open up too many fronts and maybe needs to review history and the art of war.
The next few years will be very interesting.
Thursday, May 10, 2007
MVC Frameworks Update
I have had the chance to take a look at the recently released Struts2 framework. It was made generally available in late February 2007. It is based on the WebWork2 framework which in itself has been in active development the last few years.
It appears that the Struts2 team has provided a nice update to Struts which has been showing its age and actually has lost a lot of its advantages due to advances in the Java world and the dynamic scripting language (i.e. Ruby, Perl, PHP). Here is a decent Struts2 history worth a read.
Some of the nice features of Struts2 are simplicity, plugins, Spring integration, AJAX support, and flexibility to use POJOs for form and action classes. The requirement for Action and ActionForm mappings no longer exist. It integrates with Freemarker, Velocity (no more VelocityStruts), and many other frameworks.
If you have been looking at MVC frameworks in Java lately, I think Struts2 is worth a look. If you have works with Struts in the past, the learning curve is minimal. It will interesting to see how much traction Struts2 gets this year in the Java web applications arena. There are many competing MVC frameworks and Struts is still widely used. I have been leaning towards simplicity lately and it looks like the Struts team has been spending the last year doing the same.
It is good to see that Ted Husted is involved. This adds a lot of confidence and credibility to the Struts2 project. In a addition to Struts2, I have been looking at Spring MVC and the Spring WebFlow frameworks. They do not appear to be getting as much attention this spring (no pun intended). Anyway, it's good to see some action in the Struts community. Since I have not been following the Struts development in the past year, it was a nice surprise to finally see a general availability release.
I guess I will be spending the next few months with Struts2 and see what it can do.
It appears that the Struts2 team has provided a nice update to Struts which has been showing its age and actually has lost a lot of its advantages due to advances in the Java world and the dynamic scripting language (i.e. Ruby, Perl, PHP). Here is a decent Struts2 history worth a read.
Some of the nice features of Struts2 are simplicity, plugins, Spring integration, AJAX support, and flexibility to use POJOs for form and action classes. The requirement for Action and ActionForm mappings no longer exist. It integrates with Freemarker, Velocity (no more VelocityStruts), and many other frameworks.
If you have been looking at MVC frameworks in Java lately, I think Struts2 is worth a look. If you have works with Struts in the past, the learning curve is minimal. It will interesting to see how much traction Struts2 gets this year in the Java web applications arena. There are many competing MVC frameworks and Struts is still widely used. I have been leaning towards simplicity lately and it looks like the Struts team has been spending the last year doing the same.
It is good to see that Ted Husted is involved. This adds a lot of confidence and credibility to the Struts2 project. In a addition to Struts2, I have been looking at Spring MVC and the Spring WebFlow frameworks. They do not appear to be getting as much attention this spring (no pun intended). Anyway, it's good to see some action in the Struts community. Since I have not been following the Struts development in the past year, it was a nice surprise to finally see a general availability release.
I guess I will be spending the next few months with Struts2 and see what it can do.
Saturday, April 14, 2007
Digital Woes for Mars Global Surveyor
It appears that a single command to the Mars Global Surveyor was the root cause of it eventually failing. "Mars Global Surveyor Dies From Single Bad Command". If this is truly the case then this is a pretty scary event considering that a software engineer somewhere is responsible for the loss of a remote space craft.
I read a book a few years ago called "Digital Woes" written by a Reagan era 'Star Wars' computer scientist, Lauren Ruth Weiner, that cast a serious doubt on the probability of succsss of such a complex system. The probabilty of success based on the statistics of digital failures in the modern computer age was calculated to be too high. From what I recall, there was a lot of statistical and scientific models created where the success of the 'Star Wars' system was unachievable.
At any rate, the news today concerning the Mars Global Surveyor reminded me of the book and how software engineering is even more critical today. A single bad command caused a cascading set of failures which eventually shutdown the space craft. This just adds fuel to the argument that software testing is critical and that sound software engineering practices may not be enough.
Based on what I know about what happened to the Mars Global Surveyor, it looks like the NASA team followed all disciplined processes but the failure still occurred. It appears that the complexity of the system behavior was not well tested which resulted in the sequence of events leading to the eventual failure of the system. The LA Times article mentions budget cuts, political pressure and short time frames as contributing causes for the human error. The Scientific American article also mentions human error.
I wonder if they did any modeling and simulation or at least simulation of the scenario? Being an optimist, I think that test-driven software development is not enough with the complexity of modern systems and that simulation is required in order to really observe the behavior of the system. Given the declining NASA budget environment and fewer resources, maybe some new ways of approaching software engineering at NASA is an option. The 'do more with less' mentality requires new ways of thinking and a lot of engineering management innovation.
I read a book a few years ago called "Digital Woes" written by a Reagan era 'Star Wars' computer scientist, Lauren Ruth Weiner, that cast a serious doubt on the probability of succsss of such a complex system. The probabilty of success based on the statistics of digital failures in the modern computer age was calculated to be too high. From what I recall, there was a lot of statistical and scientific models created where the success of the 'Star Wars' system was unachievable.
At any rate, the news today concerning the Mars Global Surveyor reminded me of the book and how software engineering is even more critical today. A single bad command caused a cascading set of failures which eventually shutdown the space craft. This just adds fuel to the argument that software testing is critical and that sound software engineering practices may not be enough.
Based on what I know about what happened to the Mars Global Surveyor, it looks like the NASA team followed all disciplined processes but the failure still occurred. It appears that the complexity of the system behavior was not well tested which resulted in the sequence of events leading to the eventual failure of the system. The LA Times article mentions budget cuts, political pressure and short time frames as contributing causes for the human error. The Scientific American article also mentions human error.
I wonder if they did any modeling and simulation or at least simulation of the scenario? Being an optimist, I think that test-driven software development is not enough with the complexity of modern systems and that simulation is required in order to really observe the behavior of the system. Given the declining NASA budget environment and fewer resources, maybe some new ways of approaching software engineering at NASA is an option. The 'do more with less' mentality requires new ways of thinking and a lot of engineering management innovation.
Monday, April 02, 2007
Remember OS/2, It is 20-Years Old Today
I just saw this OS/2 20th birthday posting. I was an early adopter of OS/2 in the 1.0 days. Then used it well in into the late 1990s. Those were good old days. OS/2 is still alive and kicking.
Wonder when IBM is going to open source it? Now that would open quite a few opportunities! We can still hope and wish.
Wonder when IBM is going to open source it? Now that would open quite a few opportunities! We can still hope and wish.
Sunday, March 25, 2007
Virtualization on Mac OS X
Check out my blog entry I just posted over at The Mac Katana. It discusses my experiences on Mac OS X with VMware Fusion Beta and Parallels.
Sunday, March 18, 2007
Online All The Time
In my lifetime of communicating with a computer, I have lived and been a part of several paradigms of online communcations. I remember the dial-up the BBS days in the 1980s, the CompuServe forums in early 1990s, e-mail in various forms of evolution in the 1980s through the 1990s and the spam infested world of today, groupware in the 1990s, and instant messaging, forums, blogs, portals and wikis in the past few years.
Collaborative online communication continues to evolve. Today, the social networking sites, personal wikis, personal blogs, and portals are all evolutionary forms of storing and managing online information. What I like about today's world is that with open source technology and the numerous online services providing you with all the tools you can imagine, the only thing you need is a modern web browser to access it all! Not having a blog, participating in a forum, being part of some online community, or not being online is like not having access to a telephone in the 1970s.
I remember being a young person in the late 1970s and early 1980s and spending hours talking on the phone. For me, this has translated into the modern equivalent of being online all the time today. With notebook computers, internet gadgets and all types of mobile devices, it is hard not be online today. You actually have to make a effort to stay offline today. The only time I spend less time online is when I am on a vacation. Then I intentionally disconnect.
I find that instead of watching TV and cable, I actually do this while staying online. A few years ago this was sort of a novelty. Today, it is now just a normal way that I watch TV/cable and concurrently browse the internet. My multitasking capabilities are up and my attention span is going down. I am not sure if this is a good thing but I have adapted to this way of personal interactive entertainment over the last few years.
What I have not seen is the smooth convergence of TV and the web that was envisioned in the 1990s. This did not occur. Today, we still have TV/cable that pretty much works the same way it did in the 1990s and the web has become richer but the convergence has not occurred. I think the two industries are intentionally trying to figure this out and no one really wants to the change it all. YouTube and other online video sites are in a big fight with traditional content providers and from what I have seen, it appears that the traditional content providers are resisting the convergence and change. So what else is new?
Well, back to my original topic. I am watching a Comedy Central show right now and writing this blog entry. Maybe in 10-years we'll see the convergence of TV and the web. I doubt it because that is what everyone thought 10-years ago in 1997.
Collaborative online communication continues to evolve. Today, the social networking sites, personal wikis, personal blogs, and portals are all evolutionary forms of storing and managing online information. What I like about today's world is that with open source technology and the numerous online services providing you with all the tools you can imagine, the only thing you need is a modern web browser to access it all! Not having a blog, participating in a forum, being part of some online community, or not being online is like not having access to a telephone in the 1970s.
I remember being a young person in the late 1970s and early 1980s and spending hours talking on the phone. For me, this has translated into the modern equivalent of being online all the time today. With notebook computers, internet gadgets and all types of mobile devices, it is hard not be online today. You actually have to make a effort to stay offline today. The only time I spend less time online is when I am on a vacation. Then I intentionally disconnect.
I find that instead of watching TV and cable, I actually do this while staying online. A few years ago this was sort of a novelty. Today, it is now just a normal way that I watch TV/cable and concurrently browse the internet. My multitasking capabilities are up and my attention span is going down. I am not sure if this is a good thing but I have adapted to this way of personal interactive entertainment over the last few years.
What I have not seen is the smooth convergence of TV and the web that was envisioned in the 1990s. This did not occur. Today, we still have TV/cable that pretty much works the same way it did in the 1990s and the web has become richer but the convergence has not occurred. I think the two industries are intentionally trying to figure this out and no one really wants to the change it all. YouTube and other online video sites are in a big fight with traditional content providers and from what I have seen, it appears that the traditional content providers are resisting the convergence and change. So what else is new?
Well, back to my original topic. I am watching a Comedy Central show right now and writing this blog entry. Maybe in 10-years we'll see the convergence of TV and the web. I doubt it because that is what everyone thought 10-years ago in 1997.
Saturday, March 10, 2007
Search In 2007
Today, everyone knows how to use Google or a search capability. It is very intuitive and even my son who is in first grade has figured out how to use the search feature in online dictionaries like Merriam-Webster. What surprises me recenlty is the how the enterprise search market is becoming a very competitive space.
A few years ago, Google and Yahoo! were the two enterprise level products on the market with an low cost to entry. This is a critical point in the modern IT environment. Today, there are numerous open source and proprietary solutions all claiming some type of advantage in their implementation of search technology. I can name quite a few search technologies today that I have reviewed Google Search Appliance, Yahoo SDK, Amazon A9 OpenSearch, IBM OmniFind, Corpora Find!, Microsoft Sharepoint 2007 Enterprise Search, Nutch, Lucene, Autonomy/Verity, and whole lot of embedded search engines. In the Java world, Lucene appears to be the best of breed search framework. As a matter of fact it is the basis for the IBM OmniFind Yahoo! Edition search technology.
I really like the Google appliance mentality. You just install it and use it. It just works kind of like your refrigerator. When was the last time you had to do any type of maintenance, patches, reconfiguration, optimization, of your refrigerator. You do not! That is the point. You just use it, it works and you keep it clean and it looks good. That in summation is what I consider the baseline needs and wants for a search solution. No one else has anything like it on the market yet.
I have designed and built solutions using Lucene, Verity, Google API and Yahoo! SDK. Generally speaking, they all work in a similar fashion. Personally, I prefer the appliance approach that Google provides. It just works. It uses the same Google API that you can already use and implements a dedicated hardware based solution that requires very little systems administration overhead.
As for the state of enterprise search today, I would say the the IBM OmniFind Yahoo! Edition is a powerful open source entry into this highly competitive space. With it's low-cost to entry and open source foundation, it looks like it will mature into a viable competitor to the Google Search Appliance in the next few years. Comparing the Google API to the Yahoo! REST based search SDK, I think the Yahoo approach using REST is much easier to use from a developer perspective.
I would not count out the open source product Nutch either. It is based on Apache Lucene which is the defacto best of breed Java indexing framework. Nutch has been brought into the Apache Software Foundation which is a powerful force in the open source universe.
As for the state of search, I think the leaders remain the same and the fresh new open source competition is breathing life into this area that was once completely dominated by a few products.
A few years ago, Google and Yahoo! were the two enterprise level products on the market with an low cost to entry. This is a critical point in the modern IT environment. Today, there are numerous open source and proprietary solutions all claiming some type of advantage in their implementation of search technology. I can name quite a few search technologies today that I have reviewed Google Search Appliance, Yahoo SDK, Amazon A9 OpenSearch, IBM OmniFind, Corpora Find!, Microsoft Sharepoint 2007 Enterprise Search, Nutch, Lucene, Autonomy/Verity, and whole lot of embedded search engines. In the Java world, Lucene appears to be the best of breed search framework. As a matter of fact it is the basis for the IBM OmniFind Yahoo! Edition search technology.
I really like the Google appliance mentality. You just install it and use it. It just works kind of like your refrigerator. When was the last time you had to do any type of maintenance, patches, reconfiguration, optimization, of your refrigerator. You do not! That is the point. You just use it, it works and you keep it clean and it looks good. That in summation is what I consider the baseline needs and wants for a search solution. No one else has anything like it on the market yet.
I have designed and built solutions using Lucene, Verity, Google API and Yahoo! SDK. Generally speaking, they all work in a similar fashion. Personally, I prefer the appliance approach that Google provides. It just works. It uses the same Google API that you can already use and implements a dedicated hardware based solution that requires very little systems administration overhead.
As for the state of enterprise search today, I would say the the IBM OmniFind Yahoo! Edition is a powerful open source entry into this highly competitive space. With it's low-cost to entry and open source foundation, it looks like it will mature into a viable competitor to the Google Search Appliance in the next few years. Comparing the Google API to the Yahoo! REST based search SDK, I think the Yahoo approach using REST is much easier to use from a developer perspective.
I would not count out the open source product Nutch either. It is based on Apache Lucene which is the defacto best of breed Java indexing framework. Nutch has been brought into the Apache Software Foundation which is a powerful force in the open source universe.
As for the state of search, I think the leaders remain the same and the fresh new open source competition is breathing life into this area that was once completely dominated by a few products.
Saturday, February 24, 2007
Platform Agnosticism and Ultra-Portable Computing Machines
I have been on the front lines of the platform wars for more than a decade now. I was an early adopter of 32-bit DOS extender technologies (DesqView, Concurrent), OS/2, 32-bit Windows, Linux, Citrix, virtualization and other platform specific extension technologies for which some have since long come and gone. Today, virtualization, cross-platform languages, Java, fast processors, cheap memory, cheap storage and open source technology have changed everything. The concept that a specific platform will dominate no longer fits the paradigm shift of the always connected online future.
I have spent the past five years working towards platform agnosticity and have only recently been able to experience it in practical form. It has been three months since I switched to using Mac OS X as my preferred environment. Since, then I have been able to truly practice, research and experience cross-platform computing and software engineering. Java, being designed cross-platform is a key enabling technology.
The online Google Docs and Spreadsheets and all their online applications has pushed the envelope even further. I now use my online Google apps more than anything else and use my desktop applications (OpenOffice.org, MS-Office) as online extenders for necessary functionally where ever I am. This is an inversion of how most people perceive these online applications. Anyway, I have lived this inverted environment since last summer (almost 8-months now) and can confidently say that it works for me and is the future of computing. I blogged about this last year. ("Online Everything Is Getting Closer") This year I think the "online everything" is even better because I have been able to live it and push the innovation further. Google's recent announcement of Google Apps for Enterpises is a testament. There is also a rumor that an online presentation tool is in the works! That would be impressive.
I have found that open standards, open source technology have had a larger influence in the mutli-platform world more than enything else. Prior to switching to Mac OS X, I was primarily a Linux and Windows user/developer using Java technology. I always preferred Linux overall but now my MacBook has become a 'better Linux than Linux' in my experience. With Linux there was always something missing in the GUI (KDE, Gnome) application spaces. On the Mac this missing gap is closed by the numerous robust GUI applications that exist on the Mac OS X platform. In addtion to the excellent Java support built-in to Mac OS X, there is an active user base/community that just focuses on the getting things done. As Apple has been pushing, 'It just works.'
This year is shaping up as I anticipated. I have moved most of my computing work online and can access and collaborate online using any computer platform, anytime, and anywhere. My search now is for ultra-mobile computing device that has a full-blown Linux like OS allowing me to access all my information whenever and where ever I need. This new device must not sacrifice any computing power or external peripheral capability via USB or Bluetooth interfaces
I recently checked out the Sony UX series devices which are incredibly tiny machines based on Windows XP Professional. It uses solid-state hard drives (no moving parts) which is highly desireable in an ultra-portable device. Nokia has the N770 and N800 Linux based devices which are getting closer. I have not seen the N800 in person yet. I have been using my Sony PSP as a portable browser for two-years now and it just works as browser in addition to being an excellent multimedia gaming device. I also recently got to play with the Sony Mylo hands on and this is getting closer but not quite there yet. Some people like the Mylo but for me, it does not meet the full-blown computer requirement.
I am hoping that Apple comes out with something in this ultra-portable device space that 'just works' like my MacBook does. I tried out my mobile phone a few years ago as an internet platform and very quickly ruled that out because it is 'too small' and limiting as a computing device for power users or developers. Not much has changed in this space recently. Plus the bandwidth is not there in the US for the mobile smart phones. Today's mobile phones are too small and too slow for practical use as a serious computing platform.
I am looking for a 'better Linux than Linux' in a ultra-portable form factor that uses solid-state storage with no sacrifices. My best bet desirable device today would be a Linux based device that is ultra-portable. Maybe Apple has a ultra-portable Mac OS X device in the works? I like the Sony UX series but being a Windows device and relatively expensive puts a negative spin on it. Java is a key open source enabling technology that must be supported given its scalability and cross-platform design and having it is my preference being a Java technologist. Given the state of wide Java support today in Linux, Mac OS X, Unix, and Windows I do not see this as an issue.
Anyway, the migration of moving everything online allows me to be very critical of the ultra-portable computing device I want in the future. Notice that in the ultra-portable environment, I really have not focused on any platform. Just the device form-factor, features and capabilities as an ultra-portable computing machine that sacrifices nothing. No one has attained it yet but I know what the target requirements are for my ultra-portable computing machine are and it does not yet exist. I prefer something that is Linux/Unix centric since that is where most of the innovative ideas and cutting edge computer science research occurs today. Maybe later this year someone will surprise the world and come up with an innovative new product! I think in the next few years we will definitely see this happen. Whoever produces just has to remember that cost is also a factor.
I have spent the past five years working towards platform agnosticity and have only recently been able to experience it in practical form. It has been three months since I switched to using Mac OS X as my preferred environment. Since, then I have been able to truly practice, research and experience cross-platform computing and software engineering. Java, being designed cross-platform is a key enabling technology.
The online Google Docs and Spreadsheets and all their online applications has pushed the envelope even further. I now use my online Google apps more than anything else and use my desktop applications (OpenOffice.org, MS-Office) as online extenders for necessary functionally where ever I am. This is an inversion of how most people perceive these online applications. Anyway, I have lived this inverted environment since last summer (almost 8-months now) and can confidently say that it works for me and is the future of computing. I blogged about this last year. ("Online Everything Is Getting Closer") This year I think the "online everything" is even better because I have been able to live it and push the innovation further. Google's recent announcement of Google Apps for Enterpises is a testament. There is also a rumor that an online presentation tool is in the works! That would be impressive.
I have found that open standards, open source technology have had a larger influence in the mutli-platform world more than enything else. Prior to switching to Mac OS X, I was primarily a Linux and Windows user/developer using Java technology. I always preferred Linux overall but now my MacBook has become a 'better Linux than Linux' in my experience. With Linux there was always something missing in the GUI (KDE, Gnome) application spaces. On the Mac this missing gap is closed by the numerous robust GUI applications that exist on the Mac OS X platform. In addtion to the excellent Java support built-in to Mac OS X, there is an active user base/community that just focuses on the getting things done. As Apple has been pushing, 'It just works.'
This year is shaping up as I anticipated. I have moved most of my computing work online and can access and collaborate online using any computer platform, anytime, and anywhere. My search now is for ultra-mobile computing device that has a full-blown Linux like OS allowing me to access all my information whenever and where ever I need. This new device must not sacrifice any computing power or external peripheral capability via USB or Bluetooth interfaces
I recently checked out the Sony UX series devices which are incredibly tiny machines based on Windows XP Professional. It uses solid-state hard drives (no moving parts) which is highly desireable in an ultra-portable device. Nokia has the N770 and N800 Linux based devices which are getting closer. I have not seen the N800 in person yet. I have been using my Sony PSP as a portable browser for two-years now and it just works as browser in addition to being an excellent multimedia gaming device. I also recently got to play with the Sony Mylo hands on and this is getting closer but not quite there yet. Some people like the Mylo but for me, it does not meet the full-blown computer requirement.
I am hoping that Apple comes out with something in this ultra-portable device space that 'just works' like my MacBook does. I tried out my mobile phone a few years ago as an internet platform and very quickly ruled that out because it is 'too small' and limiting as a computing device for power users or developers. Not much has changed in this space recently. Plus the bandwidth is not there in the US for the mobile smart phones. Today's mobile phones are too small and too slow for practical use as a serious computing platform.
I am looking for a 'better Linux than Linux' in a ultra-portable form factor that uses solid-state storage with no sacrifices. My best bet desirable device today would be a Linux based device that is ultra-portable. Maybe Apple has a ultra-portable Mac OS X device in the works? I like the Sony UX series but being a Windows device and relatively expensive puts a negative spin on it. Java is a key open source enabling technology that must be supported given its scalability and cross-platform design and having it is my preference being a Java technologist. Given the state of wide Java support today in Linux, Mac OS X, Unix, and Windows I do not see this as an issue.
Anyway, the migration of moving everything online allows me to be very critical of the ultra-portable computing device I want in the future. Notice that in the ultra-portable environment, I really have not focused on any platform. Just the device form-factor, features and capabilities as an ultra-portable computing machine that sacrifices nothing. No one has attained it yet but I know what the target requirements are for my ultra-portable computing machine are and it does not yet exist. I prefer something that is Linux/Unix centric since that is where most of the innovative ideas and cutting edge computer science research occurs today. Maybe later this year someone will surprise the world and come up with an innovative new product! I think in the next few years we will definitely see this happen. Whoever produces just has to remember that cost is also a factor.
Thursday, February 08, 2007
Yahoo Pipes
Leave it up to the IT industry to come out with a new product out of the blue. Yahoo Pipes has the opportunity to be one of the killer apps of 2007. I was just experimenting with RSS aggregation in java and php last year. I had a lot of good ideas but never go around to them due to the usual not enough time to focus on any of the ideas. Recently, I found a decent java webapp called Flock that is no longer maintained but has the right idea. Flock could use some nice enhancement. And then just yesterday, Yahoo! announces Pipes!
Details of Pipes are hard to confirm since the site is overloaded and they have a nice banner message stating that "Our Pipes Are Clogged" due to overwhelming demand. From what I have read, it appears to be some type of RSS aggregation/mashup tool that provides some visualizations on what you are creating. If it is anything like the Yahoo! Site Builder, then it will probably be a rich client java application that provides a nice GUI.
At any rate, when I finally get a chance to see Pipes first hand in the next few days of weeks will blog about it and see if it stands up to the over hype.
Details of Pipes are hard to confirm since the site is overloaded and they have a nice banner message stating that "Our Pipes Are Clogged" due to overwhelming demand. From what I have read, it appears to be some type of RSS aggregation/mashup tool that provides some visualizations on what you are creating. If it is anything like the Yahoo! Site Builder, then it will probably be a rich client java application that provides a nice GUI.
At any rate, when I finally get a chance to see Pipes first hand in the next few days of weeks will blog about it and see if it stands up to the over hype.
Sunday, January 28, 2007
Nice Java Development Platform
I have been using my MacBook for almost two months now and feel quite comfortable with it. I have been using it exclusively at home working and experimenting with Java web applications that are running on my Linux servers. All I can say is that if you are looking for the next thing and are not tied to Windows then Mac OS X 10.4 Tiger is it based on my experience.
The Mac OS X 10.4 Tiger user-interface is very intuitive and the Finder, Dashboard features are exactly what I was looking for in a next generation GUI. OpenOffice.org, Eclipse, and all my other tools for Java development work as advertised on Mac OS X. The next release Mac OS X 10.5 (Leopard) has even more features that take it to the next level.
For Java development, I can now say that Mac OS X is a really good solution. Much better than Windows primarily because of the underlying Unix foundations. If you are administering Linux servers and need an extremely consistent GUI, the Mac OS X is it. Your mileage may vary as I always like to say.
I created a new blog, The Mac Katana, devoted to my experiences on the Mac. Check it out if are interested.
I wish everyone good luck happiness and joy in this new year, 2007!
The Mac OS X 10.4 Tiger user-interface is very intuitive and the Finder, Dashboard features are exactly what I was looking for in a next generation GUI. OpenOffice.org, Eclipse, and all my other tools for Java development work as advertised on Mac OS X. The next release Mac OS X 10.5 (Leopard) has even more features that take it to the next level.
For Java development, I can now say that Mac OS X is a really good solution. Much better than Windows primarily because of the underlying Unix foundations. If you are administering Linux servers and need an extremely consistent GUI, the Mac OS X is it. Your mileage may vary as I always like to say.
I created a new blog, The Mac Katana, devoted to my experiences on the Mac. Check it out if are interested.
I wish everyone good luck happiness and joy in this new year, 2007!
Subscribe to:
Posts (Atom)