Skip to main content

Blogger and Google sites vs wordpress

I've had this blog now for some years. I also recently put up my professional site on google sites. Very recently I've started to set up a blog/site on Wordpress.com

One thing I've noticed for both blogger and sites is that the pages are just not that pretty. I dislike fancy gadgets and tend towards minimal themes. Compared to blogger/sites Wordpress somehow gets the typography and layout just right. Wordpress sites are prettier, for reasons I can not explain.

This is a bit of a pity. Blogger lets you customize EVERYTHING. This is awesome. But no matter how I (an complete amateur in design) tweak, I can not get a pretty enough blog. Sites is horrendous. Everything looks very dull and drab.

Wordpress charges for some themes, and will charge you a bunch to have access to customizing the CSS and layout. It's not as great as free, but in a way I think the fact that Wordpress charges is a good sign. It means that this is a source of income for them. Which, in turn, means that they have an incentive to make things pretty and easy to use and cater to a wide variety of visual tastes.

In terms of usability, Blogger is really easy to use, though the interface can be a bit clunky. Wordpress is as easy to blog on and the interface is pretty.

Google sites, though free, not only looks bad, is very clunky to setup. Wordpress allows static pages as part of a blog (which you can easily turn into the main feature of your site) and this allows you to make very pretty sites.

This whole experience with blogger and wordpress has been interesting and informative. Blogger is a free service given away by google. It is technically very good, but visually not so polished and the interface is passable. Google sites is technically good, but visually unappealing and its usability is horrendous.

Wordpress (the site) offers a basic free version that is good enough visually. It makes money off sites that are willing to pay for more control over appearance. I think since wordpress generates revenue through selling the service/product itself they have paid more attention to visual polish and usability.

Comments

  1. Thanks! I played around with Google sites some and got frustrated. Tried out free wordpress.com and blogspot.com blogs. Did a better job on designing a website there.

    I was just thinking about changing the wordpress blog over to wordpress.com and had the sudden urge to check out google sites again, because, you know, free and all. :) And maybe I've learned something now.

    But this reflects my experiences almost a year ago. So for now, I think diversifying is a good idea, even if it costs a little. :)

    Thank you!

    ReplyDelete

Post a Comment

Popular posts from this blog

A note on Python's __exit__() and errors

Python's context managers are a very neat way of handling code that needs a teardown once you are done. Python objects have do have a destructor method ( __del__ ) called right before the last instance of the object is about to be destroyed. You can do a teardown there. However there is a lot of fine print to the __del__ method. A cleaner way of doing tear-downs is through Python's context manager , manifested as the with keyword. class CrushMe: def __init__(self): self.f = open('test.txt', 'w') def foo(self, a, b): self.f.write(str(a - b)) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.f.close() return True with CrushMe() as c: c.foo(2, 3) One thing that is important, and that got me just now, is error handling. I made the mistake of ignoring all those 'junk' arguments ( exc_type, exc_val, exc_tb ). I just skimmed the docs and what popped out is that you need to return True or...

Store numpy arrays in sqlite

Use numpy.getbuffer (or sqlite3.Binary ) in combination with numpy.frombuffer to lug numpy data in and out of the sqlite3 database: import sqlite3, numpy r1d = numpy.random.randn(10) con = sqlite3.connect(':memory:') con.execute("CREATE TABLE eye(id INTEGER PRIMARY KEY, desc TEXT, data BLOB)") con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", sqlite3.Binary(r1d))) con.execute("INSERT INTO eye(desc,data) VALUES(?,?)", ("1d", numpy.getbuffer(r1d))) res = con.execute("SELECT * FROM eye").fetchall() con.close() #res -> #[(1, u'1d', <read-write buffer ptr 0x10371b220, size 80 at 0x10371b1e0>), # (2, u'1d', <read-write buffer ptr 0x10371b190, size 80 at 0x10371b150>)] print r1d - numpy.frombuffer(res[0][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] print r1d - numpy.frombuffer(res[1][2]) #->[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] Note that for work where data ty...