Wednesday, February 25, 2009

3,500 collectors on Colnect

Yesterday Colnect has passed the mark of 3,500 registered collectors. This is an increase of over 17% during the last 2 months. Just before starting this year, Colnect had passed the 3,000 collectors mark. Considering the fact that ridiculously little marketing work has been done (~$50 spent on ads...), I see this as a very respectable achievement that continues the growth that started when Colnect V2 was released.

How do collectors learn about Colnect?


As Colnect allows collectors to manage their personal collection and semi-automatically manage swaps with other collectors from around the world, it's the collectors' own interest to have their collector friends join the site. Why would a collector go through the swap and wish lists of another collector manually when a match to his own lists can be done using a single click?

So what's next?


Colnect will expand to more collectible fields as requests come from existing members of the community. Some requested premium services are also planned.

Thursday, February 19, 2009

BE CAREFUL when using both AdSense + AdWords by Google


Do you have a website and using both AdSense and AdWords? If so, this post will interest you. You may start by looking at the attached picture.

AdWords and AdSense are the different sides of the same coin and Google is in the middle, biting on the metal. AdSense allows website owners to show different ads from different advertisers on their website and receive revenues for it. AdWords allow you to advertise your website on many other websites running AdSense. Google takes its commission for providing both these services. Though many other competing programs exist on the web, Google's generally have good reputation.

Advertising my site on my site?!?!?!


This morning, I was amazed to see an ad to my website for collectors on the same site! Had I clicked this ad, my AdWords account would have been billed for the click while my AdSense account would have received some revenue. Obviously the latter would be lesser since Google get their cut. This is, of course, ridiculous and should be automatically prevented by Google. Apparently, it isn't. Just to ensure you that I'm not an idiot, the ad is for colnect.com and the website is on the same domain - colnect.com

I usually view my own site with ads disabled so I don't accidentally click an ad and violate the terms of service. This time I was at a friend's house and am quite happy to have stumbled upon the aforementioned bug/feature.

Quick Remedy




Both accounts allow you to use filters and I've now added "competition filters" for my AdSense account that will prevent showing ads for any of my domain. It's also possible to filter out sites on AdWords but this can seemingly be done only on the campaign level so if you're running many different campaigns, it'll become tedious. See the attached pictures.

Saturday, February 14, 2009

Upto 80% Speed Increase on Colnect with Symfony

I have managed to cut up to 80% in loading times for Colnect's pages. This is going to be a technical post that would hopefully help others using Symfony framework on their websites. Please mind that for many sites, caching can and should be enabled. On Colnect, however, a lot of pages (especially the heavy ones) cannot be cached since they need be calculated on every request from the same user. If your site is not very dynamic, using APC (if you have a single server) or memcached (when you have many) is the best thing you can do for performance.

Partials are evil


Maybe not that evil but they take their toll on your loading time. The worst is when using them inside a loop as the price increases linearly. Use helpers whenever possible but make sure you load only the necessary helpers on each call and don't try to re-load helpers when inside a loop.

Re-use function results


Symfony encourages you to use methods and functions repeatedly, for example sfContext::getInstance()->getModuleName();. Obviously, the more calculations, the longer things take so whenever you need to re-use results, save the variable content.

A good PHP structure for re-using results is:

function foo_calculate() {
static $result = null;
if (is_null($result)) {
# perform calculations
$result = calculation results...
}
return $result;
}


Escaping PHP and going back to PHP takes its toll


Using
?>xxx
is more costly than
echo 'xxx';
See code on the next paragraph.

Using many echo calls slows things down



It's better to accumulate output in a variable and call a single echo.
The following code performs simple tests so you can get a feeling of the differences in execution times. Run it a few times (when all other applications are closed) since results alter a bit every time.


public function executeCompareOutput(sfWebRequest $request) {
$times = 100000;
echo 'Looping for '.$times.' times - results in msec';
echo '<-div style="display:none">';
$start = microtime(true);
for ($x = 0; $x++ < $times;) {
echo ' '.$x;
}
echo '<-/div><-br/>'.round(1000 * (microtime(true) - $start));

$start = microtime(true);
echo '<-div style="display:none">';
for ($x = 0; $x++ < $times;) {
?> echo $x;
}
echo '<-br/>'.round(1000 * (microtime(true) - $start));

$start = microtime(true);
echo '<-div style="display:none">';
$sBuf = '';
for ($x = 0; $x++ < $times;) {
$sBuf .= ' '.$x;
}
echo $sBuf;
echo '<-br/>'.round(1000 * (microtime(true) - $start));

$start = microtime(true);
echo '<-div style="display:none">';
$sBuf = '';
for ($x = 0; $x++ < $times;) {
$sBuf .= ' ';
$sBuf .= $x;
}
echo $sBuf;
echo '<-br/>'.round(1000 * (microtime(true) - $start));

$start = microtime(true);
echo '<-div style="display:none">';
$GLOBALS['bufbuf'] = '';
for ($x = 0; $x++ < $times;) {
$GLOBALS['bufbuf'] .= ' '.$x;
}
echo $sBuf;
echo '<-br/>'.round(1000 * (microtime(true) - $start));

die('<-br/>bye');
}


Here is a sample output:

Looping for 10000 times - results in msec
3044
5503
10
15
16
bye


On this run using multiple echo calls + PHP escaping took 55 TIMES MORE than buffering the output in a variable. This clearly proves that the style suggested by Symfony templates, using many PHP echo blocks, is HIGHLY inefficient. If you have a few dozens of it in your templates and your content is cached, this is negligible. If your content is very dynamic, as is the case with Colnect, we're talking about something very worth noting.

Wednesday, February 11, 2009

Colnect's Alexa Ranking Keeps Going Up

Colnect's ranking on Alexa has risen again, now standing at 184,627 whereas ~3 months ago it was at ~360,000 and ~5 months ago ~500,000. I don't even know if it's linear or logarithmic although I guess the latter.

To those who may not know, Alexa ranks many (most?) websites out there of the big WWW. It does that by analyzing the traffic of (mostly unsuspecting?) users who install the Alexa toolbar on their browsers. This nice toolbar delivers the information back to their big servers, they crunch it whichever way they like and then rank the sites according to this information.

Why would anyone care about Alexa's ranking? Well, it has come to be relatively important in the WWW world. It allows you to have some (allegedly non-biased) objective information about how your website fairs on the Internet.

Are the results reliable? The short answer IMHO: no. The longer answer: perhaps, to some length. Since some website owners/operators/SEO personnel think of it as important, they are making an effort to get their ranking up. This isn't that hard, considering the fact the grand majority of users don't have the Alexa toolbar. There are many methods but they're basically about making people who use your site have the Alexa toolbar thus your site will have an improved ranking.

Another important disadvantage of Alexa is that ranking is on a per-domain basis. As such, this blog (which a few read) ranks the same as Colnect (which many frequently use). Personal websites on some free hosting all rank the same so you cannot tell them apart and so on.

Does Colnect try to improve its ranking? No. I did think about it for some time, since after all it may look better to some people, but have decided not to. The main two reasons would be not to spend my time on metrics that don't really matter and the second that since I wouldn't install it on my machine, I wouldn't ask others to do so.

Okay, let's hope this post won't cause Colnect's Alexa ranking to crash :)

Sunday, February 8, 2009

Numbers, Numbers, Numbers...

Many collectors (and non-collectors) really enjoy statistics and so finally the long awaited counters have now been added to Colnect. So when a collectors sees all coins in Colnect by country, there's now a small number indicating how many coins of that country are available on the database. The same goes for stamps and phonecards.

The big benefit becomes clearer when looking at a collector's collection, swap list or wish list. It's then very easy to know how many items the collector has of each country, company or even series.

Here's for example the information for an expert collector on Colnect, Czech RepublicDravec

Phonecards

Collection: 7,546 Phonecards
Swap list: 1,290 Phonecards (Match with my wish list)
Wish list: 6,199 Phonecards (Match with my swap list)

Stamps

Collection: 1,137 Stamps
Swap list: 3 Stamps (Match with my wish list)
Wish list: 5,678 Stamps (Match with my swap list)

Coins

Collection: 2,155 Coins
Swap list: 301 Coins (Match with my wish list)
Wish list: 10,938 Coins (Match with my swap list)



On the back end side of Colnect, the system is very flexible in supplying the given information so the real challenge was to try and create an as-intuitive-as-possible user interface. I've recently made a post about usability and the addition of counters and simplification of the user interface that followed is a big step forward.

Friday, January 30, 2009

Phonecard Puzzles

When a few items can be combined to a bigger one, it's a puzzle. A new and unique feature of Colnect shows the combined puzzle items together so that collectors may see the whole puzzle, even if they've not yet obtained the physical items. Puzzles are more common for phone cards but may sometimes be found with stamps as well.

Click here for an example Disney puzzle

or better
All phone card puzzles on Colnect

Monday, January 26, 2009

Usability

A good system doesn't only have to offer users worthwhile services but should be as easy and intuitive to use as possible. When people access so many websites, they expect everything to be natural for them. Rarely do people actually read long HELP sections. Frequently they simply play around with the application and what they can't see quickly would many times never be used.

Though these are old news, the user interface on Colnect V2 has initially not been properly designed and implemented. I admit this was a big mistake since it made the usage of existing users much more awkward and wasn't inviting enough for new users. Though Colnect did grow very nicely since V2 has been released, it's likely despite the user's interface rather than because of it.

So the good news is that in the recent days and upcoming days the user's interface will be added with many useful options to make the usage of Colnect as easy and intuitive as possible.

Here are two examples for recent additions:

CSS-only popup menus




Sorting collectors lists by clicking the column header


Friday, January 9, 2009

Colnect's Minor Contribution to World Peace

As Colnect embraces collectors from all parts of the earth and of different languages, it adds a small contribution to world peace. I strongly believe in promoting peace on the individual level. We are all people and though we may differ in our views and culture, we share so much in common. Getting closer to people of different backgrounds allows us to be more open minded and accepting of the differences. When collectors connect, they also make friends in distant places and learn about other countries and cultures.

Colnect's platform allows translation to any language so that people of different cultures can join us and enjoy sharing their hobby with others. Currently 25 languages are translated properly and 5 more are pending translation. All translations are done by volunteers and so any new language is welcomed.

Colnect does not promote political discussions since there are other, more suitable, sites for that. The lack of politics on Colnect allows all to join in and make friends without prejudices.

Though personally I come from a turbulent region, Colnect isn't and wouldn't be identified with any specific country or political stream. The English language is used as Colnect's base language only because it's the most popular language on the web world for now.

Happy collecting and peace to us all :)

Wednesday, December 24, 2008

Very happy holidays :) Over 3,000 collectors on Colnect

As 2009 is looming, Colnect has happily announced that its community now has over 3,000 members. Colnect's community growth rate has been on the increase, especially since the new Colnect V2 site has been launched during the midst of October. Since now Colnect caters to stamps and coins collectors, it has found a new crowd of people interesting in managing their personal collection easily and connect with other collectors from around the world.

Colnect's development relies on the assistance of its ~70 contributors who volunteer to translate Colnect, update its database with new collectibles and help with various tasks.

Though this blog has recently been quiet, a lot has happened on Colnect recently. The lack of a PR department in Colnect takes its toll and certainly Colnect would have bloomed much sooner with such. New features and fixes are added daily to the site and the contributors help update the catalogs on a regular basis. Colnect's collectors forums provide more detailed information about recent updates to the site.

Wednesday, November 5, 2008

iGoogle Collectibles Gadgets

Colnect has just released 3 iGoogle gadgets that you can see right here on the side of this blog. Read all about these cool collectibles gadgets.

Here's the description:
A cool gadget for collectors! See a new random collectible item. Click the picture to see complete information about the item: which memebers of Colnect Collectors Community have it on their collection, swap or wish list. You can easily manage your personal collection on Colnect and find swap buddies from all around the world. The huge catalogs on Colnect are created by collectors for collectors. Join Colnect now. It's fun, it's quick and it's free! Happy Collecting :)

Some personal thought about the current crisis

The economy fluctuates. It's actually a part of the bigger truth saying "the only constant thing is change". As with every change coming, you can either fight it or embrace it. Since fighting many times does no good, IMO one should embrace change and see how to get accustomed to new situations as they arise.

Colnect is embracing the change in the economy. So far it has maintained a positive cash flow and will continue to do so in the future. Now is probably not the time for big spendings or risk takings. Now is the time to spend less but do more with the resources available.

An interesting campaign I've came across made me even more aware of how some companies (as well as some people) do not try to prepare for a gloomier future although the writings are clearly on the wall. The campaign was for mobuzz.tv, which I haven't known before. Apparently, they're burning 50 grands a month in producing 5 daily shows a day and now they're vying for donations because they've ran out of money. They expect to raise Euro 120K in one week with donations of 5 Euro. Yes, they really expect 24,000 people to donate them 5 Euro each in a week. They just need it for 3 months and then they'll get the funding they need.

Pardon me cynicism, but I'm not even sure that FaceBook, with its huge worldwide users community, would have been able to raise 24,000 donations in a week. There are probably much sadder things happening in the world today to which one would donate. Skinning living dogs & cats is one of them.

The truth is that although I have no idea about mobuzz's business, it seems (at least on the surface of it) that someone there has not done a brilliant job planning the business side of the company. How do you get to run out of money in a week? Can't you tell when you have only 6 more months to live and then do your best to raise capital alongside with cutting expenses sharp? How can you be sure to get funding in 3 month? In a happy market you can't be sure about it, so now?

The technical side might have flows as well since there was no link to their shows to see what it is we're supposed to help with. Also, the video took very long to load.

My guess is that mobuzz isn't the only company that's about to close its doors soon due to problematic financial planning. As times get rough, survival of the fittest prevails once more. Heed the warnings out there and be ready for the future. Every storm eventually ends. Good luck to everyone.

Monday, November 3, 2008

Who hacked the network on Google Developers Day 2008 in Israel?

Though the event seemed to be organized quite well, there were network problems occurring which were the reason for me leaving the gathering earlier. At some stage I've got a warning on my browser about invalid certificates for Google.com and naturally didn't decide to accept the invalid certificates. I've told others around me that someone has probably been hacking the network but seemed most people were reluctant to believe it.

Turns out I was right, here's the email sent form "The Google Developer Day Team":


Developer Day
3 de noviembre de 2008 11:02
PLEASE READ: Unauthorized network activity at Google Developer Day

Dear attendee,

First of all thanks for attending Google Developer Day yesterday, we hope you found it useful. Unfortunately, we need to let you know about an incident which took place during the conference which you may need to take precautionary action on.

We identified unauthorised activity on the public wired Ethernet network which was provided by the convention centre for conference attendees to access the Internet. This may have affected a limited number of attendees accessing websites and online applications through the wired Ethernet connection. We have no evidence so far to suggest that the wireless network also provided at the event, and which was used by most attendees, was affected.

Due to the unauthorised activity, there is a chance that if you used the wired network, any user name and password entered to access a website may have been put at risk. When trying to access a secure website (a website using https), you may have received an alert indicating that the page had an invalid security certificate. In any case, we advise users as a precaution to change the passwords for any websites or services they accessed through the wired connection during the conference.

We're really sorry that this has happened but we believe that the vast majority of attendees won't have been affected by this incident. In the meantime, we look forward to seeing you at future events very soon.

The Google Developer Day Team

Sunday, November 2, 2008

Google Developers Day 2008 in Israel

Google's Developers Day 2008 tour has landed in Israel today. Google is looking for developer love and is doing their best to attract it. The main message coming from Google is "Let's work together to make the Internet a better place. The better it is, the better we're all off". Not forgetting that we're talking about a commercial company, not a charity foundation, their approach is, at least on the surface, quite amiable.

Perhaps the most interesting parts of the day, in regard to Colnect, were related to OpenSocial. From their website: "OpenSocial defines a common API for social applications across multiple websites. Built from standard JavaScript and HTML, developers can create apps with OpenSocial that access a social network's friends and update feeds. By using a common API, developers can extend the reach of their applications more quickly, yielding more functionality for users."

What does it really mean? As I see it, FaceBook has taken too big a share of the social networks world than Google (and others) think they deserve. One of the main reasons for the success of FaceBook is the FaceBook applications written by developers and extending FaceBook's functionality in many different directions. The problem is that developers are mostly unable to devote many efforts to writing their social applications to all social networks out there and would thus focus on the biggest ones. Orkut (Google's social network) is surely not the biggest and so the way to convince developers that they should write Orkut-complaint applications, we now have OpenSocial.

OpenSocial supports other networks as well which altogether (according to their figures) serve nearly 500 million users worldwide. Though I'm skeptical of how someone knows my Linked In and Orkut accounts are of the same person (they probably don't share email addresses around), it's still quite a big figure which should be a motivation enough for a developer to focus on it instead (or in addition to) FaceBook.

Colnect is about to release some social applications to the social networks world to assist collectors integrate their collectibles hobby with their other activities and help spread the word about Colnect to fellow collectors. OpenSearch seems an appealing choice since it involves many networks which cater to different crowds which altogether might coincide better with Colnect's target crowd than FaceBook.

Last but not least, there's the issue of Chrome, Google's new browser. While promoting it as simply a means to make your surfing better, it would still have been a bit more amiable and transparent to say "we've made our own browser so that we can make Google search the default search engine and not allow you to block AdWords ads with some addon". If Google really would have cared just for the web users community, it would have simply put more efforts into the existing open source browsers. In my experience, Chrome is still much inferior to FireFox.

Link and Search

Did you like reading it? Stay in the loop via RSS. Thanks :)