<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Aleem Bawany</title>
	<atom:link href="http://aleembawany.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://aleembawany.com</link>
	<description>Personal website of Aleem Bawany -- tech, web and the rest</description>
	<pubDate>Sun, 31 Aug 2008 18:26:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Dawn.com Beta Barely Worth the Effort</title>
		<link>http://aleembawany.com/2008/08/28/dawn-com-barely-worth-the-effort/</link>
		<comments>http://aleembawany.com/2008/08/28/dawn-com-barely-worth-the-effort/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 12:36:00 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Technophilia]]></category>

		<category><![CDATA[Web]]></category>

		<category><![CDATA[pakistan]]></category>

		<guid isPermaLink="false">http://aleembawany.com/?p=109</guid>
		<description><![CDATA[Dawn.com has launched their beta website available via dawn.net. Going with a phased roll-out through Beta is the only thing they seem to have gotten right and one can only hope they address the issues with the website or go for a complete overhaul. After spending 15 minutes on the website, I only hope they [...]]]></description>
			<content:encoded><![CDATA[<p>Dawn.com has launched their beta website available via <a href="http://dawn.net">dawn.net</a>. Going with a phased roll-out through Beta is the only thing they seem to have gotten right and one can only hope they address the issues with the website or go for a complete overhaul. After spending 15 minutes on the website, I only hope they don't take this live any time soon. Following are some things that immediately stuck out like a sore thumb.</p>
<ol>
<li>The unwelcoming invitation for dawn.com Beta is like the annoying <strong>popup ads</strong> you get on cheap  warez sites. They could have at least tucked it in a corner instead of having it overlap navigation and content. And whatever happened to using cookies and <strong>giving users a "Do not ask me again" option</strong>. It's an extra ~20 lines of code in the absence of which this annoying popup is displayed to the many thousands on every visit, every day.<br />
<a href="http://aleembawany.com/wp-content/uploads/2008/08/dawn-beta-popup.jpg"><img class="alignnone size-medium wp-image-111" title="dawn-beta-popup" src="http://aleembawany.com/wp-content/uploads/2008/08/dawn-beta-popup-300x270.jpg" alt="" width="300" height="270" /></a></li>
<li>The website is optimized for 800x600. This is 2008. Only <a href="http://w3schools.com/browsers/browsers_display.asp">8% of users</a> use that resolution. <strong>86% use 1024x768</strong> or higher which provides 30% more screen real estate. All that space can be put to good use. This is a common problem with developers here who have very little interest in the discipline and read little or no literature pertaining to their field. If nothing else, I would suggest that the Dawn.net team take some lessons from <a href="http://news.bbc.co.uk/">news.bbc.co.uk</a> or <a href="http://iht.com">iht.com</a> and follow their <strong>design principles</strong>, if they have any principles to begin with.</li>
<li>The <strong>URLs are completely meaningless</strong>. They could have slapped together a few regular expressions with <a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">mod_rewrite</a> or equivalent and respected the <a href="http://www.useit.com/alertbox/990321.html">URL as a UI</a>. Even if they fix this now, the older links will become obsolete and result in all existing links to those stories to break, a common problem known as <strong>link rot</strong>. Why downgrade from existing dawn.com/2008/02/28 type URLs?</li>
<li>Placing <strong>advertisements in the main navigation</strong> is not only annoying it is a negative user experience. If they understood point (2) they would not be struggling to squeeze in these ads. Worse still, the advertisements cause <strong>navigation to drop below the page fold</strong> (the area which is not immediately visible and can only be reached by scrolling). That's a usability blunder and shows that users are not even a priority. A side by side comparison of BBC's and Dawn's menus clearly highlights this intellectual divide:<a href="http://aleembawany.com/wp-content/uploads/2008/08/dawn-beta-advertisements.gif"><br />
<img class="alignnone size-medium wp-image-112" title="dawn-beta-advertisements" src="http://aleembawany.com/wp-content/uploads/2008/08/dawn-beta-advertisements-219x300.gif" alt="" width="219" height="300" /></a></li>
<li>There are other design, usability and information architecture issues but I want to keep this post short and avoid a lecture on design and usability so I'll say a little about their code. I was hoping to find half decent code because it's such a high profile project but the code is atrocious and even comic relief doesn't help (skyscraper spelt skycrapper in the code comments). Just consider the following code pattern that occurs close to a dozen times:
<div class="igBar"><span id="lhtml-2"><a href="#" onclick="javascript:showPlainTxt('html-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">HTML:</span>
<div id="html-2">
<div class="html">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!--</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">var x = 0;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">var feaz = 0;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// --&gt;</span></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!--</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">feaz ++;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">x ++ ;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">switch (x)</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">{</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">&nbsp; case 1:</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">&nbsp; &nbsp; document.write('&lt;td width=&quot;280&quot; align=&quot;left&quot; valign=&quot;top&quot; class=&quot;fbg&quot;&gt;</span></span>...<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>')</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; break; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; case 2:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; document.write('<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td</span></a> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"280"</span> <span style="color: #000066;">align</span>=<span style="color: #ff0000;">"left"</span> <span style="color: #000066;">valign</span>=<span style="color: #ff0000;">"top"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"fbg"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>...<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>')</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; break;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; case 3:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; document.write('<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td</span></a> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"280"</span> <span style="color: #000066;">align</span>=<span style="color: #ff0000;">"left"</span> <span style="color: #000066;">valign</span>=<span style="color: #ff0000;">"top"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"fbg"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>...<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>')</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; break;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; case 4:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; document.write('<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td</span></a> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"280"</span> <span style="color: #000066;">align</span>=<span style="color: #ff0000;">"left"</span> <span style="color: #000066;">valign</span>=<span style="color: #ff0000;">"top"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"fbg"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>...<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>')</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; break;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">}</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">// --&gt;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
I never came across such code even when I was teaching Introduction to Programming at university. Why would anyone write a switch statement which says if value is 1, print X, if value is 2, print X, if value is 3 print X and if value is 4, print X. Why use a switch statement if all conditions print the same thing? It defies common logic. It's code like this that causes pain down the line and simple feature requests can take days to implement and introduces bugs waiting to go off like land mines.</li>
<li>There are<strong> no semi-colons to terminate </strong>some of those JavaScript statements (line 11) which is standard practise. <strong>HTML is being output using JavaScript when just plain HTML output would do</strong> (line 11). Unless there are very good reasons, the middle-tier is supposed to handle this sort of logic, not the front-end. The table cell has a CSS class which should be used for styling but the style elements are also defined using inline HTML (line 11). So if you wanted to increase the width of the columns, you must edit both the CSS and the HTML. What then is the purpose of using CSS? It <strong>defeats the whole purpose of CSS</strong>. The code uses <strong>meaningless and arbitrary variable names</strong> (lines 2 and 3).</li>
<li>If you look at the CSS files (main.css and component.css) it's plain to see that no one taught these developers what the Cascading in <strong>Cascading </strong>Style Sheets means. I also noticed some <strong>redundant CSS</strong>. Why write the same code twice? It takes up bandwidth, takes up more time rendering, more time to maintain and introduces bugs (developer updates one snippet but forgets to update the second identical snippet). The main.css is 34KB and the component CSS is 52KB. Then there's some inline CSS. Wow! news.bbc.co.uk has a layout way more intricate and its ~65KB versus Dawn.net's <strong>~90KB of CSS</strong>. For example dawn's h5 and h6 elements have the exact same style but instead of defining them using the same CSS block, Dawn.net repeats the 12 lines of code again. Dawn barely stylized its header/footer or menu bar. Even with 90KB of bad CSS, Dawn uses images for section headings instead of styled text. Imagine trying to manage or sift through 5000 lines of CSS code for the most minor aesthetic changes. I am considering using their CSS to exemplify what not to do in any future webdev presentations.</li>
</ol>
<p>How can one even move to more <a href="http://aleembawany.com/2008/07/28/pasha-career-expo-developing-for-the-web/">serious guidelines for web development</a>. I am so befuddled by this code I cringe just thinking about what kind of blunders they have committed in the back-end and middle-tier. This website does not even come up to par with most blogs out there, let alone be worthy of a news website. Even their current dawn.com website is  a class-act in comparison and that has <a href="http://web.archive.org/web/19971210110221/http://dawn.com/">been around since at least 1997</a>.</p>
<p>I am guessing this new website is going to be rife with problems going forward given its precarious state. Feature requests will probably take days to implement because of the poor architecture, and cryptic and unmanageable code. The only winners here would probably be the contractors billing Dawn for weeks/months of labour for even the most meagre feature request. And sadly, dawn.net might be in a bit of a sticky situation here with their contractors. If you want to get rich, build something that only you can maintain and takes you days to change so the client is locked in and ends up paying hefty amounts.</p>
<p>Update 8/31/2008: They don't even have <a href="http://www.dawn.net/wps/wcm/connect/Dawn%20Content%20Library/dawn/news/pakistan/nwfp/paklistan+suspends+military+operations+for+ramadan">spell check</a> in their CMS (Pakistan spelt <a href="http://dawn.net/wps/wcm/connect/Dawn%20Content%20Library/dawn/news/pakistan/nwfp/paklistan+suspends+military+operations+for+ramadan">Paklistan</a> in title). It's hard to image a publishing company using a publishing platform without spell check. Even my blog has spell check.</p>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2008/08/28/dawn-com-barely-worth-the-effort/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Scrabble Yabble</title>
		<link>http://aleembawany.com/2008/08/15/scrabble-yabble/</link>
		<comments>http://aleembawany.com/2008/08/15/scrabble-yabble/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 18:01:26 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://aleembawany.com/?p=96</guid>
		<description><![CDATA[While I previously resorted to JS Shell and Venkman JS Debugger, I recently had the pleasure of using Firebug. I easily managed to find some performance bottlenecks in my Online Scrabble Clone, Yabble which should be a lot faster now thanks to some great profiling features. Yabble should be slightly faster and pending some other [...]]]></description>
			<content:encoded><![CDATA[<p>While I previously resorted to <a href="http://www.squarefree.com/shell/">JS Shell</a> and <a href="http://www.mozilla.org/projects/venkman/">Venkman JS Debugger</a>, I recently had the pleasure of using <a href="http://www.getfirebug.com/">Firebug</a>. I easily managed to find some performance bottlenecks in my <a href="http://aleembawany.com/yabble/">Online Scrabble Clone, Yabble</a> which should be a lot faster now thanks to some great <a href="http://michaelsync.net/2007/09/10/firebug-tutorial-logging-profiling-and-commandline-part-ii">profiling features</a>. <a href="http://aleembawany.com/yabble/">Yabble</a> should be slightly faster and pending some other updates I'll be able to shave off another 20% or so from load time.</p>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2008/08/15/scrabble-yabble/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pasha Career Expo: Developing for the Web</title>
		<link>http://aleembawany.com/2008/07/28/pasha-career-expo-developing-for-the-web/</link>
		<comments>http://aleembawany.com/2008/07/28/pasha-career-expo-developing-for-the-web/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 14:34:35 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[pakistan]]></category>

		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://aleembawany.com/?p=91</guid>
		<description><![CDATA[The recent PASHA Career Expo 2008 provided a great platform to engage with the community. Following are slides from my presentation for Developing for the Web.
Developing For The Web
view presentation (tags: security usability methodologies web)

]]></description>
			<content:encoded><![CDATA[<p>The recent <a href="http://jehanara.wordpress.com/2008/07/22/it-was-exhilirating-being-a-part-of-it/">PASHA Career Expo 2008</a> provided a great platform to engage with the community. Following are slides from my presentation for Developing for the Web.</p>
<div style="width:425px;text-align:left" id="__ss_531012"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/guest91eedd/developing-for-the-web?src=embed" title="Developing For The Web">Developing For The Web</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=developing-for-the-web-1217254241242204-9&#038;stripped_title=developing-for-the-web" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=developing-for-the-web-1217254241242204-9&#038;stripped_title=developing-for-the-web" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">view <a style="text-decoration:underline;" href="http://www.slideshare.net/guest91eedd/developing-for-the-web?src=embed" title="View Developing For The Web on SlideShare">presentation</a> (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/security">security</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/usability">usability</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/methodologies">methodologies</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/web">web</a>)</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2008/07/28/pasha-career-expo-developing-for-the-web/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Custom Search and Wordpress Integration</title>
		<link>http://aleembawany.com/2008/02/11/google-custom-search-and-wordpress-integration/</link>
		<comments>http://aleembawany.com/2008/02/11/google-custom-search-and-wordpress-integration/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 20:41:45 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://aleembawany.com/2008/02/11/google-custom-search-and-wordpress-integration/</guid>
		<description><![CDATA[The default WordPress search engine barely qualifies as a search engine. It's results are not that relevant, the search page shows the actual blog entries instead of a list of links of resulting pages and the experience gets worse if the search query gets the least bit creative.
I think everyone should deprecate the WordPress search [...]]]></description>
			<content:encoded><![CDATA[<p>The default WordPress search engine barely qualifies as a search engine. It's results are not that relevant, the search page shows the actual blog entries instead of a list of links of resulting pages and the experience gets worse if the search query gets the least bit creative.</p>
<p>I think <strong>everyone should deprecate the WordPress search engine and move to Google Custom Search</strong>. There is simply no comparison. You can see the search results for <a href="http://aleembawany.com/search.php?cx=016184311056644083324%3Af9crr9psxs8&#038;cof=FORID%3A9&#038;q=ajax&#038;sa=Search#959">AJAX</a> on my website.</p>
<h2>How-to for Google Custom Search Implementation in WordPress</h2>
<p>Having recently implemented it on my site I don't think it gets much better than this. Implementing it in WordPress is trivial and the results are of the highest quality.</p>
<ul>
<li>Head on over to <a href="http://www.google.com/cse/">http://www.google.com/cse/</a> and register for an account. Follow the prompts all the way until asked to select the kind of layout/code options.</li>
<li>The best Google Custom Search configuration I think is to select the <i>iframe</i> option with advertisements placed on the <i>right</i>. Secondly, you will want to specify the <i>search results url</i> as something like http://yourdomain.com/search.php. More on that in a minute. <br />
<img src="http://aleembawany.com/wp-content/uploads/2008/02/search-options.gif" alt="Google Custom Search Options" style="border:1px solid black" /></li>
<li>Subsequently you will be shown two textarea's. The first one is the <b>search box code</b> which shows the input field where queries are entered. You can paste this code in your header or index template (header.tpl or index.tpl in the wp-content/theme/<your_theme> directory) depending on where you want the box to show up.</li>
<li>The second code box is for the <b>search results page</b>. To display the Google Custom Search results on a fresh page, create a file called <strong>search.php</strong> in the root of your web directory (this corresponds to the <i>results url</i> you entered above). Within this page you should paste both code snippets. The Google Custom Search <strong>box code</strong> will display the search box to the users once again so they can see their own query. The Custom Search <strong>results code</strong> will display the actual results below the box. This is what your <strong>search.php</strong> will look like:
<div class="igBar"><span id="lphp-4"><a href="#" onclick="javascript:showPlainTxt('php-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-4">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">&lt;?php</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// these two lines get the theme page initialization code and header</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">require</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'./wp-blog-header.php'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">get_header<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;!-- Google CSE Search Box Begins&nbsp; --&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">...</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;!-- Google CSE Search Box Ends --&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;!-- Google Search Result Snippet Begins --&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">...</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;!-- Google Search Result Snippet Ends --&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">&lt;?php</span> get_footer<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#000000; font-weight:bold;">?&gt;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
</li>
<li>That's it, you're done.</li>
</ul>
<p>Your page won't be instantly indexed and may take a day or two, but that's a small price to pay. And if you show your 5-10 most recent blogs in the sidebar then you're good anyway because users can navigate directly.</p>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2008/02/11/google-custom-search-and-wordpress-integration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PTCL Nationwide Plan Cancellation Instructions and Fraud Details</title>
		<link>http://aleembawany.com/2008/01/23/ptcl-nationwide-plan-cancellation-instructions-and-fraud-details/</link>
		<comments>http://aleembawany.com/2008/01/23/ptcl-nationwide-plan-cancellation-instructions-and-fraud-details/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 13:09:43 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[pakistan]]></category>

		<category><![CDATA[ptcl]]></category>

		<category><![CDATA[telecom]]></category>

		<guid isPermaLink="false">http://aleembawany.com/2008/01/23/ptcl-nationwide-plan-cancellation-instructions-and-fraud-details/</guid>
		<description><![CDATA[Pakistan Telecommunications Company Limited has a subscriber base of 4.5 million users. PTCL in a recent revenue generation scheme enabled nationwide calling for all of it's 4.5 million subscribers without their consent. At Rs.199 per month per subscriber, PTCL will generate anywhere from Rs.800 million to Rs.900 million in the first month alone.
PTLC's plot to [...]]]></description>
			<content:encoded><![CDATA[<p>Pakistan Telecommunications Company Limited has a subscriber base of 4.5 million users. PTCL in a recent revenue generation scheme enabled nationwide calling for all of it's 4.5 million subscribers without their consent. At Rs.199 per month per subscriber, PTCL will generate anywhere from Rs.800 million to Rs.900 million in the first month alone.</p>
<p>PTLC's plot to maximize customer retention into this plan is elaborate and operates at multiple tiers. Their business division and top business planners will probably get a nice bonus this year for devising such an ingenious plot to defraud customers.</p>
<h2>The plot behind the fraud</h2>
<ul>
<li>PTCL has introduced a Nationwide calling plan which at a cost of Rs.199 per month provides 5,000 minutes of talk time to any city in Pakistan. The obvious contention is that PTCL has enabled this on all PTCL lines by default and most users are unaware they are automatically subscribed and being charged Rs.199 per month.</li>
<li>The bold print of the <a href="http://aleembawany.com/wp-content/uploads/2008/01/ptcl-nationwide-ad-2.jpg">PTCL advertisement claims Nationwide is a free plan</a> while the smaller print immediately following states there is a Rs.199 monthly fee for this plan. Which is it? The barely legible print of the advertisement states that the plan is limited to 5000 minutes. See the <a href="http://aleembawany.com/wp-content/uploads/2008/01/ptcl-nationwide-ad-2.jpg">first advertisement</a></li>
<li>Another <a href="http://aleembawany.com/wp-content/uploads/2008/01/ptcl-nationwide-ad-1.jpg">PTCL Nationwide advertisement claims there are no hidden charges</a> and the fine print then clarifies there are <strong>no hidden charges only if the customer cancels</strong> out of this plan. It is akin to someone telling you that a car has no hidden charges if you don't decide to buy it. See the <a href="http://aleembawany.com/wp-content/uploads/2008/01/ptcl-nationwide-ad-1.jpg">second advertisement</a>.</li>
<li>The cancellation instructions are to call 1236 and I called the number about 8 times over the course of half an hour. If you follow the prompts the final prompt says press 1 to confirm cancellation. After you press 1 the phone line goes silent for 30 seconds. Most people will hang up before 30 seconds are up thinking they have now opted out. The elaborate plot by PTCL is engineered to misdirect it's subscribers. As I mentioned, the business division at PTCL have put their collective minds together to come up with this elaborate plot.</li>
<li>20% of the time, in my experience the 1236 number has been busy. This results in lesser call volume and subsequently lesser cancellations. The persistent customer will keep trying but will still fail at the final prompt.</li>
<li>So you got through to 1236 and you pressed 1 at the final cancellation prompt and you waited 30 seconds and hoping you are now finally opted out. Actually 8 out of 8 times that I called, I got a message saying "The system is busy, please try again later". At that point I was ready to give up as will most customers. So finally the customer really has no way to opt out of the system.</li>
<li>This is not first time PTCL has done this. PTCL pulled the same stunt a year or so back with their Voice Mail feature which was activated on all phone lines by default. That scheme also generate tremendous revenues for PTCL.</li>
</ul>
<h2>How to cancel</h2>
<p>Luckily for me, after failing 8 times the ninth time I dialed 1236 and decided to check on my voice mail feature and through that prompt I was able to get through to an operator. To cancel you can quickly follow these instructions without waiting to listen to the instructions on the phone:</p>
<ul>
<li>call 1236</li>
<li>Press 2 for english (1 for urdu)</li>
<li>Press 3 for voice mail setup</li>
<li>Press 1 for voice mail activation/deactivation</li>
<li>Ask operator to cancel your nationwide and voice mail if activated</li>
</ul>
<p>Spread the word so that people can cancel. The last date to cancel without penalty was 31 December which means you are already too late.</p>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2008/01/23/ptcl-nationwide-plan-cancellation-instructions-and-fraud-details/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Startup Meetup in Karachi</title>
		<link>http://aleembawany.com/2008/01/19/startup-meetup-in-karachi/</link>
		<comments>http://aleembawany.com/2008/01/19/startup-meetup-in-karachi/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 17:38:53 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[pakistan]]></category>

		<guid isPermaLink="false">http://aleembawany.com/2008/01/19/startup-meetup-in-karachi/</guid>
		<description><![CDATA[There were some interesting people at the startup meetup held recently at the offices of PixSense and sponsored by the Pakistan Software Houses Association and Green&#038;White. For me it was a good way to get acquainted with the talent pool that exists here and hopefully this is the first of many to come.
Following the buzz [...]]]></description>
			<content:encoded><![CDATA[<p>There were some interesting people at the startup meetup held recently at the offices of <a href="http://www.pixsense.com/">PixSense</a> and sponsored by the <a href="http://pashanews.org/">Pakistan Software Houses Association</a> and <a href="http://greenwhite.org/">Green&#038;White</a>. For me it was a good way to get acquainted with the talent pool that exists here and hopefully this is the first of many to come.</p>
<p>Following the buzz online revealed the following bloggers speaking about the meetup:</p>
<ul>
<li><a href="http://alirazashaikh.blogspot.com/2008/01/startup-insiders-overview.html">Ali Raza Shaikh</a>, co-founder of acquired company <a href="http://www.mulazamat.com/">Mulazamat</a></li>
<li><a href="http://greenwhite.org/2008/01/18/the-first-startups-insiders-session-was-amazing-thanks-to-the-75-90-brilliant-people-who-showed-up/">Osama A</a>, of Green and White</li>
<li><a href="http://jehanara.wordpress.com/2008/01/18/a-wonderful-coffee-session/">Jehan Ara</a>, president of P@SHA</li>
<li><a href="http://alchemya.com/wordpress2/2008/01/18/startup-insiders-%e2%80%93-through-the-pictures">Jawwad Farid</a>, of Alchemya</li>
<li><a href="http://baad-e-mukhalif.blogspot.com/2008/01/eve-with-crazy-business-geeks.html">Fahad Ahmed</a></li>
<li><a href="http://www.ittazee.com/2008/01/18/technology-startup-session-wraps-up/">Mohtashim of IT Tazee</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2008/01/19/startup-meetup-in-karachi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Online Scrabble Clone</title>
		<link>http://aleembawany.com/2007/12/22/online-scrabble-clone-implementation/</link>
		<comments>http://aleembawany.com/2007/12/22/online-scrabble-clone-implementation/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 23:25:39 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Technophilia]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://aleembawany.com/2007/12/22/online-scrabble-clone-implementation/</guid>
		<description><![CDATA[A while back I started what I thought would be an easy little project for an Online Scrabble Game clone. It's now completed and launched as Beta. I am calling it Yabble because the other interesting *abble words are quite common on the web. My reason being that instead of bookmarking sites or remembering a [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I started what I thought would be an easy little project for an <a href="http://aleembawany.com/yabble">Online Scrabble Game</a> clone. It's now completed and launched as Beta. I am calling it <a href="http://aleembawany.com/yabble">Yabble</a> because the other interesting *abble words are quite common on the web. My reason being that instead of bookmarking sites or remembering a URL I often only remember a keyword that will help me rediscover the website. With Yabble it's easier to get into Google's top 10 as compared to Dabble or Gabble which return way too many results.</p>
<p>I do not want to get into the design details in this post except to say that the game is written using PHP and AJAX and uses XML files to store game state on the backend. I also used the <a href="http://prototypejs.org/">Prototype JavaScript framework</a> and <a href="http://eight.nl/files/leightbox/">Leightbox</a>.</p>
<p>I used <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a> to minify the Javascript and CSS and get some code obfuscation as a bonus. If it demands enough attention, I'll take time out to add more features and refactor some code and design.</p>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2007/12/22/online-scrabble-clone-implementation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mark Cuban&#8217;s Interview in Esquire</title>
		<link>http://aleembawany.com/2006/12/17/mark-cubans-interview-in-esquire/</link>
		<comments>http://aleembawany.com/2006/12/17/mark-cubans-interview-in-esquire/#comments</comments>
		<pubDate>Mon, 18 Dec 2006 07:44:58 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://aleembawany.com/2006/12/17/mark-cubans-interview-in-esquire/</guid>
		<description><![CDATA[This one was good enough that I wanted to blog it and have a copy in my archives. Following is Mark Cuban's take on media, technology and American business. It was featured in the December 2006 issue of Esquire.

Wherever I see people doing something the way it's always been done, the way it's "supposed" to [...]]]></description>
			<content:encoded><![CDATA[<p>This one was good enough that I wanted to blog it and have a copy in my archives. Following is Mark Cuban's take on media, technology and American business. It was featured in the <a href="http://www.esquire.com/features/articles/2006/061105_mfe_December_06_Cuban.html">December 2006</a> issue of <a href="http://www.esquire.com/">Esquire</a>.</p>
<blockquote>
<p>Wherever I see people doing something the way it's always been done, the way it's "supposed" to be done, following the same old trends, well, that's just a big red flag to me to go look somewhere else.</p>
<p>I think the underpinning of transition right now isn't technology; it's the fact that there's so much money out there and there's so much pressure on public companies. Back in the nineties, the Internet was booming and everyone looked like a genius. You know, everyone's a genius in a bull market. But, of course, we're no longer in a bull market, so everybody is trying to create the next something. There's a lot of desperation out there. In my opinion, right now there's way too much hype on the technologies and not enough attention to the real businesses behind them.</p>
<p>Whether it's downloaded video, streaming, YouTube, or the Internet in general, there isn't anything new anymore. There's not anything right now that you can point at and say, Here comes a whole new rapid-fire change. To me, it's like this: When you've got 10,000 people trying to do the same thing, why would you want to be number 10,001? There's just no good reason. Now, if you have something superstrategic or amazing, great. But 99 percent of the time, it's just people lying to themselves.</p>
<p>Which doesn't mean that the Internet and all that technology is bad. When you have a hammer, everything looks like a nail. And today's hammer is the Internet, or digital. To me, it's like electricity. Once it was invented, it's great. I'm not going to all of a sudden stop using electricity. I'm going to continue using the Internet and all things digital--high def, digital cameras, new tools, whatever. But now that we have a society that's integrated all of that, you have to start asking the question: What's next?</p>
<p>For HDNet, I'm just looking for programming that I think is going to be memorable, that is going to impact people personally, and stuff that people will think is funny--kind of like a baby HBO from a content perspective. Most companies, most media companies or public companies, are geared toward earnings per share, and that drives everything: hitting the numbers, hitting the quarter mark. But to me, it's not about that. It's about: Can we have an impact? If it's Dan Rather or Dennis Rodman, it doesn't matter--I don't care, as long as it's something unique. Everybody else does nothing more creative than following the trend. It's like: Let's do another poker show. Now let's extend that to blackjack. Now let's mix blackjack with poker. Now let's pimp my ride, let's pimp my house, let's get tattoos, let's get bounty hunters. If everybody else is doing it, I don't want to do it. Rather than trying to grovel for an extra share of viewers like most media companies do these days, I'd rather just throw it up against the wall and take some chances.</p>
<p>If I had more time? I'd get into places where people are so afraid right now that the economics dominate the common sense. I'd get into a business like newspapers--local newspapers. Newspapers are a perfect example of how economics dominate common sense. Contrary to popular belief, newspapers aren't dying. Newspapers are making tons of money; they just aren't keeping their shareholders happy, they aren't meeting the expectations on Wall Street. The problem with newspapers is that they're trying to grow like they're Internet companies in 1999. Their shareholders are bitching at them about not showing growth in share prices. The minute you have to run your business for share prices, you've lost. It's over. They've focused on that and so they've lost. What they should do is step back and ask, "What makes us special?"</p>
<p>I don't care how Internet savvy you are or whether you're in ninth grade or college, you're not going to read twenty-five pages of text online. In newspapers, you read more pages, you read more words. There's no way around it. But newspapers don't see their own value. They just don't get it. So they do dumb-ass shit, like they can't figure out who their customer is, they can't figure out what business they're in. They have all these news-wire reports, these breaking stories, but anyone who's Internet savvy knows that breaking stories, sports events, all that stuff is available on the Internet thirty seconds after it happens. The people who are in tune to wanting stuff immediately are going to get it online. But when you read The New York Times or you read the L.A. Times, you read the Chicago Trib or The Dallas Morning News, when they break a story that is unique, not just first, but unique, a story that you can't just pick up on the wire, you have to read it. And if it's geared toward different demographics, fine. Like, businesspeople have to read the New York Times business section--even though from personal experience I know they're wrong a certain percentage of the time. You still have to read it, just in case something clicks. Like for me. If I want to keep up with what's going on in Dallas, I have to read the local paper. So newspapers aren't dying; they're just undergoing an identity crisis. They don't know who they want to be.</p>
<p>We've got our iPods, we've got our PDAs, we've got our e-mail. Those are our time killers. You've got to realize: That's the role they fill. These things are not the be-all and end all--I don't think people think that through. They just think: Oh, everybody's doing it; that must be where everything's going. It perpetuates itself. It's just small-minded. ? With the Internet, life's become an open-book test. You don't need to know anything. There used to be value for memory. Now you can just Google it.</p>
<p>In running a private company, if I'm making money, I'm happy. If we are profitable, great. If I make more than last year, great! It isn't like, Dang, I've got to grow 15 percent this year. If I'm making money, if I'm paying my bills, I'm happy. Save a little bit, all the better. What's fucked up is, the people who run public companies don't think this way. They're just trying to get rich. The idea of running a public company isn't "Wow, I can run a company." It's "Wow, I might be able to get rich!" Not just a-couple-million-dollars rich, but a-couple-million-dollars a-year, fuck-you-money rich. The guy who has a $50 million gold en parachute is thinking, How can I get them to fire me? That fucks up a lot of things when it comes to business.</p>
<p>The number-one job of the hedge fund manager is not to make sure that you can retire with a smile on your face--it's for him to retire with a smile on his face.</p>
<p>No balls, no baby: That's what I like to say. It's so true. Most people don't want to cross that line. There's safety on one side, uncertainty on the other. Most people don't take that step. And it's not even so much that they're afraid to take the step; it's that they know deep down that they didn't do the work necessary to be prepared, and that's the big difference. Most people think, Oh, I have a great idea, and the only thing missing is that I don't have the connections, I don't have the access to money. But that's the biggest bunch of bullshit. The minute anyone says that to me, I know they're a failure. Because if you're prepared and you know what it takes, it's not a risk. You just have to figure out how to get there. There is always a way to get there.</p>
<p>You can find any type of discussion group across the Net that is finite enough to make you a hero. It might just be three people, but in that group, you're your own David Koresh. And I think that gives people a false sense of wisdom. And I think that's kind of a hassle right now.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2006/12/17/mark-cubans-interview-in-esquire/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Unwarranted Hyperbole Surrounding Vista</title>
		<link>http://aleembawany.com/2006/12/05/the-unwarranted-hyperbole-surrounding-vista/</link>
		<comments>http://aleembawany.com/2006/12/05/the-unwarranted-hyperbole-surrounding-vista/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 13:56:13 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Technophilia]]></category>

		<guid isPermaLink="false">http://aleembawany.com/2006/12/05/the-unwarranted-hyperbole-surrounding-vista/</guid>
		<description><![CDATA[Seattle Times story "Why Vista might be the last of its kind" reflects a sentiment shared by many regarding the impending loom and doom of Vista. A lot of this foretelling is misdirected and regurgitation of the same old rhetoric that's being pulled back under the spotlight to create a sense of anxiety: The desktop [...]]]></description>
			<content:encoded><![CDATA[<p>Seattle Times story "<a href="http://seattletimes.nwsource.com/html/businesstechnology/2003460386_btview04.html">Why Vista might be the last of its kind</a>" reflects a sentiment shared by many regarding the impending loom and doom of Vista. A lot of this foretelling is misdirected and regurgitation of the same old rhetoric that's being pulled back under the spotlight to create a sense of anxiety: The desktop is dying and online is the wave of the future; Users have been anxious with the wait and anticipation for 5 years; Vista is a failure even before its out the door; It's the last of its kind.</p>
<p>At the employees only Vista launch party held in the underground garage of building 26 on Redmond campus, Bill Gates (who flew in by helicopter straight from the airport upon returning from Europe) expressed only relief saying something to the effect of "I'm glad it's out" and went on to talk about the task of security and servicing that lay ahead. Even though the media seldom sees it, internally we are quite self-critical. Time is money and this delay cost Microsoft a lot of money.</p>
<p>But Vista was an ambitious undertaking and the problems encountered are not exclusive to Vista. Engineering undertakings of this magnitude have a certain level of risk attached. Sure, the whole thing left a bitter taste but fear of failure did not stand in way of ambition. The first plane to fly was preceded by countless failed designs and deaths. Many died trying to get to the moon. The Titanic crashed and the Hindenburg burnt. Our ambitions have always exceeded our capabilities and that is what moves us forward.</p>
<p>The remaining arguments are nothing new and most of them hyperbole packaged to be easily digestible by the naive onlooker. Online services may some day replace desktop applications. In theory it's completely possible because essentially it's your monitor attached to a computer located in some distant place. But that day is far, far away. An application like Adobe Photoshop or Visual Studio won't be replaced by an online version anytime soon. In fact the complexity of desktop applications will continue to grow and online services will always lag behind in many areas while excelling in others. The forthcoming model will be toward hybrid online+offline applications--rich desktop applications complemented by thin Internet counterparts that allow for mobility.</p>
<p>No matter the cost of Vista, as Bill Gates put it at the launch party: "it's a gift that keeps on giving". The platform enhancements in Vista and other changes under the hood are something that will reveal their worthiness over the upcoming years.</p>
<p>Microsoft's next operating system is code named Vienna.</p>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2006/12/05/the-unwarranted-hyperbole-surrounding-vista/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What is the Value of Demographic Data?</title>
		<link>http://aleembawany.com/2006/11/16/what-is-the-value-of-demographic-data/</link>
		<comments>http://aleembawany.com/2006/11/16/what-is-the-value-of-demographic-data/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 13:07:49 +0000</pubDate>
		<dc:creator>Aleem</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://aleembawany.com/2006/11/16/what-is-the-value-of-demographic-data/</guid>
		<description><![CDATA[The group I am working in at Microsoft has to do with business intelligence and advertising displays--this is a very interesting space to be in at the moment as it is central to the monetization strategy for the MSN division (now Windows Live). It's something that has been forced upon all Internet players.
In the pre-Google [...]]]></description>
			<content:encoded><![CDATA[<p>The group I am working in at Microsoft has to do with business intelligence and advertising displays--this is a very interesting space to be in at the moment as it is central to the monetization strategy for the MSN division (now Windows Live). It's something that has been forced upon all Internet players.</p>
<p>In the pre-Google era, <strong>advertising-based services were a failed model</strong>--to use the then oft-quoted quip "there is no such thing as a free lunch". That changed when Google proved that ad-based services can make money and they did this through state-of-the-art datamining and simple two line text-based ads which marked a complete shift in the conventional thinking. It was very innovative and it undercut premium services like Hotmail which eventually followed suit. It is the driving force behind Google's billions (2.7 billion in revenue for their most recent quarter).</p>
<p>Recently I got a an internal newsletter inside which I stumbled upon a few Microsoft bloggers in this space and spent a bit of time reading through some interesting posts. What prompted me to write this post was Mark Jacobson's point regarding <a href="http://mark-on-media.blogspot.com/2006/10/googtubespace.html">user profiling</a> and how Google lacks demographic data on its users. You have to ask yourself, why is it that Google is not interested in this information and how much of a disadvantage do they have? Do they know something we don't?</p>
<p>If you sign up for Hotmail or any of the Passport services, one of the forms you encounter will require your birth date, gender and location. Google on the other hand doesn't ask you for any of this information--their form is extremely minimalistic in that regard.</p>
<h2>Why Demographic Data</h2>
<p>Most conventional marketing and research is based on targeting demographic profiles. If you are a 29 year old male living in the 90210 zip code (Beverly Hills) it would indicate that you are in the 1MM+ income group. That helps in targeting ads to you. Your very first ad could be for a new Porsche or a Versace suit. This is <strong>traditional marketing</strong> and while I don't know how optimized those heuristics are, but on the web you can--and should--leverage a lot of the newer metrics it has to offer.</p>
<p>As an aside, ads on television networks also have a lot of room for improvement in the ad relevance arena as we step into the digital age, however, there are technical hurdles (harder to datamine videos; harder to show different ads to different people).</p>
<h2>Context is Critical</h2>
<p>So I am a 19 year old whose zip code is in the university district and you can show me ads about a Dave Matthews concert in the area but how likely am I to click it based on my age and zip code? The probability that I am a student is pretty high because I'm the right age and in the right zip code but that also assumes you have prior research to deduce user profiles for that demographic data. And now you still need to know if I like rock, heavy metal or house music. You also don't know if at that very moment I am very busy researching symptoms of an illness or researching my next big investment move in a particular stock and don't give a hoot about some concert.</p>
<p>On the web you are what you read. It's about contextualization. What should matter to advertisers is what I am looking at, at any particular moment because that is what is most relevant to my interests at that very moment. With demographic data you are targeting <em>most</em> 21 year old students for <em>most</em> of the concerts <em>most</em> of the time (up until the concert is sold out or the marketing campaign ends). All the while you are hoping to cast the biggest net possible to grab a tiny audience of concert-goers in that region. There is a lot of wasted effort. Most of the people don't care about the concert. The clickthrough rates will be very low. In fact, this model was so bad that nearly all services I can think of that were built around ads failed with this business model around the dot com glory days.</p>
<p>If you shift your focus to contextualization for achieving higher clickthrough, you get a lot more out. I am on a page looking at the discography of U2 and you show me an advertisement to purchase the U2 iPod Nano or a U2 CD. Those ads are agnostic to demographic data. This means that you cannot show me an ad for a U2 concert in my state because you don't know my zip code. However, as an advertising company you can only so show many ads on any page and the U2 concert ad is better left for the Seattle radio station website where locals visit. Local ads on localized content, adult ads on adults content, children's ads on children's content, rich ads on luxury content and so on.</p>
<p>When you have good contextualization, the value of demographic data falls considerably. That said, demographic data obviously has its uses. A page like msn.com which is generic does not represent the mood of the reader since it's dynamic and very general. On a page like that, knowing if your user is male or female helps promote the right kind of ads.</p>
]]></content:encoded>
			<wfw:commentRss>http://aleembawany.com/2006/11/16/what-is-the-value-of-demographic-data/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
