Your Village: What’s the oldest business in Iowa City?

Have a question about what’s going on in your community? Ask Little Village. Submit your questions through the Your Village feature on our homepage, or email us at

Clinton St., Iowa City, in 1854. — photo by Isaac Wetherby

What is the oldest business in Iowa City? What’s its secret for lasting so long? — Becca, Iowa City, via Facebook

Determining the oldest business in Iowa City isn’t quite as simple as one might think. Does a different series of companies offering the same sort of goods and services at the same location count as one business because each bought out the prior company? If the answer is yes, then John’s Grocery is the oldest business in Iowa City.

Samuel Baker opened a grocers in the building at the corner of Market Street and Gilbert Street in 1848, and someone has sold groceries in some part of that building since that time, even as other businesses (including saloons, a barber shop, an opera company and a manufacturer of “toilet cream”) came and went in the building.

In 1948, John Alberhasky bought what was then Valentine’s Grocery (est. 1928) and renamed it John’s Grocery. The store is now owned by John’s son, William, and managed by William’s son, Doug.

John’s Grocery, March 9, 2018. — photo by Paul Brennan

Iowa City’s oldest continually operated business is only slightly younger.

In 1854, John Hands, a watchmaker and jeweler from England, opened Hands Jewelers in Iowa City.

“Iowa was pretty new then,” Bill Nusser said. Nusser, the current owner of Hands, is John Hands’ great-grandson, and the fourth generation of his family to own the store.

Iowa had only been a state for eight years when John Hands opened his store. The University of Iowa wouldn’t open its doors for another year. The Civil War was still seven years in the future.

“Family lore says my great-grandfather emigrated from Coventry because of a job offer in Elgin, Illinois, but when he got there, there was no job,” Nusser said. “What drew John Hands to Iowa City was the terminus for the Rock Island Railroad.”

“Everybody who worked on the railroad had to have a reliable watch that could be synchronized with everyone else’s, to keep trains on schedule. So, there was always work to do cleaning, repairing and regulating watches.”

Nusser sometimes thinks about how different Iowa City was when his great-grandfather started the family business.

“All roads were dirt roads, all the sidewalks were boardwalks, livestock roamed free, there were pigs in the street,” he said. “You could not have described to my great-grandfather what the world is like today, in a way that would have been credible or that he could have really understood.”

Hands Jewelers has survived the changes brought on by the Civil War and two world wars. And starting with the Panic of 1857, it has weathered more than 30 financial panics, economic crises, recessions and depressions.

“When the Great Depression hit, my grandfather accepted chickens in payment for jewelry and services,” Nusser said. “For him to have stayed open, and never miss a payroll, was pretty phenomenal.”

Nusser said he never felt any pressure at home for him to join the family business when he was kid.

“I had never thought about it. But I walked in here [the store on Washington Street, where Hands has been located for more than 100 years] one day at the beginning of summer — just to hang out, because I liked it here — and the manager at that time put a broom in my hand and said, ‘Get to work,’” Nusser recalled.

He was 15 years old. He’s worked in jewelry stores ever since, working his way up from custodial work through sales to become a jeweler himself.

Hands Jewelers on Washington Street. — photo by Paul Brennan

“I loved it,” Nusser said. “I couldn’t believe I could get paid for doing something I loved so much.”

Nusser’s son Charlie has now taken over as the store’s manager.

“He’s been really wonderful, he runs circles around me. He’s not doing it out of a sense of obligation, he’s doing it because he really wants to, just like I did,” Nusser said.

Like his father, Charlie got his first job in the store as a teenager, sweeping up. Also like his father, Charlie never faced any pressure at home to join the family business.

“I always wanted to have one of my children come into the business, but I was always careful not to mention it at home,” Nusser said. “I would talk about my work at home, but I never said, ‘One day all this will be yours,’ or anything like that.”

“That’s the only way to keep [a business like Hands] going. I’ve seen so many stores close, because the third generation of the family that owned it was bored, so they let it fall apart or sold it.”

“You can’t keep a business like this going by having people go into it out of a sense of obligation,” Nusser said. “It has to be because the person loves it, and really wants to work there.”

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/your-village-whats-the-oldest-business-in-iowa-city/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Email</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="203"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>