Ever hear about the myth of the “seventh wave”? Surfers use it to describe the big one — the wave that you can ride all the way into the beach. While it’s been a while since I’ve tested its premise at the shore, I often think about the seventh wave when dealing with the constant waves of tools, processes, and technology we developers face. With the constant change you face, how do you determine which technologies will change everything from overhyped vendor pabulum (3D TV, anyone?) We don’t have the capability to invest in every new technical advance that comes down the pike, so we need to be able to tell the seventh-wave technologies from the others that might provide incremental productivity benefits or cost reduction but don’t change everything we do or think.
We’ve all heard the aphorism “a picture is worth a thousand words.” These days, that’s certainly true of the balance between content and behavior that modern application developers face. There’s long been a certain amount of creative tension between designers and developers, but good developers generally appreciate the value of effective visualization.
This week I’m yielding my soapbox to a guest blogger: Rowan Curran. Rowan is a research associate on the application development and delivery role team, and I often enjoy his tweets about his own particular interests in the digital media space (follow him at @shortpierreview). His remarks below about his most recent vacation day are a good reminder that the changing nature of print and digital experiences will place increasing demands on developers to blend the real and the digital. Devs might even find themselves spending more time with designers and (gasp) artists as the real and the digital converge.
If you could see Siri as well as talk to her, what might she look like? I recently attended a panel of digital artists the MIT Media Lab who are struggling to answer questions like this. Their works ranged from algorithm-generated mosaics to more traditional digital photo-stitching. But the most surprising and interesting medium that they were working in was big data and visualization. The most poignant realization of this was Joshua Davis’s work on the visualization of IBM’s Watson.
I’ve previously written about how modern application architectures are shifting toward compositional, service-oriented architectures — “for real” this time. RESTful services using XML or JSON payloads proliferate because they’re easy for developers of omnichannel clients to use on virtually any device they need to support. It doesn’t matter if they’re building native apps in Objective C or hybrid apps with Cordova — if they can get an open web API call, it’s good enough to move forward.
This shift to web APIs and modern applications means that companies have to shift their API management strategy as well. They need to 1) create the web APIs and 2) create a life cycle to manage them. It’s this life-cycle element that’s conceptually distinct from traditional SOA governance solutions. For one thing, the services live on the open bus of the Internet and carrier networks. Another difference is that web APIs are increasingly made availabe to third-party developers. They may be part of a newly formed developer community, or they may support the growing number of digital agencies and mobile specialist firms that your company uses to supplement development projects. Security and access models are different (e.g., OAuth 2), provisioning access to APIs needs to support light-touch approval workflows, sandboxes where developers can test their calls are important, and analytics that detail call volume and how developers are using APIs are must-have capabilities. Above all, a developer portal that provides good documentation, example code, and quick time-to-value are important if you want to attract and keep developers.