<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11740973</id><updated>2011-04-21T14:26:03.970-07:00</updated><title type='text'>Boomerang</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11740973.post-112819497245557371</id><published>2005-10-01T12:09:00.000-07:00</published><updated>2005-10-01T12:29:32.460-07:00</updated><title type='text'>The Art of Effort Estimation - Accuracy not necessary</title><content type='html'>Estimating efforts to complete a software project or a component is a fact of life for all software engineers. No matter what stage your career is in, be it project manager or junior developer, there will be times that you need to come up with estimations.&lt;br /&gt;&lt;br /&gt;But effort estimation is hard. Software components and projects come in different shapes and sizes in:  technology used and their maturity;   customer expectation; time constraint; previous experiences... The list can go on and on.&lt;br /&gt;&lt;br /&gt;I think the obsession to get an &lt;span style="font-style: italic;"&gt;accurate&lt;/span&gt; estimation is missing the point. There is simply no such thing. Rather, what counts is how the project is executed against the estimations.&lt;br /&gt;&lt;br /&gt;So how do you come up with a good plan that a project can be planned against? I believe a copule of simple policy will be able to achieve this:&lt;br /&gt;&lt;br /&gt;#1: Estimation must be made by the person who will be ultimately responsible for the job.&lt;br /&gt;#2: Great trust must be given to the person making the estimation.&lt;br /&gt;&lt;br /&gt;That's all about it. The rules are self fulfilling because they provide an implicit social contract to the engineers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-112819497245557371?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/112819497245557371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=112819497245557371' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112819497245557371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112819497245557371'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/10/art-of-effort-estimation-accuracy-not.html' title='The Art of Effort Estimation - Accuracy not necessary'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-112619806569302412</id><published>2005-09-08T09:47:00.000-07:00</published><updated>2005-09-08T09:48:45.370-07:00</updated><title type='text'>New Orleans</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6191/964/1600/PreservationHall5.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/6191/964/200/PreservationHall.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hard to imagine that it was only a year ago we visited that vibrant city called New Orleans.&lt;br /&gt;Here's a snapshot of the happier times last August at the Preservation Hall.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-112619806569302412?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/112619806569302412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=112619806569302412' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112619806569302412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112619806569302412'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/09/new-orleans_08.html' title='New Orleans'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-112619747812774373</id><published>2005-09-08T09:36:00.000-07:00</published><updated>2005-09-08T09:37:58.133-07:00</updated><title type='text'>Corporate ladder</title><content type='html'>Just came across Paul Graham's &lt;a href="http://www.paulgraham.com/ladder.html"&gt;article&lt;/a&gt;. Interestingly, pretty much confirm my thought in the last post. Paid attention to the second and last paragraph.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-112619747812774373?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/112619747812774373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=112619747812774373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112619747812774373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112619747812774373'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/09/corporate-ladder.html' title='Corporate ladder'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-112527829791651775</id><published>2005-08-28T17:49:00.000-07:00</published><updated>2005-08-28T18:18:17.940-07:00</updated><title type='text'>Why a startup won't make an engineer rich</title><content type='html'>My wife and I moved to the US in 2001. As I remember there were two primary motivations for us to make this move. One is that we think the United States is a fascinating country, magical things happen. The other was that we wanted to get financially independent quickly through stock options - I was working for a wireless startup company at that time.&lt;br /&gt;&lt;br /&gt;Looking back now, the first reason still stands. I still think the US is an amazing place. If you want to accomplish something, it provides a lot of freedom for you to get it. However I am not sure about the second reason any more, that is, an engineer can get rich through stock options. Thinking about it now I am even surprised about my own naivete. Here's math.&lt;br /&gt;&lt;br /&gt;Let's assume that your startup makes it. (In reality, very few startup did. In fact, the way venture capital works, is that they purposely arrange it so that only a handful companies makes it.)&lt;br /&gt;&lt;br /&gt;How much is your stock options worth?&lt;br /&gt;&lt;br /&gt;One intelligent guess is by the estimated annual sales. Let's say your startup has annual sale of 20 million US$. This is not an unreasonable guess, as I will explain later.&lt;br /&gt;&lt;br /&gt;An IPO or a total buy out might be about 5-7 times sales. Let's say 5, then your company is worth about 100M.&lt;br /&gt;&lt;br /&gt;Say you joined the company really really early, and your options comprises about 3% of the company. Note that this is an extremely optimistic figure for an engineer. The VCs and the management usually owns a much bigger shares of the company.&lt;br /&gt;&lt;br /&gt;So you get about 3 million dollars. After tax, you'll probably get little more than half, say 1.7M.&lt;br /&gt;&lt;br /&gt;You might think 1.7M is a lot, but in certain areas of the US, it only buys you half of a house. (My cousin lives in Saratoga in the Bay Area, and nothing in her neighborhood is less than 1 million).&lt;br /&gt;&lt;br /&gt;Also, 1.7M is hardly enough for retirement. My retirement fund web site says I'll need at least 3M if I want to retire at 50.&lt;br /&gt;&lt;br /&gt;With all the tear and toil, is that all you'll get?&lt;br /&gt;&lt;br /&gt;P.S.&lt;br /&gt;There are two things I need to clarify:&lt;br /&gt;1) 20M annual sales for a startup is not unreasonable.&lt;br /&gt;Anything you are working on, which might generate revenues larger than that, is likely to have attracted large incumbent companies. They have better resources and power to make your work totally worthless.&lt;br /&gt;&lt;br /&gt;In other words, a successful startup needs to work on niche areas overlooked by incumbents. Unfortunately, by the definition of niche, the revenue is small. At least initially.&lt;br /&gt;&lt;br /&gt;2) I am not against joining a startup. In fact, startup is a wonderful place to work if you like the work and the people because it offers lots of freedom.&lt;br /&gt;What I am saying is that you need to be realistic about the expectations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-112527829791651775?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/112527829791651775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=112527829791651775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112527829791651775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112527829791651775'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/08/why-startup-wont-make-engineer-rich.html' title='Why a startup won&apos;t make an engineer rich'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-112126870013714304</id><published>2005-07-13T08:24:00.000-07:00</published><updated>2005-07-13T08:31:40.143-07:00</updated><title type='text'>Turning blog in to a business</title><content type='html'>To proof:&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.weblogsinc.com/"&gt;Weblogs &lt;/a&gt;collects about 80 blogs under it and share advertising profits with the authors. It turns out that &lt;a href="http://www.engadget.com"&gt;Engadget&lt;/a&gt;, one of my favourite blog, is under this consortium.&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.joelonsoftware.com"&gt;Joel Spolsky&lt;/a&gt; published a book. It's no more than a collection of blogs.&lt;br /&gt;   In fac, you can read the entire book&lt;a href="http://brevity.org/misc/bestswi.html"&gt; on line&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-112126870013714304?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/112126870013714304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=112126870013714304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112126870013714304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/112126870013714304'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/07/turning-blog-in-to-business.html' title='Turning blog in to a business'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111894675246477259</id><published>2005-06-16T11:18:00.000-07:00</published><updated>2005-06-16T11:32:32.466-07:00</updated><title type='text'>Social status of a UI designer</title><content type='html'>In my work lately, I have to use a phone built with Microsoft Windows Mobile. I have to say that MS has a long way to go with their UI design. I haven't seen their newer version of the software (MS Mobile 5.0) yet. Hopefully they fix some of these problems.&lt;br /&gt;&lt;br /&gt;For one thing, there is a lack of consistency in the UI. For example, the back-space key is normally used to close windows, but turns into a backspace key in a text edit box. This ambiguity is confusing to the user.&lt;br /&gt;&lt;br /&gt;You can probably tell from the design that UI designer in MS don't have a very high social status. It's probably below the level of testers. (rumor is that the social ladder in MS the following, from high to low: Programmer =&gt; Program Manager =&gt; Tester).&lt;br /&gt;&lt;br /&gt;In contrast, in another leading cell phone maker that I have worked with closely in my day time job, UI designers have god-like status. One illustration is that if a UI designer thinks certain screens and keys have to be function that way, the programmer MUST implement it no matter how difficult or convoluted the code turns out to be. There is simply no way a programmer can take a shortcut in the UI design simply because it's more convenient to code it.&lt;br /&gt;&lt;br /&gt;So, not matter how good your UI designers, it's not going to matter if the programmers have a higher say over the product.&lt;br /&gt;&lt;br /&gt;This is one example where culture in an organization is so important, that it sometime overshadows all the other things. It's also the hardest thing to change in an organization too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111894675246477259?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111894675246477259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111894675246477259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111894675246477259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111894675246477259'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/06/social-status-of-ui-designer.html' title='Social status of a UI designer'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111820449500697916</id><published>2005-06-07T21:21:00.000-07:00</published><updated>2005-06-11T19:25:01.350-07:00</updated><title type='text'>Greg &amp; Naoni</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/87265124@N00/18120775/" title="photo sharing"&gt;&lt;img src="http://photos14.flickr.com/18120775_5e3da07616_m.jpg" alt="" style="border: 2px solid rgb(0, 0, 0);" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="margin-top: 0px;font-size:0;" &gt;  &lt;a href="http://www.flickr.com/photos/87265124@N00/18120775/"&gt;Greg&lt;/a&gt;&lt;br /&gt;Originally uploaded by &lt;a href="http://www.flickr.com/people/87265124@N00/"&gt;518&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;Greg &amp; Naoni Zervas runs the &lt;a href="http://www.hillsidehouse.com/"&gt;Hillside &lt;/a&gt;Bed &amp;amp; Breakfast at Friday Harbour, Washington. This is the second year we stayed with them. Lovely rooms, breathtaking views and fantastic breakfast:&lt;br /&gt;&lt;br /&gt;This morning: vegetable quiche, pineapple cake and pan fried hash brown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111820449500697916?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111820449500697916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111820449500697916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111820449500697916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111820449500697916'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/06/greg-naoni_07.html' title='Greg &amp; Naoni'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111782377260867364</id><published>2005-06-03T11:29:00.000-07:00</published><updated>2005-06-03T11:38:18.790-07:00</updated><title type='text'>Making money from Google</title><content type='html'>Not by buying the stock.&lt;br /&gt;&lt;br /&gt;I scanned through GOOG's financial to find out how much they actually spent on those Linux boxes - there are thousands of them, each lasting 2-3 years - and was surprised to find these:&lt;br /&gt;&lt;br /&gt;For year 2004:&lt;br /&gt;- cost of revenue is $1.4 billion;&lt;br /&gt;- 84% of the cost, or more than $1.2 billion, is spent on "Traffic Acquisition". These are money paid to "Google Network members", people who put those &lt;span style="font-style: italic;"&gt;Adsense &lt;/span&gt;links on their web sites and got paid by Google.&lt;br /&gt;&lt;br /&gt;$1.2 billion is a lot of money, going &lt;span style="font-style: italic;"&gt;out&lt;/span&gt; of Google. That''s roughly $1 for each person in China.&lt;br /&gt;&lt;br /&gt;Comparing to this, their cost in running the data centers, including the Linux boxes is only about$ 229 million, and expecting it to be $500 million this year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111782377260867364?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111782377260867364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111782377260867364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111782377260867364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111782377260867364'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/06/making-money-from-google.html' title='Making money from Google'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111782097688731986</id><published>2005-06-03T10:42:00.000-07:00</published><updated>2005-06-03T10:49:36.890-07:00</updated><title type='text'>GOOG supercomputer</title><content type='html'>In &lt;span style="font-style: italic;"&gt;The hitchhiker Guide to Galaxy&lt;/span&gt;, people asked the "ultimate question" to the supercomputer &lt;span style="font-style: italic;"&gt;Deep Thought&lt;/span&gt; (which eventually spited out the short and cryptic answer).&lt;br /&gt;&lt;br /&gt;After reading some of the &lt;a href="http://labs.google.com/papers.html"&gt;Google papers&lt;/a&gt;, (the GFS, Linux cluster and MapReduce algorithm are most interesting), it's not hard to imagine what GOOG is up to: to build the most powerful supercomputer that indexes all human knowledge, and one day be able to answer the &lt;span style="font-style: italic;"&gt;ultimate&lt;/span&gt; question.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111782097688731986?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111782097688731986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111782097688731986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111782097688731986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111782097688731986'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/06/goog-supercomputer.html' title='GOOG supercomputer'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111773294656076895</id><published>2005-06-02T09:59:00.000-07:00</published><updated>2005-06-02T10:22:26.563-07:00</updated><title type='text'>J2ME - Write once, run anywhere?</title><content type='html'>I got asked about something in mylast posting:&lt;br /&gt;&lt;br /&gt;If J2ME is so widely available and Java is supposed to be "write-once-run-anywhere", why do you need to bother writing apps for the other APIs, notably BREW and Symbian.&lt;br /&gt;&lt;br /&gt;This is true in theory and marketing. In reality, it doesn't quite work that way:&lt;br /&gt;&lt;br /&gt;1) J2me doesn't give you all the power of a mobile platform, notably the control over the peripherals, such as telephony, audio, bluetooth and irDA.&lt;br /&gt;&lt;br /&gt;2) You cannot completely control the look and feel of a J2me app. For example, there is no standard implementation of Command softkeys - all are in the mercy of the phone manufacturers. Your app might look differently on a Nokia Symbian phone and a Motorola phone. &lt;br /&gt;&lt;br /&gt;This is especially a problem for companies that want to create apps with a single L&amp;F across all platforms. (For various business reasons this is highly desirable: at least it will lower your support cost for the applications).&lt;br /&gt;&lt;br /&gt;3) Integration with native applications are limited in J2me, e.g. addressbook, calendar etc.&lt;br /&gt;&lt;br /&gt;(... there are a few more reasons, but I need to get back to my bread&amp;amp;butter day time job now.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are notable progress to fix some of these. For example, JSR 253 will introduce a JTAPI like interface to J2me, and with CustomItems in MIDP2, you can write your own controls.&lt;br /&gt;&lt;br /&gt;As more JSRs get introduced, the J2me API set becomes more and more powerful. Ironically, it also greatly weakens the"write-once-run-anywhere" imperative. Some of these newer JSRs are &lt;span style="font-style: italic;"&gt;optional &lt;/span&gt;on some phones. That means a developer has to trade off between the more powerful APIs vs. market share. At the end of the day, might as well write it in Symbian or BREW.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111773294656076895?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111773294656076895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111773294656076895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111773294656076895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111773294656076895'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/06/j2me-write-once-run-anywhere.html' title='J2ME - Write once, run anywhere?'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111758204881216807</id><published>2005-05-31T16:13:00.000-07:00</published><updated>2005-05-31T18:06:24.533-07:00</updated><title type='text'>The Ultimate Wireless Killer App</title><content type='html'>The only &lt;span style="font-style: italic;"&gt;true killer &lt;/span&gt;app (that I have seen so far) is a Symbian &lt;a href="http://my-symbian.com/uiq/applications/applications.php?fldAuto=479&amp;faq=2"&gt;application &lt;/a&gt;that lets you shutdown other applications on the phone. While the purpose of the app truly meets the definition of a &lt;span style="font-style: italic;"&gt;killer&lt;/span&gt;, it pretty much has very little economic values. Even the source code is publicly &lt;a href="http://www.symbian.com/developer/downloads/tools.html"&gt;available&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Windows 95 is now 10 years old (actually only 9 years, since M$ is late on schedule), and Java is now &lt;a href="http://jroller.com/page/bcarney/20050525"&gt;10 years&lt;/a&gt; old. When PC and desktop was emerging, it's very easy for a 1-2 person team write a killer app, build a solid business around it, cash out before M$ comes into your territory, and solve a lifetime's money problem once and for all. Numerous people have done that.&lt;br /&gt;&lt;br /&gt;Today, mobile phones are very popular and there has been a lot of hype about the wireless killer app. But it has been a bit of disappointment: so far the most successful apps seem to be SMS-based and some what involve entertainment. I am not saying these are not cool apps. Quite the contrary, some of the wireless games I've seen are pretty amazing. It's just that hype about wireless apps, I believe, sets a much higher bar. You know what I mean.&lt;br /&gt;&lt;br /&gt;Comparing to the PC era's spreadsheet, word processing and desktop publishing, there is no equivalent world-changing class of wireless application today, despite the fact that a mid range smart phone today packs much more processing power and memory than a PC 10 years ago.&lt;br /&gt;&lt;br /&gt;The reason, I believe, is that the entry barrier is now much higher, both for developing such apps and for building a business around it.&lt;br /&gt;&lt;br /&gt;First, software development. Contrary to PC, where you can concentrate your efforts on writing your app on Windows, there are a wide varieties of ways to put your apps on a cell phone:&lt;br /&gt;&lt;br /&gt;1) WAP: ideal for content-rich apps that has low usability requirements.&lt;br /&gt;&lt;br /&gt;2) J2ME: supported on almost all phones, even low end ones, can build rich applications with high quality of a usability.&lt;br /&gt;&lt;br /&gt;3) Symbian: most powerful because the whole OS is exposed. Limited phone support, mostly Nokia based, and mostly high end phones. (Almost) not applicable to CDMA phones.&lt;br /&gt;&lt;br /&gt;4) BREW: more powerful API that J2ME. Supported only CDMA phones. Lack of object oriented programming model - only concerns &lt;span style="font-style: italic;"&gt;good&lt;/span&gt; programmers.&lt;br /&gt;&lt;br /&gt;You might think that it's good to have more choices, it is a headache if you have a killer app and want it to reach the widest set of audiences. Now you don't just write one app, but &lt;span style="font-style: italic;"&gt;four&lt;/span&gt; apps for all these different platforms.&lt;br /&gt;&lt;br /&gt;Another difficulty in developing wireless apps is usability. On a PC, you can sell your app even &lt;span style="font-style: italic;"&gt;if it has the ugliest &lt;/span&gt;and hard to use interface, as long as it serves a void in the market. People will learn to use the app if it serves their purpose and there is no better ones in the market. Why? Because when you use your desktop PC app, you are mostly sitting down and usually are not in a great deal of hurry.&lt;br /&gt;&lt;br /&gt;Wireless apps are different, people use the apps in a wide variety of situations, usually in a hurry, even playing games. Expectation for usability is much higher.&lt;br /&gt;&lt;br /&gt;Now assume all these technical issues are not problems, either because you have lots of development resources, or a super-programmer who knows how to programmer in J2me/BREW/Symbian. You have you all your apps developed. It's now the time to sell them and make some money. Talk to your customers and let them know about this cool app.&lt;br /&gt;&lt;br /&gt;But hold on. Are they really YOUR customers? For some reason the wireless carriers don't think so. Unlike a PC app, which you can pretty much sell it over your own web site, do your own &lt;a href="http://www.google.com/"&gt;advertising&lt;/a&gt;, and have your OWN customer base, you have to go through the carriers to reach your customers. Most likely the carrier will also want a cut on your revenue, even the app already generate additional air time revenue for them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I think we'll just have to wait a bit longer for the ultimate wireless killer app. While eliminating these barriers to entry won't necessary accelerate the process, it certainly will help a bit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111758204881216807?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111758204881216807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111758204881216807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111758204881216807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111758204881216807'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/05/ultimate-wireless-killer-app.html' title='The Ultimate Wireless Killer App'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111735322356371495</id><published>2005-05-29T00:41:00.000-07:00</published><updated>2005-05-29T01:09:04.363-07:00</updated><title type='text'>Where are the Symbian Evangelists?</title><content type='html'>My favorite Symbian resource site is &lt;a href="http://www.newlc.com/"&gt;NewLC&lt;/a&gt;.It's not even officially run by Symbian. Pity.&lt;br /&gt;&lt;br /&gt;Microsoft didn't own the desktop just by bullying others. In the early days, people bought Windows simply because there are so many useful applications available.&lt;br /&gt;&lt;br /&gt;How did Microsoft get so lucky? They were not. Like Windows itself, they learned something from Apple, and became a master of it.&lt;br /&gt;&lt;br /&gt;Apple created this special breed of people called Evangelists. The most famous one was &lt;a href="http://www.guykawasaki.com/"&gt;Guy Kawasaki&lt;/a&gt;. These are super smart programmers who also has a knack for mesmerizing other programmers/hackers (or &lt;span style="font-style: italic;"&gt;people skills&lt;/span&gt; as they say it in B-school).&lt;br /&gt;&lt;br /&gt;Microsoft built teams of evangelists for each product line. If you are interested in learning how it worked, here's a very interesting &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/0609604163/qid=1117353113/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/102-1770614-3159344?v=glance&amp;s=books&amp;amp;n=507846"&gt;book.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I wish Symbian will become more interested in &lt;span style="font-style: italic;"&gt;evangelizing&lt;/span&gt; than simply making those learn-to-write-Symbian-code-in-20-days &lt;a href="http://www.symbian.com/developer/training/index.html"&gt;courses&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's as if they somehow find a positive correlation between:&lt;br /&gt;&lt;br /&gt;a) World-class software that make their OS succeed; and&lt;br /&gt;b) Programmers who attend their courses because they work for companies that are willing to pay GBP6,000 plus travel costs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111735322356371495?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111735322356371495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111735322356371495' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111735322356371495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111735322356371495'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/05/where-are-symbian-evangelists.html' title='Where are the Symbian Evangelists?'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111707801188032746</id><published>2005-05-25T20:26:00.000-07:00</published><updated>2005-05-25T20:31:57.546-07:00</updated><title type='text'>Mobile Operating Systems</title><content type='html'>In the market right now there are many type of OS on mobile phones. They can classified into two categories: open and proprietary.&lt;br /&gt;&lt;br /&gt;Phone OS that are open has a public API that allow 3rd parties to write code on it. Most of them come with an SDK. Publishing the application after you write it is another matter that deserves an article by itself. The predominantly available open OS are:&lt;br /&gt;- Symbian;&lt;br /&gt;- Microsoft Windows Mobile;&lt;br /&gt;- Linux; and&lt;br /&gt;- Palm OS&lt;br /&gt;&lt;br /&gt;Note that I made a distinction between OS and APIs. There are many ways you can write apps on phones using some public API, like &lt;a href="http://java.sun.com/j2me/"&gt;J2ME&lt;/a&gt; and &lt;a href="http://brew.qualcomm.com/"&gt;BREW&lt;/a&gt;. While you write some very sophisticated apps using these API, they are &lt;span style="font-style: italic;"&gt;not &lt;/span&gt;OS. They lack many of the features of a full-blown OS. One very easy way to tell is to see if the API provides a means to write device drives. All the open OS I mentioned above provide means to write device drivers so that you can port them to hardware platform, although this information are mostly not open to the public.&lt;br /&gt;&lt;br /&gt;There are many &lt;span style="font-style: italic;"&gt;closed &lt;/span&gt;(aka proprietary) phone OS as well. Some are quite &lt;a href="http://www.nokia.com/"&gt;good&lt;/a&gt;, some are &lt;a href="http://product.samsung.com/cgi-bin/nabc/mobile/wireless_main.jsp?eUser="&gt;buggy&lt;/a&gt;, but that's not my point. I believe the future economy of scale in the mobile phone business favors open OS HUGELY.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111707801188032746?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111707801188032746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111707801188032746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111707801188032746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111707801188032746'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/05/mobile-operating-systems.html' title='Mobile Operating Systems'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111707798033237597</id><published>2005-05-25T19:58:00.000-07:00</published><updated>2005-05-29T00:26:20.870-07:00</updated><title type='text'>Linux mobile OS</title><content type='html'>Two news items today triggered this article:&lt;br /&gt;&lt;br /&gt;1) Nokia today announced they will release an &lt;a href="http://www.engadget.com/entry/1234000750044526/"&gt;Internet tablet&lt;/a&gt;, based on Linux, instead of Symbian which is one of their dominant phone OS (the other architecture is based on the Nokia OS, a Nokia proprietary RTOS that began its development in the early 90's).&lt;br /&gt;&lt;br /&gt;2) PalmOne is to change its name back to &lt;a href="http://story.news.yahoo.com/news?tmpl=story&amp;cid=2314&amp;amp;amp;amp;amp;amp;e=1&amp;amp;u=/sv/20050525/tc_siliconvalley/_www11734233"&gt;Palm&lt;/a&gt;. (Confused? Check &lt;a href="http://www.palm.com/us/"&gt;this &lt;/a&gt;out. About two years ago Palm is split into two companies: PalmSource makes the OS and PalmOne has the PDA/phones). What is interesting in that news article is that PalmSource is &lt;a href="http://www.eweek.com/article2/0,1759,1737802,00.asp"&gt;venturing &lt;/a&gt;into Linux.&lt;br /&gt;&lt;br /&gt;It seems the &lt;a href="http://minun8007.blogspot.com/2005/05/mobile-operating-systems.html"&gt;open mobile OS&lt;/a&gt; is starting to converge a bit, in this case slightly favoring Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111707798033237597?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111707798033237597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111707798033237597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111707798033237597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111707798033237597'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/05/linux-mobile-os.html' title='Linux mobile OS'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11740973.post-111197949791593955</id><published>2005-03-27T19:07:00.000-08:00</published><updated>2005-03-27T19:11:37.916-08:00</updated><title type='text'>Mobile blogging software</title><content type='html'>I was looking for a blogging software running on mobile phones, and found the following interesting ones:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.nokia.com/lifeblog/"&gt;Lifeblog&lt;/a&gt; from Nokia (&lt;span style="color: rgb(102, 0, 0);"&gt;Try and Buy&lt;/span&gt;)&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;&lt;a href="http://www.picostation.com/picoblogger.aspx"&gt;PicoBlogger &lt;/a&gt;from PicoStation (&lt;span style="color: rgb(102, 0, 0);"&gt;Free&lt;/span&gt;)&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt; Both software runs on Symbian. I am going to try them out my phone tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11740973-111197949791593955?l=minun8007.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://minun8007.blogspot.com/feeds/111197949791593955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11740973&amp;postID=111197949791593955' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111197949791593955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11740973/posts/default/111197949791593955'/><link rel='alternate' type='text/html' href='http://minun8007.blogspot.com/2005/03/mobile-blogging-software.html' title='Mobile blogging software'/><author><name>5900</name><uri>http://www.blogger.com/profile/08006756073243721308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
