Month: December 2017

A Holiday Gift from Open Library: Introducing the Reading Log

A Holiday Gift from Open Library: Introducing the Reading Log

For years readers have been asking us for a convenient way to keep track of the books they’re reading.

As we prepare to step through the threshold into 2018, we’re happy to announce the release of a brand new Reading Log feature which lets you indicate all the books you’d like to read, books you’ve already read, and books you’re currently reading.

A Holiday Gift from Open Library: Introducing the Reading Log 1

You can now mark a book as “Want to Read”, “Currently Reading”, or “Already Read”, in addition to adding it to one of your themed reading lists.

Here’s how it works!

Any time you go to a book page on Open Library, you will see a new green button with the text “Want to Read”. By clicking on this button, you can mark this book as a work you’d like to read. By clicking on the white dropdown arrow on the right side of the button, you can select from other options too, like “Currently Reading” or “Already Read”. Once you click one of these options, the green button will appear gray with a green check, indicating your selection has been saved.

Where can I review my Reading Log?

You can review the books in your Reading Log by clicking the “My Books” menu and selecting the “My Reading Log” option in the dropdown.

A Holiday Gift from Open Library: Introducing the Reading Log 2

You can find a link to your Reading Log page under the “My Books” menu

From this page, you can manage the status of the books you’re reading and easily find them in the future.

A Holiday Gift from Open Library: Introducing the Reading Log 3

A preview of the Reading Log page

Who can see my Reading Log selections?

Books you mark as “Want to Read”, “Currently Reading”, or “Already Read” are made private by default. We know some people want to share what books they’re reading. In the future, we hope to offer an option for readers to make their Reading Log public.

Can I Still Use Lists?

You can still use your existing Lists and even create new ones! In addition to giving you a convenient way to log your reading progress, you can also use the green dropdown menu to add this book to one of your custom themed Lists.

Send Us Your Feedback!

We hope you love this new feature as much as we do and we’d love to hear your thoughts! Tweet us at @openlibrary. Is the Reading Log feature not working as you expect? Please tell us about any issues you experience here.

The Small Biz Guide to Direct Mail: Creating Genuine Connections and Real Returns

This post is part of a series on advertising for today’s small business. This series will challenge you to rethink your views on the effectiveness of traditional advertising for start-ups.  I’ll be highlighting responsive, low cost alternatives that,

  • expand your market

  • find true fans for your start-up or small business

  • and make the most of every dollar you spend

These alternative methods have produced results in my own ventures- or those of my close colleagues- and all cost under $2,500.

Note: If you are an artist, entrepreneur, or small business with insight to share- email me at I’d love to hear what has worked to make you successful!

Direct Mail.

Nothing conjures the unflattering attributes of traditional advertising better than direct mail. Think about the direct mail you’ve received this week. It’s been nothing but obnoxious  political ads, car dealership hype, and a menu for the local Chinese restaurant. As a small business trying to create real, responsive relationships with customers, these make terrible role models.

Wait…weren’t we looking for alternatives to traditional advertising? Direct mail has been a corporate favorite for years. We’ve been watching our grandparents and parents toss stacks of it into the trash without so much as a second glance. Why would you waste your money creating a direct mail campaign for your small business when it has such a terrible reputation?

In most cases, you’d be right. However, there’s a different way of thinking about direct mail. When used with insight and smart design, direct mail actually can create genuine connections and reach the best new clients for your brand.

Keeping focus on those goals- genuine connection and a narrow market- is essential to succeeding with any of the advertising methods highlighted in this series.


The problem with direct mail isn’t the method, it’s how most people approach it.


In this post, I’m going to share with you how you can use direct mail in a way that new and existing customers will actually respond to it. I’ll also share the results of our most recent direct mail campaign for Maeva’s Coffee. Are you looking in suspicion at the stacks of wasted, glossy cardstock on your kitchen counter? Consider our numbers from our September 2017 direct mail campaign for Maeva’s:

We spent $367 on our last direct mail campaign and have an estimated return over two years of $25,000. Those numbers seem impossible but they aren’t. It’s easy to create these numbers from a direct marketing campaign with a little extra planning and insight from you into your customer base.


Direct Mail Done Right


Any successful advertising campaign (low cost or otherwise) is going to be built on the tenants of strong branding and the focus of reaching and connecting with your best market.

Think of direct mail as a way to extend use the power of gifting, which we talked about here at the start of this series.


This focus is key. Most traditional advertising uses Return on Investment (ROI) to calculate the success of an advertising campaign. What is ROI? When looking at advertising, ROI is simply:


How Much Did You Spend vs How Much Did You Bring In

It’s a cut-and-dried way of simplifying the numbers to determine the success or failure of a campaign.


The problem with this focus is that you are always chasing immediate sales. Marketing firms who encourage car dealerships, Walmart, other big box brands to use this number will do anything to get a large immediate return. They use massive discounts, disruptive in-your-face radio ads, and clip-art filled direct mail campaigns that do nothing to create long-term attraction to their brand.



You’re a small business. You are relationship-focused in both brand and reach. This is why you should be using Customer Lifetime Value (CLV) when calculating risk and return in your advertising and not ROI.



CLV can be calculated differently depending on your business market. To calculate, you need to know:


  1. The average revenue per customer transaction

  2. The frequency of transaction

  3. How length of time you can rely on them being your customer


To give you an idea, here’s how we calculate CLV for Maeva’s:


    $10 (average revenue) X 2x/week X 2 years = $1,040


“Why only a two year lifetime for our customers?”


We set our standard on our customer base with the highest turnover: students. Most students will be in the area for 3 or 4 years, but by calculating a two year relationship we keep our estimates conservative.


“I spend more than $10 a week at Maevas, why only $10?”


Again, erring on the side of caution. Our core group of customers spend, on average, $17.42/week at the shop- but we can’t assume that all of the new people we reach through direct mail are going to become core customers. It’s better to underestimate than overestimate!

Using CLV instead of ROI to calculate your goals for your direct marketing campaign will not only give you a better long-term picture of how advertising affects your business, but will help you focus on the right people to reach and how to reach them.


List Making and Risk Taking


Before spending any money, you’ll want to determine who you are trying to reach.

In this article, we went over how to use your best customers to determine your target market. Now that you’ve written down some characteristics of the people in your target market, narrow your focus to a specific market you want to reach by direct mail. This will help you buy the best list for your campaign.


There are a lot of online companies that sell mailing lists. My current go-to is GeoSelector (and no, they aren’t sponsoring this). I like them because:


  1. They don’t have a minimum purchase

  2. I like the ability to draw specific geographical boundaries on the map rather than using a radius focus.


My focus for the 2017 DM campaign at Maeva’s was to reach students/teachers of the dental school who lived within walking distance. I wanted to initiate a relationship with people who hadn’t visited before. GeoSelector’s features allow me to focus on the residential neighborhoods where this market is more likely to be- and draw a boundary eliminating our local Walgreens, CVS, etc.

Here’s the neighborhood outline we used for this campaign:



Being able to set your own geographic boundaries is particularly helpful if you know your neighborhood.  Other mailing services only allow you to set boundaries via radius or mailing code- which might mean you’re purchasing addresses you don’t need for your mailing.

GeoSelector has options to narrow by demographic, too. This isn’t 100% accurate but it helps when purchasing a small mailing list. You can set age ranges, whether a property is rented or purchased, gender, average household income, political identity, racial identity, religious identity- as well as lifestyle choices such as whether or not they own a dog or have an interest in classic cars. Narrowing down your list to as close to your target market is the best way to stretch your dollar.

Tip: Most lists specify how many times they can be used for commercial outreach. If you plan to reach the same market in that period of time, you can save money by not having to repurchase the list. A single-use license for 300 names/addresses costs $20-35 depending on the service you choose. A year-long license may be double, but worth it if you plan on quarterly outreach.


“How do I know the list is good/accurate?”

Reputable list-services will guarantee a certain level of accuracy. We had a return rate of <1% on our last mailing. Also, I knew the demographic sorting was accurate when about 10% of the list were dedicated customers I could identify by name. This is pretty spooky but it does show the database is up to date.


Tip: If you are already an established small business catering to a specific geographic location like Maeva’s, buy a list that is 30% larger than what you intend to use and cross reference it with the names on your POS system’s credit card sales report. By highlighting people who are already customers, you can use the same list to create two focused campaigns: one for dedicated customers and one for potential new customers.


Designing A Successful Direct Mail Campaign

A successful design must be true to your brand and congruent with how you want to connect.  

There are a ton of ways to go about creating a direct mailing campaign that wont end up in the trash. Instead of giving you a “how-to”- here are my favorite tips to help guide you in creating something unique to your own personality:


1. Gifting as Incentive

Your campaign needs some sort of actionable incentive- even car dealerships know this. However, instead of some lame “see if this key unlocks your new car!” campaign that readers see right through- use this opportunity to utilize the power of gifting. One thing you should always avoid is discounting. In small business, discounting signals the opposite of what most of us want for our business.

A discount signals:

  • You’ve overpriced your product/service to afford the discount you’re giving

  • Your product/service is lesser quality than your competitors

  • You’re desperate

Giving something away signals:

  • Hospitality and gratitude

  • You’re business is successful- you can afford to be generous!

  • You’re so confident the giftee is going to love your product/service, you’re willing to treat them on your own dime

Consider offering an incentive that is both generous and welcoming rather than gimmicky.

2. Keep it Simple

You’re already intruding on someone’s personal space and asking them to respond to a commercial request. Keep it simple, ok? No contests, no “if this then you get”s. Don’t ask them to like your social media or sign up for your mailing list. I don’t even add expiration dates on my mailings. If it takes someone a year to finally take that postcard off their fridge and bring it in for a free drink, we’re still going to be here- and we’re happy to give it to them.

Remember we are growing relationships. You can’t do that with expiration dates and cheap ‘act now’ gimmicks. By affording people the chance to use our gift when they are ready we are meeting customers when the opportunity works for them.

3. Non-design Design    

I’ve given up spending hours in Adobe Illustrator or Canva trying to create a postcard mailing that fit our image, didn’t feel sales-y, and still had the chance of attracting attention in the mailbox. The solution was so obvious that I felt like slapping myself when it hit me.

My friend Jennifer sends me actual postcards wherever she travels- and I love them. The chance of getting a real piece of mail is the only thing that keeps going to the mailbox special.

So why not actually send a real piece of mail?

In February, I visited Peru and used photos from the trip to highlight South American coffee culture. Our goal at Maevas is to be a brand focused around exploration, particularly in central/south america. Why not use postcards from Machu Picchu?


Some might argue that I’m wasting valuable space on this direct marketing campaign. 50% of the card doesn’t say “Maeva’s Coffee”. It doesn’t have a flashy slogan or talk about coffee at all! But what it does do is give an impression of who we are and what our brand is. This Non-design Design concept works: on our last three direct mail campaigns, people have brought the card in reluctant to exchange it for a free drink if it means giving up the card! (We happily cross out the “free drink” stamp and allow them to take it back to hang on their fridge)

4. To name or not to name?

Mailing lists will give you first and last names associated with the address. Should you use them? It’s up to you.

Personally, I think using a name can make offers confusing. In this campaign we focused on rental properties around the dental school where, yes, students are likely to rent but also where the resident is likely to change. Although adding a name is a wonderful personal touch, I usually save it for reaching out to customers I know. Not adding a specific name on the postcard makes anyone who receives it feel comfortable in redeeming it.

5. Personal touch

Whatever you do, don’t skip the personal touch! I always hand-address my postcards and include at least a one-sentence note. Do you have bad handwriting? It’s no excuse. Enlist someone who has nice handwriting to take care of this for you. Our coffee shop has eight staff and addressing postcards is a great way to fill lulls in-between rushes.

How Successful Is This, Really?

So now you have the inside scoop on how we use direct mail for our brick-and-mortar, Maeva’s Coffee. As a small business, we use the method differently than our corporate counterparts. Does it work? Absolutely! Here are the numbers behind our September 2017 campaign.


Setting up the Campaign

First, determining cost. I wanted to spend <$500 on an outreach to students and teachers of the dental school who live within walking distance of Maeva’s Coffee.

I purchased 200 classic Machu Picchu postcards for $60 and made a custom list for $24 through GeoSelector. Our postcards were oversized and cost $.49/pr to mail.

Our campaign also allowed the receiver to order one free drink, any drink, no strings attached. I know that, historically, our direct mail campaigns have a <20% return rate. Just to be safe, if 30% of our cards were returned and each visitor bought our most expensive drink, it would cost us $300.

Calculating out our estimated cost:

List $24 + Postcards $60 + Postage $98 + Estimated Product Cost (60 x 5= $300) = $482


Campaign Return

We had 37 cards of 200 returned to the shop. The average cost of a drink was far less than the $5 budgeted, most visitors wanted drip coffee or simple lattes. Our total cost came in under budget at $367.


Calculating the Campaign’s Success

Let’s calculate the success of this campaign. Since my goal was to introduce Maeva’s to new customers, I eliminated customers on the mailing list that I recognized by name. Still, there are a lot of visitors who come to Maeva’s that I don’t know by name and it’s likely some of these postcards were sent to them. People who have visited the shop before are more likely to return a postcard than a completely new visitor, so to play it safe, we’re going to estimate that 30% of the cards returned were actually existing customers who received cards. The estimate is conservative, but the results are still amazing.

We received an 18.5% return on our direct mail campaign.

According to JMW Business Services, the average return rate on direct mail is .5-2%. As a small business, when we followed good practices of targeted list making and generosity-focused, brand-building design, we substantially outperformed the big box stores. At a CLV of $500 per customer per year, our campaign will boost annual revenue $12,500 over the next twelve month and $25,000 over the lifetime of the customer. That means for every dollar we spent on this direct mail campaign, we’ll earn $68 in return.


When done right, direct mail is an incredible, low-cost tool for small businesses. It can be used to reach new customers, new markets, reposition yourself in the community, or to reconnect with lost customers. All you have to do is apply thoughtfulness and commitment to your brand message.

Note: Direct mail, like any form of outreach, should never make up the entirety of your strategy. It is most effective when used with other outreach methods such as collaboration, sponsorship, event outreach, and social media advertising.  

This article is part of a larger series on rethinking your advertising strategy as an artist, start-up, or small business. Subscribe to the RSS feed on the right or follow The Milton Schoolhouse to learn the how to use other non-traditional methods to create a successful advertising strategy for your small business.



Expressive 3 Preview

Last week, the PSR-15 working group voted to start its review
PSR-15 seeks to standardize server-side request handlers and middleware, and
both Stratigility and Expressive have been implementing draft specifications
since their version 2 releases. Entering the review phase is an important
moment: it means that the working group feels the specification is stable and
ready for adoption. If, after the review period is over, no major changes are
required, the specification can be presented to the PHP-FIG core committed for a
final acceptance vote, at which point it will be frozen and ready for mass

Our plan is to have Stratigility and Expressive follow the new specification in
its final form. To that end, we have been executing on a plan to prepare all our
projects that work with PSR-15 to adopt the latest round of changes.

That work is ready today!

What has changed in PSR-15?

The latest round of changes to the specification prior to entering the review
period were as follows:

  • The namespace of the draft specification was changed from
    InteropHttpServerMiddleware to InteropHttpServer. These will therefor
    become PsrHttpServer once the specification is accepted.

  • The DelegateInterface was renamed to RequestHandlerInterface, and
    the method it defines renamed to handle().

  • The MiddlewareInterface‘s second argument to process() was updated to
    typehint against RequestHandlerInterface.

  • The package shipping the interface was split into two,
    http-interop/http-server-handler and http-interop/http-server-middleware;
    these will become psr/http-server-handler and psr/http-server-middleware,
    respectively, once the package is accepted. The http-server-middleware
    packages depend on the http-server-handler packages.

These changes, of course, are not backwards compatible, and our attempts to
write a polyfill library were ultimately unsuccessful. As a result, we decided
to bump the major version of all libraries currently depending on the draft

What we have done

Our approach in updating the various packages was as follows:

  • We created a new release branch named after the next major release. For
    instance, if a library is currently issuing v2 releases, we created a
    release-3.0.0 branch.
  • We updated the branch aliases defined in the composer.json for the package
    as follows, on all branches:

    • The master branch points to the current minor release. As an example, for a
      package with a current stable 2.3.1 version, the branch alias became
      "dev-master": "2.3.x-dev".
    • If a development branch already exists, we updated similarly to the master
      branch. For the above example, the branch alias would read "dev-develop": "2.4.x-dev".
    • The new release branch is then mapped to the upcoming major version:
      `”dev-release-3.0.0″: “3.0.x-dev”.
  • On the release branches, we updated dependencies as follows:
    • PHP dependencies became simply ^7.1 (per our decision posted in
    • References to http-interop/http-middleware packages were changed to
      "http-interop/http-server-middleware": "^1.0.1".
    • References to packages that have corresponding release branches were updated
      to have their constraints point to the appropriate development release branch.
      As an example, "zendframework/zend-expressive-router": "^3.0.0-dev".

These changes ensure users can install the new development versions of packages
by feeding an appropriate development constraint.

You’ll note that we bumped the minimum supported PHP version in these packages
as well. Because we were doing that, we also decided to make use of PHP 7.1
features. In particular:

  • Scalar and return type hints.
  • Nullable and void types.
  • Null coalesce.
  • strict_types where it simplifies validation of scalars (which turns out to
    be almost everywhere).

For packages that define interfaces, this meant that we also needed
corresponding major version bumps in packages that implement those interfaces.
This affected the router and template implementations in particular.

If you want a complete list of what was updated, you can visit the burndown
list in the forums

How YOU can test

This is all very nice and technical, but how can YOU test out the new versions?

Install the development version of the Expressive skeleton!

$ composer create-project "zendframework/zend-expressive-skeleton:3.0.x-dev" expressive-3.0-dev

This will create the skeleton project, with your selected functionality, in a
directory named expressive-3.0-dev. From there, you can start developing!

When you do, be aware of the following:

  • Middleware must now implement InteropHttpServerMiddlewareInterface:

    namespace YourModule;
    use InteropHttpServerMiddlewareInterface;
    use InteropHttpServerRequestHandlerInterface;
    use PsrHttpMessageResponseInterface;
    use PsrHttpMessageRequestHandlerInterface;
    class YourMiddleware implements MiddlewareInterface
        public function process(
            ServerRequestInterface $request,
            RequestHandlerInterface $handler
        ) : ResponseInterface {

    Note: vendor/bin/expressive middleware:create will create these correctly
    for you with its 1.0.0-dev release!

  • If you want to delegate handling to the next middleware, you will now use the
    $handler, and call its handle() method:

    $response = $handler->handle($request);
  • If you want to use one of the optional Expressive packages, such as
    zend-expressive-session, you will need to require it using a development
    constraint. For instance:

    $ composer require zendframework/zend-expressive-session:^1.0.0-dev

    Note the use of the semantic pin (^), as well as the -dev suffix; both are
    necessary for composer to identify the development release.

Regarding the last point, the following is a list of all packages with
development release branches, along with the corresponding version you should
use when requiring them while testing:

Package Version
zend-expressive ^3.0.0-dev
zend-expressive-aurarouter ^3.0.0-dev
zend-expressive-authentication ^1.0.0-dev
zend-expressive-authentication-oauth2 ^1.0.0-dev
zend-expressive-authorization ^1.0.0-dev
zend-expressive-csrf ^1.0.0-dev
zend-expressive-fastroute ^3.0.0-dev
zend-expressive-flash ^1.0.0-dev
zend-expressive-helpers ^5.0.0-dev
zend-expressive-plastesrenderer ^2.0.0-dev
zend-expressive-router ^3.0.0-dev
zend-expressive-session ^1.0.0-dev
zend-expressive-skeleton ^3.0.0-dev
zend-expressive-template ^2.0.0-dev
zend-expressive-tooling ^1.0.0-dev
zend-expressive-twigrenderer ^2.0.0-dev
zend-expressive-zendrouter ^3.0.0-dev
zend-expressive-zendviewrenderer ^2.0.0-dev
zend-problem-details ^1.0.0-dev
zend-stratigility ^3.0.0-dev

In most cases, unless you are extending classes we provide, your existing code
should just work with the new packages once you update your middleware to the
new signatures.

Updating an existing application

Updating an existing application requires a bit more effort. You will need to
manually edit your composer.json to update the constraints for each of the
above packages to match what is in the table. Additionally, if you see
references to either http-interop/http-middleware or
webimpress/http-middleware-compatibility, you will need to remove those.
You will also need to add the following two lines to the file:

"minimum-stability": "dev",
"prefer-stable": true

Once done with the composer.json changes, run composer update to pick up
the changes. If you encounter any issues, run rm -Rf composer.lock vendor, and
then execute composer install.

Finally, you will need to update any middleware in your application to
implement the new interface. Ensure you have zend-expressive-tooling
installed, and install it if you do not, using the ^1.0.0-dev constraint
(composer require --dev "zendframework/zend-expressive-tooling:^1.0.0-dev").
Once you do, run:

$ ./vendor/bin/expressive migrate:interop-middleware

What’s next?

If you run into things that do not work, report them on the appropriate issue

Once PSR-15 is finalized, our plan is to go through and update each package
depending directly on it to point to the new PHP-FIG sponsored packages, and
update import statements throughout our code appropriately. We’ll then likely
issue a beta release for folks to test against one last time.

In the meantime, we’ll also be looking at other changes we may want to make. New
major version breaks should happen only rarely going forward, and we may want to
make a few more changes to help improve quality, simplify maintenance, and
increase usability before we make the final release. As we do, we’ll update you
here on the blog.

Want some ebooks on ZF and Expressive?

We collated our posts from the first half of 2017 into two ebooks:

  • Zend Framework 3 Cookbook, which covers usage of a couple dozen ZF
    components, within zend-mvc and Expressive applications, as well as
  • Expressive Cookbook, which covers features of Expressive and middleware
    in general.

You can get them free with registration on the

A new release of zend-db

Today, we released zend-db 2.9.0!
This is our first new feature release in over 18 months, and contains
7 bug fixes, 6 new features, numerous unit test additions, and many
documentation improvements.

zend-db is an important component of many PHP projects, and we know that its
support is crucial for many people. As such, we allocated a number of weeks to
triaging the various open issues and patches (more than 50) to ensure we would
provide a stable release.

The release contains the following changes:


  • #216 added AFTER support
    in ALTER TABLE syntax for MySQL.
  • #223 added support for
    empty values set with the IN predicate.
  • #271 added support for
    dash characters in MySQL identifiers.
  • #273 added support for
    implementing an error handler when used with db2_prepare.
  • #275 added support for
    LIMIT OFFSET for db2.
  • #280 added the version
    DSN parameter for the pdo_dblib extension.


  • #205 fixes whitespace
    issues in ORDER BY syntax.
  • #224 fixes how parameters
    are bound to statements in the PDO adapter. PDO has a restriction on parameter
    names of [0-9a-zA_Z_]; as such, the driver now hashes the parameter names
    using md5() in order to ensure compatibility with other drivers.
  • #229 fixes SSL support
    in the mysqli adapter.
  • #255 fixes an edge case
    when using ResultSet with array values (versus objects).
  • #261 fixes how the
    Firebird adapter attempts to retrieve the last generated value so as to
    prevent exceptions being raised.
  • #276 and
    #287 provide fixes to
    enable usage of the component with PHP 7.2.

We also dropped support for PHP 5.5 (EOL last year) and HHVM; zend-db 2.9 and
above now only support PHP 5.6 and PHP 7+ releases.

Future of zend-db

We are planning a 3.0 release of zend-db release sometime in 2018. This new major version
will contain new features sucha as extended DDL support
for different database vendors (currently, most support targets MySQL), and support
Additionally, that release will drop support for PHP versions older than 7.1.

If you want to contribute to zend-db, you are more than welcome! For more
information, read the Zend Framework contribution guide.

Special thanks

A special thanks to the following zend-db contributors (in no particular order):

We also extend thanks to our community review team for their efforts in making
this release of zend-db possible.

5 Top Smart Cities Have This in Common

The internet has an uncanny history of tiny companies disrupting behemoths of industry. It turns out, it’s not just startups flipping corporate superpowers on their head. Small, rural cities in the United States are proving they can not only compete with major cities like Vienna and Paris, they can beat them.

It’s easy to see why cities want to be “Smart Cities”. The promise of efficient utilities, quick transit, and disaster recovery options are compelling economic advantages. Smart cities will fundamentally improve how people live. So how do they get from great ideas to laying groundwork?

We look at some of the most innovative cities of all sizes to discover how cities are getting ahead.

Smart City List

5.Toronto, Canada

This Canadian city is a leader in North America. They have implemented smart transit systems and renewable resources to save money and the environment. It’s a major economic hub that’s investing in new tech, cementing Toronto’s status as one of the leading smart cities in the hemisphere. The secret sauce? The region has affordable fiber internet to both businesses and consumers, meaning gigabit speeds across the entire city.

Paul Bica


4.Vienna, Austria

Vienna is an international center for business and politics, and they are investing in their infrastructure to meet this demand. Boasting a world-class smart infrastructure and transit system, the city has become a destination for tech companies. That includes ISPs, where the fierce competition has resulted in multiple fiber options for citizens across the city. Blazing fast internet speeds keep the high-tech infrastructure running.

Dennis Jarvis


 3.Ponca City, Oklahoma

At the opposite end of the Smart City scale, Ponca City is a small community of 25,000 residents. That hasn’t stopped attention from the rest of world as the city hosts delegations from Italy, Australia, and all over the Northern hemisphere. Why so much attention to an Oklahoma farm town? It’s all because of their internet, fiber to be exact. Ponca City has a completely free municipal WiFi network that covers the entire city, powered by a fiber network built over the course of 15 years. It’s an inspired forward-thinking project that’s paying big dividends back to the city.

Matt Howry


2. New York City

The big apple needs no introduction. The mayor’s office released a full public proposal on everything from wireless water meters to responsive traffic signals. Central to this goal is the pledge to provide high-speed broadband to every resident by 2025. To do this, Verizon has been contracted to bring fiber access to every part of the city.

Aurelian Guichard


 1.Chattanooga, Tennessee

Easily one of the hottest up and coming cities in the United States, Chattanooga boasts the fastest broadband in the Western hemisphere. Thanks to savvy city leadership, they’ve been dubbed the city that was saved by the internet. Gigabit broadband internet access that was built and offered by the city has ushered in a technical renaissance, a small oasis of startup culture nestled in the foothills of the Blue Ridge Mountains.



 Building for the Future

The key component to any competitive smart city is fast and reliable broadband. Uploading thousands of gigabytes of city usage data to the cloud takes bandwidth and lots of it. Like a house without a foundation, a smart city plan won’t survive without the broadband infrastructure to scale into the future. For that, the winner is fiber, hands down. The examples of small cities like Chattanooga and Ponca City prove even rural municipalities can compete with major cities. New York City is pledging to provide high-speed broadband to all of its residents by 2025, but Ponca City already checked that box 5 years ago.

So how does a small city compete with major players? Start now. Investing in fiber infrastructure takes years and major budget investments to compete, but results in major benefits down the road. Rural cities are already starting to take notice of the success stories, and fiber when done right can make a city in decline a smart city in a matter of years.

Adding usage tracking to your smart city project? Find out how Who’s On My WiFi can help.

The post 5 Top Smart Cities Have This in Common appeared first on WhoFi.