Wednesday, December 02, 2009

Twitter on Citysearch.com

With the new Twitter integration on citysearch.com you can have a conversation directly with local business owners, for example: Solyn Studio

Citysearch is not a social network, so that conversation is not held captive on our site. The dialogue appears simultaneously on Citysearch and Twitter.

Room For Improvement

There are a few aspects of the integration which could be improved, beyond some minor layout refinements.

If you are signed into Citysearch, you have the option of linking your accounts. Currently this OAuth happens on the back-end after visitors enter their Twitter credentials into the site. This preserves the nicely integrated Ajax experience, but is a bad security design pattern. Hopefully we can switch to using RPX and use their OAuth workflow.

Another part that should be improved shortly is the way we load the tweets. We are relying on the Twitter search API to pull any tweet from, to, or mentioning the business. But in addition to stability issues, the search API has trouble pulling older tweets. It is also very aggressive about blocking "spam", which is what the posts of many businesses appears to be.

Update

I had under-estimated the lazyness of our Java developers (a foolish move, to be sure). The search API is only supposed to return the last 7-10 days posts, so it is not the correct API to be using for our integration.

New Twitter Account Signup

I don't know how many sites have been white-listed for this new feature*, but one cool thing you can do is sign up for a new Twitter account directly on Citysearch. Once a business owner has claimed their business (a new free feature) they may enter their Facebook fan page and Twitter account information. But if they don't have a Twitter account, or haven't even heard of Twitter, we offer the ability to sign up for a Twitter account using Citysearch.

We also suggest a Twitter handle for the business owner, if the most logical handle has not already been taken.

Our hope is that this new integration will benefit all parties. Business owners will be able to communicate directly with clients. Twitter will get exposure to a new audience of small business owners (and maybe one day find a business model?!). And Citysearch will facilitate the connection.

*Update

We were the first site to launch the new twitter sign up feature.

Thursday, November 26, 2009

Weekender's GTD

If you google GTD you'll find all kinds of over-engineered systems for getting things done. A good proctrastinator can spend a lot of time building a system without actually accomplishing anything.

At work we've recently switched to the Scrum system, which strikes a good balance between organizational overhead and actual work. But for an individual on the weekend it's too much. And the priorities are different. On the weekend, if you've got a regular job, slacking off is an important part of the schedule.

My system is built around a list of tasks and operates in two different modes, depending on what I'm trying to accomplish.

The first step is always the same: make a list of prioritized household projects. They can be regular chores like cleaning the cat boxes or doing the dishes, or one-off tasks like fixing something around the house. Generally they'll each take 10-30 minutes. If they're longer break them down into smaller pieces.

For a relaxation day here's what I do. I look at how many hours I've got, figure out how many tasks I need to do per hour to get them done. Then I drop the list and go watch TV, or play a video game, read a book etc. But here's the key. At the top of each hour I pause what I'm doing and bang out the necessary tasks so that I can get back to slacking off.

Creative personal projects, like design or writing, will eat as much time as you'll give them. I've got two approaches. One is to treat the project just like my relaxation approach, breaking hourly to do the required tasks.

But if the project requires a sustained period of time, hours of focus without distraction, then you may only have one choice: do all the necessary tasks immediately. Then you'll have the rest of the day to focus.

Now, if I want to be really productive here's what I do. I break down my fun stuff, be it watching a TV show, taking a hike, mucking about on the computer, into finite tasks. Then I prioritize them along with the boring stuff and just work down the list.

Two important things to keep in mind. One is to make sure nothing on the list takes more than an hour, max. If you think it might then break it down into smaller parts. This helps with momentum and with the next important thing. Make sure the fun stuff is mixed in with the obligatory stuff.

In the end these systems are all about using the stuff that you actually want to do as motivation to get what you need to do done. They're also about prioritization and momentum.

Update:

I forgot two important things, probably more important than the rest of my ramblings.

  1. You need a portable copy of your list. I use an iPhone app, but a 3x5 card works.
  2. You need to ask your significant other if she/he has anything that needs to go on that list at the beginning of the weekend.

Tuesday, November 24, 2009

CSS Talks

Skilled front-end coders are hard to find, sometimes you just have to make them...

The following is a series of lecture topics I covered with my UI team at Citysearch. I'll write a post with an overview of each and links to further reading.

  1. precedence
  2. class-itis
  3. floating against
  4. opposing floats
  5. .clearfix
  6. equal height columns
  7. centering
  8. making the absolute relative
  9. CSS reset
  10. B.R.A.T.
  11. sane CSS type size
  12. CSS sprites
  13. shorthand
  14. single line format property order
  15. hasLayout
  16. sliding doors
  17. microformats
  18. overflow
  19. min/max-width
  20. negative margins
  21. margin collapsing

Wednesday, November 18, 2009

Mobile Website

If you are viewing this on your phone hopefully you didn't have to zoom in to read it. I just launched the mobile version of this site using MOBIFY.

The address for now is http://divinentd1.mobify.me/. I'm using JavaScript to detect your device and redirect. Both of those things need to change. The address should be m.divinentd.com, and instead of JavaScript (which is bad for performance) I need to handle the redirect on the server side. I'm hoping to pull it all off with .htaccess, wish me luck.

Sunday, November 15, 2009

Back on Blogger

My last post was one year ago, almost to the date. And then my blog got hacked. I repaired the damage, but ended up locking the site down because I couldn't solve the cause of the vulnerability, a WordPress install that wouldn't upgrade.

Now I have redesigned the site, which I'll write more about later, and moved back to Blogger, which I'll touch on now.

When I first started blogging at the tail end of 2000 blogger was the hot new thing. Then I stayed with Blogger for 7 years. What can I say, I'm not a fan of migrating data and configuring crap.

But eventually the lure of greater typography drew me to WordPress. For about a year I enjoyed the greater control of hosting my own blogging software. It came with a price. I missed an upgrade. And then when I tried to apply then next one, it failed.

So now I have moved this journal back to Blogger. In the year that this site lay dormant I've learned a lot from working on a high traffic public website at my day job. My previous job's focus was on security, my focus at this job (and the site's current failings) have to do with speed.

Security

With Google hosting the blogging software for this website I don't need to keep it up to date. Also, serving the pages as static HTML (ok, there may be some PHP involved, but that's a secret), even if it did get hacked and somebody injected a PHP file, it's not going to do anything. Go ahead, try going to http://divinentd.com/links.php.

Speed

There's nothing faster than serving static files. No database queries, no run-time processing of the page. The site on Blogger is simply faster than it could ever be running on other blogging software.

Conclusion

In the end I'm happy to have moved back to a low tech reliable solution. This way if I decide tomorrow to not touch the site for another 6 months, I don't have to worry about anything happening to it while I'm gone. The piece of mind is worth any loss in geek credibility.