Ok, this is what I have really been waiting for in the past few years. I started Using Google Docs as soon as it was released back in 2006. Google has just updated it and I can now take my documents offline with the integrated Gears technology. From what I understand, Google is working on the spreadsheets and presentations.
I tested the offline documents capability a few days ago and it works as advertised. I am entirely impressed. I can now work on my Google Docs documents within Firefox offline. When I reconnect, my changes are now automatically resychronized with Google Docs servers.
Tuesday, April 22, 2008
Sunday, April 20, 2008
Search Engine Optimization (SEO)
This is a topic that I had to research recently for a class I am taking in graduate school. Search Engine Optimization (SEO) is a technique for increasing the traffic to a web site from search engines. (e.g., Google, Yahoo!) In a nutshell, SEO involves tagging, designing web site content using keywords and metadata (information about data), and designing web site structure for efficient accessibility by search engines algorithms and web crawlers to find information more effectively.
The desired goal of SEO is to attain a higher ranking for a specific web site that results in the site showing up in the first page or initial few pages where most users tend to click on a resulting link before moving onto another search or simply abandoning the result set. This in effect makes the web site appear to be more relevant to the user in the search result listing. The reason why search result set relevance and position is critical is because of the observed behavior where most web users tend to use the first page of a search result listing most of the time. Subsequent pages in the search result listing are used by a much lower percent of web users as the search engines become more efficient due to SEO techniques and continual improvements to search engine algorithms.
Search engine optimization means ensuring that your Web pages or site is accessible to search engines and are designed in ways that help improve the chances they will be found. ("Intro to SEO")
Some decent simple SEO Examples are described here. There are many techniques that make your web site "SEO Friendly". One simple technique is to choose a SEO Friendly Domain name. Let' say you have a web site that contains SEO information. If your site is located at mysite.com, it is not a very good "SEO friendly" domain since it is difficult for a search engine to figure out that your site contains SEO information.
On the other hand, if you named your site search-engine-optimization-info.com it would be considered more "SEO friendly" by its name alone. Using this domain name any search engine can figure out from the domain name alone that your site probably has SEO related content. (e.g., cars.com, salesforce.com)
According to Google, SEO is an abbreviation for "search engine optimizer." Many SEOs and other agencies and consultants provide useful services for website owners, from writing copy to giving advice on site architecture and helping to find relevant directories to which a site can be submitted. What is an SEO? Google's definition. Google does not have any relationships iwth SEO organizations and does not make recommendations. However, they do provide tips on choosing an SEO and information on what will make a search engine drop your site from their search results entirely
Additionally, Google provides a wealth of information about its search results, improving site rankings, and tips that help Google's crawlers find your web information more efficiently and effectively. With Google representing the majority of web search today, approximately 67% as of March 2008 and growing, it is wise to know how to optimize your web sites for Google web crawlers.
I also found some really decent material on SEO techniques here.
The desired goal of SEO is to attain a higher ranking for a specific web site that results in the site showing up in the first page or initial few pages where most users tend to click on a resulting link before moving onto another search or simply abandoning the result set. This in effect makes the web site appear to be more relevant to the user in the search result listing. The reason why search result set relevance and position is critical is because of the observed behavior where most web users tend to use the first page of a search result listing most of the time. Subsequent pages in the search result listing are used by a much lower percent of web users as the search engines become more efficient due to SEO techniques and continual improvements to search engine algorithms.
Search engine optimization means ensuring that your Web pages or site is accessible to search engines and are designed in ways that help improve the chances they will be found. ("Intro to SEO")
Some decent simple SEO Examples are described here. There are many techniques that make your web site "SEO Friendly". One simple technique is to choose a SEO Friendly Domain name. Let' say you have a web site that contains SEO information. If your site is located at mysite.com, it is not a very good "SEO friendly" domain since it is difficult for a search engine to figure out that your site contains SEO information.
On the other hand, if you named your site search-engine-optimization-info.com it would be considered more "SEO friendly" by its name alone. Using this domain name any search engine can figure out from the domain name alone that your site probably has SEO related content. (e.g., cars.com, salesforce.com)
According to Google, SEO is an abbreviation for "search engine optimizer." Many SEOs and other agencies and consultants provide useful services for website owners, from writing copy to giving advice on site architecture and helping to find relevant directories to which a site can be submitted. What is an SEO? Google's definition. Google does not have any relationships iwth SEO organizations and does not make recommendations. However, they do provide tips on choosing an SEO and information on what will make a search engine drop your site from their search results entirely
Additionally, Google provides a wealth of information about its search results, improving site rankings, and tips that help Google's crawlers find your web information more efficiently and effectively. With Google representing the majority of web search today, approximately 67% as of March 2008 and growing, it is wise to know how to optimize your web sites for Google web crawlers.
I also found some really decent material on SEO techniques here.
Sunday, April 06, 2008
The Unexpected for 2008
As anticipated, Google released the unexpected a few weeks ago. It is called Google Sites. If you need to create a web portal for sharing information amongst a team, classmates, workmates, social mates, friend, or family, then Google Sites may be for you. Here is the overview of Sites:
"Google Sites is the easiest way to make information accessible to people who need quick, up-to-date access. People can work together on a Site to add file attachments, information from other Google applications (like Google Docs, Google Calendar, YouTube and Picasa), and new free-form content. Creating a site together is as easy as editing a document, and you always control who has access, whether it's just yourself, your team, or your whole organization. You can even publish Sites to the world. The Google Sites web application is accessible from any internet connected computer."
I have had a chance to play with Sites and it will brings "online everything" and cloud computing even closer to reality today. This is another disruptive event initiated by Google and will give everyone something to think about when it comes to collaborative sites and portals. If they can make this work with Gears and be taken off-line, then I think IBM, Microsoft, and Java based portals will have to re-think their respective strategic agendas.
"Google Sites is the easiest way to make information accessible to people who need quick, up-to-date access. People can work together on a Site to add file attachments, information from other Google applications (like Google Docs, Google Calendar, YouTube and Picasa), and new free-form content. Creating a site together is as easy as editing a document, and you always control who has access, whether it's just yourself, your team, or your whole organization. You can even publish Sites to the world. The Google Sites web application is accessible from any internet connected computer."
I have had a chance to play with Sites and it will brings "online everything" and cloud computing even closer to reality today. This is another disruptive event initiated by Google and will give everyone something to think about when it comes to collaborative sites and portals. If they can make this work with Gears and be taken off-line, then I think IBM, Microsoft, and Java based portals will have to re-think their respective strategic agendas.
Saturday, March 22, 2008
caGrid and caBIG uses open source Java technology
While working on a research project for graduate school, I serendipitously stumbled upon the cancer Biomedical Informatics Grid (caBIG). This is a massive bioinformatics initiative to connect the entire cancer community leveraging modern information technology (IT) to save precious time toward news discoveries in cancer research. The caBIG Essentials tutorial is a must. It is available as a an online interactive tutorial or presentation download.
caBIG uses open source technology to bring cancer research into the 21st century. It is intertwined into a grid middleware infrastructure, caGrid, which is an information grid for biomedical research. (Bioinformatics Journal article abot caGrid) The really interesting aspect of caBIG and caGrid is that it uses open source Java technology and UML to make this all work. It is a service oriented architecture (SOA) using Apache Tomcat, Axis, UML, BPEL, Hibernate, etc. providing open specifications to allow organizations to adopt or adapt its IT systems to be caBIG Compatible.
The caGrid concept initiative originated December 2003. (caGrid wiki with timeline graphic) The initial prototype was brought online in July 2004. The following two and half years of work resulting in the caGrid 1.0 officially going live in December 2006. caGrid 1.1 was released in September 2007. This cutting edge work is in progress and will change the way biomedical informatics research is peformed in the future.
caBIG is model driven. That means you must have object models UML in order to transform your IT resources into compatible caBIG applications and services. caBIG provides/maintains the specifications, tookits, and SDKs. The possibilities for biomedical research breakthroughs leveraging the emerging bioinformatics field are endless.
caBIG uses open source technology to bring cancer research into the 21st century. It is intertwined into a grid middleware infrastructure, caGrid, which is an information grid for biomedical research. (Bioinformatics Journal article abot caGrid) The really interesting aspect of caBIG and caGrid is that it uses open source Java technology and UML to make this all work. It is a service oriented architecture (SOA) using Apache Tomcat, Axis, UML, BPEL, Hibernate, etc. providing open specifications to allow organizations to adopt or adapt its IT systems to be caBIG Compatible.
The caGrid concept initiative originated December 2003. (caGrid wiki with timeline graphic) The initial prototype was brought online in July 2004. The following two and half years of work resulting in the caGrid 1.0 officially going live in December 2006. caGrid 1.1 was released in September 2007. This cutting edge work is in progress and will change the way biomedical informatics research is peformed in the future.
caBIG is model driven. That means you must have object models UML in order to transform your IT resources into compatible caBIG applications and services. caBIG provides/maintains the specifications, tookits, and SDKs. The possibilities for biomedical research breakthroughs leveraging the emerging bioinformatics field are endless.
Javascript 2.0 goes OO
This is good news for the future. The emerging Javascript 2.0 specification brings object-orientation to Javascript. See this article, Web 2.0 Meet Javascript 2.0.
This is a welcome advancement in the continuing evolution of Web 2.0 capabilities and bringing rich "online everything" to reality.
This is a welcome advancement in the continuing evolution of Web 2.0 capabilities and bringing rich "online everything" to reality.
Sunday, February 10, 2008
Non-existent Object Oriented User Interfaces in 2008
The state of object-oriented user-interface (OOUI) technology today is quite depressing. I bet that you can not name one that is useful and in production. After all the years since I stopped using OS/2 and its innovative WorkPlace Shell (WPS) OOUI, there is yet to be anything like it in Linux, Mac, Unix or any other mainstream operating system. The closest we have today is the Mac OS X which is really an intuitive graphical user-interface (GUI).
The heart of the IBM OS/2's WPS is the System Object Model or SOM. SOM is an object-oriented system level object model that is similar to Microsoft' Common Object Model (COM). The key difference is that SOM supports inheritance while COM does not. So, in esseence, COM is really an API with object-oriented like features. SOM is truly object-oriented.
Back to the OOUI discussion. WPS objects had the capability to inherit from parent classes or other base classes. One clear feature of WPS that I miss in the modern GUI/OS world of today are Shadows. There currently is not similar analogy to this in KDE/GNOME, Mac OS X, or Windows.
In WPS, Shadows objects that point to other objects. They are like shortcuts in Windows except that they inherited all their properties from SOM. The one thing that is still a major annoyance with shortcuts is when you move the file or directory to which your shortcuts is pointing. The shortcut is really a static pointer to some file, directory or application. When you do this you get the invalid shortcut problem in Windows. The same scenario occurs in KDE/GNOME and Mac OS X. You would figure that this problem would be resolved by now. But that is not the case. Instead there are tools, utilities, tips, workarounds, scripts or whatever to fix this very trivial issue.
In an OOUI like WPS, Shadows inherit from SOM the File, Directory, or Application object. So when the underlying File, Directory, or Application changes, your Shadow automatically knows this through inheritance. This is very simple, intuitive, and just works.
I recently read that the motions by the OS/2 community (yeah, it still exists) to request that IBM open source OS/2 has been denied by IBM due to several licensing and intellectual property reasons. OS/2 source was developed collaboratively by IBM and Microsoft. On the other hand, SOM is an IBM technology that was developed after IBM and Microsoft split in the early 1990s. I just read a new suggestion ("Should IBM' SOM/DSOM be open sourced?") that IBM explore open sourcing SOM which would give to the world an object model that is proven and can be a foundation for future OOUIs developed using a modern open source methodology.
A move by IBM that makes SOM available would inject a stimulus into the state of user-interface innovation which appears to have stagnated in the past 10-years. In general when you look at KDE/GNOME, Mac OS X, Windows, and any of the variants used in Unix, they all pretty much do the same thing. They are some form of implementation of the WIMP (window-icon-menu-pointer) paradigm that Xerox PARC created in the 1970s.
I think it is time that we focus on the OOUI again. It seems to have lost its lustre so far this decade. Maybe then things will get exciting in the UI space again. If a way to tie the OOUI to the web and make it some form of OOUI that is browser based, an object-oriented web interface (OOWI) if you will, that would allow it to work on any platform! Now that would be real progress. Then we can start talking about OOWIs! Oooh weee! Wishful thinking.
The heart of the IBM OS/2's WPS is the System Object Model or SOM. SOM is an object-oriented system level object model that is similar to Microsoft' Common Object Model (COM). The key difference is that SOM supports inheritance while COM does not. So, in esseence, COM is really an API with object-oriented like features. SOM is truly object-oriented.
Back to the OOUI discussion. WPS objects had the capability to inherit from parent classes or other base classes. One clear feature of WPS that I miss in the modern GUI/OS world of today are Shadows. There currently is not similar analogy to this in KDE/GNOME, Mac OS X, or Windows.
In WPS, Shadows objects that point to other objects. They are like shortcuts in Windows except that they inherited all their properties from SOM. The one thing that is still a major annoyance with shortcuts is when you move the file or directory to which your shortcuts is pointing. The shortcut is really a static pointer to some file, directory or application. When you do this you get the invalid shortcut problem in Windows. The same scenario occurs in KDE/GNOME and Mac OS X. You would figure that this problem would be resolved by now. But that is not the case. Instead there are tools, utilities, tips, workarounds, scripts or whatever to fix this very trivial issue.
In an OOUI like WPS, Shadows inherit from SOM the File, Directory, or Application object. So when the underlying File, Directory, or Application changes, your Shadow automatically knows this through inheritance. This is very simple, intuitive, and just works.
I recently read that the motions by the OS/2 community (yeah, it still exists) to request that IBM open source OS/2 has been denied by IBM due to several licensing and intellectual property reasons. OS/2 source was developed collaboratively by IBM and Microsoft. On the other hand, SOM is an IBM technology that was developed after IBM and Microsoft split in the early 1990s. I just read a new suggestion ("Should IBM' SOM/DSOM be open sourced?") that IBM explore open sourcing SOM which would give to the world an object model that is proven and can be a foundation for future OOUIs developed using a modern open source methodology.
A move by IBM that makes SOM available would inject a stimulus into the state of user-interface innovation which appears to have stagnated in the past 10-years. In general when you look at KDE/GNOME, Mac OS X, Windows, and any of the variants used in Unix, they all pretty much do the same thing. They are some form of implementation of the WIMP (window-icon-menu-pointer) paradigm that Xerox PARC created in the 1970s.
I think it is time that we focus on the OOUI again. It seems to have lost its lustre so far this decade. Maybe then things will get exciting in the UI space again. If a way to tie the OOUI to the web and make it some form of OOUI that is browser based, an object-oriented web interface (OOWI) if you will, that would allow it to work on any platform! Now that would be real progress. Then we can start talking about OOWIs! Oooh weee! Wishful thinking.
Sunday, February 03, 2008
Is This Disruptive Thinking?
The just announced Microsoft unsolicited offer to acquire Yahoo! for $44.6 billion is all over the news. Analysis of it cover the spectrum. One question I have is, "Is this disruptive thinking on Microsoft's part?". One thing is certain, the fear that Microsoft has of Google appears to be reaching a paranoia state. This is almost an admission from Microsoft that they did not get the software as a service (SaaS) right. SaaS appears to be outside of its 'core competencies' even though they have invested billions in the Internet.
This take over offer appears to be an admission by Microsoft that they have failed in their efforts to transform itself from a desktop Windows applications centric company to a software as a service company that leverages the web. This evolution has been an ongoing objective for the past 7-years with nothing but a 44% drop in stock value.
Google's revenues and influence on the web keep climbing while Microsoft and Yahoo keep declining. The combination of Microsoft and Yahoo will only yield about 20-30% of the web search market. Google currently owns about 60-65% of that market and keeps increasing its share.
Microsoft's achiles heel appears to be its goal to tie everything (software applications) to Windows. Yahoo and Google on the other hand are internet service based companies whose goals are to make all their services available to anyone, anywhere, using any operating system or web browser. "Is Microsft Saving Yahoo! Or is Yahoo! the Savior".
I think that a merged Microsoft and Yahoo! will encounter several cultural issues. They have vastly different cultures. The cultural intertia of both companies will be difficult to grasp and refocus into a convergence. It will be a daunting task.
There is a significant technology overlap that would cause a lot of internal disruption and team dynamics issues that are not evident on the surface. Look at how the TimeWarner-AOL deal turned out. These two distinct cultures clashed and resulted in the decline of AOL. Orchestrating a successful merger of Microsoft and Yahoo! will take some extremely well calculated and organic management decisions in a timely manner.
Google is not sitting still. It appears that the Microsoft merger's strategic goals are addressing the services for which Google is already successful. Knowing Google, they are moving on to the next thing whatever that is. We will find out sometime this year in the typical Google fashion, they will just drop it onto the world.
Basically, Microsoft is playing follow the leader. If Microsoft has failed so far in competing with Google, the merger will only complicate things for them because of all the internal reorganization that is required to make it successful. Overcoming the structural interia in Microsoft and Yahoo! is a complex strategic management undertaking. These internal tasks will be a distraction for the new combined Microsoft-Yahoo corporation. This distraction if not resolved quickly will give Google more time to innovate and pull further ahead. "Fitting the Pieces Together in an Internt Mega-Merger".
One thing is certain, 2008 is already full of suprises and it is only February!
This take over offer appears to be an admission by Microsoft that they have failed in their efforts to transform itself from a desktop Windows applications centric company to a software as a service company that leverages the web. This evolution has been an ongoing objective for the past 7-years with nothing but a 44% drop in stock value.
Google's revenues and influence on the web keep climbing while Microsoft and Yahoo keep declining. The combination of Microsoft and Yahoo will only yield about 20-30% of the web search market. Google currently owns about 60-65% of that market and keeps increasing its share.
Microsoft's achiles heel appears to be its goal to tie everything (software applications) to Windows. Yahoo and Google on the other hand are internet service based companies whose goals are to make all their services available to anyone, anywhere, using any operating system or web browser. "Is Microsft Saving Yahoo! Or is Yahoo! the Savior".
I think that a merged Microsoft and Yahoo! will encounter several cultural issues. They have vastly different cultures. The cultural intertia of both companies will be difficult to grasp and refocus into a convergence. It will be a daunting task.
There is a significant technology overlap that would cause a lot of internal disruption and team dynamics issues that are not evident on the surface. Look at how the TimeWarner-AOL deal turned out. These two distinct cultures clashed and resulted in the decline of AOL. Orchestrating a successful merger of Microsoft and Yahoo! will take some extremely well calculated and organic management decisions in a timely manner.
Google is not sitting still. It appears that the Microsoft merger's strategic goals are addressing the services for which Google is already successful. Knowing Google, they are moving on to the next thing whatever that is. We will find out sometime this year in the typical Google fashion, they will just drop it onto the world.
Basically, Microsoft is playing follow the leader. If Microsoft has failed so far in competing with Google, the merger will only complicate things for them because of all the internal reorganization that is required to make it successful. Overcoming the structural interia in Microsoft and Yahoo! is a complex strategic management undertaking. These internal tasks will be a distraction for the new combined Microsoft-Yahoo corporation. This distraction if not resolved quickly will give Google more time to innovate and pull further ahead. "Fitting the Pieces Together in an Internt Mega-Merger".
One thing is certain, 2008 is already full of suprises and it is only February!
Sunday, January 06, 2008
Happy New Year 2008
Happy New Year 2008!. Ok, it's early in the 2008 and it is always interesting to attempt to forecast out what may occur this year. Last year, I predicted that Google would do something unexpected and they did. Android was something entirely unexpected. Google Presentations was inevitable.
So what does 2008 bring? I think we will see Blu Ray become the HD standard as HD-DVD starts fading away. The reason for this is the Sony PS3. Additionally, just last week Warner Brothers announced that they will no longer support HD-DVD.
Apple Mac OS X will attain a 10-15% or greater market share of personal computers and start making headway in the business sector. This is based on the trend that has been 2007 for Apple.
Linux will become more significant as new devices like the Asus Eee PC, Nokia 810, and alternative ultra portable internet devices based on Linux start being used as the replacement of notebook computers. The mobility, power, inexpensive portable storage, solid state disks (SSDs), ubiqutous WiFi, and rich web applications are making this possible. These new devices have been disruptive in nature and are rapidly becoming the preferred devices.
Mozilla Firefox has attained a 35% market share globally according to Browser Statistics as of Nov 2007. The increase in Firefox usage will continue throughout 2008 and move in the 40% range at a minimum.
New phones using Google Android will redefine smartphones and the ultra portable internet devices market. This will be disruptive to the status quo wireless industry. It will be nice to be able to develop in Java for the Android based devices. What will be nicer is eventually a Firefox browser running on Android. If the services are right, 2008 will be the time for me to get into the smart phone market as user. Up to this point, the Apple iPhone is a step in the right direction. Based on all this, I think Microsoft's Windows Mobile will be the loser.
As they have done in the last few years, I think Google will do something unexpected again in 2008. Apple will refine its products and continue to make cool stuff that everyone wants. Sony will finally get its online 3-d immersive virtual reality business established and leverage the PSP and PS3. Microsoft's market share will continually take hits from all fronts. Java will continue to get larger because of Android, Apple, PS3, Blu-Ray, and just because there has been so much innovation and revival within the Java community in the past year.
Other than that, 2008 will be yet another exciting year of information technology innovation!
So what does 2008 bring? I think we will see Blu Ray become the HD standard as HD-DVD starts fading away. The reason for this is the Sony PS3. Additionally, just last week Warner Brothers announced that they will no longer support HD-DVD.
Apple Mac OS X will attain a 10-15% or greater market share of personal computers and start making headway in the business sector. This is based on the trend that has been 2007 for Apple.
Linux will become more significant as new devices like the Asus Eee PC, Nokia 810, and alternative ultra portable internet devices based on Linux start being used as the replacement of notebook computers. The mobility, power, inexpensive portable storage, solid state disks (SSDs), ubiqutous WiFi, and rich web applications are making this possible. These new devices have been disruptive in nature and are rapidly becoming the preferred devices.
Mozilla Firefox has attained a 35% market share globally according to Browser Statistics as of Nov 2007. The increase in Firefox usage will continue throughout 2008 and move in the 40% range at a minimum.
New phones using Google Android will redefine smartphones and the ultra portable internet devices market. This will be disruptive to the status quo wireless industry. It will be nice to be able to develop in Java for the Android based devices. What will be nicer is eventually a Firefox browser running on Android. If the services are right, 2008 will be the time for me to get into the smart phone market as user. Up to this point, the Apple iPhone is a step in the right direction. Based on all this, I think Microsoft's Windows Mobile will be the loser.
As they have done in the last few years, I think Google will do something unexpected again in 2008. Apple will refine its products and continue to make cool stuff that everyone wants. Sony will finally get its online 3-d immersive virtual reality business established and leverage the PSP and PS3. Microsoft's market share will continually take hits from all fronts. Java will continue to get larger because of Android, Apple, PS3, Blu-Ray, and just because there has been so much innovation and revival within the Java community in the past year.
Other than that, 2008 will be yet another exciting year of information technology innovation!
Sunday, December 16, 2007
Disruptive Technology in 2007
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.
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.
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.
Subscribe to:
Posts (Atom)