Skip navigation

Category Archives: Mystery Web 2.0 Website

I just spent the last many hours fixing bugs. I can’t imagine how many there are …
Gee I’m so stressed out with hardly any sleep AND I need to go have a meeting later today for a stupid University project. I’ve been threatened of being kicked out of the subject for not contributing enough to the project. BS. Why do I not give a shit about University anymore? And I don’t respond well to threats.

But before I have that meeting I need to go to my sister’s birthday lunch thing. I’m getting ulcers in my mouth >.<

So far nobody has joined the site yet … even though I sent out 50 or so invitations.

Ahhhhh this is sad.


Okay, this is the unofficial “pre-beta” launch of The website is still pretty unstable but is open to everyone (who is reading this post), for testing. If you are interested in testing the website go to:

The /penpal is required for now. You will be able to access directly when the testing period is over.

Depending on whether there are serious security breaches during this testing period, the website’s database may be reset after a few days before the “official” launch. If all goes well then nothing will be reset (hopefully this is the case).

Also, there are parts of the website that are obviously missing or incomplete. I’m keenly aware of this ๐Ÿ™‚ However if you find any bugs please comment here. Any feedback welcome. Thank you!

Finally I think the pagination is all done. Now I just need to fix a few things, then the website should be online sometime in the next few hours 24 hours.


pagination! yes this is how it appears on the site

I posted about choosing a webhost a few days ago and listed some webhosts that I was considering to use. MediaTemple wasn’t one of them, but I’m pretty sure I will go with Media Temple’s Grid (gs) plan for $20 a month. This is their lowest-end plan.

Yes, I have heard that lots of people had a lot of problems with Media Temple’s Grid hosting plan – downtime, slowness, the whole lot.ย  So why am I considering Media Temple’s (gs) plan? One reason is that I really like their higher end dedicated virtual (dv) plans a lot and MT doesn’t seem to have any problems with them. So, should the site become successful and draws significant traffic, I want to migrate from the (gs) plan to their much more reliable (dv) plan anyway. I think it’s MUCH easier to migrate a site within a hosting company than between hosting companies.

Second reason – MT’s site looks awesome. Yes I have heard the mantra, “Don’t judge a book by its cover”, but the awesomeness of MT’s site seems to point to their passion and commitment to what they do. I can judge companies for their up-time, support, pricing, technology etc, but I believe that passion, above all, is what’s most important. And MT shows it. So I’m pretty sure I’ll be hosting with them.

The third reason – MT’s worst problems with the Grid was back in 2006 and 2007. It appears the Grid has stabilized a lot more since.

The fourth reason – Notable companies such as Adobe and Starbucks have dealt with/are doing business with MT. This probably isn’t a really good reason, but still it gives me some confidence ๐Ÿ™‚

The fifth reason – MT has a AA rating from the Better Business Bureau.

The sixth reason (and probably the biggest one) – Intuition!

Financial viability in terms of bandwidth usage. Now that’s something I didn’t think much about. Now I’m feeling pretty depressed after doing some maths on bandwidth usage.

Mathematically, it’s extremely unlikely that the site’s revenue (if any) will be able to cover its own bandwidth costs when launched. Taking into account all of the users’ submitted media, the bandwidth usage would skyrocket way past a budget host’s limit. Also, Google’s Adsense (which is what I hope to implement) is a poor revenue model for social networks/profile sites. And that’s all assuming the website will attract users, which was never so likely in the first place.

Very depressed.

But Harper Lee’s Atticus once said, “Courage is when you know you’re licked before you begin, but you begin anyway and you see it though no matter what“. Licked is a slang term for “defeated”. That quote has stuck with me since studying the book To Kill a Mocking Bird in 9th grade.

So that is what I am going to do.

Besides, it’s never all for nothing. Regardless of how the website turns out I will have learnt about many things –

  • Web development in general
  • PHP
  • The CakePHP framework
  • SEO
  • Making good content
  • Some marketing strategies
  • The software development process
  • Information Architecture
  • Time management
  • How much time a simple web application really takes to build!
  • It’s a bad idea to be a 1 man team! Have at least 2 or 3 programmers in a team.
  • What I’m talking about in this article.

Oh, and I’ll definately put the on my CV as one of my personal projects ๐Ÿ™‚

But let’s not be so self-centered, yeah? With what I’ve learnt I will –

  • Write tutorials to help others with the programming problems that I encountered during development
  • Write tutorials about the development process
  • … and many other tutorials

Alright. Enough writing. It’s time to get stuff done! And remember the quote.

Nothing but headaches over here.

I have to make several changes to some forms because of usability issues. What this means is that the backend code also needs to change too. It’s a lot more complicated than I first thought. A seemingly simple change to the user interface layer can cascade right down to the database layer of application.

One of the problems I’m having is the use of multi-select boxes (the box where you hold down CTRL to select multiple things). This form element is a usability nightmare. So now I’m refactoring the multi-select boxes into several, single dropdown menus. This means I need to rewrite some backend code as well.

Usability issues aren’t the only problem. There are a few fundamental issues with the database design too. I’ve also done a fair amount of poor programming and lots of code needs to be fixed!

The revised launch date is now the 28th of July 2008 (hopefully I won’t have to change it again)

Soldiering on …

Looking for webhosts is so incredibly difficult. However, I’ve come down with a shortlist:






Those hosts are all in the United States. I decided not to host in Australia although I live here, because the hosting in the US seems to be better. Truth be told, the Internet infrastructure here in Australia isn’t as developed as in the United States. I just couldn’t find Australian webhosts that suited my needs and I could afford.

I considered the following criteria when looking for the webhosts:

  • Their website presentation (do they use CSS and does their site validate?)
  • Extensibility (if I grow out of shared hosting can I upgrade to VPS or Dedicated?)
  • BBB rating
  • Does the company oversell?

Picking a webhost is HARD!

It seems like I have decided not to implement a progress bar for file uploads after all! I’ve determined that it will take too long to implement, and the more appropriate course of action is to use a far simpler solution: file upload activity GIFS.

This is very simple to implement. When the user clicks the submit button on your form to upload an image, you have Javascript access the HTML DOM and make an activity gif appear. Then when the image finishes uploading, the page refreshes. Of course, the user won’t be able to see the actual progress of the file upload, but can see that something is happening. The disadvantage is that if the upload hangs, the user might not know as the GIF will still be animating away.

There is no AJAX involved in this process, just pure Javascript. The link I gave you has the title Ajaxload but this method does not require an XMLHttpRequest object. It’s simple.

Have you ever been to sites that don’t have a progress bar when you upload a large file? It’s very frustrating not knowing the upload progress of large files. Many just think the download has hung up and quits the site.

As a consequence I’ve been trying to implement a progress bar for uploading large images. After Googling around I came upon SWFUpload. It’s a hybridย  Flash/Javascript library that handles file uploads and of course it can display a progress bar. Implementing it is more difficult than I thought.

The problem is that you can’t just copy and paste SWFUpload code into your application. Proper implementation requires knowledge of Javascript and my knowledge of it barely scratches the surface!

I think I’m making progress – I’ll make a post once about this topic again when I successfully implement it.

I’ve spent most of today reading books and articles. Here’s some of the stuff I’ve been reading:

Now I’m getting back to coding. By the way I wonder what editor people use when coding in PHP. I’m using Notepad++. I’ve tried moving to many other editors and IDEs but have always come back to Notepad++. It’s just so lightweight and easy to use. And it’s coded in C++. The only other editor I would consider using for my current project is Crimson Editor, for mainly the same reasons as Notepad++. But it doesn’t look as pretty ๐Ÿ™‚

Project aside I really need to get some exercise. I’m planning on going for a long bicycle ride this week … even though the weather’s freezing here in Melbourne, Australia!