Friday, January 07, 2011

Chromoting

I tried the Chromoting (remoting) features in Chrome OS last night. See Chromoting announcement from June 2010 (PCWorld, PCMag, Engadget, Fortune). This VNC capability is not yet working in ChromeOS but once it does, then using remote desktops via VNC for Windows, Mac and Linux machine will all be supported. For now, ThinVNC (HTML5 and AJAX based) is what will work for Windows. I installed and looked at Web VNC which is on the Chrome Web Store and can report that this is not a viable solution for me since it requires that you connect and proxy through a cloud service sponsor, CloudSigma, servers. I see several security issues with using the CloudSigma VNC proxy approach.

Monday, December 27, 2010

Java Not Supported on Chrome OS, Yet

Java technology is not supported on Chrome OS yet. This may not be good news for Chrome OS since so many web apps are powered by Java technology. I guess if the front-end development migrates to HTML5, Javascript, CSS and other lightweight browser-centric implementations than Java will not be a factor. This is probably quite a few years into the future though. So, for the present, Java support on Chrome OS is highly desired and would be beneficial to cloud-computing.

Since Google AppEngine already supports Java and Android is based on Java this should not be to terribly difficult to accomplish.

Thursday, December 23, 2010

Migrating from Delicious

With the recent uncertainty surrounding the future of Delicious social bookmarking site, I started using Google Bookmarks on a daily basis. I noticed that the services are very similar except for the delimiter between tags. The tag delimiter in Delicious are spaces and in Google Bookmarks it is the comma character. This takes some getting used to since I have been using Delicious for years.

Google Bookmarks needs a tag cloud user-inteface display. It may already exist but I have not found it yet. Just a matter of time to making this happen.

One last thing is that it would be nice to implement an import Delicious bookmarks with tags and notes and automatically transform them into the Google Bookmarks format. Hopefully, Yahoo! sells off Delicious and it will continue as a bookmarking service. I have come to depend on Delicious for research purposes and migrating to another service has its impacts to my daily online productivity.

Sunday, December 19, 2010

Chrome OS Notebook Cr-48 Impressions After the First Week

Since receiving my Chrome OS Notebook Cr-48 from Google last weekend, I began using it as a replacement of my Acer netbook which I use daily at home for all things a netbook was designed to be for the past week. I can gladly say that Chrome OS has entirely replaced my netbook for the past week without any pain or changes to my personal online browsing behavior one bit. I have been using my Linux netbook since Fall 2008 on a daily basis so this transition was not a difficult one at all.

There are a few rough edges in the Chrome OS user experience compared to just my trusty netbook. In Chrome OS, the built-in Adobe Flash support is not reliable. This has been widely observed and reported. I have seen this behavior in the past on my Mac OS X Tiger 10.4 prior to upgrading to Snow Leopard Mac OS X 10.6. Flash now is rock solid on my Mac. As for Chrome OS in its current release, Flash crashes often in Chrome OS, especially when switching between various tabs in the browser. An update to Chrome OS that was pushed on Day 4 of my using it resolved quite a bit of the crashes but not all of them. I am confident this wil be resolved as ChromeOS matures.

Flash loads itself OS wide in the ChromeOS so it effectively crashes all the tab instances in the Chrome browser. Google or Adobe needs to fix this and make the Flash support isolate itself from other tabs and pages. Maybe Flash 10.2 will resolve this behavior. Or Google can design a way to isolate Flash from other tab instances in Chrome. This problem has been acknowledged by Google and Adobe and they are working on fixing this as a top priority. "Flash Player for Chrome Notebooks" On an additional note, Google is already working on this "Chrome Adds Flash Sandboxing" so it should be pushed as Chrome OS update soon.

The touchpad tracking in Chrome OS sometimes is inconsistent. This I can attribute to the beta nature of Chrome OS and the Pilot Program. The touchpad does not always track drag-n-drop operations. I am confident this will be resolved by Google in future updates to Chrome OS.

In the browser, there no convenient method to switch between browser window instances without using the keyboard. This is a user-interface design feature that should be easily resolved by the Chrome OS team. I have send feedback making the recommendation that ChromeOS implement a button, right-click menu action, and touchpad multi-touch gesture that performs this function. The touchpad multi-touch gesture should be the familar sweep right or left similar to how the scroll up and down currently works.

On the hardware side, a locking slot (Kensington type) is missing from the actual Cr-48. This is an easy fix on the hardware for physical security. Additionally, an input for external microphone is needed. When I was using GMail Call Phone, this became an apparent need. This is also another easy fix to the hardware design.

Other than that, Chrome OS is relatively solid and in my opinion will be one potential future platform where the cloud is more important than the hardware. The rest of the world needs to catch up to cloud-computing from an end user perspective and change their habits. Since I have been working in the cloud for several years now, the change to my user habits is very minimal. I have been a user of Google Docs since it was in beta and already made the full transition to using cloud services for everything Google Docs provides years ago.

Oh yeah one last thing on hardware is processor speed. The more the better. The Cr-48 apparently contains an Intel Atom N455 1.66Mhz chip which I think is sufficient for netbooks but not a notebook. With the larger 12.1" display, a much faster processor is needed. Especially for handling the fullscreen video. Or maybe integration of faster GPU such as NVidia, AMD, or others. This type of hardware is already on the market so as Chrome OS nears public launch sometime in 2011, I am sure the publicly available devices from various manufacturers will meet this requirement.

Chrome OS as a netbook replacement is a no-brainer. As a notebook, well there some things that Chrome OS can not replace yet. If you are doing any type of development work (applications, multimedia authoring, music editing, etc.) then Chrome OS is not yet mature enough to handle these functions in my opinion. The potential is there but the reality is that cloud services and tools are not. For instance, there is no Eclipse or NetBeans for the cloud IDE yet. Cloud development IDEs are beginning to emerge (i.e., Cloud2Code) and other tools such as Pixlr, Picnik, Creately are making serious progress for the cloud tools marketplace.

I have seen others post that Chrome OS in 2011 will be nice Windows NT 4.0 and Mac OS X 10.0 when they were first release. Chrome OS represents the beginning of a shift in user behavior and a new platform. I suspect in about 2-4 years from now it will be widely used as the cloud industry matures and more services are developed. Joe Wilcox over at BetaNews has published some really insightful viewpoints comparing Chrome OS in 2010/2011 to Windows NT4 and Mac OS X 10.0. See "Who is the cloud for?"

As a personal music device, well I use iTunes and have an iPod which is not available as an cloud service. I already have a large personal music collection so using Pandora or Slacker is not an option. Maybe some type of iTunes like services that lets me leverage cloud storage or local network accessible storage servers is in the works. The Apple 'walled garden' will not work for my personal collection of digital music. Sounds like an area for cloud innovation to me. I wish I had the time to work on something like that. I wonder is anyone is working on something like this? Hmm. I am quite sure some one is but just have not discovered it yet.

For personal online video, Chrome OS shine except for the Flash issues and underpowered CPU. HTML5 and WebM stuff all work great. I have tried this on YouTube and have not had any issues with HTML5 video streaming. Hulu works fine... NetFlix is not yet available. For video editing and authoring, YouTube has some nice editing features available now. But for professional level work there is much room for cloud innovation.

If the cloud really takes off in the next five years, I am sure the development community will adapt accordingly. For now, Chrome OS will works as a netbook replacement and web browsing device. If you use cloud applications (web-mail, Google Docs, Pixlr, Picnik, etc.) it will serve you well.

Friday, December 17, 2010

Yahoo! Closing a Few Services

Following a layoff announcement, Yahoo! has just announced that it plans to close down a few very popular services such as Delicious, AllTheWeb, Buzz, etc. "Yahoo! to close Delicious" I have used Delicious quite extensive for social bookmarking since 2008. I have thousands of bookmarks with quick notes about several of them that I use every day. In light of this, now I have to migrate my Delicious bookmarks to another service. I was evaluating Google Bookmarks this past summer but now I am forced to make the transition.

I have saved and exported my bookmarks from Delicious but now the task of migrating all my tags and notes will be a bit of a pain. The features and behavior of Google Bookmarks is comparable to Delicious.

This is one aspect of the web, cloud services, and using online services that is a point of frustration for me. This is not the first time I have had to migrate from one online service to another. I thought that Delicous being so popular was well supported by Yahoo! so it should be immune to exactly the type of service interruption that is occurring soon with Yahoo! and Delicious. So this time, maybe Google Bookmarks will stick around for at least another 20-30 years.

Wednesday, December 15, 2010

Chrome OS Updates Itself Seamlessly

On Day 4 of using the Cr-48, Google pushed an update to Chrome OS. The OS update process everyone is accustomed to (i.e., Windows, Mac, Linux) usually takes quite a long time. On traditional operating systems such as Windows, Linux, and Mac OS X, this normally means stopping what you are doing and waiting for the OS to download the updates, verify, apply, and then restart the OS. This is typically a 5-30 minutes evolution depending on the size of OS update.

The traditional (non-cloud) OS update process can be entirely disruptive to what you were doing and means you have to wait until the OS is done updating itself. The restart and logon can take an additional 2-5 minutes depending on your particular configuration.

Google Chrome OS update took about 30 seconds total time to update itself last night. I was shocked to say the least. This includes shutdown, restart, and logon. For some rough numbers Chrome OS logon process is about about a 10-15 second process, shutdown is about 1-2 seconds, restart is another 5-8 seconds.

On another note, the Chrome OS sleep/awake process is virtually instantaneous. It occurs automatically when you open and close the lid of the notebook. The sleep/awake cycle on my Mac takes about 5-10 seconds; on Linux about 8-15 seconds; on Windows about 10-20 seconds depending on how it feels that day.

For a time starved home user, this is the most painless update of any OS I have ever experienced. Less time waiting for the machine and more time spent online.

Saturday, December 11, 2010

Chrome OS Netbook Cr-48 Beta

I received an unexpected email from the Chrome OS team to sign up for the beta Chrome OS Notebook Beta... responded to it. I verified the sender and responded to the e-mail and crossed my fingers. To my surprise, two days later, I received a box from UPS Ground containing a the Google Chrome OS Notebook Cr-48. I am shocked. This is a very limited release beta program.

This is like an early X-Mas present from Google. The next few months is going to be fun and interesting.

Saturday, November 13, 2010

Skills and Best Jobs for 2011

According to the recently published CNN Money Best Jobs in America 2010, Software Architect is #1. Being an architect myself, 2010 has been a good year. I am not sure what the CNN Money criteria is and knowing that surveys are dependent on statistical sample populations, the results should be taken at face value as published. However, it is nice to know that software engineering is becoming a bright spot again after several years of economic downturn.

The outlook for 2011 even looks good according to this source "11 Hot Skills for 2011". Project Management skills and a broad range of experience that spans systems engineering, security, and business acumen are critical. Architects must have demonstrated technical competence and be highly creative which earns a baseline respect among peers and customers. These attributes as well as highly tuned skills in project managements, leadership, and most importantly the ability to communicate well and work with diverse sets of people on every task are essential for success.

We shall see how 2011 and the next few years evolves. For now, this is a bright spot and being an optimist I agree with the surveys and assessment.

Thursday, November 11, 2010

Whiteboard Warrior

From an agile modeling (AM) viewpoint, the Whiteboard Warrior moniker as dubbed by Scott Ambler is suitable for the modern agile world. Modeling is not just about using specific modeling or CASE tools. It is about techniques, communication, and abstracting ideas into graphical form that can be translated into working technology solutions that happen to have a software component.

Over the past twenty years of having used paper, whiteboards, drawing tools, diagramming tools, flowcharting tools, then CASE tools, then modeling tools (lightweight and heavyweight) etc., the one common denominator has been the ability to visualize graphically my ideas. The tools and notations tend to evolve over time but the modeling intent remains consistent. The one tool that has stood the test of time has been the whiteboard, paper, and pencil/marker/pens technique. They can be done anywhere, and at anytime. Even when you don't have the paper or pen, you can do it in the dirt/sand or on napkins at a restaurant/bar.

Many innovations and breakthroughs have been conceived and communicated on napkins.

Apache Shiro has Graduated from the Incubator

Apache Shiro, the Java security framework, has officially graduated from Incubation. This actually occurred in September but took a few weeks to get its main web page updated.

Thursday, October 28, 2010

Programming Languages 2010

I thought that the article that InfoWorld published recently is timely and relevant, "7 Programming Languages on the Rise". What surprised me was COBOL on this list. Seeing Python, Ruby, Javascript, Perl and Erlang all make sense. The argument behind COBOL is that it still runs the guts of many financial and health systems which were the first ones to integrate computer systems into the enterprise.

Java, C/C++/C#, and even PHP tend to dominate the headlines today as expected. With the modern internet and "big data" that tends to exist today, widely used scripting languages (Javascript, Python, Perl, Ruby, MATLAB) are gaining ground. The AJAX-driven rich internet continues to make these languages viable. CouchDB being mentioned with ErLang + Javascript was a surprise.

Thursday, October 21, 2010

Apple support for Java

This is entirely unexpected from Apple. There are rumors circulating around the web that Apple will not be including Java in its next release of Mac OS X 10.7 (Lion) next year. "Apple not committing to Java support in Mac OS X 10.7"

Since this is only a rumor, I have to take this with a grain of salt. But, based the Apple/Adobe fiasco earlier this year it would not surprise me. The Mac has been the my Java development platform of choice so far. I think this would be a mistake. It makes me wonder if this has something to do with the Oracle acquisition of Sun.

Sunday, October 10, 2010

Self-Driving Cars, aka Auto-Drive

This is an innovation that I have been wanting to see since the 1980s. At any rate, Google has been experimenting with self-driving cars that use their cloud services to navigate. "What We're Driving At" is the blog post that announces what they have been up to in playing with self-driving cars.

Google's engineering team are the students from CMU and Stanford that participated in the DARPA Grand Challenge series. The Stanford team ended up winning it in 2005 and the CMU team won the DARPA Grand Urban Challenge.

Imagine the changes to society if self-driving cars became the norm. The amount of additional productivity that would give back to everyone that commutes is in calculable.

Thursday, September 23, 2010

Agile and PMI Debate Continues in 2010

In the "Two Worlds Collide: PMI and Agile", a recent PMI Network article apparently has stirred the pot of the ongoing Agile vs. PMI debate. Having worked in both PM-centric and agile environments, making them co-exist is possible. Both sides have the same goals. Their means and focal points a just different. I didn't really see a conflict in the recent PMI Network article, "The Sweet Spot", but that is just my perspective.

It basically states a viewpoint. Agile or PM-centric is just another component in the arsenal of tools for leaders to solve problems applying 'peopleware'. On a positive note, at least everyone continues to debate this issue.

Tuesday, September 21, 2010

Google Web Toolkit Tools for Java

Google acquired the Java tooling division of Instantiations and just rebranded and re-released their suite of Java tools for free. Wow! This is some really high-quality tools for the Eclipse Platform and IDE. Here is the Google Web Toolkit Blog announcement, "Google Relaunches Instantiations Developers Tools - Now Available for Free"

In this suite includes GWT Designer, WindowBuilder Pro (Swing, SWT, GWT, XWT, RCP), CodePro AnalytiX, and WindowTester Pro.

This was unexpected but a welcome early X-Mas present for Java developers!

Sunday, September 05, 2010

Chrome 6

Google released Chrome 6 and I have just decided that is has earned the Default Browser status on my personally owned computers. (Mac, Linux, and Windows). This used to be the throne where Firefox but now I feel that speed and simplicity is king when it comes to web browsers. Chrome 6 arrives just in time for cake provides a respectable overview of what's new in Chrome.

Saturday, August 28, 2010

Where is Mobile Net Access?

Yesterday, my 10-year old son was asking me questions about the radio in the car. As I was explaining to to him the different channels and frequencies (AM/FM) he then asked, "so where is the access point?" Good question I thought to myself. Where is the access point for the in-vehicle entertainment system? I am sure he implied WiFi access point.

So I showed him and explained where the antenna was embedded in the glass windshield and in the rear glass window. Then I started thinking, what he really meant in his question was the WiFi access point for the car. In his life, everywhere he goes there is free WiFi as long as you are within range of the 'access point'. At least that is his perception of it. His laptop computer, PSP, DS, netbooks, PS3, and almost all these devices that he deals with at home and school on a daily basis all have built-in WiFi capability.

This is definitely one question I equate to "Where are the flying cars?" that I had in my head since I was around his age. It's the 21st century and we still do not have them. Therefore, I hope in the next 20-30 years that mobile net access does not turn out like the visions of flying cars has for my generation, a vivid imagination and elusive dream.

At least for the ubiquitous mobile net access everywhere, the technology hurdles are not mechanical in nature. We already have all the components available to make this happen. The companies and governments trying to solve this problem keep running into techo-political wars. It's all just techno-politics and battles now.

Thursday, August 26, 2010

Call Any Phone from GMail

Google released a new capability of GMail, calling any phone from within GMail yesterday, 08/25/2010. Call Phones from Gmail. So I got around to trying it out today, 08/26/2010. I am impressed.

Google's web applications and services are just becoming stickier.

Wednesday, August 18, 2010

The Patent Parts of the Oracle vs. Google Android Lawsuit

This article is a nice diversion pertaining to the patent details of the Oracle vs. Java/Android lawsuit, "The Oracles vs. Google Patent Lawsuit Demystified". This one made me chuckle. The five alleged patent violations are questionable and appear to fit the frivolous category.

Sunday, August 15, 2010

Oracle lawsuit against Google over Java and Android

This one was sort of expected after Oracle acquired Sun. So now we know what Oracle's true intentions are for Sun's Java technology. When I first saw this news my initial reaction was one of disgust. Then after reading quite a few articles, opinions, and various other blogs I came to the point that this was anticipated. It just took a while after the Sun acquisition.

On a related note, Oracle also is canceling OpenSolaris which was announced in the same week. So as for Oracle's open source support, we now know which way the winds are blowing with Oracle at the helm of Java. Not to mention the JDK 1.6 fiasco a last month with Eclipse which was an early warning shot. "Oracle's Java lawsuit undermines its open source credibility" has a well written perspective on these recent events.

Sunday, July 18, 2010

Product Version 4 and Apple

The vulnerable Version 4.0 hex has afflicted Apple. The iPhone 4 and iOS 4 appears to have caught the version 4 hex. The Version 4.0 label has affected many software and IT products over the past few decades and continues with the latest Apple fiasco since Apple released iPhone 4 in June 2010. Regardless of whether or not there are really any issues with the iPhone 4's antenna or the iOS 4.0's algorithms, Version 4 has affected Apple as it has past technology products in the IT industry.

Sunday, June 27, 2010

Great Overview of Android and Java

Here is a really good overview of Android and Java, "Embracing the Android awesomeness: A quick overview". It describes the Dalvik JVM, Android SDK, and Android NDK. The NDK is the Native-code Development Kit which is a companion tool to the SDK tat lest Android application developers build performance-critical portions of their apps in native code.

Saturday, June 19, 2010

Editing Video in the Cloud with YouTube

YouTube has recently announced that you can now edit your videos all within your browser. Check out this blog posting. This is really impressive. So now you can edit videos, create a new mash-up of videos, and even add audio to it all within your web browser!

Saturday, June 05, 2010

Agility and the DoD

The DoD is looking at Agile development techniques more seriously lately. The "Command and Control" Gets Agile explores recent developments. Like any large organization, becoming agile is not just an initiative but a fundamental cultural and organizational change. At least this is acknowledged in 'The Agility Imperative' and related topical discussions taking place within the C2 circles.

What is not surprising is the how open source technology has been successful in non-DoD organizations as stated in "Agile can help DoD save its projects". A consistent organizational pattern emerges where agility is successful on a limited scope implementation but not on a larger enterprise level. So the on going question is, how to implement agility into the existing bureaucracy? Yet another viewpoint is described in "Agile and the DoD" whitepaper. Time will tell on this one.

Monday, May 24, 2010

Graphs and Disruptive Database Technology

I read a really good article recently about graph databases and the NOSQL (Not Only SQL) movement that has been rapidly changing the web. "Graph Databases, NOSQL, and Neo4j" This article is highly technical computer science and has a lot of useful links and references. Plan to keep an eye on this stuff since it is where database technology and web development is heading.

The transaction-less CAP-theorem and BASE (Basically Available, Soft-state, Evenutally) systems theory are of particular interest. A good argument against why the tried-and-proven ACID theory no longer always works on the web is presented and makes a lot of sense.

The article does a nice Neo4J description and walkthrough.

Sunday, April 11, 2010

Adobe's New Development Tools for 2010

Adobe is moving in the right direction with Flash Builder 4 based what I have read. "Adobe Launches Flash Builder 4" provides a good overview of its features. There is a new component framework supported in this release called, Spark. Here is a brief Spark overview and a sample Spark application.

Of real interest is the Catalyst expressive design tool mentioned. Read more about Catalyst in the Adobe Labs.

Father of Java Resigns and Comtemplates the Future

This is a notable news item more for historical purposes of the Java technology ecosystem, "Father of Java" Resigns from Sun/Oracle. My initial reaction to this is a bit of sadness since John Gosling has been a instrumental leader for Java technology. I wonder if IBM or Google is talking with Mr. Gosling. He will be missed but I think his decision is a good one.

The future of Java innovation and where Gosling ends up will be something to watch. Here is John Gosling's blog entry announcing his decision. I think this graphic says it all.

Friday, March 05, 2010

Java on Android better than iPhone?

Google Android has only been available for a short time compared to the Apple iPhone and it is already showing its prowess as a serous tool. Java is the underlying foundation for Android and thus its power. "Where Android beats the iPhone" provides an excellent argument as to why Android has some serious advantages over the iPhone.

If you know Java and use Eclipse, you are only a few hours away from creating your first Android application. Some really impressive features on Android are GScript and Remote DB. GScript allows you to create small applications that allows the saving/editing and running of shell scripts from within Android and fire them off with a tap. Remote DB lets you turn any SQL query into a button that searches the database remotely, then displays the results.

Here's an interesting point from the InfoWorld article:
"While Java programmers will feel right at home with Android on Eclipse, it isn't just for Java programmers; the phone can run any language embedded in Java. Projects like Jython and JRuby are great solutions, and dozens are out there. There are similar options in the iPhone world, but they're crippled by Apple's fear of meta-programming and the evils that can be done with eval."

Establishing an open ecosystem and leveraging Java is where Android shines. The integration with Eclipse in particular is where minimal training is required for experienced Java developers. This is definitely a mobile platform to watch if you are a Java developer.

Saturday, February 27, 2010

Myths About Older Developers

I saw an interesting article about 'older developers', "Five Myths About Older Developers" which is an very relevant topic. I have been in the software engineering business professionally for 20 years now and have the perspective of the developer, team lead, architect, and project management viewpoints. The blog post, "Five Pervasive Myths About Older Developers" is an excellent discussion of this topic. The ServerSide discussion response threads about this topic are all lively and thoughtful.

What is particularly surprising to me is the notion that Java has become the new COBOL. The Java ecosystem exhibits many of the characteristics of what happened with COBOL over its history. However, I think Java is more dynamic and is continuing to evolve and adapt.

On another point, ageism is a area of interest to me in organizational behavior so this topic that will continue to be in the forefront in the software engineering business as our field continues to evolve.

Monday, February 01, 2010

Online Photo Editor, Pixlr

JAlbum recently released its online web application that includes an online photo editing tool, Pixlr. Pixlr is a very useful lightweight photo or image edit tool. Pixlr includes a Windows screen capture utility and a Firefox plugin, called Pixlr Grabber.

I tested the online photo editing tool, Pixlr Editor, and was able to import and crop images from my local machine with no problems. This is really impressive and just simply works.

Saturday, January 09, 2010

OpenGL and DirectX Dilemma 2010

The graphics API wars and the business as usual tactics employed by Microsoft continue. "Why you should use OpenGL and not DirectX" contains a very good overview of the Direct3D vs. OpenGL (back in the late 90s) and the current DirectX vs. OpenGL debate occurring today. This blog posting, "OpenGL instead of DirectX" provides an excellent overview of the advantages OpenGL has and a concise recap of the historical debate that has occurred in the gaming development industry. Seems that many gaming developers today have forgotten recent history.

At any rate, the bottom line is OpenGL is for the future (OpenGL supports Windows, Mac, Linux, iPhone, Android, PS3, Wii, DS, PSP, etc.) and DirectX is being driven by typical FUD (fear uncertainty and doubt) that Microsoft has been successfully using for years. So if you are a serious game developer and want to support the future of gaming (i.e., mobile and web-based), then OpenGL is a very logical choice. Choosing DirectX will locks you into Windows and XBox only which is what Microsoft wants you to do. OpenGL opens up all the best modern platforms and future mobile/web/cloud platforms of the future.

Thursday, December 31, 2009

Deploy Windows Applications with VMware ThinApp

VMware has a product called ThinApp (Wikipedia) (formerly Thinstall) which is an application virtualization and portable application creator suite by VMware that can package conventional applications so that they become portable applications. These thin apps virtualize the entire underlying Windows registry and device driver stack so that you can package and deploy portable applications on any type of storage device (i.e., USB drive, flash drive, etc...) Check it VMware Thinapp.

What makes ThinApp compeling is that users run applications on virtually any computer they have access to, including kiosk and hotel PCs. They won’t need to install software or device drivers and won’t need admin rights. Applications run directly from portable storage devices, including Flash drives.

Sounds promising... this is something to research in 2010.

Tuesday, December 22, 2009

Chrome on Linux Performance

I finally found the time to install, test and use Google Chrome (specifically Chromium) web browser for Linux. All I can say is wow! This browser is the fastest I have seen to date. In comparison to Firefox 3.5 on the same machine, this browser is blazingly fast. Especially YouTube for some reason. There apparently are some internal optimizations that Chrome implements or that YouTube exploits for video performance.

I installed the lastest Chromium on my Acer Aspire One Linux netbook and it just flies. Since doing this I have switched to using Chromium as my primary browser. The rough edges I see are Flash Player 10 support in some sites (like Hulu, Vevo) and some UI widget strangeness that are a minor annoyance. Overall, the lightning fast performance of Chrome on Linux far outweighs any of these minor annoyances which will be resolved as Chrome on Linux matures. Great job to the folks working on Chromium for Linux.

Wednesday, December 16, 2009

OS Dependency Dilemma

Google Chrome for Mac requires Mac OS X 10.5 or higher. The operating system version dependency appears to be universal today. I see these same issues on Windows (i.e., .NET 3.0/3.5 or greater requires XP or greater) and Linux also… Hmm… The announcement and wide spread release of Google Chrome OS in 2010 is just-in-time for mitigating the OS dependency dilemma. On my primary home machine, I plan to upgrade my MacBook to Mac OS X 10.6 Snow Leopard so that I can use Chrome for Mac on it. I am currently running Mac OS X Tiger 10.4 since 2006 which is starting to show its age.

Based on the operating system dependencies and upgrade dilemma, it appears that operating systems now have a useful lifespan of approximately 2 years before you are forced to upgrade in order to the latest software to work (i.e., Google Chrome, Handbrake, etc.) For me, this used to be a 3-4 year lifecycle.

Anyway, I plan to upgrade to Mac OS X 10.6 (Snow Leopard) on my MacBook over the Holiday break later this month.

Friday, December 04, 2009

The New Wave

I received my Google Wave account last month. After playing with it, I can see where Waves will be beneficial in the future. For the short-term, I think understanding the concept, technology, and potential will take some time for the 95% of today's users.

"The Completed Guide to Google Wave" is the first book I have seen published about Wave. It is available online and for $6 you can purchase a downloaded PDF e-book. The book talks about how Google didn't choose Wave's name for the reason you might assume—as a play on the idea of surfing the web. Its engineers were paying homage to writer and director Joss Whedon's brief but well-loved science fiction TV series, Firefly (2002-2003). Very cool!

Wednesday, October 07, 2009

Cloud-Based Detection of Malware and Viruses

The advent of cloud-computing brings with it the need to secure the cloud serveres for all internet enabled devices that will be accessing cloud services. In the "Enhanced Detection of Malware" article, the authors propose a cloud-based anti-malware/anti-virus architecture. The article goes into quite some detail and has some really good visualizations of the proposed architecture that Intel is researching. Intel has been researching these architectures for quite some time. The proposed Cloud Anti-virus Server component make sense.

This architecture makes extensive use of x86 virtualization leveraging Intel Virtualization Technology (Intel VT) and Intel Active Management Technology (Intel AMT) microprocessor capabilities. Here is a link to the OpenAMT site.

There is an excellent set of research resources in the references section of the article. This is a must read for anyone involved in systems administration, network engineering, systems engineering and security of networks.

Tuesday, September 29, 2009

Google Sites Data API

Google Sites is eventually going to be the cloud-based collaboration platform many companies use. This prediction just took on another facet with the recent release of the Google Sites Data API last week. The new API allows you to use Java, Javascript, .NET, PHP, or Python as the scripting languages to customize Google Sites to your needs. It is not only limited to Google Sites but to all of Google's online properties including YouTube, Sites, Docs, Calendar, Financial, Blogger, Health, Maps...

Thursday, August 27, 2009

Web-based Diagramming!

While surfing the web found a few really nice web-based diagramming tools. Here they are
diagrammr
Diagramic
gliffy
websequencediagrams

Of these four, gliffy is the most polished. It is available in a basic (free) SaaS and premium (paid) SaaS application. All of these are excellent examples of web-based software leveraging the cloud and your web browser.

I played with each of them and really like gliffy since it can do all types of diagrams including flowcharts, floor plans, business activity, UML, network diagrams, org charts, etc. This is a whole new category of web-based applications that provide functionality previously limited to desktop diagramming applications like Visio, Dia, Gimp, OpenOffice, etc. This is definitely an emerging category to watch evolve and use.

Now only if gliffy could evolve and start importing Visio .vsd files... now that would be entirely impressive.

Monday, August 10, 2009

Botnets and New Defense Techniques

Recently, I read a really good article that describes advances in botnets, malware, bot-herding, and advances in defenses against this tuff. "The Dark Cloud: Understanding and Defending Against Botnets and Stealthy Malware" provides a good explanation of botnets, stealthy malware, and the sophisticated internet/web threats they represent in the future. It discusses several advanced concepts including: botnets, bot-herder, polymorphism, rootkitting, hyperjacking, etc..

The article makes an interesting analysis of the botnet Life-cycle. There are some really good diagrams.

Saturday, July 11, 2009

TweetDeck First Impressions

I was looking for practical examples of Adobe AIR applications and recently discovered that TweetDeck is developed using Adobe AIR. Very cool. After downloading and installing it, I am impressed with Adobe AIR. I have been getting deeper into Adobe technologies (LiveCycle, Flex, AIR) preparing to develop a few RIA research prototypes and just experimenting with the Adobe stuff out of curiosity.

As a side note, TweetDeck is actually a decent application if you are a Twitter and/or Facebook user.

Chrome OS

After Google released Chrome last year, this was anticipated. They came out with a bang and I am looking forward to Chrome OS. It is a disruptive announcement and is indirect shot at Microsoft. The next 12-months is going to be very exciting as always. This is the da bomb announcement from Google this year. Google just has not stopped innovating in 2009.

This article has some very good points about Chrome OS admist all the media buzz, FUD, and propoganda from all sides.

Web-based Screen Casting with ScreenJelly

I just saw this on Chris Parillo's CNN video blog and it is quite impressive. Check out ScreenJelly. Screenjelly records your screen activity with your voice so you can spread it as a video via Twitter or email. Use it to quickly share cool apps or software tips, report a bug, or just show stuff you like. To start recording, click on the red button. No need to install or download anything!

Now this is really cool and is a yet another web-based technology moving us closer and closer to the cloud.

Saturday, July 04, 2009

Google Voice

Google Voice will be a really useful service that is the successor to GrandCentral. Can't wait.

Friday, June 12, 2009

The Decline of Blogs?

"The end of blogging" is an interesting article that raises some key observations in my own behavior towards blogging after joining Facebook and Twitter earlier this year. I have to agree with the author that I have noticed that I am not blogging as much this year (2009) either. Is this a trend or just natural selection occurring?

If blogging is making journalism obsolete and FB and Twitter are making blogging obsolete, then where are we now with even shorter attention spans and bursts of ideas on these new social networks? I have noticed that even my blog entries are getting shorter this year. Wow! Innovation is great. Wonder where we will be in 2010?

Ok, this was more questions than anything else but I am getting long winded on this blog so see my FB postings or my tweets on Twitter... later.

Saturday, May 30, 2009

Google Wave!

Just finished watching the Google Wave Preview video. Wow! Innovation at its finest. This is really going to change things on the web.

Tuesday, May 26, 2009

Create Your Own Social Network with Ning

Just when you though social networking was already getting saturated, a new idea rises up to the top of the visibility scope, Ning. I actually saw this on CNN (Ning: The future of online social networking?) and this social network is one with a slightly different twist. This one is focused on your common interests. It makes sense. It differentiates itself from Facebook and MySpace which focus on friends and family. Let's see what happens over the course of the next year.

Monday, April 20, 2009

Oracle Acquires Sun

Wow, I did not see this one coming at all. My initial reaction is that it is a good strategic acquisition for Oracle, bad for MySQL, and ok for Java. I have concerns about NetBeans and GlassFish though. As for Java, with Apache Software Foundation, Eclipse Foundation, and the open source momentum Java has, I think everything Java will be fine.

Sunday, April 19, 2009

Steaming Video Steps up the Game

Just a few days ago, YouTube announced af few deals with Sony, Universal, and is in talks with other content providers. They just opened their Shows and Movies capabilities this weekend. I just watched two indie movies, "10 mph - Seattle to Boston" and "Electric Purgatory", on it and am impressed. I think they just stepped up their game with Hulu. "YouTube boosts full-length movies, TV show lineup"

I can't wait for the premium music site, Vevo, that YouTube is creating with Universal. This will be disruption to the music video business. I got into Hulu the 1st of January of this year and never looked back. Hulu has changed the way I view TV shows. YouTube just made the field of streaming video all more interesting.

Wednesday, April 08, 2009

Google AppEngine now with Java!

I have been waiting for this announcement since Google released AppEngine. The App Engine Java Overview is a good starting point. Based on an initial skimming of the site, it looks like Google has got a winner with Java support.

Google AppEngine support for Java includes servlets, JSPs, Eclipse, Groovy and more. For persistence it support Java Data Objects (JDO) and Java Persistence API (JPA) as interfaces to BigTable. For more info see the Getting Started:Java page.

Sunday, March 29, 2009

Data Preservation and Ancient Egypt

Do you have all those old floppy disks, CDRWs, or obsolete mass storage devices (Bernoulli, Zip100, Zip250, etc.) laying around somewhere with no devices to access them? If you have been involved in computing for more than 15-years, then you probably do. There is an interesting posting about how the Egyptians and ancients got it right. "Data Preservation and How Ancient Egypt Got it Right".

This has been a problem I have experienced in the past 15-years. Every new digital format means converting of translating all your archived data from one digital format to the next. Whether it is in a database, compressed files, obsolete file formats, or other it is a problem. I recently experienced this looking for a EasyCASE model of an application that was developed in the mid 1990s.

To my surprise, finding the model in the configuration management system was a challenge. Then finding the valid license keys for the EasyCASE software took a few days. This is only for modeling information that is slightly older than 10-years.

Data presevation and archaeology of our digital information is going worsen and become a challenge in the next few decades.

Saturday, March 28, 2009

Java, IBM, and Sun

An article about IBM purchasing Sun written in 2002 is surprisingly relevant to today's current news. "When Will IBM Buy Sun?" published in April 2002 identified all the reasons why it made good strategic sense for IBM back then. The bottom line, it is all about Java. Just as analysts and bloggers today are debating.

On the surface level, it makes sense. Sun is figuring out how to monetize its Java technology and IBM is monetizing its Java quite well. IBM has been on an acquisition spree these past few years adding to its portfolio making some very strategic and sometimes unexpected purchases (i.e. Telelogic, Cognos). Will IBM do it in 2009? We will know later this year.

Wednesday, March 25, 2009

Disruption in the Gaming World, OnLive

The game console war between PS3, Xbox360, and Wii may have been disrupted. OnLive, is a new on-line gaming business model that is seven years in the making! The article, "OnLive could threaten XBox360, PS3, and Wii", describes the new player. OnLive is created by WebTV founder, Steve Perlman and former EIDOS CEO Mike McGarvey. So it has some heavy hitters behind it and has gained interest from EA, Ubisoft, Atari, and others.

OnLive uses the cloud/web delivery model. It works on any internet capable device. Currently supporting PCs, Macs, and web enabled TVs. Impressive! This one to watch. OnLive just may be a game changer if it can deliver on its promises.

Friday, March 06, 2009

Software Wars

This is a great visualization of the Software Wars where the Empire of Microsoft is at war with Everyone. It provides a really nice view of the many fronts and players in the software universe over the past 11 years (since 1998). Here is the most current map. It is really interesting to compare this to the first map back in March 1998.

Wednesday, March 04, 2009

MVC Web Frameworks and .NET in 2009

MS just released ASP.NET MVC RC2 yesterday which requires .NET 3.5 SP1. I can now see a dependency between the two. This stuff is still not entirely stable yet. This is in contrast to how Java MVC frameworks are not necessarily dependent on JDK updates. So it appears that ASP.NET MVC and the .NET 3.5 framework are co-dependent. This is not a good thing for stability and is bit on the accidental-edge. From where I sit, it looks like MS is back to its usual tactics with using the underlying framework (or OS, or API, or whatever) to remain in the drivers seat. It looks like ASP.NET MVC is driving the change to the .NET 3.5 framework.

Note: .NET 3.5 was released in Nov2007. .NET 3.5 SP1 was released in Nov2008.

The Microsoft Entity Framework, aka ADO.NET Entity Framework, implements the Model aspect of ASP.NET MVC and is tightly coupled to .NET 3.5 SP1. Based on a few blogs, it appears that MS is having problems with their MVC implementation “Testers give Microsoft’s Entity Framework a no-confidence vote” as late as June 2008. Here we are in March 2009 after 9-months and it is still an evolving work in progress.

In contrast, MVC webapp frameworks in Java (since 2000) and many Web2.0 languages (PHP, Ruby) have been around for years.

ASP.NET MVC is still trying to get out of the gates. Looks like Microsoft came to MVC party after the cleanup was done. At least they showed up. I recall looking for MVC webapp frameworks for .NET back in 2005-2006 and found nothing at the time.

Saturday, February 21, 2009

Google Ocean

The folks at Google just keep innovating. They recently added bathymetric information and visualization to Google Earth. This is very cool. You can now see the terrain and contours of the Earth's oceans. In Google Earth 5, they have also enhanced the layering capabilities which is very impressive.

Friday, January 30, 2009

Source Code Analysis and Metrics

While researching tools, I stumbled upon a tool, Understand 2.0 http://www.scitools.com/products/understand/ which provides an impressive set of capabilities and source code visualizations, is multi-lingual and multi-platform.

The required critical capabilities are

Driving Factors

  • The tasks of static and dynamic code analysis, architecture recovery and visualization (from the code), code structural analysis, extracting other metrics (cyclomatic complexity, maintainability, other measurements defined by SEI) is an important part of a lot of projects.
  • Frequently one tool would not cover all needs (and languages) and we normally deal with a combination of several tools both commercial and free/opensource

List of tools that researched (not an exhaustive list, just a compilation after about a day's worth of researching)

Commercial

  • Coverity (multi-lingual))
  • JHawk (Java)
  • Lattix (.NET)
  • NDepend (.NET)
  • PC-Lint
  • Rational Software Architect (multi-lingual) -built-in capabilities. (Eclipse based)
  • Understand (multi-lingual)
  • Visual Studio (multi-lingual) - built-in capabilities, plugins.

Free/Open source

The bottom line is that source code analysis/metrics tools are plentiful in both the commerical and open source markets. You have to define what your requirements are, do the necessary research to devise a solution set of tools and techniques, and then resolve your problem.

Monday, December 22, 2008

CMMI or Agile

I currently work in a CMMI Level 3 environment, have worked in Agile environments, and continuously experiment and apply agile techniques that work.  I was happy to see that SEI has published an initial document last month, "CMMI or Agile: Why Not Embrace Both!", that addresses the diverging software engineering viewpoints that has festered in the past 5-years.  This article draws a line in the sand and makes the first step towards legitimizing  the pros/cons and benefits of both approaches.  This is a must read article for any serious CMMI or Agile manager, practitioner, architects, developers, software engineer, coder, programmer, or anyone that is affected by CMMI and Agile techniques.

There are elements of CMMI which I think are necessary for software projects and there are approaches in Agile that solve real world software engineering problems.  This initial SEI published article calls on both the CMMI zealots and Agile practitioners (agilistas) to unite and resolve their differences in order to maintain a healthy software engineering discipline.

I exist in the middle of this software engineering culture clash.  Now, is the time for unity, change, and forward progress in both the CMMI and Agile camps to create something better for the future of software engineering.  It is time to roll up the sleeves and have a meeting of the minds.  We are all on the same team, it is just a matter of accepting this fact and improving everything we do.

Saturday, November 29, 2008

Netbooks and portability

I purchased my first Netbook. After reviewing the various types, I settled on the Acer Aspire One Linux version which has no moving parts. Hard drives are SSD and flash memory based. Based on my initial first day of using it, I will have to say that it lives up to all that is promised for this new form factor.

I like the portability, features, and performance. It boots up in about 5 seconds, and takes about another 10 seconds to initialize my WiFi connection. Carrying around my netbook is like carrying around one of those DayTimer organizers. Remember those days?

For the portability factor, Netbooks are definitely useful. Carrying around a 2 pound Netbook vice a 5 pound notebook computer (MacBook or PC) is a significant usability enhancement. We will see how it holds up. Initially though, having Linux, Firefox, and OpenOffice in a very portable form factor is actually pretty cool.

I am impressed with the Acer Aspire One's looks, esthetics, fit, finish, and usability. The keyboard is almost full size which is surprising and feels good. I am using it now to write this blog entry. My first impression is that this is a very high quality product that just works. Reminds me of my MacBook.

Saturday, October 25, 2008

Visualization of the 2009 U.S. National Budget

Given that it is an election year, our economy is not doing well, and the federal budget is in the red, this visualization, WallStats Death and Taxes 2009, that summarizes the entire U.S. Federal budget is really impressive. It is an example of a great visualization for a very complex set of information. WallStats.com provides this visualzation and you can buy a poster of it. I really like the online Flash interactive visualization.

Sunday, October 19, 2008

Software Tools for a Third Grader

My son is in third grade. He started getting into building virtual models in the Sims game on the Wii and RollerCoaster Tycoon on the PC in first and second grade. I wish I had this stuff when I was a kid. I got into building models (the old fashion way with plastic and epoxy glue) around the same age. Times have certainly changed.

Now back to the virtual modeling. These virtual simulation games are a creative, entertainment, and learning outlet for him. I noticed that he is starting to get to a point in his young developing mind where creating more complex models, learning about science, math, and other things in life is consuming his curiosity. So I thought to myself, why not get him interested in beginning software development and see if he would be interested in that. I found this really good beginning programming language, Scratch, that was developed out of MIT and is targeted for kids that are at least 8-years old.

Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web. Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design

I test drove Scratch and then introduced my son to Scratch. It is like building software by using a Lego building blocks metaphor. Visually, you actually put pieces of software building blocks together that have shapes and colors. The shapes and colors represent a specific type of software component. (i.e., a looping construct is shaped similar to the letter 'C' where you place the loop's internal logic within the bounds of the 'C' shape.).

The Scratch tool is available for free and the associated web site allows you to publish your creations so they can be shared with anyone that has web access. Anyway, for any kid or young person that is interested in building models (physical or virtual), Scratch is another tool that may be of use. It works on Windows and the Mac. The most interesting aspect of Scratch is that it supports and encourages development of 21st century skills. It is not just for kids but for anyone that is interested in a new paradigm for developing software. It must be great to be a kid today. The best I can do is think like a kid and always keep that child-like curiosity. Everyone wants to be a kid at heart.

Monday, September 01, 2008

Google Chrome

I get the feeling that the gravity around Google is increasing in 2008. With everything Google has done in 2008, it just announced Chrome, A fresh take on the browser. There is a comic that provides an explanation of what Google Chrome is and why it was developed.

Google Chrome has the potential to be extremely disruptive to the web browser and web application space. It is not based on Mozilla and is a unique fresh start for a web browser that is optimized for Javascript. It uses a Javascript virtual machine engine called V8, is multi-process/multithreaded, implements virtualization internally, optimized with Gears, and uses the WebKit rendering engine. The comic explains it all. For best level of detail, reading the comic is highly recommended.

They are releasing the new browser to the world tomorrow as open source. Tomorrow will be interesting. I plan to download Chrome and give it's Javascript V8 rendering engine a test drive.

Thursday, August 21, 2008

Google Protocol Buffers - Kind of Like the Glue for Data Streams in the Cloud

This is something new and interesting from Google, Protocol Buffers. Here is the overview of what this technology is:

Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages – Java, C++, or Python.

For more information read the Protocol Buffers Overview page. Why not just use XML? Here are some compelling reasons to consider Protocol Buffers instead of XML:

Protocol buffers have many advantages over XML for serializing structured data. Protocol buffers:

  • are simpler
  • are 3 to 10 times smaller
  • are 20 to 100 times faster
  • are less ambiguous
  • generate data access classes that are easier to use programmatically
The features I like are simpler, smaller, faster, less ambigous and easier to use. I am sold. Now the real question is, does this stuff work in the real world and can it be applied in a proof of concept or experiment? That is something that is to be determined.

This stuff does look interesting. For alternative viewpoints here is one from InfoQ, Google Introduces Binary Encoding Format: Protocol Buffers, which has a lot of good links to various blogs and responses to Google's PBs. Facebook's Thrift is a competing technology.

Persistent Cloud Storage from Amazon

Amazon has just raised the bar by creating Amazon Elastic Block Store or EBS service. This basically is persistent storage for Amazon's EC2. The cloud computing landscape is getting better every month.

Amazon Elastic Block Store (EBS) provides block level storage volumes for use with Amazon EC2 instances. Amazon EBS volumes are off-instance storage that persists independently from the life of an instance. This opens up a new frontier for low-cost and scalable cloud computing storage services.

Saturday, July 05, 2008

The Cloud

If you have been under a rock for the past few years than you probably have not heard of Cloud Computing. I have had the opportunity to live in the cloud for the past few years as an experiment while in graduate school. I started using Google Docs when it was in its infancy back in 2006 and have watched it mature nicely into a very capable software-as-a-service with offline capabilities. I have seen it grow up and become a toddler that now knows how to walk on the verge of learning to run.

In this same timeframe, Amazon Web Services has evolved into Elastic Compute Cloud (EC2), Apple announced its MobileMe service which is replacing its popular .Mac service, and Google launched Sites and AppEngine this year. What all these new services have in common is that they are taking advantage of the cloud. All the while this was all happening, virtualization the foundation on which a lot of the cloud utilizes and leverages, has evolved significantly and virtual private server (VPS) services (i.e., Tektonic.net) have evolved into very capable offerings.

The most interesting aspect of cloud computing is that it has evolved very rapidly as a disruptive force. This type of computing has opened up the market for the current generation of smartphones, cloud devices (i.e., internet tablets, ultra-mobile PCs using Linux, and more).

Cloud computing innovation in 2008 has made me rethink my own personal computing architecture at home. I have several Linux servers and devices providing my server requirements for the past ten years. Now, it is gotten to the point where maintaining my home infrastructure is becoming a burden as the number of devices proliferates. There are HD set top boxes, streaming video servers (Sony Location Free, NetFlix, iTunes, YouTube), PSP, PlayStation3, iPods, Wii, GameCube, etc... and the future will only bring more internet capable devices into the household.

The Cloud is looking better and better as the future architecture.

Friday, June 20, 2008

Firefox 3.0

Ok, if you are not already using Firefox 3.0, you should. I downloaded it on 'download day' and have installed over my previous Firefox 2.0 installation on Windows and Mac OS X. Performance on both OSs is noticeably faster than 2.0 and all my Add-Ons work. All I can say is wow! Especially the noticeable improvements in performance of Google Docs and other web sites that make extensive use of AJAX.

Tuesday, April 22, 2008

Google Docs now with Gears!

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.

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.

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.

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.

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.

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.

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!

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!

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.

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.

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.

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.)

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.

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.

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.