Jan
15
2009

RSS Getting Started Guide

rssphotopiahimysyedI recently had a reader ask me about how to use RSS.  He had seen my post about using RSS to monitor his brand, was interested in giving it a try, but wasn’t sure how to get started. So here’s how to get started:

  1. Choose a feed or RSS reader. There are many websites which provide this service – including iGoogle, Google Reader, Bloglines, and My Yahoo.  Most web browsers and some email programs also provide this functionality.  And there are also applications you can download so you can read feeds right from your desktop. You can find a list here or here. I personally like Google Reader because I can read my feeds from any computer and my phone and it stays updated with what I’ve read and haven’t read.
  2. Look for feeds to subscribe to. Feeds will usually be marked with an icon:001_31 or one that says RSS, or you’ll see a link that says subscribe to this site/page.  Sometimes a feed isn’t clearly marked, but the website still has one.  If you don’t see a feed icon, try putting the URL/link to the website into your feed reader – many will detect feeds for you.
  3. Read your feeds. I’m subscribed to many, many feeds.  But I find that I can easy scan what’s going on – without necessarily reading every feed.  It saves the hassle of visiting every single website for updates – but I do still visit some to bookmark a page in delicious or to comment on an article.

So, that’s it.  Pretty simple and straight-forward.  Once you’ve chosen a feed reader, most provide specific instructions on how to use them.  If you have any other questions about how to use RSS, please email me (or leave a comment below).

Technorati Tags: , , , ,

Jan
14
2009

17 Tips for Good Business Website Design

designgeishaboy500If you are creating a business website, or looking for ways to improve yours, here are some tips to consider:

  1. Make it Clear – exactly what your company does should be available on the upper half of your home page.
  2. Describe Benefits – Customers only care what benefits your product or services gives them.
  3. Who Are You – Contact information should be easy to find (at least a link from every page, ideally a phone number or email).
  4. Customers Need Support – If customers have a problem, support information should be easy to find.  If the information you provide online isn’t enough, give them a way to contact you.
  5. Minimize Clicks – Keep the number of clicks to a minimum – for any activity on your site, but especially for buying processes.
  6. Purchasing Information – Give customers all the information they need to make a purchase on any product page and/or landing page.
  7. Minimize Distractions – Keep flashing, moving and distracting items to a minimum – even if they provide additional information.
  8. Design Down – Not everyone has state-of-the-art technology.  Design for the lowest generally accepted standards (which are widely available around the web).
  9. Consistent Menus – Menus should be consistent throughout the site to make it easy for customers to find things.
  10. Clear Page Titles – Page titles should make it clear where a customer is – use descriptive words for both the web browser window title and for text on the page.
  11. Don’t Touch the Back Button – Do not _ever_ disable the back button.  Customers need to be able to back out of wherever they may go.
  12. Avoid Popup Windows – unless they provide pertinent information to the current page and are initiated by the customer.
  13. Let Your Customer Be In Control – any extra features, such as audio, video, popups, etc. should only activate when a customer clicks on them.  Have you ever been at work when a website suddenly started making annoying sounds out of your speakers?  Don’t do that to your customers.
  14. Make it Readable – Fonts need to be easy to read in terms of size, font type and colors – include what color the background is.  Make sure to use high contrast colors to make your text easy to read.
  15. Whitespace is Your Friend – Space between items on your page is critical for customers to be able to scan through the page to find what they’re looking for.
  16. Consistent Layout – Try to keep the layouts of your pages consistent, so at least your pages look like they belong to the same website.  Navigation and information about where on the site a customer is should be in the same place.
  17. Search Should Be Easy – Most people expect a search to be in the upper right region of a page – or at least near the top.

I intend this list to be a work in progress.  What other good design tips should be used on business websites?

(photo by geishaboy500 @ Flickr CC)

Jan
13
2009

Using RSS to Monitor your Name and Brand

monitordocklandsboyThere is a lot of information being published on the web every minute.  Some of it may be about you, your company or your products.  It is important to keep track of what’s being said about your business so that you can both respond effectively and learn from what your customers are saying.

Hopefully you know what RSS is.  You may not be aware that you’re using it – if you subscribe to a website or blog and then read their posts in iGoogle, Google Reader or Bloglines, etc., you are using RSS.  RSS can be a very easy way to monitor what is being said about your company.  By using various search services that provide RSS feeds for their results, you can monitor what is said about your company, products, etc. right from your RSS reader.

Here’s a few places to start :

  1. Google Blogsearch: Type in your company name.  On the bottom of the left column click on the RSS link to subscribe to this feed.  Now you’ll be able to monitor whenever a blog mentions your company name.  Add separate searches for brand and product names.  Having one for your name isn’t a bad idea either.
  2. Twitter Search:  Enter your company name.  On the upper right click on “Feed for this query”.  Repeat for product names, etc.
  3. Technorati: Again search for your company name, etc.  In the upper right of the search results there is a small Subscribe link with a RSS icon.

There are many different places to monitor what is said on the Internet.  If you have other favorites, please share them in the comments below.

(photo by Docklandsboy @ Flickr CC)

Technorati Tags: , , , , , ,

Jan
12
2009

Do You Have a Blogging Strategy?

thinkinghiimhmichealMany businesses have blogs.  Many businesses feel they should start blogs.  Why?  Because everyone else is doing it. This isn’t a really strong reason to do anything in business – unless you want to be just like everyone else.

If you have a business blog or are thinking of starting one, take a few minutes to ponder why you are blogging.  Hopefully your reasons involve helping and connecting with your customers, which should increase revenue and savings.  Using these reasons as goals to form a blogging strategy can really help direct your efforts and produce better results.

Once you have an endpoint (your goals), it will be much easier to work backwards to figure out how to achieve your goals.  What will you write about?  Who in your company will be blogging?  What will you incorporate into the design of your blog?  How will you connect with your customers?  Where will you syndicate your blog content?  Will you use social media to increase awareness of your blog?

Do you have a business blog?  What is your blogging strategy?

(photo by hi I’m h micheal @ Flickr CC)

Jan
10
2009

CodeMash Jam Session

CodeMash Jam Session on Vimeo « SazbeanBefore there was Rock Band, people spent time playing actual instruments.  This pickup band were amazing musicians independently, but riffing off each other they were just outstanding.

CodeMash Jam Session from Sazbean on Vimeo.

Jan
09
2009

CodeMash 2009 – Friday Morning Sessions

The guy who wrote Rails was clearly brilliant.  He just didn’t have alot of real world experience ~ Joe O’Brien, talking about the limitations of testing within Rails

So Joe O’Brien, from EdgeCase, is one of those really exciting presenters to watch because it is a certainty that both you and him are both going to learn something within 30 minutes.  Throwing the presentation safety net away and going off the map, Joe tackled the tangled subject of testing in rails by the only way that makes sense, actually doing it. Here is a bit of what you missed:

  1. Make a rails project, open a test file and make some assertions.
  2. Fix your errors and make more assertions.
  3. goto step 2

This was a great way to see they subject matter come alive, warts and all.  If Joe had the courage to start hacking away at a program’s test code in front of 30 people, maybe it wont be so scary when you try it in the comfort and protection of your cube next week.   So here are some of the things we all learned from this demonstration:

  • Mock up things to make tests more isolated can be proven by breaking the fixtures layer and demonstrating how brittle it really is.
  • Separating controller tests from models and views is a good thing!
  • Integration test that doesn’t start with the brower isn’t really integrated
  • Changing from QUERTY to Devorak keyboard mappings a week before a live demo makes for awesome typos

Look to March for the marriage of Merb and Rails for an alternative to the ActiveRecord ORM.  Also, learn to love mocking in test and find a moching library that you like, be it RSpec or Mocha or FlexMock (which they use in EdgeRails because it WAS actually invented there).  Also, look to the Pragmatic Programmers for a screencast on testing from Joe and Jim sometime soon.

Jan
09
2009

CodeMash – Thursday Afternoon sessions

Remember fear is the mind killer, so just get over it and learn Functional Programming ~ Kevin Smith talking about Erlang

The two afternoon sessions, Erlang the Basics and Functional Concepts for OOP Developers, were one – two punches to the gut, in a good way.  If you tried to read a Functional Programming tutorial, maybe waded into the Lamda Calculus pool and found it didn’t have a bottom, you’re not alone.  I remember just innocently hitting Wikipedia for a definition of Functional Programming only to be turned back by the first sentence comprised entirely of mathematical symbols and polysyllabic words without definitions that didn’t also have mathematical symbols and polysyllabic words.

Thankfully, for the cost of gas, a room and a cheap ticket to this conference, I got the opportunity to let real functional programming masters explain it to me in English.

Kevin Smith, of EngineYard, does Erlang for a living.  That kind of makes him a grand pooba of Functional Languages in my book since OOP just about buries the list of code written today.  Still, as Kevin noted in his talk, there are high profile sites using Erlang today – Facebook is using it for chat, Amazon uses it as does CouchDB.  Unlike Haskell with its academic background, Erlang is the programmers functional programming languages ‘to make hard things eas(ier)’.  So what are those really hard things?  Well concurrency is the big one.

Not long ago, programmers had a one-machine-one-CPU view of the world that served them well in the Object Oriented Programming universe.  Software was rarely written to work as a unit over more than one CPU at a time because it was 1) very very hard and 2) impractical and unneeded for most cases.  Today, however, programmers are realizing that the multi-core growth path of hardware manufacturers has hijacked the stage, forcing us all to become concurrency experts. While OOP languages are saddled with the baggage of supporting shared memory and mutable variables, reducing them to a one legged man in a ass kicking contest, their distant cousin Functional Programming Languages aren’t feeling the same strain.  FP’s have immutable ‘variables’ (really they are unchanging pointers, so more like constants) and a very low cost for spinning up processes.  This frees them to run in a highly distributed way on many cores and many machines collaboratively. Erlang, written by the team at Computer Science Labs at Ericisson, had a real world need for a highly concurrent language to write their phone system on.  Its design works wonderfully to harness that 8 core desktop you have sitting under your desk.

Bryan Weber was kind enough to expond on this foundation talk by exploring Functional Concepts for OOP Developers.  My take home from this talk was the message model used by most Erlang programmers to achieve concurrency.  Like Scala, Erlang uses a mailbox with a send and receive paring to smoothly weave a web of interconnected processes that can be located anywhere on the network.  Simply spawn a process, which gives you a pid in response.  Now send a message to the pid.  The spawned process does a recieve to check the mailbox for the message.  Want to send a response, no problem.  Have the spawned process send to the parent and have the parent check the mailbock.  Done, you just did concurrent work.  This little scene is played out using Actors, which naturally, is an apt analogy.

I don’t know yet if FP will make it into my world any time soon.  Our concurrency neeeds are small so far.  I would say that Functional Programming isn’t the solution to all problems, but it just may be the answer to that tricky problem defying all other solutions.

Jan
08
2009

CodeMash 2009 – Thursday Morning Sessions

Whould you want your surgeon to have a dull knife? ~ Nathaniel Schutta defending dynamic languages like Ruby as ‘sharper tools’

Travel issues prevented me from seeing the very early sessions of CodeMash, which was a shame because I was very interested in Eric Meyer’s talk on how JavaScript Will Save Us All!  (I added the exclamation marks because I think that’s what he really intended).  Still, I made it early enough to sit through a couple very good presentations before lunch, both of which followed a bit of a theme.  One was a love fest for Dynamic Languages as a persecuted, second class citizen given expertly by Nathaniel Schutta.  His message is simple, programmers need to be Polyglots and if you can’t handle learning different languages than you should get out of the business.  Harsh, but dead on accurate.  One of the languages you should have in your tool belt, Nathaniel tells us, is a Dynamic Language and that you can do a whole lot worse than Ruby.  I am already sold on this idea, or was years ago when I was nearly alone in lecture rooms during similar presentations.  Since then the crowd has gotten bigger but the message is still the same.  Most of this revolves around dismantling the arguments for the need of static typing to prevent errors from bad programmers.  Truth is, bad programmers don’t get better when they have a wet nurse hand out brainless advice through compiler warnings or errors.  Take off the training wheels already and let’s get some code written already.

You go though more hoops to do it, but you can do it ~ Venkat Subramanian Mads Torgersen talking about Dynamic languages on C#

Venkat Mads works for Microsoft on the C# language.  Now I am not genetically predispositioned towards this kind of talk, but since it was while I ate my ham on marbled rye, I felt no great persuasion to not hearing the good gentleman out.  Glad I did, though, because there were some interesting things going on in the CLR camp.  CLR itself was a happening idea, a VM that was designed from the beginning to be a shared platform (Common Language Runtime) so the pieces where already there to do something interesting.  However, it seems that early decisions were made to optimise speed for the C# type base on the CLR, leaving non-microsoft languages somewhat at a disadvantage and me somewhat bewildered by the earlier statements.  Dynamic languages, for example, run though a DLR library to get to the CLR.  This Dynamic Language Runtime handles the bindings to Ruby and Python, so IronRuby and IronPython handle the mappings between DLR and CLR maybe?  I was somewhat confused.  If you type something in your code as ‘Dynamic’ it is a Dynamic type in the compiler but then reverts to its true type in runtime to allow for the dynamic langages to duck type the thing.  For a complacated problem, the fact that this solution made perfect sense to someone as slow as me is a good sign that they might be on to something.

Jan
08
2009

CodeMash 2009

So I will be attending the 2009 CodeMash conference in wintery Sandusky Ohio (no more wintery than Ann Arbor Michigan I suppose).  If any of our readers will be in attendance, send me a ping via email (aaron@sazbean.com) or twitter (aaronworsham)

I will be on the clock for another company, so I can’t update the blog in real time, but look for my posts on the conference after work hours.

Jan
07
2009

The predictive quality of holiday small talk

holiday-partyThere is a group of economists here in Michigan that call themselves the Conference Board.  They like to randomly call people, 5000 or so, people who have lots of free time and an eager willingness to share with complete strangers their personal opinions about whats wrong with the economy.  Amazingly enough, those same winners end up representing you and me in the Consumer Confidence Index, that pseduo-indicator that is the pulse of the American consumer’s psyche.

A crisp buck and the latest CCI data still won’t buy you a cup of coffee at Dunken Donuts, if you ask me.  So I developed a lil thing I like to call my HPPs, or Holiday Party Predictors.  With the right mix of people and a liberal addition of adult beverages, you can quantify what America  thinks about absolutely any topic.  The real trick is actually getting them to stop talking, but that’s another post.

Here are this years results from the many parties I attended in December.

  1. Lan lines are as popular as fax machines.  I wandered into a conversation amongst  6 girls trading cell numbers and casually asked if any of them had a home phone.  ‘Home what?’  I know this isn’t a shocking revelation at first, but when you think about how pervasive the phone company has been for the last 75 years, their stock and trade was their control over that last mile to your door.  Another friend asked about home security systems still needing lan lines, which might be the only thing left besides DSL lines that old AT&T can ding regular consumers on.  I told him to just get the window stickers.  While corporations still have T1, T3 and other circuits that they pay huge markups on, the bigger pool by far was always home installation of phone lines.
  2. Standalone GPS devices are this year’s PDA. They are being replaced by GPS enabled smartphones, or so my friends are all predicting.  Edge network may be slow, but it serves up Google maps quick enough for navigation where 3g isn’t available.  Out beyond edge coverage?  Ask directions.
  3. Satellite TV is in trouble. My good friend brian said he is off Cable completely.  He has a DSL line for internet, an Antenna for HD over the Air, NetFlix, Hulu, Amazon Unbox and Boxee.  Figures he saves 60 – 80 a month.  That’s not chump change to people hurting to make ends meet.  There are more kids like Brian than you may think, and I believe this kind of setup is going to get some momentum this year.  Why satellite and not Cable?  Well, internet is still a utility item for my generation and cable is by far the prefered choice.  Naked Cable (internet without cable TV) is rare, so I’m thinking the most likely candidate for this would be a satellite/DLS customer.
  4. Skype is legit.  My mother uses it every week to talk with my sister in Ireland.  My mother.  Enough said.
  5. Facebook syndrome. Critical mass is nearing for Facebook.  That is the number of friends and family members it takes to convince a Luddite to join something online.  Once that number is reached, Facebook will have become a self-sustaining entity like Google, who’s popularity alone can generate more popularity in spite of any competitive alternates.  So many of my friends are on Facebook now that I’m starting to think the whole openId thing is going to be moot in the future.

There were plenty of other revelations this December, but I’m saving those for my book deal.  Should be any day now.

Photo attributed to dpstyles