Chris Ward

Christopher Ward, a web-developer with 8 years commercial experience. Creative design, user experience, front & back-end development and online marketing. The whole enchilada...

Currently available to work, so get in touch.

posted on 17 January 2010

So I'm doing a little vanity search on the G-machine for my 'chrisbward' moniker and I come accross this;

star ratings

It seems that google are now presenting some kind of embedded data into the SERPs!

About two summers ago I would have been in a drive to promote Microformats and/vs. the W3C's Semantic Web... and after a quick rightclick-viewsource, turns out the page in question uses hReview-aggregate model to embed semantic information based on the ratings.

It's unlikely that building stuff like this will improve your rankings in the search engines, it will certainly help the presentation of your results - and that will ultimately lead to more user confidence, click throughs and conversions, right?

I called it a long time ago, but Microformats, inherently, are not the way forward and will cause more problems than good in the future, but for the moment, as evidenced above - they work and they're pretty easy to implement.

Looking into how Google are doing this, it seems that they are indexing both Microformats and RDFa statements... with plenty of examples.

Personally, I'd recommend the RDFa flavour, and now is the time with XHTML 1.1 + RDFa (final) and HTML5 + RDFa (working draft) DTDs now out there.

posted on 13 January 2010

So I've been giving twitterizer, a .net twitter connector a go for this site...

seems pretty straight forward, but then I soon realised that requesting a twitter user object for every request would have been a very slow execution to go through each time

The code below is an example of how I store the user's (mine) latest status object into the application cache to call locally if the last request was less than 20 minutes old

   1:  private void GetLatestTwitterStatus()
   2:      {
   3:          //twitter.com/users/show.xml?screen_name=chrisbward
   4:          if (Cache["TwitterStatus"] == null)
   5:          {
   6:              try
   7:              {
   8:                  TwitterParameters tparams = new TwitterParameters();
   9:                  tparams.Add(TwitterParameterNames.ScreenName, "chrisbward");
  10:   
  11:                  tstatus = new Twitter().User.Show(tparams).Status;
  12:   
  13:                  Cache.Insert("TwitterStatus", tstatus, null, DateTime.Now.AddMinutes(20), Cache.NoSlidingExpiration);
  14:              }
  15:              catch
  16:              {
  17:                  //twitter is down / problems with API
  18:   
  19:                  pnlTweet.Visible = false;
  20:                  pnlTwitterFail.Visible = true;
  21:              }
  22:              finally
  23:              {
  24:                  
  25:              }
  26:          }
  27:   
  28:          tstatus = (TwitterStatus)Cache["TwitterStatus"];
  29:   
  30:      }

posted on 11 January 2010

Using MS' RSS toolkit to generate RDF, I can then examine the output and place inline to the blog post itself and create inline RDF statements

posted on 7 January 2010

Serving AJAX responses to form submissions - appending ?mode=ajax to all query calls - use mod_rewrite to make seamless;

RewriteRule ^(.*)\.(json)$ $1?ajaxmode=true[L]

BasePage should pick up the logic for this, Interface to force good response - will investigate this idea further in practice

posted on 6 January 2010

Tonight, on the commute home my brain, my eyes, were on fire.
I had forced myself to stay about after work to finish off an item on the todo list.

It seems for every idea I finally finish working on, another 10 arrive! but maybe this one was worth taking note...

While fixing up form submission mechanisms, I realised I could drive a lot of traffic back to the site if I correctly engaged with a twitter audience.

I came to detail the requirements;

  • When posting to the blog, the site should tweet and/or post to my facebook wall
  • The posting mechanism must allow me to rule which channels I would prefer to communicate by
  • A posting mechanism should read in '@' characters and possibly alert the intended audience by twitter/facebook

Roadmaps and todo lists are becoming my friend, they help me to keep my eyes on the prize... but I must remember to be tough on myself.

In the end I decided that I would tie said functionality in with the basic blogging engine, a showcase for the CMS services built into SNAPI, and open-source the development.

I could have used third-party code, or a product, but in the end - they don't tie into my plans and won't scale

Another dynamic to the story is that reaching these goals is always going to be a step closer to the end - there will be no refactoring this time round.
I only intend to build content and feedback mechanisms the once, so for me - blogging is a massive win.

SNAPI now has user management and blogging capabilities.

posted on 5 January 2010

Sometimes the ASP.NET framework takes me to a dark dark place, where I wish I was back using in-line PHP, no entities and inline SQL statements.

I launched a dating network that way once... it ran for 2-3 years and amassed just over 30,000 signups.

I knew what I was doing was wrong, and in the end it didn't scale well for my ultimate goal - but damn - It bloody well got the job done...

But then I had big big plans and a switch to .NET was obvious, all that rich functionality - dynamically created WSDLs and an awesome IDE

But you had to let me down so so bad...

posted on 24 December 2009

I've created this blog to detail my professional findings and experiences.

I'll probably aim to post one or twice a month, and use my twitter feed for quick updates.

Topics covered will mostly revolve around my attempts at setting up a sucessful business, observations on online industry and details of new product launches and features.

Unfortunately there's no feedback mechanism for the moment, but please feel free to use the contact form in the footer of the page!