Kurt Jarchow's Blog

January 14, 2009

A Monster of a redesign

Filed under: Uncategorized — Kurt Jarchow @ 11:12 pm

A monstrously redesign.  The purple monster.   The monster flop.  Ok I’m not that creative with my one-liners.  Apparently, neither is monster:

“Monster’s new job search is easier than ever! To apply for the job is 65% faster than before!”

Who is marketing this?  I’m trying to find a job not buying the Bullet blender.  Let’s take a look at this multi-multi-multi million dollar (18 million to be exact) redesign.  I’ll get through some of the interface stuff and get to the real problems.

Job Search

monstersearch

The new search has been simplified, and gives faceted search filtering, like SimplyHired or Indeed, so you can filter your results.

The search results are not that good however.  I searched for “Marketing coordinator” in Toronto (Canadian site) and I find perfect matches, but towards the bottom of the page.  I then dived a few pages deep and I’m still finding perfect matches mixed in with irrelevant ones; I’m even finding results from Edmonton.

My biggest problem is that every thing seems be in ajax’d.  Just because you can do it, doesn’t mean its a good idea.

Application Process

Clicking into a job I see Monster’s standard job posting page.  What has changed here?  Well, I see an ajax box, omnipresent at the bottom of my screen.  I click to find out more about the application process, but I’m met with a login screen.  I can imagine this is an executive decision to increase registered users, because most userface designers will tell you this is a goal barrier.  Not much else has changed here, let’s move on.

Profile & Resume

Clicking on the menu to access the tools, I get a fancy ajax box asking me for my login.  If I haven’t registered yet, and I want to take a look at the resume builder I wouldn’t be able too.  The site borders on arrogant with their constant demands for you to register.   I went through the painful registration process (2 steps and too many input fields), got past another 2 ajax prompts to prepare the form, and finally got to build a resume.

Note: The 2nd prompt has a funny checkbox that most people probably wouldn’t notice:

monstershare

When I look at the status of my resumes they say private even if I leave this checked, so what does this do?

Here is where ajax is useful.  I feel like I’ve been overly critical thus far so I’ll say this is a half-decent implementation.  I’ve seen better though. :|

Career Mapping

Here is a tool that I found interesting.  I’m not entirely sure it is all that useful for me (I know what jobs I can get to move forward) but it might be interesting for some other people.  I think they must use there large data set of resumes to get common career paths.  The interface is pretty easy (even if it is flash).

What’s Really Wrong

Ok I’ve touched on some interface items but let’s look at the big picture.  Monster completely missed the boat here.  Instead of looking ahead and innovating they have made existing processes “65% faster” with excessive use of a poor ajax UI.  The social web was obviously not considered in the redesign.  How can this have been ignored?

Traffic on Monster hasn’t been going down because their interface was poor, they are losing traffic because their business model is becoming poor.  Charging a fee for posting a job is maddening to me.  There are so many ways of doing it for free!

Monster is the new AOL.

I think Monster also failed in the way this was released.  I’m a big advocate of progressive product deployment, releasing features gradually so you don’t shock your users.  This is one of the big advantages with developing for the web, and companies like Google have mastered it.

It’s really hard to see .com companies fall from their innovative beginnings.  At one point you have to look back and think “what did we do right to get here?”.

Drupal, jQuery and the favorite_nodes module

Filed under: Uncategorized — Kurt Jarchow @ 9:41 am

I’ve just completed my first jQuery attempt, to ajaxify the favorite_nodes “add to favorites” link.  Its actually pretty simple.

Edit favorite_nodes/favorite_nodes.module

Find the favorite_nodes_add function, and add the follow just before “return TRUE;”

 if (!empty($_POST['js'])) {
   drupal_json(array(
       ‘is_fav’ => ‘fav-link-’.$nid
    )
  );
exit;
}

Now find the favorite_nodes_link function.  Where ever the $links[] is set (4 occurrences) add attributes:

$links[] = array(’title’ => t(’add to favorites’), ‘href’ => ‘favorite_nodes/add/’. $node->nid, ‘attributes’ => array(’class’ => ‘favorite-link’, ‘id’ => ‘fav-link-’.$node->nid));

Also in that function add the following line at the start of the function to include a js file:

drupal_add_js(drupal_get_path(’module’, ‘favorite_nodes’) . ‘/favorite_nodes.js’);

Next, create the js file in the favorite_nodes dir named favorite_nodes.js and edit it:

 if (Drupal.jsEnabled) {

  $(document).ready(function () {
    $(’a.favorite-link’).click(function () {

      var favSaved = function(data) {
    $(’#'+data.is_fav).html(’Saved’);
      }

    $.ajax({
      type: ‘POST’,
      url: this.href,
      dataType: ‘json’,
      success: favSaved,
      data: ‘js=1′
    });

    return false;

  });

  });
}

This is a quick and dirty way of doing it.  I’m waiting for UI confirmation before I make the interface any better.  The best way of doing it would be instead of changing the innerHTML of the link to “Saved”, you’d change it to “remove from favorites”, and change the link accordingly.  

Passing the ID back to the jQuery got over a problem when there are multiple fav-links on one page.  I’m open to a better solution.

Also I don’t like the placement of the js include file, but I’m not entirely sure where to put it.  

 I didn’t see code for this anywhere else so this might be a good start for anyone interested.

January 12, 2009

Corporate 2.0 – It's good business to play nice online

Filed under: Uncategorized — Kurt Jarchow @ 1:47 pm

Web 2.0 is far more than wiki’s or blogs, its a fundamental shift in social responsibility and transparency.  Its the great democratic tool, and it is wielded on our politics, social lives, and economics.  It is a wave of change in the right direction.

As a corporation it is essential to realize the benefits of collaborating with customers, understand trends, and making sure to keep with the spirit of web 2.0.  It is no longer just about features on your website, it is about a cultural change in the organization.  It is really frustrating to see resistance to change, expecially when the benefits are so important, but it is hard to blame old-styled corporations fearing economic change – this really is the hippy thought revolution of our time.  It’s Peace and Love, but also with a dash of transparency and a bucket-load of accountability.

Why is it important for corporations to let down their hair?  Because bad public feedback can trample the best marketing campaigns and markets change depending on customer habits.  

Unhappy customers can, now more than ever, be your worst nightmare.  You can’t stop critism, but you can make a negative into a positive. 

Give customers a chance to express their frustration on the internet.  This gives you 3 very important opportunities; 

  1. its giving you the opportunity to win back the customer,
  2. its letting everyone else know you care about customers,
  3. and its enabling you to learn more about your customer.

People are fair, they know that not everyone will be happy with a corporation, but they will respect and trust a corporation which responds to their customers.  Corporate 2.0 is about building trust, and unless your corporation makes this a priority from top to bottom people will see right through you and choose a company they do trust.  

Corporate 2.0 is also about understanding what user’s want, and breaking old rules.  I’ve seen an avalance of ads from Aviva (formeraly Norwich Union) screaming a more open approach to business.  They are providing insurance quotes online which show thier rates and the rates of their competitors.  Nothing new really (and maybe released too late for a real benefit), but it is an example of a large corporation finally listening to users.  

Corporations need to be more creative and experimental.  Why are start-ups innovating the web and leaving corporations scratching their heads?  I put the blame on the fear of change and lack of open-minded leadership.  I don’t know how many times I’ve heard, in response to a unique proposal, “yeah that’s great, but that’s not our business”.

Stick with your old business for too long and you’ll find it no longer exists.

The falling traffic of tech blog sites?

Filed under: Uncategorized — Tags: , , , , , — Kurt Jarchow @ 12:44 pm

I was doing some web traffic comparing for a project I’m in the middle of, and found some interesting stats on mashable, techcrunch, engadget and readwriteweb.

techcrunch, mashable, readwriteweb, engadget traffic stats

techcrunch, mashable, readwriteweb, engadget traffic stats

It’s really bizarre to see all 4 sites dropping around the same time, around July, then rising a bit after October.  You can’t say its seasonal, look at the October 2007 compared to 2008, it’s under half!  This is obviously not scientific, and based completely on Alexa’s traffic monitoring, but still interesting nonetheless.

Is it that tech blogs are less read?  Traffic sapped from RSS readers?  …Anyone else have a suggestion?

Update: It seems Alexa shouldn’t be your only source for traffic stats, as Marshal Kirkpatrick pointed out:  http://siteanalytics.compete.com/readwriteweb.com+mashable.com+techcrunch.com/?metric=uv

I’ve always thought Alexa was the athority on traffic stats.  I’m going to reconsider using them in the future.

January 11, 2009

Trying out Friend Feed

Filed under: Uncategorized — Tags: , — Kurt Jarchow @ 8:31 pm

I’m giving Friend Feed a shot, but I think I there is more benefit with the service when I actually have friends subscribed. ;)

jarchowk

I was actually surprised to find out that none of my facebook friends have subscribed.

This social network service works much better with my use of the web.  If you haven’t heard of it, check it out!

January 8, 2009

Drupal SOAP web service and .NET

Filed under: Uncategorized — Kurt Jarchow @ 5:17 pm

This will be the easiest post I’ve ever written.  If you are using .NET and are trying to use Drupal webservices, DON’T USE SOAP.  The SOAP webservice is extremely undocumented.  I tried for hours to get this to work and ran into problem after problem.  (For example, the service names use periods (node.get) which won’t work in C#.)  Renaming it will allow me to use the services, but the complicated cookie/session/key authentication is a mess.  

I finally got the .NET project to use the service, but every time I tried to access a node it said it didn’t exist, which I am assuming has to do with permissions.  I tried to use the user login method and .NET won’t understand the “struct” type.

Please oh please correct me on this if you’ve got a .NET app to successfully use the SOAP web service.  Otherwise, use the slightly more documented and proven XML-RPC service.

Drupal Clean URL Linux set up, Apache2

Filed under: Uncategorized — Kurt Jarchow @ 8:29 am

I have my drupal project (version 6)  sitting on a Windows XP box, running on top of IIS but  I needed to use ClearnURLs.  So, to Linux here I come.  I decided to use Ubuntu, but I kind of wish I used Fedora.  The MySQL client tools don’t seem to have a release for Ubuntu and downloading the Fedora version didn’t work.  I always thought Linux application could run on any flavor of Linux… but I’m off topic.

To get CleanURLs to work, you’ll need to install mod_rewrite (rewrite_module), which is pretty easy:

sudo a2enmod rewrite
sudo /etc/init.d/apache2 restart
apache2ctl -M  (make sure the Module is installed, look for rewrite_module)

Edit the file /etc/apache2/sites-available/default

Find the following:

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

and change it to:

Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all

Restart Apache:

sudo /etc/init.d/apache2 restart

Now go to Drupal.  If you go to modules>Clean Urls (make sure the Path module is loaded) you should see 2 radio buttons and a confirmation message below saying you’re able to use CleanUrls.  Flick the switch.

I really recommend installing the pathauto module if your looking for some real functionality.  You can get rid of that /node/ uselessness in the url and make some good human and SEO friendly urls.

Leave a comment if you get stuck.

December 30, 2008

Taking the Facebook out of Facebook

Filed under: Uncategorized — Tags: , , , — Kurt Jarchow @ 12:11 pm

I’ve seen many popular internet trends come and go.  What trendy internet hot spots have actually stuck around?  I’m not talking about product-based businesses like Amazon or Ebay, but the real trendy, “like, you totally have to join up so you can (whatever)” sites we’ve seen come and go.  Remember Geocities?  Ratemyface?  Angelfire?  MSN Space?  (Yahoo?) (Myspace?)

When I see Facebook climb as high as they have I can’t help but think if its only going to make the fall that much more painful.  Is Facebook is a serious Internet tool or a seriously fickle trend? (fer sure!)

I’m not a huge fan of Facebook, I’ll get that out of the way before I write anymore.  It is a gossip site; the only different between Facebook and People.come are the people you’re reading about.  I also disagree with their policies on not supporting open standards.

That being said, they are HUGE.  How can you discount one of the most visited sites on the internet as simply being a trend?

Facebook is taking advantage of how people are currently using the internet, on a massive scale.  People like using Facebook as a one-stop-shop for all those social needs.   But what happens when the social internet turns into the many-stop-shop.

The internet in ‘09 will be about identity.  Being who you are, anywhere.

Facebook Connect is a service that lets you take your identity on a ride around the internet.  So when you visit People.com you can see which of your friends are gossiping about which celeb (and in turn you can gossip about the gossipers).  I think Facebook will actually make a lot of progress with their Facebook Connect functionality, initially.  When comparing Facebook Connect to Google’s friend connect and OpenId it is a world ahead.

Data portability isn’t just a technical idea though, there are a lot of social implications here.  It is removing the anonymity from the internet.  It’s giving you your identity back.  Do you really want a company (and I’d argue a company who really isn’t liked very much) to represent who you are?   This is me we are talking about here, not salsaguy786 (although I can salsa dance with the best of them).  I think it will be a real social disaster if we let a corporation control our online identity, and a huge backward step for the spirit of the internet.

Will others agee is the question that will answer the question on whether Facebook is a trend.  If open standards save us Facebook will not be competing against other social networking sites, they will be competing against the entire internet.  The internet will be a giant mono-social entity.  (Imagine the gossip!)

December 14, 2008

SOLR, Drupal, and GEO Spatial Results

Filed under: Uncategorized — Tags: , , , — Kurt Jarchow @ 10:05 pm

Our search needed to preform typical longitude and latitude geo-radius spatial results (I’ve mashed up all of those keywords because I really am not sure what someone will search for to find this post, apologies for the grammar!).  Since I took on SOLR as our search engine I needed to find an elegant solution.

After some search, I found the holy grail: Local SOLR.  Not finding much instruction on the official site, I found a great blog post with an explanation and example.  Its fairly easy to install and integrate into drupal.

  1. Extract the files and copy them into your solr directory (if your main solr instance is under “example”, make it “example2″.
  2. Stop your sorl instance (I’m assuming your on a dev box!) and start the local solr.
  3. Test to see if its working using the localhost cinema example.
  4. If it works find the java files and copy them into your solr project.
  5. Update your solr.config and schema files.  Sorry I don’t have the exact lines (not at work) but its pretty obvious what lines are local solr related. <edit: read below>
  6. Update the drupal code to send the extra fields (I’ll try to find the exact ones later) .
  7. You’re done!

The only gotcha I found, resulting in a few lost hairs and an increase in blood pressure, was a funny error concerning the comments field.  The error I received was a integer conversion error, which I eventually found out was the number of comments being blank.  Just make sure you adjust your apachesolr.module file to set comments to zero when it is null.

I’ll try to get the drupal developers to support local solr so we can have some official code for you to use.

That’s it for now!

<update>

As suggested I’ll post this on the Drupal website, but for anyone interested the updates to the solr.config and scheme files:

::schema.xml

<field name=”lat” type=”sdouble” indexed=”true” stored=”true”/>
<field name=”lng” type=”sdouble” indexed=”true” stored=”true”/>
<field name=”geo_distance” type=”sdouble”/>
<dynamicField name=”_local*” type=”sdouble” indexed=”true” stored=”true”/>

::solr.config

line 177

<searchComponent name=”localsolr”     class=”com.pjaol.search.solr.

component.LocalSolrQueryComponent” >
<str name=”latField”>lat</str>
<str name=”lngField”>lng</str>
</searchComponent>

<!– local lucene request handler –>
<requestHandler name=”geo” class=”org.apache.solr.handler.component.SearchHandler”>
<lst name=”defaults”>
<str name=”echoParams”>explicit</str>
</lst>
<arr name=”components”>
<str>localsolr</str>
<str>facet</str>
<str>mlt</str>
<str>highlight</str>
<str>debug</str>
</arr>
</requestHandler>

line 574
<searchComponent name=”localsolr”     class=”com.pjaol.search.solr.

component.LocalSolrQueryComponent” >
<str name=”latField”>lat</str>
<str name=”lngField”>lng</str>
</searchComponent>

<!– local lucene request handler –>
<requestHandler name=”geo” class=”org.apache.solr.handler.component.SearchHandler”>
<lst name=”defaults”>
<str name=”echoParams”>explicit</str>
</lst>
<arr name=”components”>
<str>localsolr</str>
<str>facet</str>
<str>mlt</str>
<str>highlight</str>
<str>debug</str>
</arr>
</requestHandler>

December 11, 2008

Recruitment's Open Future (Part 2)

Filed under: Uncategorized — Tags: , — Kurt Jarchow @ 11:17 pm

In part 1 of my analysis on the recruitment industry I explained the challenges the industry faces by migrating to the internet.  Let’s try and figure out a solution.

Recruitment agencies have an identity crises when it comes to the web.  Companies like Monster and CareerBuilder (and more recently Indeed and SimplyHired) have created a successful standard for jobseekers to find jobs.  Recruitment sites are playing a long (endless) game of catch-up.   Realistically they will always be behind (way behind) on technology, quantity of jobs, and traffic.  So, as do all great strategic thinkers, we need to figure out our strengths and their weaknesses.

Recruitment agencies have one great, underutilized, and versatile resource: recruiters.  Why aren’t they contributing to the site?  Let’s look at the more forward thinking IT industry for a second.  I constantly check my favorite tech websites, one of them being collective blog site called Mashable.com.  Much to my surprise (and horror) I saw that their lastest site addition is a job search.  What business do they have selling job board space!  It’s actually a great idea.  I come to this website daily to read about the industry and new startup’s pitches with anticipation.  I’ve gotten to know their regular posters and commented occasionally on their blogs.  It’s… almost like I know them!  Now, from a company I’ve come to respect, I get to browse jobs in an industry I’m obviously interest in.

Ok you obviously know where I am going with this.  Recruitment agents are the boot on the ground.  They know things about their job industry in their respected cities, and people want to know about it.  Recruiters, as I mentioned in my previous post, are at the very best seen with suspicion by the general population.  It doesn’t have to be this way!  I’d agrue– now take a deep breath so I don’t blow you mind– recruitment sites shouldn’t even have a job search (at least to start out).  Building relationships should be the #1 purpose of a recruitment site.  (An hey, now that your essentially a content site, why not throw up a few ads?)

I love history, so I try to learn from it.  Napoleon had a good size army, but their infantry guns were sad even in those times.  What he had though were cannons, and lots of ‘em.  He used his cannons to devastate his opponents then sent the infantry in to clean up.  Trying to bring in traffic to recruitment sites using job search is like Napoleon leading with his infantry: don’t do it.  Napoleon also knew to train his artillery squads well.  Getting a jump start and training recruiters to write good quality content is almost as valuable as their job placement skills.

The enemy’s disadvantage? They are completely in the dark when it comes to the social internet (so far anyway).  “Who you know” has always been a big deal when finding a job, and recruitment companies are in a great spot to jump on this. Giving recruiters an online personality is critical to creating new relationships so they can make create client/candidate matches.  Let them leave the nest to make new connections (take Facebook off your list of no-no domains).

This is a major shift for guarded recruitment companies, because it implies a more open approach to job placement.  Should a recruiter blog about that big Coca-cola bulk hire?  Tradition would have the company keep this information under lock-and-key.  But, in the age of free information, who are they really kidding?  Unless Coca-cola specifically requests anonymity (some companies do) your competition is going to find out.  The question is, who does the candidate want to represent them?  The open and honest recruiter you’ve been getting inside industry news from, or the job search guys across the street?  …Well the first one, of course.

The search for other revenue sources will also be a large part of recruitment in the future.  There will be too many cheap options for companies to  find candidates.  Recruitment fees (some as high as 25% of the annual salary) isn’t practical, especially in this job climate. Getting the jump start on this bold new view of recruitment will be an absolute asset.  My advice?  Train your recruiters.

Well that’s all for now.  I will try to update your on my drupal/solr experiences on the weekend (I got spatial geo searching to work!).

« Newer PostsOlder Posts »

Powered by WordPress

Bad Behavior has blocked 102 access attempts in the last 7 days.