Posts Tagged ‘rant’

Websites Stuck In The 90s

September 6th, 2009

Websites in the 90s have a lot of clutter. Yahoo is the typical example. A page full of links to every topic imaginable, poorly arranged in seemingly arbitrary order. It’s a good thing they were a search engine too, but you might forget that sometimes.

yahoo

yahoo

In the 90s websites were new to people, like a new puppy everyone wanted their own. The problem was that the web wasn’t ready for all this attention. People rushed to get a website for every topic you can imagine which led to internet proverbs like “if you can think of it, chances are you’ll find it on the internet!”

The result was clutter. People were creating too much junk and it became too hard to find something you need. Search engines were invented to reduce clutter and help us find what we want.

Search is by no means a solved problem, but it was remarkably successful at filtering out clutter. The problem with search engines is that they can’t read your mind (yet), they don’t know who you are or what you like. So to use a search engine, you have to already know what you want, and you must be able to summarize it in a few key words. People soon ran out of interesting things to search for, which led to content aggregation websites to spawn up everywhere collecting interesting links from all over the web. This eventually led to the rise of social media and user filtered content websites like digg and twitter which is the next step in solving the pin-of-useful-content-in-a-haystack-of-clutter problem. Although it seems to be creating a lot more clutter problems of it’s own. Everything we invent to solve the clutter problem on the internet seems to create more and different kinds of clutter. Twitter I would argue is the biggest collection of useless clutter on the internet. I’ll save that rant for another post.

There is another problem that search engines doesn’t solve. Yahoo and many news websites dealt with clutter by creating more clutter. They put every topic imaginable on their home page, and by trying to cater to everyone’s needs, they ended up catering for no one. Yahoo is still like that today, so was msn search until Bing came along a few month ago. These websites are stuck in the 90s. Search engines and social media doesn’t solve this problem because the problem is isolated on individual webpages, not entire websites.

Luckily, you can safely ignore news websites with too much clutter. It’s the crappy websites that sell good products that are annoying (not crappy websites that sell crappy products, because you can safely ignore them too), because you’re forced to use them. A general way to know if a website has too much clutter is with what I call the “control-F” index. F for find, but also F for frustrating. The more times you have to use ctr+F on a website just to find the link you’re looking for, the more frustrating it is to use.

Pop-up menus are off the charts in the ctr-f index because you have to mouse over them to find what you need, so are complicated company websites built in flash. It’s impossible to find any information on them.

The original website that inspired this rant is this website. Allegedly, they make a pretty good product (the best one out there for anyone developing GWT applications in eclipse), but you wouldn’t know it by looking at their website. They have both a good product and a crappy website. This is inconsistent.

gwtWeb2.0 websites are simple and elegant. When you’ve filtered out and ignored the ones that sell crappy products, what you’re left with are websites with good products and good web design. That’s consistent. Consistency makes a huge difference in the user experience, and user experience matters–just ask Apple. People often confuse good user experience (something they like) with benevolence (something else they like), so it came as a surprise when Apple rejected the Google voice app for the iPhone which was going to make phone calls much cheaper for the user.

To companies with good products and crappy products out there: If you provide users with something they like, users will automatically assume that you’re benevolent and likeable as well! If you’re selling a good product, you should use this to your advantage. Upgrade your website and make it consistent with the quality of the product you’re selling. It’ll be a better experience for users which will turn into better marketing for you.

When Duplicates Are Good

August 9th, 2009

The lights in my house force me to go through something similar to Schlemiel the painter’s problem. It is located at the entrance to the living room. The problem is that the entrance to the bedrooms is on the other side, so when I’m going to bed, I have to walk back to the other side of the room in order to turn off the lights, and then walk back in the dark into my bedroom. While I appreciate the physical exercise (and memory exercise for remembering where all my furniture are so I don’t trip over them), it surely wasn’t a design goal for the location of the light switch.

This problem could benefit from duplication. In fact, my previous apartment had exactly this. Two light switches, one at each end of the living room. you enter from the doorway through the living room and exit to the bedrooms. This let me turn off the lights as I exit a room rather than forcing me to turn off the lights from the other side of the room then walking the rest of the way in the dark.

I say duplication, some would say redundancy, but redundancy implies that the second copy is useless. That’s not the case. Duplicating things can improve reliability. Harddrives in the RAID configuration improve reliability by storing the same data in two or more seperate harddrives at the same time. If one of the harddrives fail, there’s another copy readily available. The topology of the internet relies on DNS. DNS servers are duplicated around the world to mitigate the chance of a DoS attack that would bring down the internet.

You might duplicate your house keys in case you lose a set. Accountants record a transaction twice in two seperate places to help prevent fraud and human errors. A deduction from one account must be followed by an equal and opposite addition into another. (I believe that’s the third law of accounting or something). Websites duplicate links on the same page so people find things easier. You’re duplicating information when you put todo list items on both your calendar and your diary to help you remember them.

Duplicates improve convenience and reliability. The person who designed the lights in my apartment failed to do the former.

Telcos And Price Descrimination

August 7th, 2009

Monopolistic Telcos in Australia like Optus and Telstra charge enormous rates for their plans. A typical call is almost a dollar a minute in addition to a 30c “flag fall” connection fee. They do this because it allows them to use “caps” to give the perception of value.

Pay $50 for $500 dollars of value!

Bullshit. $50 will get you $50 of value, that’s the definition of value. Furthermore, telcos will charge these overpriced rates if a careless consumer goes over her cap. If you go over your cap,  you lose; be prepared to pay another couple hundred dollars on your next bill.  If you go under you lose the “value” you paid for but didn’t use. At best you can break even, and the odds are against you.

Here is a snapshot of Optus’ ridiculous pricing.

pricing

Ridiculous pricing structure, Aug 2009

For anyone who is too accustomed to this kind of pricing structure for mobiles to notice the peculiarity, imagine a grocery store who said,

Buy up to $200 worth of oranges for $10! <smallfont>Oranges are $5 each.</smallfont>

You rarely see this anywhere else but a mobile company.

A small player in the mobile market, Exetel has more realistic rates. The kind of prices that you would expect to see at a supermarket.

exThere, simple. You pay 25 cents per minute, no flag fall, reasonable data rates, no bullshit “value”. This is much better value than Optus prepaid rates (after you do the math).

Here is the surprise, ready? This service from Exetel uses Optus as the underlying carrier. That is to say, Exetel is an Optus mobile reseller! This is price discrimination.

A Microeconomics 101 Explanation

Under a typical demand and supply graph, the point at which [consumers] demand meets [telcos] supply sets the price and quantity sold. The utility (or value, or surplus, whatever you call it) for the consumer is the area above the price line(p0) and below the demand curve. This is because there are consumers who are willing to pay more than the market price for the service, so the difference between the price and the demand is excess value. The total value is the sum of all those differences. Similarly, the value to the supplier is the area below the price line and above the supply curve. Intuitively, the total utility is maximized at the price where demand meets supply.

surplusNotice that with demand and supply curves of similar elasticity (gradient), the consumer surplus and supplier surplus are roughly equal. However, suppliers (usually monopolistic ones) can absorb consumer surplus by selling services at a higher price to those willing to pay more.

image004By selling different quantities (u,v,w,x,y) of the same product at different prices (p,q,r,s,t), the supplier can eat into the consumer surplus to maximize it’s own profits.

Searching For The Solution

This discrimination only works if those willing to pay more cannot get a better deal elsewhere, and are forced to pay the higher price. Thus, this works better for telcos if there are fewer competitors.

The solution then is not just more competition, but more competition on price. Businesses set themselves a part product differentiation where they sell services that are slightly different from one another which allow them to avoid competing on price and instead compete on those little differences.

Competing on price is expensive to business, but consumers win. We consumers have been losing against telcos for too long. The only way to win is to make decisions based on price to encourage price competition. The rediculous price structures allow telcos to compete with product differentiation by offering slightly different plans while making it a non-trivial task for us to work out the real value. This has to stop. Think, what can we do?

Linux Needs More Polish

August 7th, 2009

The wonderful thing about Linux is that it has a philosophy of free software that’s followed religiously by it’s proponents. Linux evangelists have convinced enough volunteers and sponsors to create the most complex yet usable software ever. Ubuntu is the first and only Linux distribution that has been successful among average personal computer users, but it has a long way to go before it can compete with OS X and Windows. Ubuntu is where it is now because of great leadership, a focus on usability, and standardized features. It’s more polished and usable than other distributions.

A polished product will just work out of the box. A polished operating system won’t get in the way of your work, instead it will make  your work easier. A polished operating system will provide a consistent high standard of user experience through out.

Linux has a lot of functionality. I can do 99% of everything I want to and can on windows or OS X, but that 1% margin matters. Using it just doesn’t feel “right” sometimes. Why can’t my wireless card just work? Why is the UI so ugly? Compiz fusion attempts to make it look better, but at the cost of usability. The animations and glitches just gets in the way and provides no usability value. It does some things really well like having an apt package manager, while leaving out other areas that completely ruin the user experience.

Like any religion, followers will loose faith once they discover that it’s not all harps and clouds. The philosophy behind it satisfy the most devoted followers, but it won’t satisfy the masses. It needs the polish, it needs leadership, it needs standards. If something works on my computer, it should work on yours too.  The average user doesn’t want to spend hours trying to do something as simple as mounting a USB. Sure, a Linux guru can troubleshoot it in seconds, but the average user expects it to just work, and if it can’t do that, there are better operating systems that can. A couple hundred dollars on a first class operating system is a small price to pay for the hours saved configuring and trouble shooting a second class operating system.

The average user expects consistency. We need a standardized UI, a standard way of managing installed software, a standard video player to play videos. Ubuntu has done a good job of this. The average user expects things to work. The average user expects the kind of polished user experience from Windows and OS X. The average user expects these things because the competition has been able to deliver them. If linux wants a share of this demographic, it’s going to need more polish.

This post was inspired by Jeff Atwood’s post, Code: it’s trivial

Juice Should Come In A Can

August 4th, 2009

I drink too much coke. Coke is convenient when it’s in a can. It’s small enough to hold in your hand, and there’s no annoying bottle cap to deal with. Caps are annoying when you plan to finish the drink in one sitting and  you have to hold it with your other hand. Caps are annoying when you’re sitting at your table and you always seem to knock it on the floor. Cans are conveniently cap free.

Juice is more healthful than coke, and it costs about the same amount, yet it’s not as convenient to drink. I want to see more juice in a can. I want to be able to buy a 24 pack of juice cans at the supermarket. I want to be able to sit at my desk with a can of grape juice.

Grape_Juice_Drink_250ml_Plastic_Can_OEM_China seems to have them everywhere, why can’t we?

Quay

July 21st, 2009

Whenever I see this word, my mental voice says ‘kway’. Why is it pronounced ‘key’? Words should be spelled the way they are pronounced, and words should be pronounced the way they are spelled. English is complexed enough as it is, why make it more complex than necessary? Language is a medium of communication, so it should be only as complex as necessary to convey ideas. It can have some extra features like synonyms because they help distinguish subtle differences in meaning and allow alternatives for creative expression, but features like arbitrary pronounciation rules add no value to a language.

If you designed a language today with a goal of efficiency in mind, I wonder what it would be like. Mathematics is an efficient language, but it’s a language for logic, not natural expression. In fact, it’s a horrible language for natural expression. It needs more ambiguity. A little bit of ambiguity is good in a language because it allows you to be creative, make puns, double entendres, and metaphors. Theres little room for that in mathematics.

An efficient natural language should allow anyone to express what they are feeling, their ideas, a set of instructions, an argument, and any form of verbal communication as easily as possible, but it needs to be flexible enough for a poet, a novelist, and any creative linguist to create verbal art like ones we have today, or better yet, allow poems to be even easier to write. Imagine a language that makes writing palindromes easy? Or a language where all words ends with similar sounds which make rhyming easy. What about a language where the accent on a vowel convey an emotion?

There are countless interesting features this language could have, the trick is finding a set of features that work well together. Whatever language features it has, let’s not have spelling “exceptions” that make English such a horrible second language to learn. When you are spending more time learning about spelling exceptions and silent letters than learning to communicate with that language, there’s something wrong. If you’re not a native speaker who grew up with these arbitrary rules, you’ll notice them. If you speak another language such as Spanish where pronounciation is almost never a problem, you’ll notice.

This is one of my pet peeves, unfortunately, there’s little I can do about it, but it does make me want to learn more languages!

Grand Theft Auto 4 PC, DRM, and why I’m not an early adopter

December 4th, 2008

It’s been at least a year since I last purchased a video game for the PC. Call me picky, but I don’t have much time for video games anymore, and if a game doesn’t grab my attention like finding an Asian who holds political office in Australia, I won’t spend more than a couple hours playing it. I’m sick of the sci-fi, alien-invading, zombie-infested distopia that has plagued the popular first-person-shooter genre, fuck half life 2.

Rockstar Games’ recent title ‘Grand Theft Auto 4′ did just that. To me it is like the entire Australian parliment being over run by Asians…ok, bad analogy. In the words of Dr. Kelso from scrubs, “there’s nothing like scoring a Caddie and mowing down street hoes”, and sometimes, that’s all I want to do in life; I don’t want to kill zombies or aliens. It’s a game that fulfills fantasies. Needless to say, I bought the game as soon as it was released on PC.

Commercially, GTA4 had been a huge success on the xbox 360 and PS3 receiving perfect scores from several reviews while breaking many sales records. It’s release on the PC yesterday (December 3, 2008) had be widely anticipated. I’m not normally an early adopter when it comes to new techology (which includes software), because technology today is very complex, and there’s an internal conflict between the marketers pushing for release dates and developers trying to meet quality assurance guidelines. In the case of GTA4 for the PC, marketers won the battle. The prospect of releasing just before the celebration of a few days of extravagant consumerism that we call christmas is too great an opportunity to miss. Thus, this release date was much too early. The game is plagued with bugs. A list of common ones with possible solutions can be found here.

Rockstar has quickly responded with some possible fixes and a statement stating that they are working on the problem.

An interesting bug that I’m experiencing is the “missing textures” bug, ironically it occurs on the video card listed as the card that meets the official minimum requirements for the game to be reasonably playable. This is alleged to be a problem with Nvidia’s drivers and Nvidia is “working on the problem”.

My guess is that many disappointed PC gaming fans of the series won’t be playing this for another couple weeks.

On another note, it’s sad to see PC games being over run by DRM. Not only do you have to install the game, but you have to authenticate online, get an account on something called social club, which needs to connect to a windows live account for online play. compare that to “put the disc in the drive and play” for a console game.

I understand that piracy is killing PC gaming, but having such complex and error prone DRM schemes is not a good solution. Those who pirate games will find a way to crack it, because it only takes one person to crack the game and release it for mass piracy to occur, and any computer security expert knows, nothing is secure, especially if you have physicall access to the machine running the software. Those who do the right thing and purchace the game legally are punished with a 10 step installation guide that takes about an hour to complete even for the tech savvy gamers.

I should have listen to my anti-early adopter voice and let the brave early adopters bare the risk. Maybe I should get an xbox 360, it’s been out for a while and they’ve fixed most of the kinks.

Silly thoughts that keep me awake at night

November 1st, 2008

Before you go to sleep every night, what do you think about? Do you reflect on the events that happened during the day? Do you think about how you’re going to talk to that girl/boy whom you have a crush on? What about that embarrassing thing you said when the wrong person was in the room? …Do you think about number theory?

I’ve thought about all of the above and much more at one point or another. Some of those things make me sleep better at night, others keep me up till dawn. I sometimes ask myself, “is this the direction I want to be heading in life?” The answer is never quite clear. What are my long term goals, do my short term goals complement the long term ones, and are my decisions and actions helping me reach them? To which I answer, “what goals? I don’t have long/short term goals!” I don’t have very specific goals, but I wish did, and I wish I could answer those questions. I’m not certain about what I want out of life. Is anybody certain, really? What I do know is this: I want to achieve balance. A balance between work and play. I want to experience excitement, but I also value my quiet time. I have ambitions, but if I had to, I wouldn’t don’t want to sacrifice everything else in my life to pursue them. Having balance is a very generic want, but I don’t think it’s very common to see it fulfilled. Without more specific goals, I feel that anything that fulfills my wants comes only as a stroke of luck.

I love my degree, I enjoy the theory that makes todays technologies possible, and putting it in practice and actually seeing a piece of technology being created, even if it’s something small or a recreation of something that already exists. I enjoy programming because I like creating things, and I enjoy solving problems. I’m lazy but I like efficiency, that’s a common characteristic I see among my peers. We hate doing manual work, especially repetitive work. Who doesn’t? Programmers can do something about that. We can write programs to do the work for us, sometimes writing those programs can take longer than the work itself, but it’s all worth it, because we turned something boring into something challenging and exciting. Nevertheless, sometimes I wonder, do I want to have software development as a career? Sure I enjoy computer science in academia, but there are a lot of things that come with real work that is very boring to me. Having to learn a programming language that I don’t like, having to read other people’s badly written code–badly written because they were under a deadline and couldn’t design it properly, which unfortunately is the state of most code I’m expecting to see in the real world. There is a tendency for us to rewrite code from scratch because code written by someone is always less legible and elegant to the someone else reading it, but that’s one of the things that I need to learn not to do.

I’ve gotten myself into things that prevents me from focusing on and enjoying my degree to the fullest, sometimes they prevent me from enjoying my degree at all. In exchange, I’m a part of something different like producing a theatre show and being on stage in front of hundreds of people to watch them laugh and cheer for something that we’ve created. Is it all worth it? I think so. There will rarely be any more opportunities to do this kind of thing after going into the workforce. Many people have told me that it’s too much stress and time commitment and that it’s totally irrational to do it with a full load of uni work. They might be right, and I also think that it’s irrational. Those observing from a distance can see a clearer picture, but they tend to miss finer details that make doing this worth it.

I need to stop thinking. I need a peace of mind.