Dawn.com Beta Barely Worth the Effort

Aug 28, 2008 @ 4:36 AM
Discuss: 0 Comments
Permanent Link: Save
Category: Technophilia, Web, pakistan
Post to: del.icio.us

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 don't take this live any time soon. Following are some things that immediately stuck out like a sore thumb.

  1. The unwelcoming invitation for dawn.com Beta is like the annoying popup ads 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 giving users a "Do not ask me again" option. 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.
  2. The website is optimized for 800x600. This is 2008. Only 8% of users use that resolution. 86% use 1024x768 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 news.bbc.co.uk or iht.com and follow their design principles, if they have any principles to begin with.
  3. The URLs are completely meaningless. They could have slapped together a few regular expressions with mod_rewrite or equivalent and respected the URL as a UI. 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 link rot. Why downgrade from existing dawn.com/2008/02/28 type URLs?
  4. Placing advertisements in the main navigation 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 navigation to drop below the page fold (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:
  5. 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:
    HTML:
    1. <script type="text/javascript"><!--
    2. var x = 0;
    3. var feaz = 0;
    4. // --></script>
    5. <script type="text/javascript"><!--
    6. feaz ++;
    7. x ++ ;
    8. switch (x)
    9. {
    10.   case 1:
    11.     document.write('<td width="280" align="left" valign="top" class="fbg">...</td>')
    12.     break;
    13.  
    14.   case 2:
    15.     document.write('<td width="280" align="left" valign="top" class="fbg">...</td>')
    16.     break;
    17.  
    18.   case 3:
    19.     document.write('<td width="280" align="left" valign="top" class="fbg">...</td>')
    20.     break;
    21.  
    22.   case 4:
    23.     document.write('<td width="280" align="left" valign="top" class="fbg">...</td>')
    24.     break;
    25.  
    26. }
    27. // --></script>

    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.

  6. There are no semi-colons to terminate some of those JavaScript statements (line 11) which is standard practise. HTML is being output using JavaScript when just plain HTML output would do (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 defeats the whole purpose of CSS. The code uses meaningless and arbitrary variable names (lines 2 and 3).
  7. 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 Cascading Style Sheets means. I also noticed some redundant CSS. 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 ~90KB of CSS. 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.

How can one even move to more serious guidelines for web development. 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 been around since at least 1997.

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.

Update 8/31/2008: They don't even have spell check in their CMS (Pakistan spelt Paklistan in title). It's hard to image a publishing company using a publishing platform without spell check. Even my blog has spell check.

Pasha Career Expo: Developing for the Web

Jul 28, 2008 @ 6:34 AM
Discuss: 6 Comments
Permanent Link: Save
Category: Web, pakistan
Post to: del.icio.us

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.

PTCL Nationwide Plan Cancellation Instructions and Fraud Details

Jan 23, 2008 @ 5:09 AM
Discuss: 0 Comments
Permanent Link: Save
Category: pakistan
Post to: del.icio.us

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

The plot behind the fraud

  • 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.
  • The bold print of the PTCL advertisement claims Nationwide is a free plan 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 first advertisement
  • Another PTCL Nationwide advertisement claims there are no hidden charges and the fine print then clarifies there are no hidden charges only if the customer cancels 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 second advertisement.
  • 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.
  • 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.
  • 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.
  • 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.

How to cancel

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:

  • call 1236
  • Press 2 for english (1 for urdu)
  • Press 3 for voice mail setup
  • Press 1 for voice mail activation/deactivation
  • Ask operator to cancel your nationwide and voice mail if activated

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.

Startup Meetup in Karachi

Jan 19, 2008 @ 9:38 AM
Discuss: 1 Comment
Permanent Link: Save
Category: pakistan
Post to: del.icio.us

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&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 online revealed the following bloggers speaking about the meetup: