tag:blogger.com,1999:blog-56486460769458907632008-07-23T08:29:04.469-07:00Web and LifeAndy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comBlogger74125tag:blogger.com,1999:blog-5648646076945890763.post-37671039076246549632008-07-17T18:51:00.000-07:002008-07-17T22:58:26.004-07:00Missing link in making Social Graph popularThe usefulness of social graph depends on how many people would<br />publish their relationships with others. I observed XFN around 2 years<br />ago, and nowadays XFN or open social still haven't yet got spotlight<br />of popularity.<br /><br />If you would publish some of your relationships to the web, what would<br />you do? hand-craft some XFN codes or go to http://gmpg.org/xfn/creator<br />?<br /><br />Look a bit redundant.<br /><br />You already have your contact info stored in your address books on PC,<br />Web, or mobile phone, why should you key-in the info again?<br /><br />Most address book programs in PC and Web support category/group, and<br />some of the categories may represent relationships between you and the<br />contacts. So basically you may have categories like:<br />Colleague<br />Friend<br />Relative<br />Acquaintance<br />Business<br /><br />Obviously, it is a bit overkill to create categories like:<br />Parent<br />Spouse<br />Children<br /><br />But you may put the contact info of your parent and children into<br />category Relative.<br /><br />It is logical to create XFN tags from contact info of your address<br />book.<br /><br />So the next step is to map categories into XFN profiles as defined at<br />http://gmpg.org/xfn/11. For example, Colleague -> colleague, Friend-<br />>friend, Relative -> kin, Acquaintance and Business -> acquaintance.<br /><br />And the next question is, does your favorite support such feature?<br /><br />MS Outlook? no, Gmail Contacts? no, Yahoo Address Book? no.<br /><br />Open Contacts? yes.<br /><br />Open Contacts does not really have a built-in function for such<br />feature. However, because Open Contacts can export selected contacts<br />with info of categories into XML, it is straightforward to transform<br />the XML into XFN tags using XSLT. And this XSLT was developed. Please<br />check<br />http://www.fonlow.com/opencontacts/Developer/publish_selected_contacts_to_xfn.htm<br /><br />You may either use the offline XFN creator or your favorite XML tool<br />to do transformation. By the way, as you might have different settings<br />of categories, you might need to edit the XSLT file to change the<br />mapping between categories and XFN profiles.<br /><br />If you want to publish selected contacts stored in MS Outlook, Outlook<br />Express, Eudora, Mozilla Thunderbird and Vista Contacts etc., you may<br />import/sync the contacts into Open Contacts first.<br /><br /><span style="font-weight: bold;">References:</span><br /><ul><li><a href="http://www.sitepoint.com/article/social-networks-take-friends">Portable Social Networks: Take Your Friends with You</a></li><li><a href="http://www.veen.com/jeff/archives/000512.html">Will you be my friend?</a></li></ul>Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-67586421790333119462008-07-10T16:22:00.001-07:002008-07-10T19:19:56.610-07:00Wikipedia Chinese Search in FirefoxAfter installing Firefox, there is a search box at the top right corner wired to different search engines such as Google, eBay and Wikipedia en etc.<br /><br />Firefox add-on for Wikipedia-en search has around 15 thousands weekly downloads. Surely searching directly in the search box of Firefox rather than in the Wikipedia home page is very popular.<br /><br />As I need to search Chinese as well, I wished to have a shortcut in the search box for Chinese.<br /><br />It was fairly easy to find out how the search plug-in was implemented. In the program folder of Firefox, there's a subdirectory called "searchplugins". There are XML files each of which defines meta info of a search engine. And the default one for Wikipedia is "wikipedia.xml".<br /><br />So the rest of implementing the plug-in for Wikipedia Chinese is quite straightforward: simply replace all references to Wikipedia English (en) with ones to Wikipedia Chinese (zh); and save the XML file as "wikipediazh.xml".<br /><br />Put "wikipediazh.xml" inside directory "searchplugins" (e.g. C:\Program Files\Mozilla Firefox\searchplugins). After restarting Firefox, you will get a shortucut in the search box for Wikipedia Chinese.<br /><br />I have made the XML here.<br /><br /><span style="font-weight: bold;">Aftermark</span><br /><br />I would say developing a new plug-in through studying "wikipedia.xml" is like hacking, and expecting the users to download the XML and copy to the Program Files directory is not so appropriate for many users who only know how to use a Web browser, without any literate skills of exploring the file systems of Windows. So, I would study the technical specification at<br /><ul><li>http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox</li><li>http://developer.mozilla.org/en/docs/Creating_MozSearch_plugins</li></ul><br />An one-click installation is made here.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-48663329149273621822008-06-16T17:59:00.000-07:002008-07-06T17:19:50.529-07:00Defend Delphi or Leave It SadlyAmong current and former Delphi programmers, there were a lot discussions and bitter debates about Delphi's future. As a long time Delphi programmer from the age of Turbo Pascal/Borland C++, I would share a few viewpoints, but not to replicate some great views from the others as listed below:<br /><br /><ul><li><a href="http://blogs.msdn.com/khen1234/archive/2006/01/23/516375.aspx">Goodbye, My Friend</a> from Ken who was long time employee of Borland, now working in Microsoft.</li><li><a href="http://blogs.devsource.com/msdev/content/the_future_of_delphi.html">The Future of Delphi</a> with a lot comments from Delphi programmers from Delphi newsgroups rushed to defend Delphi.</li><li><a id="ctl00_MainPlaceHolder_EntryHeader_TitleLink" title="Permalink" href="http://channel9.msdn.com/forums/Coffeehouse/402086-Borland-and-Delphi-Officially-Dead/">Borland and Delphi Officially Dead</a></li></ul><br />Though since two years ago, I started most new projects using Visual Studio C#, I would still say a few good words about Delphi. Of course, this doesn't mean I would got back to Delphi unless CodeGear will make some breakthroughs or the software project is very small, say less than 2,000 lines.<br /><br />I would quote Harry Betamax's comment here:<br />"<span style="font-style: italic;">Whatever you do, talking about system project development. is based on your logic domain.. not based on Delphi or Visual Studio. Delphi / VB / just like weapon for hero... and the advantages from this weapon just should be effective on the right hand.. </span>"<br /><br />Not to defense Delphi or C#, but to illustrate the deep reasons of different view points of Delphi programmers.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Language features</span></span><br />Some praised great language features of C#, and claimed old Delphi syntax is not so convenient. If you even did commercial programmings in more than 2 languages in last 5 years, you will see language feature is not so critical in medium projects larger than 50,000 lines of codes. With quality design, Delphi, C++, VB or C# can deliver quality products.<br /><br />Some said that in Delphi you have to declare a function header twice, once in the prototype section, and twice in the implementation section, and the IDE shortcut to generate implementation section is just a hack. I would consider this is an advantage, rather than burden of code navigation. Because this forced me to think about design carefully and design the interface (function headers and properties) in advance without considering the implementation in detail. If you always want to jump to the detail of implementation, this would of course be a burden. After all, as modern IDEs have provided structural view of classes, this prototyping of interface is not so significant anymore.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Price</span></span><br /><br />Yes, indeed, Borland's development products have been more expensive than MS products. However, what should concern you should be how fast you can deliver reliable products to customers, and the total cost of long term maintenance. For certain kinds of projects, if Delphi can assist you to deliver products sooner, then you get paid back sooner. Time is money. If the money you gained could not support you to afford expensive Delphi, you should review your business model.<br /><br />By the way, sometimes whether to buy Delphi or VS is not decided by developers, but by the the customer. In some software development projects, the customers will own the source code and may have internal programmers to maintain the code after deployment, so the customers may need to own the development tools. From the point of view of the eagle eyes of cooperate accountants, VS will surely be more appealing, because VS is often free with MSDN subscription.<br /><br /><span style="font-weight: bold;font-size:130%;" >Bugs in Delphi</span><br />The long standing and famous ones are COM and Printing etc. Thousands of programmers complained about them in last 10 years, Borland had refused to fix them. This is really disappointing. Lack of Unicode support can be consider as a bug, more exactly, architectural bug.<br /><br />There are many bugs which could have workaround through using 3rd components like Jedi VCL or TurboPower etc. However, adding coupling to 3rd party product for replacing existing functions in VCL is clearly not desirable, though I did without much frustration.<br /><br />A workmate called Leo is a long standing guru of Windows programming and .NET programming. He alway criticized Borland for its attitude to improve conformation to Windows API conventions. He's indeed unsatisfied by the fact that most Delphi programmers have very little knowledges of Windows API and messaging, and he claimed these programmers were not doing Windows programming. However, the point is, the purpose of Delphi was to release programmers from remembering tons of Windows API calls and writing massive codes of doing simple things. The wisdom of Delphi was RAD, to allow programmers to focus on building business logics and UI. Those bugs were not so significant in small and medium cooperate environments where every workstations run as power user, as these work stations need to run many other legacy programs which do not conform to Windows security models. In a team, you do need one or two guys like Leon who have in-depth knowledge of Windows and take care of critical technical details, and other guys focus on building business models and UI.<br /><br />But, of course, not conforming to Windows API conventions has downgraded Delphi from the legacy frame of world class product, moved itself out of Windows upgrading path which cooperates always followed. Delphi programs could now only be sitting in the ash of legacy products running in small and medium cooperates.<br /><br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">Development Life Cycle</span></span><br /><br />Even many Delphi critics in MS camp admitted that Delphi was well ahead of time in early days. In development life cycle, its elegant IDE design provided great supports for code navigation and debugging. However, as the focus of development was shifted more to planning, designing and testings, VS has been becoming more superior since VS 2003.<br /><br />Personally I hate debugging, not like many other technicians treating debugging as technical challenges. I preferred more testings in advance, as I considered debugging is passive and negative, and testing is proactive and positive to productivities.<br /><br />VS provided much more and better means of organizing source codes, resources, testings and analysis. Such advantages become more significant in large projects involving team works.<br /><br /><br /><span style="font-weight: bold;">Defensive Attitude of Die-hard Delphi Programmers</span><br />I considered myself one of the die-hard Delphi programmers, though with less defensive attitude. I understand that many long time Delphi programmers enjoyed the good old days of Delphi programming, while Borland had consistently provided smooth migration path. And in many projects of similar size, Delphi programmers often delivered solutions sooner than VC and VB programmers could, in addition, with less gray hairs. Such privilege, I enjoyed too.<br /><br />Love can often make people be blind. In a defense statement made by a commentator in <a href="http://blogs.devsource.com/msdev/content/the_future_of_delphi.html">The Future of Delphi,</a> a guy cried out for the fate of CodeGear: "<span style="font-style: italic;">You failed to mention the deal that CodeGear just signed with the Russian Education Agency for a MILLION licenses for CodeGear RAD Studio.</span>"<br /><br />What's the point?<br /><br />Will Russian universities produced more Delphi programmers? Maybe. Will cooperates use Delphi because of great availability of Russian Delphi programmers? Not likely. The good old experience of Borland in 1980s won't be easily replicated in 2000s.<br /><br /><span style="font-weight: bold;font-size:130%;" >My Shallow Experience with VS C#</span><br />I started first commercial programming with VS C# 2003 in 2004, writing some ASP.NET components -- business models only. I took the job with great reluctance, as I considered the UI of VS 2003 was poor (I know Leon the guru of Windows programming would bitterly disagree) and the .NET library was lack of many basic classes I enjoyed in Delphi VCL, and the database access was poor. I even had a conclusion that VS.NET was only good for developing server side applications like ASP.NET, because .NET was designed to strengthen MS position on the server side.<br /><br />I understand now my feeling at that time was partly close to the fact of the truth. My mindset of using IDE was trained by Delphi. However, Visual Studio 2005 with .NET 2 has broken my resistance against using VS products. C# language, IDE and the library had all gain great improvements, and I could find almost whatever I wanted and wished.<br /><br />The father of Delphi, Anders, knew how to gain the hearts of Delphi programmers. I could see many of such changes were designed toward Delphi programmers.<br /><br />Delphi may be dying, however, the spirit of Delphi lives through VS C#. Thanks, Anders.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-72705903050954934212008-06-15T20:08:00.000-07:002008-06-23T19:02:50.882-07:00Birthday Reminder ProgramsYou may have a handful of buddies for whom birthdays you would celebrate yearly through sending gifts or greetings. If you use computer often, you would immediately want to get assistant from computer programs. So, there are actually quite a load of such programs around, free or commercial, they could be found easily through searching "Birthday Reminder" in Google search.<br /><br />They fall into two categories:<br />1. Web service.<br />2. Desktop program running on PC, Mac, PDA or mobile phone.<br /><br />Here's a list of popular programs of birthday reminder:<br /> <ul><li>www.birthdayalarm.com</li><li>www.happybirthday.com</li><li>www.birthdaytime.com<br /></li><li>Mozilla Sunbird</li><li>MS Outlook</li><li>iCal</li><li><a href="http://www.scheduleworld.com/tg/cal/day.jsp">Google Calendar</a></li><li><a href="http://www.scheduleworld.com/tg/cal/day.jsp">ScheduleWorld.com</a></li><li><a href="http://calendar.live.com/">Windows Live Calendar</a></li><li><a href="https://addons.mozilla.org/en-US/thunderbird/addon/3680">Birthday Reminder::Thunderbird Addon</a></li><li><a href="http://www.zhornsoftware.co.uk/bday/index.html">Birthday Reminder from Zhorn Software</a></li><li><a href="http://cweiske.de/birthday3.htm">Birthday Reminder</a> from Christian Weiske</li><li><a href="http://widgets.yahoo.com/widgets/birthday-reminder-1">Birthday Reminder::Yahoo Widget</a></li><li><a href="http://apps.facebook.com/birthday_calendar/calendar.php">Birthday Calendar::Facebook App</a><br /></li><li>...<br /></li></ul><br />There are so many of them, you would ask which one to choose.<br /><br />First, you are going to ask yourself what you want and need.<br /><ul><li>Do you use computer programs only for reminding you about your buddies' birthdays, not anything else such as appointments?</li><li>Are you often online?</li><li> Do you have a cell phone?</li><li>Do you want to be reminded through popup, Emal or SMS?</li><li>Do you mind paying a small fee?</li><li>Do you use computer to store contact information?<br /></li></ul> Actually, any calendar program can take care of the job of birthday reminding. A birthday reminder can be simply a whole day event plus an alarm in advance. However, if you don't use any calendar program to remind you about appointments and meetings etc., and just want to be reminded about birthday, a dedicated birthday reminder program might be more appealing to you.<br /><br />If you are often online, obviously an online service can be helpful in timely manner. In addition to alarms of popup, Email or SMS, some online services can even do gift sending for you. However, there might be some catches which I will discuss later.<br /><br />If you have a cell phone, SMS is very handy to notify you. Such service generally can only be provided by an online service, such as Google Calendar and BirthdayAlarm.com.<br /><br />If you have already used computer (PC, PDA or online address book) to store contact info, it will be good that the birthday reminder program may get the birthday info from the address book program to save you from redundant keyboarding.<br /><br />Have you make up your mind for which ones to choose?<br /><br />...?<br /><br /><br /><br /><br />If not, I would pick up a few apparently popular ones to evaluate (excluding those on PDA and mobile phones).<br /><br /><span style="font-weight: bold;">MS Outlook</span><br />Pros:<br /><ul><li>Popular in Windows, de facto standard of personal information manager, available in most cooperate Windows PCs and at home. </li><li>The calendar function is very good.</li><li>Great sync features with PDA and cell phones.</li><li>There might be add-on programs that can generate birthday events from Contacts. I haven't found out.<br /></li></ul>Cons<br /><ul><li>Searching calendar is poor.</li></ul><span style="font-weight: bold;">Mozilla Sunbird</span><br /><br />Pros:<br /><ul><li>Fast</li><li>The UI is elegant, though less luxury than MS Outlook's UI.</li><li>Available in Windows, Linux and Mac etc.</li><li>Portable through portable drives such as USB flash disk, with Portable Sunbird.<br /></li><li>Searching calendar is excellent.</li></ul><br />Cons:<br /><ul><li>If you consider close integration between address book and calendar is critical, Sunbird won't be a candidate.</li></ul><span style="font-weight: bold;">BirthdayAlarm.com</span><br />This long standing online service is popular in North America.<br /><br />Pros:<br /><ul><li>Alarm through Email and SMS. (SMS is a paid service with an annual fee)</li><li>Gift sending.</li></ul><br />Cons:<br /><ul><li>Need to spam to buddies for inputting birthday info for you, and implicit invitation for joining the BirthdayAlarm.com.</li><li>Does not support iCalendar import which should be the basic feature of any calendar program.</li><li>If your friend was born on 1984-02-29, BirthdayAlarm considers the birthday is on the 1st of March in a normal year. If you consider 28th is a more reasonable day to celebrate, you get a catch.</li></ul><span style="font-weight: bold;">Birthday Calendar::Facebook App</span><br />It was claimed there was 2 millions subscribers within the first month.<br /><br />Pros:<br /><ul><li>Close integration with Facebook, thus birthday info of your Facebook buddies will be available for reminding you.</li><li>Gift sending</li></ul><br />Cons:<br /><ul><li>If your social circle is not limited to Facebook community, this Facebook app is not so appealing.</li><li>Though the app may import CSV from MS Outlook contacts, but if the day format is not US date format, the program will fail to recognize the date info of the birthday field. And because the CSV has to be in DOS CSV format, non-English characters will be screwed up. You don't want your Spanish friends to get greetings from you with wrong spelling of their names.</li></ul><br /><span style="font-weight: bold;">Google Calendar</span><br /><br />Pros:<br /><ul><li>Elegant UI and fast, among the best online calendar programs.</li><li>Alarm through popup, Email and SMS. Best of all, the SMS notification service is basically FREE, as long as Google provides such service in your country.</li></ul><br />Cons:<br /><ul><li>The searching calendar function is not so stable, sometimes it endless keeps retrieving info from the web. I am not sure whether this is a temp bug, or long standing problem.</li></ul><br /><br /><br /><span style="font-weight: bold;">The winners are:</span><br /><br /><ul><li><span style="font-size:130%;">Mozilla Sunbird</span></li><li><span style="font-size:130%;">MS Outlook</span></li><li><span style="font-size:130%;">Google Calendar</span></li></ul><br /><span style="font-weight: bold;">Companion Tools </span>:<br /><br /><a href="http://gcaldaemon.sourceforge.net/index.html">GCALDaemon</a> offers two-way synchronization between Google Calendar and various iCalendar compatible calendar applications. GCALDaemon is primarily designed as a calendar synchronizer but it can also be used as a Gmail notifier, Address Book importer, Gmail terminal and RSS feed converter.<br /><br /><a href="https://addons.mozilla.org/en-US/thunderbird/addon/4631">Sunbird Addon for Google Calendar </a><br /><a href="http://www.google.com/support/calendar/bin/answer.py?answer=89955"><br />Google Calendar Sync for MS Outlook</a>Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-4904853863069365362008-05-25T21:21:00.000-07:002008-05-25T22:58:23.501-07:00There's no reliable centralized storage for your contact infoIf you only use contact info in MS Outlook, mobile phone and MSN, then congratulation, you don't have much troubles of accessing all info related to your contacts.<br /><br />For many people, the info related to their contacts spread through everywhere:<br /><ul><li>Business contacts in company's Exchange server</li><li>business Emails, calendar and tasks in company's Exchange server</li><li>Personal contacts in Mozilla Thunderbird</li><li>Personal emails in Thunderbird</li><li>Personal contacts in Thunderbird</li><li>Business contacts and personal contacts in PDA/smart phone.</li><li>Instant messenger conversations through MSN, Yahoo Messenger, Gtalk and ICQ etc.</li><li>Online social networking like Facebook, MySpace and Twitter etc.</li><li>Blogs</li><li>...<br /></li></ul><br />There exist solutions to aggregate these info and use the info. Typical solutions:<br /><ul><li>GrandCentral</li><li><a href="http://en.wikipedia.org/wiki/Social_network_aggregation">Social Network Aggregation</a> like FriendFeed</li></ul><br />I am not sure whether there is an aggregation service that aggregate my Email conversations in company's Exchange, my personal pop3 Email account and my Gmail. I would wish similar service occurred in MSN, ICQ and GTalk etc., since I keep multiple online identities for different online social circles, as many of you would. And I sometime just want to have a centralized place to review all conversations in different online social circles.<br /><br />In addition, we haven't yet dump fax machines. It would be good all fax contents can be stored and indexed in computer.<br /><br />There are mature solutions for business world, however, what about solutions taking both private world and business world?<br /><br />Is it technically hard to aggregate all information related to your contacts? I think you would have no doubt that FBI or CIA can establish the whole aggregation of all your communication activities, if you are lucky enough in their watch list. Unfortunately they don't have enough man power and computing power to do the service for everyone, and they won't let the owner of the communication activities to review the aggregation.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-45579932877524585702008-05-06T20:50:00.000-07:002008-05-06T21:40:57.045-07:00Synchronize Open Contacts with Mobile DevicesFunambol is a web-base synchronization solution for PIM information including contacts, calendar, tasks and Emails etc. The beauty of Funambol is, you may use either an established Funambol Web service, and a locally installed Funambol server if you don't want to publish contact info of your buddies to the Web.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fonlow.com/opencontacts/SyncMLClient/images/BigPicture.gif"><img style="cursor: pointer; width: 400px;" src="http://www.fonlow.com/opencontacts/SyncMLClient/images/BigPicture.gif" alt="" border="0" /></a><br /><br />There were 2 public Funambol Web services used for testing SyncML Client for Open Contacts, one is <a href="http://www.scheduleworld.com">Schedule World</a>, and the other is <a href="http://my.funambol.com">My Funambol</a>.<br /><br />While the user interfaces of My Funambol was designed for mobile devices, the web service can interact well with programs running on PC conforming SyncML, such as Funambol Outlook Plug-in, and <a href="http://www.fonlow.com/opencontacts/SyncMLClient/">SyncML Client for Open Contacts</a>.<br /><br />After you install <a href="http://www.fonlow.com/opencontacts">Open Contacts</a> and the SyncML Client, you may change the preferences of the SyncML Client as following:<br /><br />Server URL : http://my.funambol.com/sync<br />User: Your login name in My Funambol<br />Password: Respective password<br /><br />Please test these Web services yourself to determine which one to use.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-29552043580603692042008-04-21T17:47:00.000-07:002008-04-21T17:56:41.359-07:00First Hand Experience with Free Encyclopedia BritannicaReferencing to Wikipedia in blogs is popular. <a href="http://en.wikipedia.org/wiki/Encyclop%C3%A6dia_Britannica">Britannica</a> is trying to make a offer to blogger. There are mix of critics and praises around. Let me have a look how such free offer will go. If you click on this reference to <a href="http://www.britannica.com/EBchecked/topic/186618/Encyclopaedia-Britannica">Encyclopædia Britannica</a> at Britannica Online, hopefully you will see the details without blocking. Please bear in mind, as the site is implemented using Flash, it performs slower than Wikipedia.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-73012604558308607302008-04-20T23:04:00.001-07:002008-04-20T23:06:20.231-07:00Bowing to CCP won't necessarily benefit youThough Google argued that it has tried to make more info available to people living in strict censorship countries like PR China, however, such stand actually and effectively helping the communism party to do propaganda (as seen in Different ways of bowing to CCP <a href="http://webandlife.blogspot.com/2008/03/different-ways-of-bowing-to-ccp.html">webandlife.blogspot.com/2008/0 ...</a>), and does not help its own competition against Baidu.com. Because Baidu has aggressive pro-active censorship officially approved by the communism party, it can search and present more info than Google can within the territory of PRC, even though Google has much better algorithms and machine farms.<br /><br />With currently stand and mindset, Google simply can not win Baidu even for cases of searching technology terms in Chinese.<br /><br />Google need people who understand the psychology of Chinese Communism Party to make marketing strategy and fine tune the technologies to adapt the hostile environment in PRC.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-71533735086400839442008-04-20T22:53:00.000-07:002008-04-20T23:00:38.324-07:00What is Search Engine Market Shares?I read a post about <a href="http://blogoscoped.com/archive/2008-04-14.html#n18">Search Engine Market Shares in Russia</a>.<br /><br /><span style="font-style: italic;">ComScore </span><a style="font-style: italic;" href="http://www.comscore.com/method/method.asp">recruits</a><span style="font-style: italic;"> participants for their stats by a package including security software and sweepstakes prizes, an offer which e.g. may or may not be as attractive to tech geeks.</span><br /><br />I am not a Russian. However, I think the ComScore's methodology for gathering the statistics was expensive and not conventional.<br /><br />ComScore claimed "comScore determines the size and characteristics of the total online population via a continuous survey spanning tens of thousands of persons selected randomly during the course of a year. Respondents are asked a variety of questions about their Internet use, as well as descriptive information about themselves and their households."<br /><br />Who got recruited? Government officers? business people? White collars?<br />There are so many groups of people would simply ignore such recruitment.<br /><br />ComScore's methodology may be good enough for traditional marketing research for traditional products, however, for researching search market shares, the single most important factor is how many queries to each search engine, and there is a conventional way to gather the data: Almost all search queries go through ISP, the researcher may just pay a few ISPs to aggregate the search queries and get the distributions.<br /><br />If ComScore did not do so, I would say the data presented by it is quite misleading.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-3355221341999406222008-04-06T21:39:00.000-07:002008-04-06T21:41:25.091-07:00China is testing limited access to WikipediaPeople have been talking about "China Allows Access to English Wikipedia" at http://yro.slashdot.org/article.pl?sid=08/04/06/1643223<br /><br />The communism party has been testing the partial lifting, mostly open to western visitors during the Olympic Game. Because the People Republic of China did promise the openness of the internet access to the western media, PRC will try best doing so for western media only, and this does not mean fully lifting the block to Wikipedia and alike.<br /><br />A possible implementation may will be like this:<br />* The media center of the Game will has full access to the internet.<br />* Other internet access points given to the western media like those in hotels may have 100% to 90%<br />* Other access points in Beijing will have many blocked popular site open for the period of the Game.<br />* In most parts of China, the censorship and the internet terror activities by the communism party may remain almost the same.<br /><br />So, PRC can keep the promise for the period, while keeping the censorship to most Chinese in the mainland China.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-69457058726302061472008-03-25T21:32:00.000-07:002008-03-25T21:35:06.930-07:00Rewrite or Refactor<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;">In a litter I wrote to a workmate about the future development plan for a legacy product, I present some viewpoints as following.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> ==================</o:p></span></p><p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p>Hi John<br /></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;">Among recent discussions about the direction of WinVictory, having things redesigned and rewritten was never discussed. I know redeveloping anything is risky, or at least sound risky to management and accounting. <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> </o:p>There are some industry statistics about redeveloping legacy applications, though I don't quite remember the source. It is not uncommon. A fresh example I just got is about Google Earth formerly known Keyhole. According to the Avibar, the co-founder of Keyhole, the code base has been rewritten several times. <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;">http://www.realityprime.com/articles/how-google-earth-really-works<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;">I don't believe the programmers in Keyhole or Google have bad habit of software engineering, I tend to think they had to rewrite codes because the requirements got changed dramatically. The founders might not ever dream that the program can reach such large audiences of different levels of users. Fast expansion of broadband, evolution of graphic cards, porting things to Linux and different business models might not be in the early stages of requirement analysis and planning, and refactoring legacy codes may not necessarily always be able to adapt new requirements and take advantages of new conditions. Well written codes do not necessarily have unlimited maintainability, flexibility and extensibility. They don't need to be ashamed of, as no one in Keyhole could predict such changes. This is my interpretation for why they rewrote the code base.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> </o:p>Quoted from the book Code Complete (Chapter 3, Measure Twice, Cut Once: Upstream Prerequisites). As with building construction, much of the success of failure of the project has already been determined before construction begins. If the foundation hasn't been laid well or the planning is inadequate, the best you can do during construction is to keep damage to a minimum.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> </o:p>Sometimes I had to admire previous programmers having tons of memory to remember things and capacity to handle such complicated codes.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> </o:p>Now the construction of WinVictory has long been "finished", and what's the best we can do for maintenance? Or upgrading? Or migrating?<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> </o:p>No matter which direction to go for WinVictory, using Win32 or dot Net assembly, the job is still maintenance, more exactly hacking codes which is what we have been doing in the last few years. I really have low expectation on any technical attempts of moving forward or backward. <o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> </o:p>Rewriting (read legacy codes and user manuals to guess requirement) to get "WinVictory Vista" is risky regarding to costs but predictable, and migrating codes forward or backward sound not so risky to costs, but may likely be unpredictable. Almost all industry statistics showed maintenance is much more expensive in average than building.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;; color: black;"><o:p> </o:p>After all, it is about vision and direction which are not clear.</span><span style="font-size: 10pt; font-family: &quot;Helv&quot;,&quot;sans-serif&quot;; color: black;"><o:p></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 10pt; font-family: &quot;Helv&quot;,&quot;sans-serif&quot;; color: black;"><o:p> <br /></o:p></span></p> <p class="MsoNormal" style="margin-bottom: 6pt; line-height: normal;"><span style="font-size: 10pt; font-family: &quot;Helv&quot;,&quot;sans-serif&quot;; color: black;">Regards<o:p></o:p></span></p> AndyAndy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-90701806545397804952008-03-16T20:49:00.000-07:002008-03-16T20:59:00.187-07:00Not to see any depiction of Prophet Muhamad in 2-way street<p style="font-style: italic;">According to the <a href="http://www.iht.com/articles/2008/02/05/technology/wiki.php">International Herald Tribune</a>, the depiction of Prophet Muhammad in <a href="http://en.wikipedia.org/wiki/Muhammad">Wikipedia’s article on the subject</a> has triggered an online petition. The goal of the petition, which according to IHT collected more than 80,000 “signatures” (including many anonymous ones), is to remove the image of Muhammad citing a “prohibition in Islam on images of people.” IHT quotes from an FAQ explaining Wikipedia’s “polite but firm” refusal to remove the image:</p> <p style="font-style: italic;"><q>Since Wikipedia is an encyclopedia with the goal of representing all topics from a neutral point of view, Wikipedia is not censored for the benefit of any particular group.</q></p> <p style="font-style: italic;">Currently, the Wikipedia page in question is protected from editing, meaning, according to Wikipedia, “editing on the page has been restricted to either registered users or administrators.” (from <a href="http://blogoscoped.com/archive/2008-02-07-n47.html">Blogoscoped.com</a>)<br /></p>If I want to make a conclusion, I would like to make something similar to what Mr Tue Abrahamsen did:<br />=================<br />"your liberty ends at the point the liberty of others start." (raised by Bilal who insisting on removing the images, though he was not the one who first made that statement)<br /><br />Your liberty on not wanting the prophet drawn, ends where my liberty of expression starts.<br /><br />This is a two-way street; it is important for both sides to accept that they may have to make compromises.<br />================<br />I can't agree more.<br /><br />Anyway, I would like to provide an evidence of existing practice. In Australia, the aboriginal people have religion faith not to draw or view the images of deceased persons (dead ancestors). So the television will often warn "Aboriginal viewers attention, the follow program contains the images of deceased persons, blahbla...". I guess the aboriginal viewers will just turn the eyes away. As aboriginal people is an important part of Australian population. I think this a great compromise.<br /><br />However, it is obviously not reasonable to require television in UK to do the same thing because there might be aboriginal people visiting or living there. No compromised solution can possibly satisfy everybody.<br /><br />Backing to the subject about images of Muhammad, as Muslim people are important parts of many modern societies, I think they may deserve such compromised solution: On the top of a wiki page which contain images of Muhammad, there is a warning, the following contents contain blahblabla ... please press this button...".<br /><br />Many people, including myself, consider this is also a kind of censorship, since the admin editors of Wikipedia will have to censor the contents first for any page that contain the images of Muhammad. This involves moving the line of editing to introduce more censorship, such moving is always difficult. Maybe one day, the editors may loose the line a little bit to make such compromised solution to adapt viewers from the fast growing Muslim population.<p><br /></p><p><br /></p>Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-84441505624852428932008-03-16T19:23:00.000-07:002008-03-16T19:27:36.881-07:00Different ways of bowing to CCP<p class="MsoNormal"><span style="" lang="EN-AU">May be this is not news, however, it might explain why Google and Yahoo were forced to bow to Chinese Communism Party (CCP) which rules the mainland China known as People Republic of China (PRC).<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-AU">I searched in the following search sites hosted in the mainland China:<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-AU"><a href="http://www.sohu.com.cn/">www.sohu.com.cn</a><o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-AU"><a href="http://www.yahoo.com.cn/">www.yahoo.com.cn</a><o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-AU"><a href="http://www.google.com.cn/">www.google.com.cn</a><o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-AU">with the keyword “</span><span style="font-family: SimSun;" lang="ZH-CN">亚洲周</span><span style="font-family: SimSun;" lang="ZH-CN">刊</span><span style="font-family: SimSun;" lang="EN-AU">”(the name of a weekly magazine from MingPao, at yzzk.com), the sohu and yahoo returned error page right away, indicating that the Web servers rejected the request. And you can not use the search engine anymore with any keyword, apparently your web connection is blocked by the search engines of yahoo and sohu.<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">Google.cn did return results, indicating many web pages hosted in PRC do contain the forbidden keyword. <o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">Obviously Sohu owned by PRC residents and Yahoo owned by US citizens rejected serving those forbidden keywords appointed by CCP. However, Yahoo has clearly insulted those Chinese people living outside PRC, who need to search Chinese keywords in Yahoo with Simplified Chinese.<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">Though Google also bows to CCP, however, the service did not look so stupid and rude by simply rejecting the search query. Google.cn shows filtered results. <o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">Please note, that a web page contains forbidden keywords, does not mean its content should be forbidden by CCP. For example, an article contains keyword “Fa Lunn Gong” actually criticizes Fa Lunn Gong, such article will be loved by CCP, however, if the article is not hosted in an website with official censorship in place, the article may be reached by People living in PRC, but not by queries outside PRC. <o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">It is known that all web queries to PRC websites will be routed to a central hub, and all contents out will be scanned by the info greatwall. Further studies revealed that, those web sites (like Sina.com, XinHuaNewsNet.com, China.com, Sohu.com) with formal censorship can be retrieved even if the web pages contain forbidden keywords, and those web pages hosted by small web sites will be blocked. <o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">That means, a web spider hosted outside PRC can not crawl through web pages hosted in the main China if the web pages contains forbidden passwords and the web site is not officially approved by CCP with proper censorship in place.<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">When you use Google.com to search forbidden keywords, while the query returns more results including many outside PRC, however, those web pages hosted by smaller web sites in PRC will not be included, as Google.com hosted outside PRC can not crawl the content. Though in theory that Google.cn can feed the results to Google.com through private channels, however, people outside PRC still can not access those contents because of the info great wall.<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">With tens of thousands of forbidden keywords appointed by CCP, large amount of web contents can not be indexed by search engine outsides the mainland China. So, Google had to place machines inside the boarder of PRC, and bow to CCP.<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU">Through this way, those websites with formal censorship in place will be exposed more by search engines. And CCP wills will get better propaganda.<o:p></o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU"><o:p> </o:p></span></p> <p class="MsoNormal"><span style="font-family: SimSun;" lang="EN-AU"><o:p><br /></o:p></span></p>Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-56384356907083949532008-03-09T20:57:00.001-07:002008-03-09T21:16:43.480-07:00Please write down your PINThe following is a screen shot from an information system.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0Ec3HWOLHjk/R9Sx98OctrI/AAAAAAAAAD8/sPlnvwY4bBk/s1600-h/pin.jpg"><img style="cursor: pointer;" src="http://bp1.blogger.com/_0Ec3HWOLHjk/R9Sx98OctrI/AAAAAAAAAD8/sPlnvwY4bBk/s320/pin.jpg" alt="" id="BLOGGER_PHOTO_ID_5175957549452408498" border="0" /></a><br /><br /><br />If this is an ATM application or phone business application, it is fine to have digit only password scheme like PIN, because of the restraints of the keypads. However, why not allow starting with zero?<br /><br />0123456 as integer is the same value as 123456. I would suspect the programmer stored the password as integer, as the programmer asked not to have PIN started with zero.<br /><br />The authentication of this info system may violate two security principle:<br />1. Don't store password in the authentication server. Store hash instead.<br />2. Ask customer NOT to write down PIN.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-37067641325050304542008-02-27T21:20:00.000-08:002008-02-27T21:34:48.558-08:00Good Old Days of OSsI happened to visit a web site with screen shots of almost every operating systems in the market in last 2 decades.<br /><br /><a href="http://www.guidebookgallery.org/screenshots">Graphical User Interface Gallery</a><br /><br />This really brought my memory back to the good old days when the markets of PC and software quickly expanded. I got so excited for every pieces of high tech computing gadgets I could ever see.<br /><br />Who care these artifacts of old high tech? Especially when we are using more and more cross-OS web applications?<br /><br />If you are old enough to have experiences of touching Apple II, you might be interested in going back for a while.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-45919537874314686332008-02-26T17:41:00.000-08:002008-03-07T13:17:42.257-08:00Evolution of address book programsMost business information management systems has address book functions and this article discussed only address book programs used by individuals or small businesses.<br /><br />Before computer was invented, people used paper address book to record contact info.<br /><br />It is natural to store contact info in electronically, as you can easily edit, print and copy.<br /><br />What is the simplest address book program?<br /><br />Obviously, it was a text file plug any text editor. You key in something like<br /><span style="color: rgb(0, 0, 153);font-size:85%;" >Andy Smith<br />Tel: 32434233<br />Fax: 23434339<br />Email: andys@somewhere.com<br /><br />Betta Long<br />Tel: 32432432423</span><br /><br />I remember in the old days, back to around 30 years ago, people did maintain a text document with contact info of classmate, and print paper address books for every classmates departing.<br /><br />I would call this <span style="font-weight: bold;">Level 1 address book</span>.<br /><br />Pros:<br /><ol><li>Simple. Require very little computer skill.</li><li>Cross platform. Most computer systems handle text file.</li><li>Can use the built-in search features of text editors.</li></ol>Cons:<br /><ol><li>No sorting.</li><li>Require repeating typing labels.</li><li>No interaction with other applications, so I have to do copy/paste all the time.<br /></li></ol>Regarding to con 2, I can actually copy and paste a set of labels. For example, I can also have a few lines of labels at the end of the text file.<br /><span style="color: rgb(0, 0, 153);font-size:85%;" >Tel:<br />Fax:<br />Email:<br />Address:<br />Birthday:<br />Hobby:<br />Notes:</span><br /><br />Every time I add a new contact to the text file, after typing the contact name, I would copy and paste these lines, and fill in content beside each label.<br /><br />When electronic spreadsheet like Lotus123 was invented, it is natural to store contact info in a spreadsheet, utilizing the built-in features of sorting, input constraints and formatting etc.<br /><br />I would call such twisted spreadsheet <span style="font-weight: bold;">Level 2 address book</span>.<br /><br />Pros:<br /><ol><li>Simple. Require basic skills of using a spreadsheet program.</li><li>Compact. Contact info is well presented in a row and column table format.</li><li>Sorting is built in.</li><li>Input constraints to reduce human error.</li><li>Print in different formats.</li><li>Mail merge.<br /></li></ol>Cons:<br /><ol><li>Need a lot copy/paste operations to use contact info with other applications.</li></ol>Both level 1 address books and level 2 address books are simply twisting existing general purpose applications like text editors and spreadsheet programs. They are both simple and easy to use, good enough for small amount of contact info, say, a few dozens contacts. Everybody with basic computing skills can create such address books.<br /><br />If you have hundreds or thousands of contacts, you need better category system, navigation and search etc. This was why dedicated address book programs/functions were developed since early day of PC.<br /><br />Developing an address book program was probably one of the easy assignments any uni students might have ever done. And there are quite a few popular ones in use.<br /><ul><li>Mac Address Book</li><li>Windows Address Book</li><li>Contacts of MS Outlook</li></ul><br />A typical address book program like MS Outlook contains the following UI components:<br /><ul><li>Detail view and edit window</li><li>Contact list</li><li>Category and group system.</li><li>Search</li></ul>More or less, an address book enable the users to use a piece of contact info to create Email item, dial or browse a web link etc.<br /><br />After years of evolution, MS Outlook had become de facto standard of designing address book programs or PIM programs. I would call these <span style="font-weight: bold;">Level 3 address book</span>.<br /><br />Pros:<br /><ul><li>Support quick and unified inputs.</li><li>Easy to navigate and search</li><li>Well interact with other applications like Email, telephony and web browser etc.</li></ul><br />Cons:<br /><ul><li>When supported data fields grow, the user interfaces will become crowded.</li></ul><br /><br />When web mail like Hotmail appeared around 10 years ago, web base address book was becoming popular, but playing insignificant component of Web mail programs, until social web applications like MySpace appeared. In social web applications, web functions are very much surrounding contact information.<br /><br />I would call web base address book as <span style="font-weight: bold;">Level 4 address book.</span><br /><span style="font-weight: bold;"><br /></span>Pros:<br /><ul><li>Accessible through any computer with Web connection.</li><li>Well interact with other web applications like Web mail and social web applications.</li></ul><br />Cons:<br /><ul><li>Accessible with internet connection only. But nowadays most westerners with PC have internet connection most of the time.</li><li>Privacy issues may be a concern.</li></ul><br />Simply replicating contact info in electronic media through local PC applications or the Web is not good enough, the most important thing is how to improve contact management.<br /><br />An address book in a Email program natively becomes part of the contact management through Email. Instant messengers, Skype, Web mail and CRM etc., all have an address book. Synchronizing contact info between these applications has become a way to go.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-13140422540850307972008-02-26T15:13:00.001-08:002008-02-26T15:24:36.954-08:00Inmates Are Running the AsylumI just started reading this book again: The Inmates Are Running the Asylum, Why High-Tech Products Drive Us Crazy and How to Restore the Sanity, by Alan Cooper.<br /><br /><h3 style="font-style: italic;" class="docSection1Title"><span style="font-size:78%;">What Do You Get When You Cross a Computer with a Bank?</span></h3> <p style="font-style: italic;" class="docText">A computer! Whenever I withdraw cash from an automatic teller machine (ATM), I encounter the same sullen and difficult behavior so universal with computers. If I make the slightest mistake, it rejects the entire transaction and kicks me out of the process. I have to pull my card out, reinsert it, reenter my PIN code, and then reassert my request. Typically, it wasn't my mistake, either, but the ATM computer finesses me into a misstep. It always asks me whether I want to withdraw money from my checking, savings, or money-market account, even though I have only a checking account. Subsequently, I always forget which type it is, and the question confuses me. About once a month I inadvertently select "savings," and the infernal machine summarily boots me out of the entire transaction to start over from the beginning. To reject "savings," the machine has to know that I don't have a savings account, yet it still offers it to me as a choice. The only difference between me selecting "savings" and the pilot of Flight 965 selecting "ROMEO" is the magnitude of the penalty.<a name="idd1e2023"></a><a name="idd1e2028"></a><a name="idd1e2033"></a><a name="idd1e2040"></a><a name="idd1e2047"></a></p> <p style="font-style: italic;" class="docText">The ATM also restricts me to a $200 "daily withdrawal limit." If I go through all of the steps—identifying myself, choosing the account, selecting the amount—and then ask for $220, the computer unceremoniously rejects the entire transaction, informing me rudely that I have exceeded my daily withdrawal limit. It doesn't tell me what that amount is, inform me how much money is in my account, or give me the opportunity to key in a new, lower amount. Instead, it spits out my card and leaves me to try the whole process again from scratch, no wiser than I was a moment ago, as the line of people growing behind me shifts, shuffles, and sighs. The ATM is correct and factual, but it is no help whatsoever.</p> <p class="docText"><span style="font-style: italic;">The ATM has rules that must be followed, and I am quite willing to follow them, but it is unreasonably computer-like to fail to inform me of them, give me contradictory indications, and then summarily punish me for innocently transgressing them. This behavior—so typical of computers—is not intrinsic to them. Actually, nothing is intrinsic to computers: They merely act on behalf of their software, the program. And programs are as malleable as human speech. A person can speak rudely or politely, helpfully or sullenly. It is as simple for a computer to behave with respect and courtesy as it is for a human to speak that way. All it takes is for someone to describe how. Unfortunately, programmers aren't very good at teaching that to computers.</span><a name="idd1e2067"></a><a name="idd1e2072"></a><a name="idd1e2077"></a><a name="idd1e2084"></a><a name="idd1e2091"></a></p>I got the same things in Australia.<br /><br />I did programming on credit readers and smart card readers 10 years ago for banking applications. I know that security and reliability are the top issue. However, with such poor usability for general public, the ATM machine may still be reliable from the point of view of the banks, but the customers of the banks would definitely think the ATM machine is not reliable as it is not helpful.<br /><br />Is it so hard to improve usability while keeping security? Not at all. Unfortunately, this is all about the attitude of the banks. Hopefully, the wind of Web2.0 will blow to the banks one day.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-43872549161253694282008-02-11T20:38:00.001-08:002008-02-11T20:42:55.126-08:00Test Page of XFNI have some blog conversations with these guys. XFN with the blogs of these guys is embedded here.<br /><br /><a href="http://googlesystem.googlepages.com/" rel="contact ">Ionut Alex Chitu</a><p><a href="http://blogoscoped.com/" rel="contact ">Philipp Lenssen</a></p><p><a href="http://tim.oreilly.com/" rel="contact ">Tim Oreilly</a><br /></p><p>The XFN tags were created by <a href="http://www.fonlow.com/opencontacts/Developer/publish_selected_contacts_to_xfn.htm">XFN Creator for Open Contacts</a>. I will see how well the Google Social Graph API is working.<br /></p>Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-48004488287724489532008-02-11T16:28:00.000-08:002008-07-17T21:08:33.729-07:00hCard, XFN and Social GraphhCard and XFN have been around for a few years, and seemed remaining as research/Alpha projects by some internet geeks, until Yahoo's flickr, Google and Mozilla started using these protocols.<br /><br /><a href="http://gmpg.org/xfn/">XFN</a><br /><a href="http://www.foaf-project.org/">FOAF</a><br /><a href="http://code.google.com/apis/socialgraph/docs/">Google Social Graph API</a><br /><a href="http://microformats.org/wiki/hcard">hCard</a><br /><br />The API is still too primitive, and the popularity of XFN/FOAF is still not sufficient enough to be useful, even though just within the bloggers community. Even many net geeks can not make bold statement about the usefulness and the future of XFN/FOAF. I haven't seen any clue that what will make XFN/FOAF become popular and useful.<br /><br />Nevertheless, I would still like to add a few stones and assist people to find a way to successful use cases of XFN/FOAF. I have added supports to hCard and XFN in <a href="http://www.fonlow.com/opencontacts">Open Contacts</a>, and users can easily then publish selected contacts in the form of hCard or XFN.<br /><br />Generally, you would publish your own contact info as hCard, unless you are a company and want to publish contact info of staffs. You may actually store your own contact info in your address book, for the convenience of making vCard or hCard in order to give your updated contact info away.<br /><br />In an address book program, some categories may represent the relationships between you and the contacts of those categories. To find out more at<br /><h3 class="post-title entry-title"><a href="http://webandlife.blogspot.com/2008/07/missing-link-in-making-social-graph.html">Missing link in making Social Graph popular</a></h3>Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-70336323681898835472008-02-06T20:12:00.000-08:002008-02-06T20:57:41.005-08:00Pleo and emperorSince the official web site of Pleo did not give description of Pleo, I visited Wikipedia for fast info. Despite of the design of the official web page, the overall business idea of Pleo is quite smart.<br /><br />Sony AIBO pets have been there for almost 10 years, and QRIO have been emerging. Both are really high tech with the best commercial AI in-plant, and the best machinery. However, we have seen real dogs, and know how dogs act and react, thus our knowledges about dogs and expectations tell a long distance to something closer to a real pet.<br /><br />However, nobody has ever seen a real dinosaur. At most our impression about actions of dinosaurs are mostly from movies "Jurassic Park" series or other popular cultures. After all, we have no idea how a baby dinosaur in particular with an exotic genus name Camarasaurus will act and react. So, the performance of such electronic baby dinosaur will always look real as we don't really know what is real, so the electronic bot can be closer to a real dinosaur pet, and become more attractive.<br /><br />In addition, the costs of producing a baby dinosaur is certainly lower than the costs of producing an electronic dog like AIBO , as the design of AIBO required fine-tuning parameters to simulate a real dog. Similarly, QRIO will still be looking dummy.<br /><br />Anyway, why does an emperor has anything to do with pleo? A famous Chinese actor Mr Zhang Guoli who specialized in performing Chinese emperors had ever said, it was easy, comfortable and enjoyable to perform emperors, as nobody has ever seen a Chinese emperor in throne, so he could play whatever he want to perform in order to entertain audiences. Mr Zhang became a fast rising star in early years by performing emperors to Chinese audiences who love watching TV series with a smart and great emperor as a main character.<br /><br />So, selling Pleo and performing emperors are in the same business model.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-63600552971096495172008-02-06T19:48:00.000-08:002008-02-06T20:12:45.338-08:00What is Pleo?My work mate Leon sent me a web link to check out. http://www.pleoworld.com/<br />After visiting the web site, I quickly replied:<br />========<br />I hate the design of this Web very much. What is pleo?<br /><br />Why should I play flash or quicktime to see further info. Am I ape? or the web designer expected the visitors are all ape geeks of Youtube cult? (I do visit Youtube, but not one of the cult members who don't read.)<br />========<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_0Ec3HWOLHjk/R6qDvUC1yDI/AAAAAAAAADc/CEAvY1MOWRc/s1600-h/pleo.jpg"><img style="cursor: pointer;" src="http://bp2.blogger.com/_0Ec3HWOLHjk/R6qDvUC1yDI/AAAAAAAAADc/CEAvY1MOWRc/s320/pleo.jpg" alt="" id="BLOGGER_PHOTO_ID_5164084771591407666" border="0" /></a><br /><br />Is it too old fashion to have a simple text description on the front page? Flash on the front page is for tech fashion or for better usability? Almost all of us can read.<br /><br />Some might argue that the web page title does include a short description "PleoWorld - The Home of Pleo, the Robotic Baby Dinosaur from UGOBE Life Forms". But the description is far away from the web page, with main menu bar, navigation bar, bookmark bar and Google tool bar in between.<br /><br />Despite of Pleo's business idea, its official page can be a typical case of usability design.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-89995922643916472952008-01-29T21:52:00.000-08:002008-01-29T22:34:00.913-08:00Turn off that hand held camera and give me a movieLast night I went watching a disaster movie called Cloverfield. The story was told from the viewpoint of a hand held camera. I was only aware of one of movie reviews after watching the movie.<br /><br /><span style="font-style: italic;">A deft online marketing campaign finally pays off with the release of "Cloverfield", a thrilling monster romp that'll leave adrenaline surging in your veins long after the credits roll. (http://www.ourbrisbane.com/whatson/movies/titles/cloverfield)<br /></span><br />I almost fell into sleep in the first 5 minutes when the hand-held camera was capturing people dong all sorts of party things. I wished the camera stopped, and real movie story line could begin. Then the disaster struck. The camera kept shaking left and right, up and down. My girl friend felt badly and had to bury the head aside, and I gradually felt uncomfortable, though I am not too bad at playing first-person-shooting games with puzzles rotating. I just wanted to shout out at that moment: Turn of that dam hand held camera, and give me a movie.<br /><br />I guess the director got inspired by the popularity of online video sharing sites like YouTube and thought video clips from hand-held camera could be a good way of telling story. But this seems to defeat the purpose and advantages of cinema movies -- telling a story through different angles, and even with multiple story lines in parallel.<br /><br />Using a hand-held camera telling a story through single angle is not much different from telling story through stage play. Both forms use single angle with only one story line.<br /><br />Generally speaking, using a hand-held camera has its own place, mostly in producing B-class movies. Using a hand-held camera to tell about disaster apparently requires audiences to do heavy forensic analysis through pieces of low quality video clips of a single camera, in order to get the big picture of the whole story.<br /><br />My girl friend and I left the cinema 20 minutes after the "movie" started.<br /><br />I felt I was cheated. The movie's poster showed a great scene of the after mark of the disaster in New York, looking like another Hollywood blockbuster. However, in turn I just got video clips of a single-hand held camera, and the director tried to tell a blockbuster story through a B-class production.<br /><span style="font-style: italic;"></span>Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-59645144899884810962008-01-02T17:05:00.000-08:002008-01-02T17:24:12.689-08:00Losing battles but winning the warMany people said that Google ran not well enough in social, photo sharing, IM and mobile etc., as least not as good as competitors. GoogleSystems has a summary of how Google promoted some services as a late comer: <a href="http://googlesystem.blogspot.com/2007/12/winning-even-when-you-lose.html">Winning Even When You Lost</a>.<br /><br />If it was about "Lose", I think Google did not mind losing the battles, as long as it could win the war. Google was brave, and broke the barriers protecting the short term benefits of those giants like Yahoo and Microsoft.<br /><br />The backbone of Google business is essentially collective intelligence, which was started from the search engine calculating back links. The success of collective intelligence is based on good algorithm, and more data.<br /><br />Through promoting more online services on different platforms and pushing openness (e.g. interoperability between competitors), Google will get more and more data of human intelligence.<br /><br />It does not matter whether Gmail, Gtalk, social or whatever GServices will win respective markets. These services are just storm troopers for greater openness of collecting data.<br /><br />Google is winning the war of collective intelligence when losing some markets of some services.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-40273027300247795972007-12-19T16:05:00.000-08:002007-12-19T16:37:07.750-08:00Interpretation services and Web 2.0The business of <a href="http://en.wikipedia.org/wiki/Interpreting">interpretation</a> has been evolving. while interpretation occurs in real time, in the physical, televised, or telephonic presence of the parties for whom the interpreter renders an interpretation, I think, the concepts of Web 2.0 with mobile and internet platforms should contribute to boarder coverage and lowing the management costs.<br /><br />For example, Skype and other IM services will be covered as well. In addition, Web 2.0 services may reduce the management costs and improve the sales of interpretors.<br /><br />A professional interpretor may setup an online ordering system, and customers may order services of physical presence, telephonic presence, IM presence or mobile presence (with or without camera). Such approach will reduce middle men. I guess such online ordering systems for interpretation services have been around for years, as I haven't done any research on such subject.<br /><br />Anyway, the point of this article is, any company which in engaged in machine translation business should engaged in interpretation business as well. The purpose is not to take a big share in the interpretation business, but is to collect the results of human translations in real time in order to improve the statistic base models of machine translation.<br /><br />I think the materials of human conversations can be more effective in improving the statistical models than the materials of translated articles, as conversations tend to use short, simple and repeated terms and sentences. And machine translation may better serve human conversations.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.comtag:blogger.com,1999:blog-5648646076945890763.post-67193904472412511902007-12-19T15:05:00.000-08:002007-12-19T15:47:29.516-08:00Google Talk Translation BotsI just read a post about <a href="http://blogoscoped.com/archive/2007-12-19-n41.html">Google Talk Translation Bots.</a><br /><br />Translation is fundamentally AI subject. Experts had long realized that mathematical/syntax base models won't work. Statistic base models had become mainstream approach for Voice2Text and translation.<br /><br />I bet this translation bot will sooner or later evolve to a portal of gathering statistics of translation between languages, as Google may find ways to encourage users to refine translations. So, Google continue its saga of collective intelligence.<br /><br />Translating a sentence can not be taken out of content. Conversations is good and easy enough for analyzing content in order to fine tune the translation models. While I don't have any insider news, I think Google may/will be doing the following:<br />1. Gather the conversations, and give the content to human translators to translate. Of course, to ease complains about privacy protections, Google should rip out identities of conversations before giving the data to translators. Also, the users should be notified whether they will allow the conversations being processed by human translators. To encourage participation of users, Google may give out some candies.<br /><br />2. Google may deliver a paid service of <span style="font-size:-1;"> interpretations</span>. People engaged in business talks may desire such service. For example, when 2 users initiate a talk, one or two human interpretors who affiliate with Google may take part in. The audio and text contents may then be fed into the statistical models of translation which will be used in the translation bots.<br /><br />I will have a separated article about the interpretation/translation business of Google or Web 2.0.Andy Wonghttp://www.blogger.com/profile/13275514659971793139noreply@blogger.com