Whimsical.nu

Welcome to a Whimsical Blog~

Hi, I'm Angela, a girl with a blog on five different psyches:
girl, geek, reader, writer, gamer
Choose your poison ♥

FF: Website optimization

One of the things I’ve realized when I started working for Yahoo! is the importance and “interesting-ness” of website performance optimization. In an industry where things can get repetitive (how many <p> tags can you code in one day?), the challenges brought about by ensuring a website is properly optimized in terms of performance and page load is welcome and quite engrossing.

With high-speed Internet, a lot of times we tend to forget about the size of the files we put up on the Internet on our websites, much less worry about how long someone takes to load our website. It’s easy to forget, but when you’re on a crappy dialup or using your mobile phone as a model (er, like me while transitioning houses!), or you’re, say, a trouble-checker for one of the fanlisting networks out there, the wait for websites to load can take its toll, and feel painful on the pocket.

Two reasons why optimizing websites — even if you’re not Yahoo! — are:

  1. You keep visitors longer, because the wait time is less, and people like things faster than you can chug them out. It’s all about instant gratification these days.
  2. You save on bandwidth! Something smaller by even 10kb can mean megs or gigs of bandwidth savings in the long run. If you pay for hosting and you have a fairly popular website, this is a big deal.

A lot of this work is done on the frontend side of things. After all, once the server has cobbled together the page, the bulk of serving the page code and objects rely on the user’s connection. The HTML code is just one part of what’s served out to people, but images, stylesheets and other media are downloaded all after the source is available. And these are the things that users see and perceive. The image below shows around a third of Firebug’s Network tab on one of my websites:

Building and serving out the page takes up only 715ms. But the rest of the objects on the page are then loaded, and I end up with a 4.08-second load time. That isn’t so bad, but all the rest of the objects on that page form the bulk of the load time that users have to endure. If we save a few milliseconds from each object, overall we can get a snappier load time for the whole page.

In The Psychology of Web Performance, Andrew King highlight a few interesting results of bloated load times, in case you’re still not convinced:

  • Google found that moving from a 10-result page loading in 0.4 seconds to a 30-result page loading in 0.9 seconds decreased traffic and ad revenues by 20% (Linden 2006).

  • Tests at Amazon revealed similar results: every 100 ms increase in load time of Amazon.com decreased sales by 1% (Kohavi and Longbotham 2007).

Over the next Frontend Fridays, I’ll talk a little more about some ways to optimize frontend performance. I’ll mostly be going through the rules Yahoo! has published, but I will probably cherry-pick and talk about the ones I like most, the ones I like doing. Stay tuned :)

4 Comments

FF: Another look at skinning websites

I’ve always liked themes and website skins, the type where visitors can change the look of a website using a switcher. I even made a script for it. I think they’re a fabulous tool for making a website interactive, and giving users the power of choosing how they want to experience the website in question. This is most useful and prevalent in forums and boards, where users are many and varied: some prefer reading in dark environments, and some prefer lighter ones.

But of late I’ve been thinking that theming and skinning websites isn’t all that great, especially viewed in certain conditions. To clarify: I’m talking about a theme or skin being more than a color-only difference between themes/skins.

I realized that one of the drawbacks for me is the false sense of “interactivity” in the website. Understand, the websites I’ve skinned are all smallish fansites and fanlistings, containing minimal updates. Skinning has become one of the most popular “interactive” features of a fanlisting. Unfortunately, it’s lulled me into feeling that it’s “enough”. Which is a bad place to be for anyone who owns a website. More content and other forms of interactivity should be the focus; there are plenty of other ways to do that.

It’s lulled me into keeping old layouts around. I’m ashamed to say a couple of them are half-assed layouts that are there because the more skins there are, the nicer the website is! And, why skin a website when you only have two skins? So keep them all and give the users choice. Uhm, wrong tactic there. Skin retirement should be done semi-regularly, to keep layouts fresh and up-to-date.

I also can’t help but feel that there has to be some brand dilution there somewhere, unless skinning is carefully managed, of course. You have a subset of users using one skin, another subset using another, and unless these skins are quite similar (like the really nifty Day/Night skins I’ve seen crop up recently) the users of skin 1 will tend to approach the website differently from users of skin 2. Websites who’ll have these problems will probably be few and far between, but I can’t help but feel that this is a valid concern.

I certainly feel that skinning is one aspect of website interactivity that one should take a look at when planning a website, but shouldn’t be taken lightly. It adds a bit more complexity to managing the website and the users of the website, but when done well, it’s a fun feature for visitors. I still can’t get over the Day/Night skins some websites use; if it would work for one of my websites, I’m soooo there! ;)

But for now, I’m steering clear of skinning until I’ve real reason to use it.

1 Comment

BTT: Libraries

Today’s Booking Through Thursday is about libraries:

Whether you usually read off of your own book pile or from the library shelves NOW, chances are you started off with trips to the library. So…what is your earliest memory of a library? Who took you? Do you have you any funny/odd memories of the library?

My earliest memories of libraries were all in our school library in the Philippines, when I was in grade school. As a kid who would finish Nancy Drew mysteries within the two or three hours it took to drive home from the city with a new book, the library was the only place I could satisfy my search for more and more Nancy Drew books to read. They had an old collection, usually the Grosset & Dunlap Pc library editions.

Sometimes I went there to just look around. I read everything from encyclopedias to children’s books (when I was younger, the children’s section had a small rug and floor pillows!). It was a quiet place where I could just mill around. I loved looking at my full library card, a dull yellow, with all the date stamps and the librarian’s signature on each return. It was usually wrinkled by the end of the school year, the corners folded. That is, unless I had to get another card.

One of the odd memories I have of our school library was seeking its peace and quiet with my best friend after a particularly “stressful” afternoon which included a secret admirer declaring himself. But, who should be there, but the guy I had a crush on, asking me what happened with The Talk.

My response: a rather loud, squeaky “What?!

7 Comments

Yahoo! PH Developers’ Evening

I flew home to the Philippines on Thursday for the Developers’ Evening with Yahoo! Philippines (which I blogged about here), and met quite a number of Philippine web developers and chatted up a couple of friends in the web industry.

Sharing the the Yahoo! Developer Network with RP developers - photo by Jem Seow

The event is basically a networking session with Philippine developers, with a bit of overview on what YDN is: a free resource for web developers that contains not just information, documentation, and tutorials on the various APIs Yahoo! has, but also a couple of tools and articles to help developers (like YUI <3).

There were lots of shop talk, which was definitely fun and a lot more of the same would be fabulous. :D I’ve never really attended networking sessions before, as I’m generally a bit of an introvert when it comes to approaching people and introducing myself, but the night went quite well and I had a great time. I hope everyone else who was part of it felt the same. :)

As I had a pretty busy week last week due to the event preparations and travel, I hadn’t been able to work on last week’s Frontend Friday! Sorry about that, but I promise I’ll have something this week, and will also prep for next week’s FF (I will be Internet-less next week (save for when I’m at the office) due to moving out!).

4 Comments

This week’s stash

There was an unexpected 20% off sale at Kinokuniya today, and I’m extremely glad I went. :D I found out only when I was paying for my stash. I’m almost insanely glad I did go ahead and got a lot of books, and am slightly sad I didn’t get another Hanadan volume to grace my shelves. But that’s okay–I shouldn’t spend too much on books. I shouldn’t! This week alone, I bought ten books. Four from the Carrefour books sale, and six from Kinokuniya.

I got these books at $5 at Carrefour:

All four are books I wouldn’t really buy at their usual prices, as I am always a bit skeptical. But they looked rather interesting and were in alright quality, so hey, why not? The stash from Kinokuniya were certainly more interesting for me:

I already bought Nix’s Mister Monday during my last trip to Kinokuniya, and finished it last night (easy, exciting read! Will review sometime), hence I went ahead and bought all the next ones. The available Superior Saturday was in a different edition, so I didn’t get it.

The best thing is, Breaking Dawn is also in tradeback! Like the rest of my Twilight Saga books. Squee! I haven’t started reading yet, because I’d like to finish Isabel Allende’s Zorro first, and Breaking Dawn is a thick book :P No spoilers please! I realize it disappointed a lot of people, but I’d really like to make my own opinions.

1 Comment

Frontend Friday: Too much AJAX

Alex asked in last week’s Frontend Friday:

I just wanted to know how you decide how much AJAX is too much AJAX? You don’t seem to use much (if any) on this website.

It’s a good question, but the answer isn’t too straightforward: it will always depend on a large number of factors. For me, an indication of a developer/team getting too AJAX-happy would be when the site becomes unusable when JavaScript is turned off or isn’t working. For example,

  1. a website that loads all (or most) of its content via AJAX, therefore rendering the page content-less without JavaScript; or
  2. a website whose navigation is inaccessible without JavaScript.

JavaScript should enhance websites and applications, no doubt about that. Most, if not all, of the well-loved web apps of today are due to the snazzy-ness of AJAX. But we can’t always rely on JavaScript being present: even if users have it turned on, spotty connections and unexpected data returns can result in JavaScript being pretty much nonexistent. Progressive enhancement and/or graceful degradation should be important when working with JavaScript–whether or not you’re doing asynchronous calls or not.

However, like I said, the answer isn’t straightforward. Some applications really do rely on the existence of JavaScript, and for good reasons. Graceful degradation can be prohibitively difficult when you’re dealing with some specialized web applications, like mail: Yahoo! Mail and GMail come to mind. User interactions with both of these are so fine-tuned and uses a lot of convoluted interlocking parts, and degrading gracefully would be a pain. That’s why both apps have a no-JavaScript version as well (Mail Classic and Basic HTML view, respectively).

As for the second part of the question–no, Indiscripts doesn’t use any AJAX :) Mostly because I don’t see a need for it, or the “need” to use AJAX is lower than the time I have budgeted for designing and coding up my tech blog ;)

0 Comments

Maya Slater’s Mr. Darcy’s Diary

So I’m reading Maya Slater’s Mr. Darcy’s Diary, which I picked up at the Carrefour book sale I promised I wouldn’t go to. Like I said, I end up picking up books I wouldn’t normally buy at the usual price–like this one. I generally like retellings, but it seems to me that a lot of P&P retellings aren’t worth their salt (or pages).

I’m nearly chalking this one up as one of those you shouldn’t even bother borrowing. I haven’t given up on it yet, but I’m nearly there–and I’m not yet even half of the book. I’m skimming through the book, at the least. I’m not an expert of that time period by any means, so I’ve no idea how accurate some details and situations and habits are for that period–so don’t ask me about that. The characters are generally the same in terms of personality, and it seems to me that they included some dialogue from the 1995 BBC production with Colin Firth and Jennifer Ehle, which is a plus for me: I loved that miniseries.

But I couldn’t care less about Darcy being… well, a man. At the risk of sounding like a prude, I didn’t care about the inclusion of Darcy’s intimate relations in the book; or of him having any with random people. Oh, they’re not “scandalous”; the first few instances, a friend had gotten him inebriated enough to spend an evening at a bordello; the ones after that were with a servant girl in Netherfield. If you can stretch your imagination, they even seem to be slightly according to Darcy’s personality, i.e., he wouldn’t have anything to do with the second girl while the Miss Bennets were in Netherfield due to Jane’s illness.

That is, if you can stretch your imagination far enough to imagine Darcy going to a bordello, or tumbling a serving girl in his friend’s house. “Darcy” does not write about the details of the encounter, thank goodness, but he does praise the first girl’s form along with mentioning, in passing, a word that feels “dirty”–although I’m not aware if it is a crude word. I’m just assuming it is, as there is a crude-word equivalent in modern vernacular.

It’s rather disturbing to think of Darcy tumbling random people, that’s all. Granted, he’s only done two in the time frame so far of the novel (and as he’s now rather in love with Lizzy, I assume there will be no more), but I’d much rather prefer that he had none whatsoever. Darcy is Darcy! You don’t have to have a man have intimate relations with serving girls et al to prove that he’s a man.

1 Comment

Booking Through Thursday: Other Worlds

Today’s Booking Through Thursday:

Are there any particular worlds in books where you’d like to live?

Or where you certainly would NOT want to live?

What about authors? If you were a character, who would you trust to write your life?

I’d always liked to live in either Narnia or Prydain. Those were the two fantasy worlds of my relative childhood, and they weigh roughly the same in my estimation. For Narnia particularly, I’m more interested in the first days, after the creation of Narnia, than the time of the Pevensies as kings and queens of the land. And for Prydain, certainly the time before the end of the series ;)

I would certainly not want to live in some of the worlds/places in Stephen King’s Dark Tower; End-World would be the worst *shudder*.

As for authors I’d trust to write about my life…that’s a tough one. I initially thought that I would trust all my favorite authors to write about myself but I realized that Jane Austen would find my horrible flaws and might give up on writing about me; Charlotte Bronte might turn off some readers with a long chapter about my feelings as a child; C.S. Lewis would turn everything into symbolism; Janet Fitch would add more grit and grime and un-beauty into my life than I’m prepared for!

I’m kidding, I would be honored if any of them would write about me; unfortunately, I have no idea who would be a good “fit”: one who have written something along the lines of my life, and the kind of style that I like.

2 Comments

Book sale at Carrefour Suntec

There’s yet another book sale at Carrefour Suntec, near where I work, with books starting from S$5. The last time they had this sale, I went home with around a dozen or more books overall. It’s books of all kinds, and in all conditions. I got away with a couple good ones, although it can take a while to soft through the piles and piles of books.

What I like best about book sales like these is that because of the lower price tag, you’ll just go ahead and get a few somewhat interesting titles, or books you wouldn’t buy at the usual prices but you want copies of.

I didn’t go in, though; I have around 20+ books in my bookshelf that are on my to-read list :s and I really shouldn’t add to the stuff I’m going to need to pack up when I move at the end of this month. It’s only the first day; I really hope I’m able to last this one out.

1 Comment

Frontend Friday: Got questions?

For this week, I’m doing a free-for-all: if you have something you’re curious about in terms of HTML, CSS and JavaScript, post your question in the comments and I’ll cover your question in future Frontend Fridays. Nothing is “too simple”, so feel free to post questions (please try to keep clear of Enthusiast-only questions though! ;) ).

The reason for this (rather abrupt) post is that due to my rather freaky schedule this week (I’m moving by end of the month, and we’re hopefully signing a tenancy agreement this coming Monday, finally), I wasn’t able to prepare for this week’s Frontend Friday. I had a draft in the works but unfortunately, it needs more research than I have time for this week.

Let me know in the comments! :)

5 Comments