Everything As A Service: Applying APIs to Your Internal Systems

Posted my latest entry to the API Strategy blog last week, in which I advocate approaching your internal architecture as a series of APIs rather than a monolithic system.

I’m certainly not the first to propose or recommend this idea. It has, in fact, been around for a while under the label “Service Oriented Architecture” or SOA. But SOA has traditionally relied on complicated protocols like SOAP or CORBA or technologies that lock you in to a given platform like COM or JMS. RESTful APIs are becoming the best solution for modularized systems, even within the same data center, as they allow for maximum flexibility with no vendor lock in. It does require additional work in the initial stages to get it running correctly, but tools like Apigility (for PHP) and restify (for node.js) allow you apply a RESTful facade in front of legacy systems until they can be rearchitected to serve a RESTful interface natively or replaced entirely.

Since REST is a completely open standard (though I use the term “standard” loosely here), you can rapidly onboard new developers and integrate with the latest and greatest technologies with ease. You can also more easily expose select parts of your infrastructure to partners and third party developers with very little additional work.

Precious few internal systems are built like this, and too many systems architects dismiss the idea of an API driven architecture out of hand without  considering the benefits. Forward-thinking architects immediately see the benefits of combining highly modularized systems with RESTful API interfaces to deliver tremendous flexibility, systems reusability, increased rates of innovation and reduced onboarding time for new developers.

What is a RESTful API?

My first blog post for the Mashery blog just went live, wherein I describe what a RESTful API is and why you should care, especially if you’re not the technical type. Go read it!

Google Reader’s Demise Is Not The End of RSS

Look, I’m as sad as you are about Google shuttering their awesome Reader service for managing RSS feeds. Though it’s been a while since I was actively using it, the idea that it was there for me was comforting.

But, really, RSS feeds are a mess to manage to begin with. Not every story that All Things D produces is worth my limited reading time. And, while having every headline in one location is nice, it gets overwhelming quickly. I never really taught myself how to ignore RSS headlines the way I can ignore tweets.

In my world, the RSS reader has been replaced by email newsletters, Twitter and Facebook. Every morning, I get a solid summary of what’s going on in the tech world by subscribing to a small handful of newsletters that give me the major highlights. If I need more detail, I can always Google for it. Throughout the day, my Twitter feed – which is always open in TweetDeck on a separate screen (the demise of old school TweetDeck is a far more brutal a blow to me right now than Google Reader ever will be) – keeps me abreast of the current zeitgeist across all of the areas I’m interested in. I may not be getting scoops this way, but it’s enough to keep me literally up to the minute on what’s happening where I care.

But even with all this, RSS will not go away, and that’s a good thing. Stop seeing RSS as a way for your reader to deliver you news and start seeing it for what it really is – an API for content. The RSS feed for your blog can be used by email services to automatically serve up an email digest of what’s been posted to your site. It can also be used to syndicate your content to other networks. If you run a podcast, your RSS feed is the best way for non-Apple podcast listeners to keep getting your latest episodes (sorry, but iTunes sucks).

And this is just the beginning. I’ve been compiling quite a bit of information about what I consider to be the next big thing on the web, something I refer to as “Web 4.0″. I’ll soon be posting a ton of content about it because it’s sort of my latest obsession. For a taste of what I’m talking about, though, check out IFTTT.com. This site allows you to connect several of your accounts that have APIs to one another to create new forms of interactivity. For example, I now have several RSS feeds from blogs I care about feed directly into my Pocket account so that, instead of just seeing the headline, I can have the entire article immediately downloaded to my phone so I can read it even when the mobile connection gets spotty on my morning BART ride. The ability to programmatically connect our web app accounts and – eventually – all of our devices and home appliances is something that has been promised for more than a decade. We’re finally on the cusp of seeing it really, truly happen.

So go ahead and mourn the passing of Google Reader, and do continue to hope that you can find an alternative. You should be able to read the news you want in the way that works best for you. But don’t take this as a sign that RSS is dead. I firmly believe that we have yet to see the full potential of RSS, but that will soon change.

What Tablet Should You Buy?

As a geek, I’m often asked my opinion on what computer-related gear is best. In that spirit – and because I have been asked this question many times this holiday season – I present you with this: What tablet should you buy?

If the recipient is a geek: Nexus 7 from Google. It’s 7 inches of raw, uncut Android unburdened by any manufacturer’s crappy idea of “better” UI. And, if your geek knows any Java, they can code on it themself. Done deal.

If the recipient is an Apple Fanboy/Fangirl: The iPad from Apple. Mini or regular is up to you, though I personally find the 7″ form factor of the iPad Mini easier to use. If you buy an Apple fan anything else, be prepared for a fake smile and a request for the return receipt.

If the recipient is anyone other than the above: The Fire HD from Kindle. My wife Danielle has the previous version, and it’s more than perfect for all of her needs. It’s even the tablet of choice for my four-year-old son. Don’t bother with the Nook – it has a long ways to go before it comes even near to competing.

At this time, I don’t consider any other tablet by any other manufacturer worth considering. But you’re welcome to tell me I’m wrong in the comments.

Google Glasses

Some folks call Google Glass “dorky-looking”. In three years, they’ll be haute couture.

Google co-founder Sergey Brinn demoed his company’s Google Glass program at this week’s Google I/O conference in what may be the best tech presentation on record. Warning that the technology was new and this would be a rough demo, he cut to a scene of several BASE jumpers geared up in wing suits floating above San Francisco’s Moscone Center in a Zeppelin airship (as I was later corrected after calling it a “blimp”). For the next several minutes, conference participants watching the keynote (and those of us watching via streaming video) were treated to a series of POV shots taken directly from the cutting edge Glass technology, experiencing the same thrill of falling to earth, jumping BMX bikes across the convention center roofs, rappelling down to the third floor and, finally, riding through a confused lobby crowd and through the meeting room to the keynote stage.

Somehow, I don’t think my day to day sharing through them will be as exciting. Continue reading

The Legacy of the iPhone

I’ve been thinking about what I deem Web 3.0 quite a bit lately, especially since I got my Blackberry 8830 and have been using it not only to get my email but also surf the web. I know, of course, that there’s a better option out there for web surfing – Apple’s iPhone – but I haven’t been prepared to plop down $500 and change service providers to get it (recent hacks not withstanding).

I have, however, had the opportunity to play with it. Through it I have seen the future, and the future is in my hand. There’s no question that the iPhone is a game changer. Already, Nokia is making moves to duplicate many of the phone’s best features and other phone manufacturers will no doubt follow suit. As these features migrate to less expensive phones on more service carriers, users will expect to surf a web that gives them as rich an experience as desktop surfing currently does, but formatted to better work on their new devices.

Up to this point, the state of the mobile web has been embarrassingly weak. Wireless web surfing is nothing new – as early as 1998, Nokia handhelds were getting stripped down information from the web using a combination of WAP and WML – but it has made little progress since its early text-heavy, poorly formatted days. Even the Blackberry 8830, with its 320×240 pixel screen size, relies still on a stripped down browser that only vaguely resembles the full web. Granted, it’s difficult to reliably surf on such a small amount of screen real estate, but most information of use to mobile users – event searches, weather information, breaking news, even blogs and special interest articles – can be easily formatted to fit the mostly text-only format of these small screens.

The problem lies, I think, in a combination poor support for web developers by mobile phone manufacturers, the obnoxiously high fees charged by service providers to access the web and web developers either unable or unwilling to provide a secondary mobile format for the sites they build, despite the ease of such work promised by technologies like DHTML and CSS.

The iPhone and its predecessors will change all this. First, with more people accessing the mobile web, developers will find themselves in a position where they must design around these new devices. The web will be ubiquitous – accessible from wherever we happen to be – and smart developers will figure this out early and be ahead of the curve. Next, the manufacturers of these phones, eager to build in a reason for consumers to want their flashy new iPhone clones, must create incentives for web designers and developers to build out the mobile web. They should do this by sponsoring existing mobile web development communities, providing white papers and tutorials and building in more hooks to make the mobile web even more useful (for example – my Blackberry comes with a built in Google Maps-like application. If I see an address on the web, I should be able to click it and select “Get Directions” as one of my options, which will take me to this map application).

The only thing that may take a while to happen is wireless service providers reducing their prices to access this mobile web, and this is where I think Apple really failed in their iPhone release. Apple had an opportunity to revolutionize the cell phone industry one step further. Recent hacks of the device have proven that the iPhone did not necessarily have to be tied to any specific service provider. The iPhone could have been released as an unlocked phone sold first through the Apple store, then through any cell phone provider store that wanted to provide service to the phone. If service providers chose not to support the phone, Apple could have provided instructions to allow purchasers to program the phone themselves to replace their existing phones. Of course, these authorized hacks wouldn’t promise free service or anything like that – heck, I’d have a good reason to pay the $50/mo Verizon charges me for email and web access.

What if the providers didn’t play along? What if they blocked the iPhone? That would be an incredibly dumb move. First of all, the iPhone is a truly drool-worthy device that drips cool. Those associated with it are automatically made cool by their association. So what if the big four – AT&T, Sprint, T-Mobile and Verizon – banded together in an unprecedented agreement to block the iPhone? That would create an opportunity for lesser carriers like Helio, Alltel and Mobile PCS to expand their user base. I get that Apple didn’t want that to happen – Jobs and Co. are notorious for wanting complete control over every aspect of their products – but that scenario is also highly unlikely. T-Mobile for certain would jump on the iPhone bandwagon, and I think the other carriers, what with the fame and fanfare the phone has generated, would be hard-pressed to not follow suit.

This would have forced the providers to compete solely on service, which is pretty horrendous across the board these days. I stick with Verizon largely because, theoretically, they have the best coverage maps, but the truth is that I just don’t know. I haven’t been able to compare services apples to apples using the same device across the board, so I truly have no idea who has the best service. Verizon only recently began offering cool phones – until recently, I would have had to switch to Cingular if I wanted features like a camera a phone, MP3 player or any of the other gewgaws being slapped into cell phones these days. Rather than competing on service, the carriers have competed instead on features and phones offered, and by going with AT&T as the sole provider I believe the iPhone made this worse. Instead, the iPhone could have changed all this by allowing users to go with the company they felt best suited their needs. This, of course, would have been bad for the carriers, requiring them to actually compete rather than continuing to bully their customers with abusive contracts and lies about their coverage and reliability. But what would Apple care? It’s not like they plan on entering the mobile service market (doing so would be an unbelievably bad move).

But, of course, Apple played the current game, found a service partner and kept the status quo. I can’t fault them, but I do think they missed an amazing opportunity to truly serve their customers. Still, I do believe the iPhone is only the beginning of the next phase of web development. By next Spring this will no doubt be a topic on everyone’s tongue. I’m not the best at prognostication (I’ll post my Yahoo story on here sometime) but I see the opportunity being presented to developers and entrepreneurs. I’m already working on something to take advantage of this, and I’d encourage others to do the same. There are already more than a few attempts at the mobile web, and the promise of the mobile web has been a long time coming, but I genuinely believe it will not only be fulfilled, but, within two years, completely ubiquitous. I look forward to the opportunities that will create.

Happy iPhone Day

Today, thousands of slavering Apple fanboys and fangirls will rush the doors at their nearest gleaming glass cube Apple store and gladly throw down gobs of cash for the first generation iPhone. The only thing keeping me from being one of them is reality.

That phone is damned sexy, there’s no question. But, like the first generation iPods, it won’t be without issue. There are already discussions going on about battery problems, memory issues and the fact that, though you can surf the “real” web with it, it only attaches to one of AT&T’s slowest cellphone networks, making it rather like being forced to only drive your Ferrari on the 405 freeway during rush hour.

It’s going to improve, just like the iPod did. They’ll eventually figure out a way to fit the chip  necessary to use the faster network into the little device and, what with battery technology improving constantly and fuel cells seemingly only a couple of years away from commercial production, the power consumption problems will be mitigated. I expect that, by this time next year, the next gen iPhones will be about as revolutionary to mobile technology as the iPod was to music.

This is huge for the Web industry. For years, we’ve tried to figure out ways to efficiently bring content to cell phones, PDAs, etc. and have not yet perfected it. Trying to cram that much information down that narrow a pipe onto that small a screen has been a hairy endeavor. The iPhone, with it’s crisp, touch-sensitive display mitigates a number of these problems. The fact that it includes a web browser that, according to all of the marketing material, allows one to efficiently and easily navigate a normal sized web page means, as the number of iPhone users increases, the more hits we’ll be seeing in our logs from mobile Safari.

I’ve long said that, where “Web 2.0″ has been about creating interfaces that simplify complex technical tasks that the non-technical public can easily grasp, “Web 3.0″ will be about the ubiquity of access offered by devices like SmartPhones and such. Just as it seemed to take a decade before anyone really figured out how to make it easy for a non-technical artist to start a personal website in the form of a blog or share their pictures using a site like Flickr, it seems that it hasn’t been until now that someone’s taken the hassle out of surfing the web on the go. I haven’t actually played with the iPhone myself and the public has only gotten its hands on the device as of maybe a half an hour ago, but every demo I’ve seen and review I’ve read indicates to me that Apple finally got this to work.

The iPhone marks the dawn of Web 3.0, and it behooves anyone running a site that appeals to folks on the go (event information sites, news sites, mapping sites, etc.) to start thinking about redesigning their web properties to make the best use of this medium. We’re looking at another window of opportunity to take advantage of a hot technology that, to my eyes, has not had its potential realized by enough people. The sites that ingratiate themselves to these early adopters will be the ones to rake in the big bucks when the rest of us hop on board the mobile web bandwagon. I hope some of you are paying attention. I know I am.

Stop – Web 2.0 Time

This is why I have not jumped on the “Web 2.0″ bandwagon, nor is it likely I will: MC Hammer joins panel of Web 2.0 “experts” at TechCrunch20 conference. Putting MC Hammer on a panel alongside folks like Caterina Fake and Rajeev Motwani – two highly knowledgable computer professionals in their own right – to determine which projects should receive VC exposure diminishes the importance of the whole process. I don’t care that he’s a consultant on a stealth web property – does he know the difference between a blog and a wiki? Does he know about community building? Does he even know any HTML?
Web 2.0 is a bit of a joke. It’s a series of extremely loosely connected ideas that really weren’t in search of a unifying name. The sooner we can get past the hype and get on with simply building and supporting extremely useful, highly connected web-based applications – no matter what you want to call them – the better off the entire industry will be. Trying to build every little thing so that it fits into some kind of artificial Web 2.0 mold in order to ride the current wave of hype does far more harm than good. Build a product your customers need and love to use and you’ll win, period.

Yes, I’m cranky. Can you tell?

The Leap

I recently made a bold decision that will either turn out to be the greatest thing I have ever done or my stupidest failure. The good news is that it’s completely up to me to determine which outcome it is.

For quite some time now (years, really) I’ve wanted to go independent and work more or less for myself. Several factors over the years have convinced me that a full time job hold many of the same risks as working for one’s self – more, if you consider that working for yourself means you have control over your destiny. When my mother passed away in November, I was hit with two big notions: 1) Though I’m not independently wealthy, I now have enough money stashed away to provide a healthy cushion during the early, tricky days of my new venture and 2) I’d rather try and fail than die and have not tried. Mom died at 57, just as she was finally settling into her own independence. She accomplished a hell of a lot during her time here, but it still pains me that she didn’t get to finish it. As her son, I’d like to do it vicariously for her.

So, as of a week or two ago, I’ve switched to a part time schedule at Robert Anthony, where I spent more than two very productive and satisfying years learning a lot about marketing, the needs of small businesses and the requirements for running my own small business. Within the next couple of weeks, I’ll be working full time for my own venture. Right now I’m working under my own name, but I’ll soon have my fictitious business name and begin operating under it.

I provide technology consulting, web development and  system maintenance services for small to mid sized businesses as well as on-site technical support around the Bay Area. Right now it’s a one man show, but the goal is to stop being a freelancer and start building a complete, self-sustaining business that can operate with or without me.

I’m extremely fortunate to already have a pretty good stable of clients who have stuck with me through my full-time job flakiness and keep referring me to others. But I’m still available for any other projects that may be out there. If you know of someone in need of a web presence, online application or some help in figuring their online strategy out, give them my number: 510-390-4452.

So, that’s the big news in my life at the moment. How does this affect this site? Well, as you know, this site reflects my ideas and opinions more than anything else. It’s my soap box and test bed. As the focus in my offline life transitions to a more business-oriented mode, I suspect a similar transition will be made here. I already pepper my posts with business and technology related observations, but you may find I do it more often. More importantly, I will begin discussing some of the influences that drove me to finally make this leap, which I hope you will find interesting and informational.

Of course, I’ll still post about random weirdness that happens as well as share my opinion on a variety of topics. I’m going to try not to censor myself any more than I already do, but knowing that potential clients may visit this site (this will remain my personal site, but folks have a habit of Googling me) may keep me a bit more on my toes.

If you’ve made a similar leap and have any advice to impart, I would love to hear it. I may even relay some of it back on this blog to help others. I thank you in advance for your support and patience. And, if the biz blogging starts driving you nuts, let me know. I’ll post some random weird thing just for you.

How Did E-Mail Get So Complicated?

I’m working with a client to set up an email account so she can receive the results generated by an online contact form. She’s currently using the Yahoo web client for her Yahoo/SBC account and, since she’s not all that technically proficient, I’m not too eager to take her off of it and put her on something like Outlook. If I need to, however, I’ll have to go through the whole process with her over the phone on how to configure Outlook to get and send her email from this new account. The process goes like this:

  1. Go to Tools->Email Accounts in the menu at the top of the page
  2. Select “Add a new e-mail account” and press “Next”
  3. Select “POP3″ for your server type.
  4. Fill in the text boxes as appropriate with your name, email address, username and password. For your incoming mail server and outgoing mail server, use the server URLs I have provided. When done, click “Test Account Settings”. If everything is OK, click “Next” and you’re done.

Now, here’s my complaint – why do we need so many steps to set up a new account? Why do I need to provide the server names? Outlook is usually smart enough to divine the user name for the account from the email address I provide (in most cases it’s everything before the @ symbol) so why can’t it also divine the server names? Most servers are named either mail.domain.com (replace “domain.com” with whatever appears after the @ symbol), smtp.domain.com, pop3.domain.com or, in some rare cases, imap.domain.com. If one is setting up an email account, one can assume the person is connected to the internet and can, therefore, do a quick MX record search on the domain to figure out the SMTP server and, potentially, the POP3 or IMAP servers as well.

You may argue that Microsoft, in an effort to push its Exchange server (which, by the way, has caused more trouble for me than it has ever helped) they don;t spend too much time on other email technologies like POP3 and IMAP. Fine. Then explain Thunderbird’s awful setup process. It’s almost exactly the same only a bit more complicated. In the name of flexibility, they’ve sacrificed ease of use. What’s worse, if you have multiple email accounts from different domains and providers, you have to explicitly set up separate SMTP outgoing accounts after you’ve already setup the incoming accounts, otherwise you’re stuck using just the SMTP server you set it up with initially. This is not typically a problem, but if the Sender Policy Framework ever takes off, this could easily mark some of your messages as spam.

Email has been publicly available for more than 10 years and has been around in one incarnation or another for more than 30. So why do we still need IT professionals to come in and set up the clients? Why has no one figured out a way to make this more accessible and easy to configure? In the cases where the standards mentioned above aren’t adhered to, there should be some kind of “Advanced” button to remedy the situation, but that stuff could probably be ignored in 80 percent of the situations. Email is so unbelieveably complex to put together for the unbelieveably simple thing it does. It’s the backbone of the Internet and yet it’s also it’s red-headed stepchild. When you hook a computer up to a network running DHCP, you don’t need to take any additional steps to surf the web – just open your browser and click on a link. All of the handshaking, IP and DNS assigning, authentication, etc. happens behind the scenes without any intervention. Why hasn’t email, a considerably easier process than establishing an Internet connection, followed suit?

Tech entrepreneurs, I’m looking at you here. This one’s a money maker, I can feel it.