Sunday Sep 09, 2007

I've been missing for a while so I thought I would begin re-posting with a first post about our Abraham (aka, Koor Gai). This last summer, Abraham (the chess genius from Sudan), became a US citizen. We're very proud of his accomplishments and his leadership to the rest of the Lost Boys in San Diego.
Koor had come over for the weekend between college semesters and said he was eligible to become a citizen. We went online and found the appropriate government agency online. He already knew much, but the simplicity and completeness of the govt web site (found with an easy query on Google) was surprising. We covered what steps were needed and reviewed the sample test (which was fun, e.g., what are the colors on the flag, what do the stripes represent, etc.). From that simple conversation, Abraham completed everything on his own - even budgeting the funds (taken out of his much needed living expenses). Within a few months Abraham called and said he would be having his citizenship ceremony on the coming weekend. I was in Santa Clara and missed the event, but Debra and Michael were very proud to be there - I also had Debra deliver to him a copy of "Democracy in America", by Alexis de TocQueville - an extensive tome but knowing Koor, he'll read it.
Abraham has also completed Calculus 3, Differential Equations, Java Programming, and a host of other courses and may transfer to Univ of Cal, San Diego, this spring semester. We (US Citizens) should be proud that we have brought the Lost Boys to the US, provided help so they can attend college (i.e., taught them to fish), that they desire and that we have made it simple to become a citizen and proud of Koor and the Lost Boys because they do love education, are diligent in their progress, and gracious in their successes. They are ... model citizens.
Thursday Oct 26, 2006

You've heard of "Group Think", but have you ever heard of "Executive Think"?
Groupthink is a mode of thought whereby individuals intentionally conform to what they perceive to be the consensus of the group. [wikipedia]
In Executive Think, individuals make decisions and act according to misunderstood directives from their executive staff. Example: An executive states the team must focus on project B. The staff then stops work on other projects such as project A to work solely on project B. The executive returns and wonders why project A is failing and thus concludes that project A was faulty and thus project B must be (has to be) the right decision.
Communications must be well stated, clear, concise and repeated. Excutives must be open to review and criticism. And team members must always do the right thing according to their well defined roles and responsibilities.
Tuesday Aug 29, 2006
Collaboration, Social Networking, Flickr, Wikipedia, are only the tip of the iceberg we're headed towards which will displace how we build and work with Internet technologies. The idea that ofoto-becomes-flickr, BritannicaOnline-becomes-Wikipedia isn't deep enough to describe the changes in technologies, development methodologies, acquisition/sales strategies and the available services we will need to know to compete. These ideas are more like the floating pieces of ice surrounding that big iceberg - giving only a little hint of the changes to come.
Web 2.0 wasn't enough
The last few weeks I looked at the use cases which describe the intersection of 1.) content manipulation, 2.) internet services and 3.) organizational / personal behavior. I did so with a presumption that Web 2.0 was both a description of new (or) refined technologies (e.g., AJAX, JSON, jMaki) and a list of innovative, interactive services (del.icio.us, Myspace, LinkedIn) which provide greater end user participation with web enabled services. But I discovered that this assumption was only hinting at multiple needs which are yet unfilled - and to which technologies will soon be able to solve. These are: greater end user capability, more flexibility of opensource for service providers/enterprise architects and wider / easier Internet device integration.
End User Enablers The Internet was built to serve people, not the other way around - but nearly every Internet "service" allows a user to only accomplish a predetermined set of tasks. Product Managers work hard to define these requirements, engineers work hard to design and deliver them, interface designers work hard to simplify the understanding and use of the service. But ultimately they're only for a specific set of tasks for a specific target audience. What about general use? Flickr gained success versus oFoto because it added additional capabilities for an individual to share photos. MySpace gained popularity because it allowed young adults an anonymous stage " to express themselves to the world", a way to connect "to find their group without fear of personal rejection", a path to virtual popularity "without regard to time, location or real world popularity". So while we assume Web 2.0 points out the innovation from Ofoto to Flicker and MyYahoo to MySpace as the capabilities of:
- End User Web Publishing (upload photos, set profile information, wiki pages)
- Social Networking (find people, link to people, contact people connected to people you connect to)
- Prebuilt Group services (file upload, wiki, discussions, blogs)
We can already see the next phases which will add:
- End User Service Creation
- Ability to create an entire service as an assembly of atomic services for a specific team of individuals....without development.
- End User Service Publication
- Publish services which can be consumed by others.....without development.
- End User Community Formation
- Ability for an individual, individuals in a role or a team to define their members.
- End User Community Linking
- Ability for members to link communities together and thus allow social networking of teams, i.e., Workgroup Networking.
- Embedded Organizational Behavior Processes
- Organizational Behavior is well advanced, but web services available today depend on external methods to enforce rules of behavior, which ultimately means lowered productivity and lack of management control. Example: everyone knows at least one violator of email etiquette. Imagine a system that facilitated certain patterns of behavior.
- Unified Communications (think alerts, calendars, IM, blogs, email, wiki, doc repositories, voice mail)
- Communication means what message the receiver understands. Multiple paths of communication must be unified.
- Anytime, anywhere, secure access
- The future is services and data available from anywhere. Try Firefox for Solaris, Windows, iPod and Treo.
- Embedded analysis
- Securely understand the dynamics of the system and its services
- Smart Federated Search
- Google can't find that document in your Thunderbird email folder, nor realize it relates to an IM message that just arrived.....
Opensource Web 2.0 also talks about standard technologies, AJAX, DOJO, jMaki, REST, JSON, JSF Extensions, and Mashups, standards important to understand, but Opensource communities and available packages will fundamentally change how we develop software and how we acquire software. Many companies, even those that participate on standards groups, embed proprietary extensions which lock customers into their platforms. Opensource can solve this problem, allowing enterprise architects and service providers to gain the flexibility needed while ensuring best of breed capability.
Some organizations will take opensource modules and use them as is. Others will take opensource modules and build additional functionality. Some of these additional modules will be held as competitive differentiators while others will contribute these modules back to the community to be used, maintained and enhanced by others. Companies who go beyond Web 2.0 will need to understand how they will develop and use Opensource. They must know what enhancements they wish to contribute back and which they will hold inside. This will change their development and acquisitions - and how companies will sell services and technologies.
Service vendors will additionally need to look at not only their capabilities but how they fit within the opensource strategy of their customers. While service providers may sell a "service" instead of a "technology" they'll still need to be able to explain how this works within an opensource strategy. Example, will their system provide WSRP portlets which work on an opensource portal? will a technology vendor include opensource components which include licensing that protect their customers?
Internet Devices The Internet is a collection of devices not just people. Web 2.0 does speak of "Software Above the Level of a Single Device", but there are some additional ideas important to understand. Internet devices could be categorized as: Desktops (browser and applications), Handhelds (phones, ipods, Palms), Home Entertainment Systems (Tivo, Cable Boxes, Playstation), Embedded Devices (home security monitors, appliances, autos). The iPod and iTunes are a great example of a new way to interact with the Internet besides a web application. The market demand for seamless interaction across devices is very important. Shouldn't I be able to add my home security system to MyYahoo? Can services offered today be easily extended to support data from remote devices? to remote devices?
Something big is coming and we're only seeing the beginnings of this shift. Web 2.0 describes a portion and MySpace and Flickr are good early examples. But what's out there is even bigger.
Thursday Jul 27, 2006
No long post tonight. I instead wrote about our opensource portlet repository: look here on the Portal Post. I wanted to discuss why opensource portlets are good for all of us. Portals focus on productivity but they are usually a side effort when deploying new services, that is, if you need to build a composite application, usually you just want to get that done. You don't think about productivity benefits by adding a portlet interface to that system - you also don't think about adding other productivity tools to your portals. But what if they were free and opensource?
Today though a friend of mine (whose wife once attempted the world speed record on a skate board) spent the day with his two boys paddeling boards down the coast all the way to La Jolla Cove (a great place to shop and dine).
That is one long haul on a long board. Usually the current down is easier but not today. One of the boys barely made it - but he stuck to it. Good for him.
Tuesday Jul 25, 2006
Opinion is worthless - at least that's what I've discovered.
A surprising statement from me, in that I follow the ideal that the greatest good for the team, for the enterprise, for society is when decisions are made with input from low and high, when the community's input is sought and considered. But there is a difference between input based on opinion and that which is verifiable fact. Everywhere people are expressing opinions, about politics, art, products, ethics, sports, and even science. Increasingly the daily data we pour over in blogs, from analysts, from experts, from leaders, is filled with bias, contradictions and inaccuracies - expressed as opinions.
Why has this occurred? A great while ago, the scientific method was formalized "Recognizing that personal and cultural beliefs influence both our perceptions and our interpretations of natural phenomena" [1] to help us minimize their impact when we create theories. The scientific method helped to bring the advancements which now provide us radio communication, television, the internet, email, and blogs which are the channels from which we receive an increasingly large amount of opinion. As a simple exercise, ask yourself how many of your opinions come from a set of definitive sources (e.g., a book) rather than from identifying with a group of individuals (the largest influence), from television, from blogs, etc. As the volume of contributors to the "ether" has increased, so too has the increase of opinion and a lack of personal adherence to stating or finding fact.
Examples of opinion are everywhere, just look at today's "Documentaries", e.g., "Super Size Me", which shows an individual who eats nothing but McDonald's for a month. The case seems to have an observation (people who are fat eat at McDonald's), a hypothesis (eating at McDonald's will make you unhealthy), an experiment (eating nothing but McDonald's for one month) and a result (the individual was unhealthy after 1 month). But there was no control subject (what about if this same person ate nothing but mom-and-pop hamburgers for a month or what about a set of 100 individuals doing the same test), there was no variable isolation (what about the fact the individual did no physical exercise during same month, or the effect of 3 extra large colas per day, what about a different person, etc.) and no confirmation of the results, (can anyone repeat the results, where they fake in order to sell the video, would the video sell if the results had not been conclusive?). It would be amusing except that an enormous number of elementary schools now show this film in science class. More examples: Drinking Red Wine reduces risk of coronary heart disease, (sponsored by the Red Wine Industry), analyst reviews of .NET vs Java, speculation on sporting team or individuals prowess, or books, movies, actors, politicians, the world even. Our participation age is increasing the volume of information, and if one of our largest errors for opinion comes from identification with a specific group, isn't access to more data valuable? Does the volume of data help to find truth and reduce opinion biased by group identification - or allow access to more factual data to help counter localized opinion?
Today opinions are considered valuable, that volume of data is a good goal, that through increased participation, one can find fact and truth and justice and equality. We can often hear the justification for an opinion (especially one relating to ethics) that "Galileo was persecuted for his 'beliefs' ", therefore if my opinion runs contrary to ethics, it must be valuable. But Galileo was expressing facts not beliefs. Those who persecuted him were the ones with strongly held opinions. Regarless of the volume of opinions, the number of people providing input, if the data provides opinions they provide no value. We have reversed the Galilean persecution. Instead of fact being met with distrust due to opinions, we now have opinions driven as fact just because someone believes them. Opinions by their nature do not facilitate learning, and thus cannot be used to build one upon another to form a hypothesis. Just because Bob is convinced the Patriots will win the SuperBowl and Dan believes the Chargers have the best offense in the league, and Mary believes the 49er's have the best quarterback, I cannot conclude any outcomes from any games. More opinion is not valuable. [Interesting to note is that those who most feel they are "scientific" are increasingly more "opinionated" - feeling that smart makes right. Galileo wasn't as much persecuted because of his rebellion against religious dogma as rebelling against conventional opinion, which in our scientific institutions, occurs again and again due to weighted opions due to non-religions factors such as authority, ethics, group identification, etc. ]
In "Essays", Michel de Montaigne, philosophizes or more apropos given our blogging community, discusses everything in his daily life in order that we can evaluate the mundane. He chronicles everything including his daily bowel movements for goodness sake, but in doing so, is he really trying to tell us that from a preponderance of data we can learn something? No, instead he is telling us that our cultural biases cause our opinions and that one must leverage methods to go beyond what you think you understand. A glut of the mundane can be valuable if created with a purpose, for Montaigne, he was trying to understand what makes us happy. It is not the volume of data that is important, but the method and purpose by which the information is evaluated and presented.
What to do: So today we have blogs (and other channels) to present our water cooler data. How do we reduce opinion, how do we increase fact? How do we contribute value to the 'ethernet' and improve the lot of Man?
- understand your opinions
- understand your biases
- learn the rules for argumentation (and the great Fallacies)
- research
- expect to learn (and to be wrong)
- listen and understand
- as soon as you understand, re-evaluate
Opinion's purpose is conflict, but fact requires hard work. So, when you speak, when you write, observe if you express opinion or fact. Research, evaluate, quantify, contribute, participate; look for errors, expect errors; have no pride in just being right. If you don't believe that, well, that's your opinion.
Paul Hinz //
Friday Jul 21, 2006
Often I write about the need to add pedagogical items within a product's development - and nearly every time I have to qualify the statement. So, in it's spirit, I'll provide some items to help everyone understand...
A product with pedagogical elements has features, documents, tools and samples which lend themselves to be easily learned or understood. Example: samples are constructed which provide every increasing complexity, are built one upon another, have easily understood branches towards deeper specific subjects and last, are complete within the subject, i.e., provide all details the largest body of users of the product would require. A related, yet excellent paper is here.
Take the example of a book on portlet technology, chapter one prepares an overview of the subject and a simple step by step exact example of say a "helloworld" portlet. Chapter two introduces deeper concepts and links them to other subjects, e.g., a helloworld portlet that sets a cookie, etc. Each chapter and example builds on each other and ultimately allows readers of all levels to understand the subject - or to a depth they desire.
Someone with previous knowledge may start on chapter 5 and complete all examples in the book while another person may start on chapter 1 and only complete up to chapter 6. Samples and documentation can easily be defined to be pedagogical in nature. But what about the product itself?
A software product and its tools can additionally allow elements for various sophistication of the user. It should be very easy to install even for basic users - while advanced functions could take more sophistication. Startup and initial configuration should follow the same rule. Ultimately, the product should be usable and useful to a basic user as well as a sophisticated user, but the latter may need more knowledge in order to take advantage of these capabilities and configurations. Example: a portal is easy to install, includes a set of portlets which are pre-installed that provide calendar, content, etc., but a more sophisticated user can configure connections to databases, web services and leverage IDE's to develop more portlets.
Products and their supporting materials should all be easy to use and well designed for the sophisticated user. Now go see, do, learn.
Wednesday Jul 19, 2006
Here's Abraham, a part of our family, and the only Lost Boy of Sudan who has ever beaten me at chess...
Yes, few have beaten me at chess and fewer still of them, grew up in the harsh reality of Southern Sudan. I met Abraham at a Christmas party for the Lost Boys in San Diego two Christmas's ago. [A hundred Lost Boys and my family - what a great party.] He came to Christmas dinner at our home a few days later and when he came in to the house he saw my chess board and asked if I played. I said yes (but didn't say how much), and after dinner I sat down to play. I am extremely competitive if I think someone can beat me, but extremely non-competitive if I think I can win. Well, I thought this would be a nice game and I could show Abraham some components of Chess.
Within 4 minutes I was in trouble and I lost the match within ten. Warm around the ears I of course wanted to play again. But this time I realized who I was playing and within ten minutes I had struggled to be in fair control of the board...but it was then my wife Debra announced that Pie was ready and Pie always trumps chess. This was my first exposure to the brilliance of these individuals.
Now at least 50 Lost Boys are our family's friends. Last year I had an exciting time teaching several boys to drive and helping to pass our rigourous california driving test. Right now, Abraham is deep into Java programming and Calculus. Debra has raised hundreds of thousands of dollars for educational grants - and many are completing GED's, undergrad or gradute courses. Below is Michael my son and Benson, who was a GAP model (turned it down - too boring) and was an extra in Master and Commander and an author of "The Poured Fire on Us From the Sky". Benson says Michael is his "House Counsel"
A few of the boys I know are attending Point Loma in PreMed, another boy I know is very gifted in mathematics. He just finished his undergrad in mathematics at UCSD. (Needs a job, hint hint.) One of his instructors told me he was one of the most gifted students he had ever had. They say that "Education is their Mother and Father" [they all lost their parents in the genocide of their youth], but I believe there is something else. The struggles of their youth and the fact that they joined together to overcome their adversity, sort of a Lord of the Flies in reverse, has made their minds particularly sharp. They survived the bombing, the refugee camps, the travels, the starvation, the dehydration, the attacks by Lions, together, led by themselves, their leaders no more than 10 years old. William Golding was wrong.
Tuesday Jul 18, 2006
An innovation from Sun this year was the creation of Community Portals. Within the discussions of web 2.0, we've heard about "the read-write web", but Communities adds something more than just the ability to read and write portal pages. Following are a few of the enhancements which change our understanding of how individuals and teams interact with the web and each other - a union of the individual and the community.

- Community Actions
- Normally a person accessing a web application or a portal page, does so as an individual or as an anonymous user, but within a community, while the actions can be audited for compliance per the individual, actions are executed with the community as an entity in and of itself.
- Example: a calendar portlet on a normal page shows an individual's calendar, but a community calendar portlet on a community page shows the "community's" calendar. If two people see the a calendar portlet on a normal page, they each see different data, their own calendar appoitments, but if they both see a calendar portlet on a community page, they will each see the same data, the community's calendar. If they see the same community calendar portlet on a different community page, they will each still each see this new community's calendar which is different than that presented in the other community.
- Another example is a business process. In a community, team members could individually contribute to the group's set of tasks. Each individual can see what tasks must be accomplished, and the team together accomplishes the tasks.
- Facilitate Community Creation
- Community Portals provide a simple method to create a team - especially one distributed organizationally or geographically. The simplicity alone facilitates and encourages the formation of communities. And once created, it as a unit creates knowledge.
- Community Embodiment
- As individuals create, join or are added to communities, they and their work embody the community itself. "I am part of ProjectX", "I need to finish these tasks for Project X", "My ProjectX is nearly complete", each statement discusses the community as an entity even though the reality of a community is that it consits of a group of individuals, a set of services, and a set of associated data -- the goals, objectives and deliverables become objects of the community. The services, content and data created for the community portal become the community itself. Additionally, given that community involvement can span large time periods, often spanning longer than individual participants, the community portal sustains the community over time. There are probably more metaphysical/sociological points, but in brief, the community lives within the community portal.
- Community Cross Pollination
- Communities are usually mutually exclusive, but they may link to each other, reference one another, and include common members. Because one individual can be in multiple communities at a time, the individuals of one community can pull ideas from other communities.
- A community with 10 members, with each member belonging to 5 communities and if on average only 20% of these individual's communities overlap, then the community's team may be participating in over 40 communities whose knowledge and processes may benefit the community.
- Community Socio-dynamic activities
- Communities have, create and can facilitate the behaviors of its members. These beneficial behaviors (more collaboration, more research for reuseable expertise, more productive emphasis, more coordination, more camaraderie) are often easier to create within an online community.
- Example: individuals may work harder, competing with each other on tasks or contributions. Individuals may be able to work better together "through" a community rather than in person, they may understand each other better, they may feel closer to other team members [one of the methods to improve a team's productivity is to increase physical proximity], communities provide a "virtual, physical proximity".
- Open standards growth
- While current collaboration systems are proprietary or not expandable, community portals leverage standard portlets for services and thus allow easy expansion. Collaboration systems, evident from their basic requirements, need to expand, evolve, and grow over time.
- Today, enterprise collaboration systems must allow new services to be added overtime. Today they system allows web posting, file sharing, shared events while tomorrow they will need social networking, linking, project management, business processes, etc. Over time the number of communities will grow and the number of services will also need to be able to grow without migration or replacement. (A future blog post will discuss why migrations will one day be a thing of the past (why do I need to install a new OS instead of just adding functionality to it???). Existing communities may remain using exisiting services or may add new services over time.
In conclusion, community portals are far more siginificant than just facilitating the "read-write web", they change how we will work with the web and each other. The ability to expand the functionality of these Community Portals using Portlets available from the Open Source Portlet repositorywill be an enourmous benefit to people world-wide.
Monday Jul 17, 2006
Went to Rome a bit ago and got to visit the Papal Palace where Sun Portal is running.
Wednesday Jul 12, 2006
Yesterday I mentioned Portlets can be considered Atomized Presentation Services. I thought I could expand that definition a bit. Atomized means they are part of an overall presentation viewable by an individual user on one or more portal pages.

Examples are:
- [SnapFunction] - designed to provide a simple method to view or enter common or frequently accessed data into a larger application.
- Example: an enterprise has automated its business process for manufacturing widgets. This application is complete and is a full / independent web application (with its own URL). A portlet is developed which provides a manager a list of production lines which are running below peak production thresholds. The manager can click on the line items and is presented (in the same portlet) a detail on the line managers current recommendations and production line resolution status.
- Example: an manager is able to select from a set of available portlets to add to their page. Each portlet provides a graph which shows the near-real time status of a business process. The portlet provides no other drill down functionality.
- Example: A portlet allows an individual to track a list of blogs - blog updates are listed, clicks in portlet display blog in new window.
- Example: A portlet allows an individual to interface to a webservice.
- [BuildingBlock] - designed to work in conjunction with a set of Building Block portlets, allowing individual functions to be constructed seperately, and allowing other building blocks to be placed on the same portal page or additional functions to be added "as building blocks" to the page over time.
- Example: A portal page consists of two portlets. Portlet 1contains a search text field and a list of items that are the top of a categorical taxonomy. Portlet 2 contains initially a view of the "catalog items of the day". If user enters a search request into portlet 1, the results for the list are displayed into Portlet 2. If a list of items matches the result, portlet 2 shows the list and if one item is selected from the list, the results are displayed in Portlet 1. A user can click to add an item into a shopping basket in Portlet 1. If a user clicks on a link at the top of the page [e.g., "Show Shopping Basket"], the display is routed to a new portal page with a portlet that shows the list of items placed into the shopping basket. After time a new portlet, portlet 3 is added to the page which shows a list of recently viewed items.
- Example: A portal page consists of 4 portlets. Portlet 1 and Portlet 2 work in combination. Portlets 3 and 4 are individual functions. Portlet 1 contains a bar graph showing production levels each day for the last 7 days. Clicks on the bar graphs show detail information in Portlet 2. Default view for Portlet 2 is a summary of all production levels and issues over last 30 days. Portlet 3 provides a simple menu list, linking to other web applications that can be used in support of production control. portlet 4 contains a pick list (each list item corresponds to one day in the last 7 days) and a text field. The user can select a day in pick list and enter comments which are stored as a record for the specific day.
- [Singleton]- functions which are simple and completely self contained
- Example: A portlet contains data in a content management system. The portlet displays the latest published content.
- Example: A portlet contains a menu list.
- Example: A portlet allows an individual to calculate the mortgage payment given a balance, number of payments and the interest rate.
Why are these important? The answer is because opensource communities can build a great deal of these and make them available to any portal administrator. The more generic portlets available to the world community, the greater the functionality to the end user, the greater the value of the deployments.
-- Next we can discuss how this can be exponentially beneficial when discussing opensource, atomized services available to portal communities.
Tuesday Jul 11, 2006
I updated our team blog with a list of items that can be considered when determing if a project should be portal based or not.
One key element is to undestand that web applications, rich applications, web pages and even web sites are concerned with 1.) a single identified audience, and 2.) a single problem, whereas a portal is concerned with 1.) multiple identifieable audences, 2.) multiple problems, plus 3.) an unknown multitude of groups and problems (e.g., communities with unknown requirements).
See the list.