Not building an API?  You are doing it wrong.

“API” used to only be about header files and function definitions; you know stuff only programmers cared about.  Not so much anymore, now your software’s API is becoming the make-or-break center piece of your technology strategy.  We are discussing APIs with most of our forward thinking customers even before we sort out the core functionality, because for a growing number of companies, how their service integrates with others is core functionality.  As users have become more social so has the software they use.  I don’t mean social as in sharing ironic photos of your breakfast, but rather social as in your users expect your service to work seamlessly with everything else they use, or they won’t use it at all.

Sure, making your software a platform and reusable isn’t a new idea.  If you go back to prehistoric times, you may remember the hype around component-based systems such as Microsoft’s COM.  COM was a nightmare for most programmers, but did effectively lock a lot of businesses into Office.  Then there’s the more recent hype around SOA.  This is probably a term that causes physical discomfort in most developers, even if just because they are tired of the buzzword itself.  While what I’m talking about here is essentially SOA in concept, that word was too quickly hijacked by “enterprise” software vendors selling overly complex (and expensive) tools and standards that while making them tons of money also made simple things terribly hard.

So why is the hype around today’s APIs different? On the implementation side, we are talking about simple REST-based services that exchange JSON data.  This technology choice quickly gained momentum because it was a developer driven pragmatic solution and not forced upon us by software vendors or standards committees.  This approach is so simple that even Java (which hasn’t gotten any web technology right, ever) couldn’t screw it up and now has a pretty decent REST solution with its JAX-RX spec.  Also, if you are building a modern web UI, chances are you are already thinking in terms of AJAX APIs for your own internal needs, so opening that up to 3rd parties for integration may only be a small incremental cost.

So developers are on board.  But you’re probably asking, “Why, again, is this important to my business?”  Some thoughts on why your API will be critical to your strategy:

  • Expand your audience:  Why limit your users and customers to only those who downloaded your app or are on your website?  By allowing your service to surface in other people’s products, you can vastly increase your user base.  If your business model supports it, your service can even serve as an additional revenue stream for your partners with little to no risk on their part.
  •  Do what Apple won’t let you:  A lot of the action we’ve seen on the mobile side is around making apps (and their underlying services) work well together.  Unfortunately for developers mobile apps are in a sandbox so desktop-style interoperability isn’t possible.  But if you expose your service as an API, you can work with 3rd parties directly to get your service integrated with theirs.  The good news is that once you forge these relationships, tight integration at this level can serve has a huge barrier to entry for your competitors and thus be a strong strategic advantage for you.
  • Some ideas only make sense as part of an ecosystem:  I’m thinking about services like Gravatar here.  It doesn’t do much itself, but it’s now tied into nearly every online collaborative tool on the planet, and it is now emerging as a de facto single sign-on standard.  Since it’s owned by the WordPress guys, it helps them weave their own services in with things that have nothing to do with blogging.  That could be you too.

In short, while focusing on your API isn’t exactly new, it is the future (again).

We build really big software.  Big as in 100,000 people participating in the same web conference big or alert an entire state about severe weather big.  But few software systems start out that big. Twitter and Netflix had big ideas for sure, but the technology started small.  And they were able to smoothly grow to keep up with demand… well, perhaps not also smoothly!  So when’s the right time to start worrying about your scalability strategy?

We get asked that question a lot and the answer is early and often.  In fact, it’s one of the first questions we ask when evaluating the feasibility of a project.  While most technology businesses will never need to address Twitter or Netflix sized scalability challenges, we believe that if you are planning for success, you need to be planning for scalability.

Read the rest of this entry »

We tackle the hard software problems.  Every day Eureka works on products that have to scale to support millions of users and need to mask complex interaction behind elegant user interfaces.  So how do we tackle something equally complex, like SEO, that we don’t do every day?  The same way we approach our software projects!  We stay lean, we test, we iterate, and we perfect.

When faced with needing to increase traffic for an underperforming website, we did just that.

We aren’t experts in SEO, but take a look at the web traffic chart below to see how well we did:Traffic

See a difference?  That’s more than a 10-fold increase in traffic – not too shabby for software developers masquerading as SEO experts!  What you don’t see in the chart are the numerous adjustments tested to see what worked best in the post-Penguin world.  Over several weeks this summer we tweaked and evaluated, and once we had our data, a cohesive redesign was completed to incorporate what was learned.  This simple test-and-improve approach is the essence of lean development… and it also proved quite effective for optimizing this site.

Here are a few things simple things we learned:

  • Create good content, and lots of it. We’ve become fans of the “single page site” layout, and it gives designers a large canvas to lay down relevant content.  It also works great for mobile users who can easily scroll through your content.
  • Dump non-indexable media:  Flash and bitmapped structure are out.  Make your site more consumable for both for humans and site crawlers by using modern native HTML techniques.
  • Use widely available typefaces (like Typekit) instead of pre-rendering exotic text into images.  Your designer may not find the exact font he/she wants, but indexing a “close” font is better than not indexing the perfect one.
  • And one Don’t:  One of the big changes putting sites in the Penguin penalty box is the excessive use of site-wide links in page footers.  For legitimate site navigation in your footer, use nofollow links.

Remember, SEO is a bit of an art, and some would say a black art at that, so your results may vary. But this message isn’t just about SEO.  It’s about problem solving and it’s about how we approach building software.  To paraphrase Edison, building great software is 1% inspiration and 99% perspiration – test and iterate until you achieve genius! It’s not enough to write code once and be done.  Great software is about execution and process and frankly it’s hard work.  But it’s what we wake up and do each day, and it has made Eureka and our customers successful for over 25 years.

One last thing:  You know that underperforming site we fixed?  It was our own.  Check out the new www.eurekasoft.com.

In 1986 we founded Eureka to focus on providing the absolute best custom software development services available – and by doing it for more than twenty-five years, we’ve learned a lot about doing it right.

Today more than ever, delivering great custom software requires going far beyond programming. We believe it takes a strong blend of technical artistry, high-end engineering and deliberate execution – and that’s how we approach every project we take on.

We believe that a distinct human touch is critical in visual and function design and that personal interaction occur throughout the development process. At Eureka, you won’t find stock design templates and rows of robotic programmers. You’ll find an open and approachable group of incredibly talented and yes, very human people. We trust them to do things the right way and we empower them with the liberty to do so. We constantly expand our understanding of what’s working, and what’s not and we continually improve our processes to remain efficient and relevant. We are firm believers in agile methodologies and lean operations and encourage and work with our customers to adopt these principles as well.

If this sounds like your sort of software nirvana, let’s get together and make something that matters – contact us now!

It seems like half of all websites have a pic of a person with a headset, and we didn’t want to feel left out with our site redesign, so here’s the cheapest stock art “headset” photo I could find.  Now we are complete.

 

Actually, like most software, this new site will probably never be complete.  We already have a large backlog of changes and fixes, but sometimes you need to know when to ship, and shipping is what we do.   We are sad to see the circa 2005 old website go, but this new design is much more ‘us’.  It’s still cool to have an “under construction” sign though, right?

The “headset” photo for us became an inside joke for all the unoriginal things going on in the software business.  We do things a little bit different here I guess.  And no, you won’t talk to a model like this one when you call us.  You’ll be talking to the designers and developers working on your project from the start.

Update!  We actually ran into a reasonably-sized company that actually used this exact photo on their site.  It was awkward.