Blogs

RedMonk

Skip to content

It's a good time to be a software developer

“The exciting convergence of technology consumption and production models” is the topic of the next book Vinnie Mirchandani is working on (his last book had a good, optimistic take on the need for innovation). He recently asked about the role of developers in all that soup – at least I think that’s what he asked. I typed up the below in response, explaining something I’ve noticed of late: this is a really good time to be a software developer. But why?

One of my development friends, John Joseph Bachir, said something refreshingly optimistic at SXSW this year: “this is a great time to be a developer.” And he’s right: there’s a mixture of (a.) technology choice and diversity, (b.) a focus on simplifying technology to provide more frequent functionality, and, (c.) a huge extension of what a “computer” is, therefore, what you can program.

Years ago, I was suspicious of the “software is in everything” line from big vendors like IBM – when that story fit nicely with Rational buying Telelogic. But, now, the broader idea of “the Internet of things” is real enough to play around with, and, for some to do something meaningful with. There’s three high-level things that are driving this, and no doubt more:

(1.) Networking is everywhere and it finally works well enough

Whether it’s Internet, cellphones/smartphones, tablets, laptops, TVs, or whatever, the chances are any device can be online all the time and people can be “always on.” I have a Withings scale that has wifi built into it, for example. There’s cheesy things like the Chumby, and it really doesn’t seem like sci-fi ridicousluness to have your appliances wired up. A friend of mine showed me at our weekly breakfast how he could use his iPhone to turn lights on and off at his home.

We’ve had the potential for all of this for years – here in Austin, IBM (again!) has been well known for a decade (or more!) for having one of those “labs of the future” where the fridge tells you when you need to buy more milk. What’s exciting here is that this networking is in common devices, not just luxury ones. For example, we’d expect BMW to have iPod syncing and fancy bluetooth, but now low-end Fords have the same technology. This week Google threw its lot in with the home automation crew with Android@Home – we’ll see if they can finally be the ones that deliver on the home-front.

That Withings scale is terribly expensive, for a scale, but the price will enviably go down. Having the network everywhere first means that consumers can do more with their devices, hopefully doing new things – like turning their porch light on if they’re staying out on a late night bender. But it also throws gas on another fire:

(2.) Open systems are now more the norm than not

The rainbow and sandals crew (kisses!) did much work to build, explain, and then execute on the idea of open source. For all of the polemics, business-driven subterfuge (you gotta make a return on that VC money somehow!), and IP-crap that open source stews in, there was a key idea that’s become part of what it means to do programming now: every component should be open, if only just enough, for you to tinker with and extend it.

Completely closed systems are aborhent to programmers and they generally think they’re crap. Compare a cable box to a Google TV (or a Roku, if you prefer). Traditional cable boxes have all these lovely ports on them like USB ports, Firewire, HDMI, and such. But you can’t do anything with them. There’s no way to hook something up and play around with it. Newer Internet-TV boxes have “app store” equivalents where you can contribute channels, apps, and otherwise get in there and do something.

Services like Facebook and Twitter are examples of open platforms as well: all of the extra “plugins” and applications built on-top of those two communities help contribute to their overall value: just look at how Zynga has built on-top of Facebook – nevermind the money Zynga is making (for the point being made here), look at all the entertainment value people get out of it.

More nerdy things like REST vs. SOA and cloud vs. enterprise architecture show how more open systems are attractive and enabling for developers. Using simple, more open, REST-based (or, at least, inspired) APIs allows developers to innovate and extend existing software faster than top-down architected SOAs. The lower priced, anyone can come use it, nature of cloud allows developers to do the same with the infrastructure they need to deliver their applications: they don’t need to wait on the more cumbersome machinations (though, largely for safety-nets) that enterprise architecture and IT hoist in front of them.

And then there’s the more straight forward open source itself: there’s so much software, from top to bottom, that’s freely available to use as components, tools, and even applications that a programmer practically has too much choice.

In short: developers have more functionality available to them than in the past, and there are more outlets for their software, more ways to reach users.

(3.) The Return of Apple

These two things and others do a lot to lay the groundwork developers need for that developer renaissance John pointed to, but it was Apple that finally made it all happen. It’s easy to be an Apple fan-boy and glowing speak of them as if they could do no wrong. What Apple did, however, was reboot our expectations of what computers could do for us. Let’s be honest, before the iPhone, people pretty much thought computers were a neusense, were difficult,
expensive, slow, and overall a dancing bear (to crib from The Inmates Are Running the Asylum): you see a bear dancing, and you think it’s amazing, you gape at it…but compared to how well even a rudely trained human could dance, the bear’s skill is total crap.

We’d lived through decades of crappy desktop, web, and phone interfaces. Good user experience was always a left over idea: it was like flossing, we all knew we should be doing it and praised its effectiveness, and were amazed when people did it and had stupendous results…but we never did it. Right before Apple came back, most of the offenders had returned to good UX (Facebook vs. MySpace is a good touch point as well) – Ajax was amazing, though for all that amazingness, compare Google Cal to something like iCal or Outlook’s desktop calendar.

The release and (importantly) maturation of the iPhone made people look at computers in a new way (and the iPod before that to a less extent): you didn’t expect the computer to get in the way, you didn’t need to learn how to deal with it’s eccentrics. And if you did need to learn, you soon forgot that awkward time (for example, note how people complain that Android is awkward at first – they’re just used to iOS, mostly and have to “learn” the naturalness).

There’s much ink spilled on this topic, but to crib a phrase from the enterprise world, Apple figured out business/IT alignment in the consumer space: the figured out consumer/IT alignment. The iPod was not a computer with a music browsing and MP3 syncing application, it was a “service” that played music, a device: they and their users don’t think of it as a computer, let alone software. It’s just a thing. The iPhone is largely the same,
though more wide in function than the single function iPod (well, the iPod did/does had calendars, solitaire, and some games).

What’s equally remarkable is that the rest of the industry learned quickly from this: they learned that the most important part of computers, software, and programming is the end-user, focusing on making their experience with the computer excellent, if only efficient. Hold up the iPhone to a traditional CRM system (or call center terminal) and you’ll get the idea. To me, this is what “the consumerization of IT” means: focusing on users above all else. And that’s the final thing that makes this a great time to program: you have to – get to! – pay attention to how people are using your software.

More underpinnings

There’s lots of details around those three things: the biggest and most exciting is cloud computing which is indicative of a lot of this: it’s a way to make programmer’s lives easier and allow them to more rapidly deliver features and applications to people. I call that “frequent functionality.” The unexpected rise of JavaScript as a “real language” is an under-appreciated important event, and a multi-year struggle to improve something as boring as source control (first with subversion, then git, and now the social programming that GitHub brings) helps make a programmer’s life better. And there’s all the practices around how you to that: Agile development, dev/ops, rapid feedback loops fed by real-time access to user behavior data, and &co.

The torch is passed from The Enterprise

A side thought on this is one conclusion: business is the last place you want to go now for innovation in software. Enterprises had their chance to be the flag-ship of IT, as did the military and science before them – all of those leaders did really well. Relational databases, GPS, transactional systems, processors and memory that perform beyond our wildest dreams (compare the rate of innovation in the auto industry to the computer industry – the older car industry looks like a bunch of people sitting on their thumbs! Were’s our rocket cars?! Only now do we electric cars, even!).

All of these things were good, but then business got wrapped up in developing software that was not focused on being usable, but intended to be compliant, safe, and affordable above all else. With rare exception, business no longer looked at computers as a way to differentiate and drive business (at least, their speed at adopting new technologies belied any attempts): businesses were dragged into e-commerce and banks took forever to do rational, online banking.

The consumer space is where interesting technology innovation happens now, and taking a consumer mind-set is what works when applying technologies. Consumers don’t think in terms of risk management: if I use Facebook,
I’m opening myself to these risks; if I sign up with the Sony Playstation Network, what’s the risk/reward for fun/credit card leaks; if I use this Android phone, what happens if Oracle wins their law-suit against Google (and how did that new Galaxy tab know about all the wifi networks I’d joined on other Android devices)? Instead they look at using computers to deliver functionality they need, not as part of some grand, management-chain plan.

Consumer tech is focused on the user, not the “stakeholder.” Enterprise tech has come to care only about the second.

Disclosure: see the RedMonk client list for clients mentioned.

Categories: Enterprise Software, Ideas, Programming.

Links for May 3rd through May 16th

As to you can tell from how long I’ve let these links, uh, “age,” I’ve been leaning on the new RedMonk Links to publish these a bit too much.

Disclosure: see the RedMonk client list for clients mentioned.

Categories: Links.

Typesafe – Brief Note

Scala Lift Off

A new startup around the scala language launched today, Typesafe it’s called. James wrote up a nice piece. Here’s my brief not from chatting with them:

Scala has steadily risin as a new, parallel-friendly language in recent years and the creators of it are forming a company around it, Typesafe, funded by Greylock in the first round for $3M. (See the official press release for more details.) Scala and the various platforms around it are used primarily to enable high scale applications – things that need to process a lot of changes all at once: this ranges from financial applications analyzing various market scenarios to social applications like Twitter and Foursquare: from investment and risk decisions to updates on sandwiches and cats.

Overall there’s a positive, if only curious view about Scala from many developers. One developer I spoke with said simply, “Scala? Heard it’s good.” And this point I mean as a positive one.

On the business side, Typesafe is starting with the standard list of offerings: certified stacks, developer tools, training and certification, and consultative services. As with most open source companies now-a-days, you’d expect to see them offer products around the core stack: management, reporting, and other “support” products.

There’s another angle to consider on the business side. Companies like Cloudera seem to be monetizing open source under slightly different conditions than the past round of OSS money-makers. A Big Data sale is more about enabling the business to do something new (analyze more data, more fast, for example) which theoretically motivates non-development centric people to seek out a “product,” or “solution” to buy. Contrast this with, say, application server sales where you’re trying to motivate development teams to spend money on something or, at best, operations people who want certified stacks and management tools. If people like Typesafe and others in the cloud-big data-high-scale-changes-everything market can convince business buyers that they can buy IT that improves their business, there’s a slightly different market there than in the past. We’ll see.

Disclosure: Cloudera is a client, as is Lift.

Categories: Brief Notes, Programming.

Tags: ,

Expensify: What's in your stack?

In this new series of posts, I ask developers what’s in your stack: what development process, frameworks, tools, and other “stuff” do you use to create, get your software out the door and running? How do you go about doing development?

In the first edition of What’s In Your Stack?, I ask Expensify’s CEO David Barrett about the processes, project, and product management practices they use to get their SaaS-based expense filing application coded up and in user’s hands.

You may remember David from make all #008 from awhile back where we discussed their business and stack in depth. They’ve also launched a new feature today that, as an expensify.com user, I’m looking forward to: receipt scanning.

Delivering over the cloud

What’s interesting about Expensify in the context of stack dissecting is that they’re a SaaS company with web and mobile clients. I’ve been interested in how “cloud developers” run their development process where you have both access to real-time user data (all the “one-way mirror” user studies you’d want) and also the ability to deliver at any time (whether that’s a good idea or not). So while I also asked David about the technical under-pinnings of Expensify, I wanted to narrow this What’s In Your Stack down to “process,” which a boring word for “how do you get software out the door and make sure users like it and are productive with the software?”

First, describe company, the business that the stack is supporting

David: Expensify does “expense reports that don’t suck!” by importing expenses and receipts from credit cards and mobile phones, submitting them through email, and reimbursing online with QuickBooks and direct deposit.

How would you describe your development process?

David: Everything starts with getting the right people — excellent people can make any process work, but no process will save you from bad or even mediocre people. Pick some external event that suits the rough topic and scheduling goals, and set that as the immovable deadline of your milestone. Document the absolute minimum you need for that launch to be a huge success, emphasizing the critical usability and functionality decision points and intentionally ignoring implementation details. Split everything up between whichever of said excellent people is most interested and available. Create real-world test scripts and sample data sets, begin testing as early as you possibly can — with increasingly large beta groups — and continue testing right up to launch. Repeat 3-4 times a year. Do quarterly 360’s to force everyone to level with their peers in a constructive way. Track hours to ensure everyone is putting in a solid 50 productive hours per week, and encourage everybody to take ample vacations. Celebrate often, for items big and small.

Requirements management: How you build innovation and discovering
new features into the process?

David: Ultimately startups have no choice but to go with their instincts on what to build. It sounds good to talk with and poll users — and you certainly should. But realistically whatever data you get back will lack statistical relevance: do you have enough users? are you asking them unbiased questions in a uniform way? are the current users the ones you really want in the long run? At the end of the day, just spend a tremendous amount of time talking with real users to learn what they want to the degree they even know. And when in doubt, do whatever you would personally want. Because then if all else fails, you at least have one user who likes the product: yourself. Better that than no users.

Categories: Cloud, What's in your stack?.

Dell on the path to being more enterprise-y – Day One of the Dell Services and Solutions for the Virtual Era Analyst Event

Yesterday was the first day of the Dell Services and Solutions for the Virtual Era analyst event, nicely for me, in Austin. While there’s a well known consumer and server side to Dell, much of their future-looking life tied up on growing their “enterprise” credentials and offerings. Rather than just selling hardware, Dell wants to be the type of “partner” to businesses that you see larger tech vendors like IBM, HP, and Oracle playing. This is totally appropriate and where growth for a vendor comes from.

Dell’s Barton George de-briefed me, as it were, in a quick video, above. I’ll steal his summary of topics:

  • What his clients ask him about Dell and what, as a result was he looking for today
  • Dell’s focus on solutions and de-emphasis on technology
  • Is Dell putting on its big boy pants?
  • The value of expanding on Dell’s success in select verticals

There’s more in this second day. I’m especially looking to see how Dell is packaging up its various offerings and services to target specific business types (health-care is a favorite with the lead recent acquisition Perot has there) and more “horizontal” applications like cloud (their VMware, OpenStack, Azure, and more portfolio is numerous, maybe too much so), big data/analytics, evolving ERP infrastructure (things like SAP HANA, but also knowing how to slice up an existing ERP stack to take advantage of new technologies without having to do major re-writes – there’s some mention of that in Smart Cloud land), getting cloud economics, mobile backends, and so forth from the “hot, exciting, and new pile” of technologies.

Disclosure: Dell i a client, as are Microsoft and IBM.

Categories: The Analyst Life.

Tags: , , , ,

When bullet points win – avoiding minimalist presentations

You’re not supposed to use a lot of text and bullet points in your presentations now-a-days. Presentation Secrets of Steve Jobs and all that. Recently, I’ve noticed that many, many tech companies like to follow this trend of lots of pictures, few words, and ideas argued simply. That’s sort of nice in a narrow keynote, but so many of these people are talking about complex things like middleware, developer frameworks, and computer stuff that begs lots of questions about features and functionality.

In many cases, when you’re at the actual technology level, you want lots of bullet-points and “burgers” – those dizzy diagrams of boxes and arrows, stacks, and layers.

For example, if you’re releasing a new development platform of some sort (like a mobile framework), it’s good to list all of the integration points you have. Detail what functionality the platform has that’s different from others. Hypervisors would be a good example. If you’re going to compete in that crowded space, you need to detail what’s new and different, not just splash up some paint an enemy, show the hero, and have some minimalist slides with three part diagrams.

Of course, you don’t want to fall too close to text overload. Obviously. But if you’re putting together a technical presentation – or even a presentation about a new release or product – don’t feel shamed into being detailed. In general, if you’re trying to make an argument, the minimalist style works best – better not to have your audience get “confused” about how awesome you are with “details.” But, if you’re giving an introduction and overview (which you should mostly be doing with even only slightly technical people, and beyond – esp. those looking to use or buy your stuff), be detailed. Your audience will want to know these details, and why not take full advantage of their time and just bullet it out?

Categories: Ideas, Marketing.

Tags: , ,

Links for April 26th through May 3rd

As I mentioned last week, I put together a feed for all of our RedMonk links, or bookmarks like the below. It’s definitely more real-time that waiting for my batch of links – not to mention that the RedMonk Links feed includes links from James, Stephen, and Tom. Nonetheless, I’ll keep posting these below. But, if you’re eager for more, uh, “timely” postings, subscribe to the RedMonk Links feed!

(And give me any feedback on making it better that you have!)

Disclosure: see the RedMonk client list for clients mentioned.

Categories: Links.

What exactly is WebSphere MQ – queue talk with Andy Piper

While at the IBM Impact Unconference, I talked with Andy Piper about WebSphere MQ and the range of products around queues. We discuss where queues are used, who’s using them, and what IBM is looking to do in the future.

You can also download the video directly, or subscribe to the RedMonk Media feed to get this and other videos downloaded automatically for you.

Transcript

Michael Coté: Well, hello everybody! Here we are at Impact 2011, the IBM WebSphere Conference. We are actually in a sub-conference,. We’re at the Unconference that the Impact Unconference — is that the official title of it, the Impact Unconference?

Andy Piper: Yeah, it’s that. Yeah, absolutely, Unconference.

Michael Coté: And as always, this is Michael Coté of RedMonk and I’ve got a guest with myself. You want to introduce yourself?

Andy Piper: Sure, I am Andy Piper. I work in Hursley Laboratory which is in the UK. I think my job title at the moment, because it kind of moves around a bit — well, it’s WebSphere Messaging Community Lead.

Michael Coté: All right. Basically, that’s MQ, it’s queue stuff, right?

Andy Piper: Yeah, absolutely.

Michael Coté: What falls under WebSphere Messaging?

Andy Piper: So this stuff — that stuff is originally invented and developed from Hursley which is where I sit. So yeah, whatever we’ve we got. We’ve got WebSphere MQ, which is queue stuff. We’ve got a family of products around that. So we’ve got the WebSphere MQ File Transfer Edition which enables you to move files over MQ.

We’ve got WebSphere MQ Low Latency Messaging for very high-speed messaging. We’ve got WebSphere MQ Telemetry which is about mobile and sensor networks. I am going to miss something, WebSphere MQ Advanced Message Security which is for encrypting messages and we’ve got the Message Broker, which is our Enterprise Service Bus.

Michael Coté: There’s this resurgence of queues in architectures. I am not even going to say enterprise architectures, because what’s interesting is that all sorts of architectures for software, they are sort of rediscovering, I guess, using a queue or to put it another way, having an event-driven architecture, a bus or something like that.

Andy Piper: And in fact by doing so, you can actually start to parallelize workload and that’s an amazing thought. Yeah, absolutely, the idea of feeding some work to a process over a period of time and not having to have it instantly respond, but knowing that it will be done.

Michael Coté: Having it be asynchronous, I guess.

Andy Piper: Yeah, and that word, again, we’ve been talking about in last couple of days. I’ve been a consultant and often people hear the word asynchronous, and they go, that sounds slow. It’s like no, it’s just the difference between what we are doing, having an immediate conversation and an immediate response or may get a very false response, but it’s not time dependent. That’s what it means; asynchronous is something that’s not time dependent.

Michael Coté: I feel like at some point asynchronous programming fell out of use. I don’t know if it fell out of favor, but it kind of — I guess, maybe it all came down to web applications which is a very synchronous sort of bus. A request comes in and — I am drawing a line here — a request completes, like you expect the client to be waiting.

Andy Piper: Well, it does, I mean that’s right. It basically times out and actually, the request will time out.

Michael Coté: Right, and then Ajax came along and A being Asynchronous if I remember and I guess that kind of started to change things around a little bit. So what exactly is a queue, like how does a queue operate?

Andy Piper: So I think if a queue as a bucket into which I can throw something and then take it back or something else, somebody else can take it out every now and then when they need it. So what queuing and Message Queue, MQ, lets us do is to say, here is a bunch of data I am creating and I am just going to put it over there and I may come and get it back later myself as a process or actually another process may take it from there.

It’s just a place to put pieces of work or pieces of data. The important thing to note is it’s not a database. It’s not somewhere you are shoving data to store; you are putting it there temporarily until somebody comes along and takes it away and does something else with it.

Michael Coté: And so does that imply that it’s sort of not searchable if you will?

Andy Piper: It’s not searchable in the same way as a database. What we can do is we can do things like assign a load of unique IDs and actually that’s exactly how message queuing works is that every message has a unique ID and we can go and find that ID and get it from a pile. That’s the extent to which it’s searchable, but you are not expecting to, do you like a full text.

Michael Coté: A bunch of queries.

Andy Piper: Yeah, full text index on a bunch of data.

Michael Coté: So why don’t you just use like a shared directory, I mean that would kind of the — that’s a bucket, right?

Andy Piper: It’s a bucket, which is very secure and stable and assured. So the goal is to say, let’s take away the needs to give stuff to a file system which could crash or become corrupt. So let’s give it to a thing which would put it into this queue for us and give it back to or just give it to something else.

And by the way, that queue may not be local to me; it may be over a network somewhere. So yes, you could put it in a shared directory in the sense of a network drive. But then, of course, you need the same file system technology.

Michael Coté: What we are getting at, correct me if I am wrong, is that if you use a directory then you are depending on the file system and the storage as part of your architecture rather than depending on a higher abstraction depending on its service.

Andy Piper: That’s right, exactly. And one of the — I’ll try not to do the chest-beating sales pitch. That’s not what I am here for at all

But one of the things about MQ and one of the reasons why it has been very widely adopted over the last 10, 15 years is because it does run on a large variety of platforms. It has provided the same API. You are not having to think, okay, I am on Windows now so I need to use the .NET API to get to my file system. I am on a Mac; I need to use C or Objective-C to get to my file system. It’s a totally different way of approach. It’s the same API on any platform that MQ exists.

You have got the ability, as I mentioned, to choose to send data over a network to some other queue. So it’s a parsing mechanism.

Michael Coté: And then inherent in networking, I mean, once you bring some network thing, there is security gets involved and actually, giving access.

Andy Piper: Security, SSL channels and things like that. So what we have in MQ is a concept of a channel between two queue managers who own all of the queues on that system. And then between them we have a channel and we can encrypt that tunnel using SSL.

So yeah, you have security. You have the ability — and this is another important aspect of MQ — is assurance. You want to just rely on the fact that you have something reliable moving the data for you.

Michael Coté: And in the case of MQ and maybe queues in general, is that assurance the same thing as sort of transactional integrity in a database or is it more assurance that your stuff won’t disappear or is it both?

Andy Piper: Yes.

Michael Coté: And what I mean by that is, in database terms, like a transactional thing, is that there will never be two states of the data that you are accessing.

Andy Piper: Yeah, absolutely! And there is another aspect, of course, which is, when you are talking about databases, you talk about two-phase commits and all that kind of stuff and the ability to say, I want to do these operations, and either the whole set of operations commits or fails. And actually I might want to do that with two databases and a file system.

Michael Coté: Right, like transferring money between two accounts is a classic example.

Andy Piper: Exactly! So MQ is very commonly used in those kinds of scenarios to say, I need to get this message from this queue, update those two database tables belonging to two different systems, and put this message to this queue, and do all of that within a transaction. So that’s what our Message Broker and our MQ technology does for you.

But yeah, you are absolutely right; the assurance is, I am giving my stuff to some other process to look after for me and I want to make sure that it arrives.

So when I get told locally by the queue manager that it’s got my data and put it and the put has succeeded, then I can rely on the assurance that my MQ network will get that data somewhere else, once and once only. That’s another important concept here. You are not getting duplication; otherwise, you might end up doing the same operation twice.

And then if something crashes, if my local queue manager or remote queue manager crashes and we have put that message in what we call a persistent state, because we can do things in memory as well, in being non-persistent, that we could recover to a known state, right?

Michael Coté: Yeah, yeah, yeah.

Andy Piper: Yeah, you don’t want to lose work, especially if you are updating bank accounts.

Michael Coté: You must know better than I do how old MQ is, but it has definitely been — it’s one of the older IBM software products?

Andy Piper: Yeah, it used to be called MQSeries, it’s about 15 years, I think, now.

Michael Coté: Right, right. So to give you the chance to not so much to be a salesman, but kind of say what that gets you, like the differentiation that MQ has, I mean, what is it about MQ that makes it something beyond, like an open-source ESB that you might get or an open-source queue?

Andy Piper: First of all, it gives you stability of function. So we have been around for a long time and actually the upgradeability has been really good as well. So you take different versions of MQ and they can talk to one another.

Michael Coté: So there is sort of cross-platform interoperability and you mentioned that earlier.

Andy Piper: Exactly, cross-platform and upgradeability. So that’s the first thing.

Michael Coté: Longevity of the technology.

Andy Piper: In terms of feature, we also are constantly working to improve performance. You’ve got the high performing system if you need one, if you need to tune it that way. You have got things like clustering which do let you distribute work over a number of different systems and actually it’s one of the things that we come back to around this rediscovery of the idea of queuing.

Did you hear that news about Twitter rewriting their search engine?

Michael Coté: Oh, right, right.

Andy Piper: And I was reading that they have actually now got a thing which dispatches your query to one of several engines so they can suddenly workload balance all these queries that are coming into their search engine. That’s what clustering does for you.

You can start to move work around really easily. You have got — oh gosh, you have got loads of things, security. You have got emergence of this new family of products in the last two or three years; the File Transfer, the Advanced Message Security, the Telemetry, these have all been added on to MQ, because the vision for MQ from an IBM perspective is universal messaging.

So the idea is that data — your data, anytime, anywhere, if you like over whatever is the appropriate quality of service to give you at the point that you are at. Are you in your transactional datacenter or are you in your mobile device? How fast do you need to go? How reliable does it need to be? How secure does it need to be?

Michael Coté: So you sort of customize the footprint or the profile down to the endpoint.

Andy Piper: In a way, and that’s particularly what Telemetry is actually. Telemetry is absolutely for smaller devices customized to the network capabilities available, that kind of thing.

Michael Coté: One thing I am always curious about with middleware — and I use that phrase tentatively here — is, would you say when some organization is using MQ, is it more of a middleware component in their software stack or is it a system that they are running? Does that distinction make sense?

Andy Piper: Yeah. Okay. So I would say it’s a middleware component really.

Michael Coté: Right. So it’s kind of — it’s not a service, it’s not a universal sort of service?

Andy Piper: No, I mean, services would usually themselves use MQ or run on MQ. So you program your service, your application may use MQ to do its interface to the world.

If you think about an application, we were talking about this in the IBM Conference this morning actually, and a guy was asking about files and how do I move away from the file driven batch to SOA services. And actually, people are always going to be sending files in some form or another. So you might be able to reduce the number of files coming in, but you are probably not going to eliminate them.

Michael Coté: Yeah, because files are just so comfortable.

Andy Piper: Well, they are, they are. And everybody has Notepad and we can just hack away. But more to the point —

Michael Coté: That’s how I submit my batch jobs, Notepad.

Andy Piper: Nice! But it’s just another interface. If you think of a program that takes input — and you mentioned shared directories –maybe, it could be reading files, it could be reading from queues, it could be receiving HTTP calls, it could be coming over a TCP. You’ve got a range of different ways. So you can see files and queues as different interfaces to your services.

Coming back to your question, therefore, I would say queuing is a component, if you like, middleware component, a feature, a capability of your system.

Michael Coté: Right. So it’s not something bigger than the applications that use it that you kind of integrate with. It’s more, you pull it in as part of your application.

Andy Piper: Yeah, I mean, one of the ways that people often talk about it is as plumbing. It’s the pipe work that goes underneath your house.

Michael Coté: Right, right. Having taken a kind of technology first approach, so I think a lot of people, including myself, until I was beaten over the head with it, like to hear things like batch job and jobs and queues, and frankly, it’s sort of like, I have no idea how that stuff is used, like what the business applications of that are.

And then like you are saying, people ask like, we have got these files transferred to us and what do we do with that? And it would be great to hear sort of like what — I am always hesitating because I want to come up with something that doesn’t sound like a stupid business term, but like what business services are queues being used for?

Andy Piper: I mean every one. I have been a consultant and I have worked with retail and finance and government and every system can conceptually use them and many companies and organizations and industries do use them.

Michael Coté: Yeah, I mean the need to transfer data between point A and point B or point A and points B, C, D, E, and F or whatever, every application needs that. But it seems like there is a certain class of applications that use queues a lot more than others. Like a lot of financial applications use queues to basically synchronize payments or transfers between accounts — things like that.

There are things that I think if you are writing this kind of application, you probably use a queue just without thinking about it. Whereas, as you were saying, someone like Twitter is not going to be using MQ.

Andy Piper: I mean, the other thing is — so web services. Web services are great. I know you guys of RedMonk are really big fans of the web services and all their XML stuff.

Michael Coté: Yeah.

Andy Piper: So HTTP is great as a transport for web services, except it’s synchronous. So if the other end isn’t listening or isn’t available or is too busy, then your call will time out and you will have to handle that.

So hey, what a great idea! If that guy is too busy because it’s got loads of incoming requests, then why not instead of having HTTP code, put a queue there. So you can do things like web services over JMS. So your calling application that’s invoking the service can just do that by sending a message somewhere. It doesn’t have to be synchronous. And then it can wait and come back later. So you have got things like the WS-Addressing Standard which lets you say, call me back on this address later when you are done.

Michael Coté: Right. And I am imagining, correct me if I am wrong, but situations like retail data might be nice for that. If you have like hundreds of stores that need to, for whatever reason, send their current inventory needs to someplace.

Andy Piper: Well, I mean that kind of thing is also trickle feed. The idea of trickle feed is kind of very powerful in retail, that you just want to — as people buy stuff, come through Best Buy and are going through transactions at the register, then those just maybe get fired or —

Michael Coté: So it’s a lot more real time than like 24-hour batches.

Andy Piper: It can be real time, absolutely. You don’t have to have all of those transactions batched up in the store and then overnight FTP them to home. You could just start to literally feed them.

If you go in the Apple Store, they will say, do you want me to send an email to you? And magically, they email it to you and yet, you can also go online and see what you have purchased.

Michael Coté: So there is probably a queue involved in there somewhere.

Andy Piper: Who knows?

Michael Coté: I guess kind of the last question, so I mean, MQ is like 15 years old. I mean what are you guys thinking about doing in the next five years or whatever? I mean, like something that’s as old as MQ, at some point —

Andy Piper: Stop calling it old. It’s not old.

Michael Coté: Something that’s mature.

Andy Piper: It’s rich and mature, right? It’s very capable.

Michael Coté: There you go. Well said! Like there is always this question of —

Andy Piper: Let me grab my blue hat and blue collar.

Michael Coté: That’s right. There is always this question of, is there anything left to do?

Andy Piper: And there is, and there is.

Michael Coté: What are the things that are left to do in the queuing space?

Andy Piper: So there are emerging models and emerging programming patterns and ways of accessing data. So I mentioned our Telemetry protocol which is very optimized for IBM’s Smarter Planet story, the whole Smarter Planet. Let’s make use of this instrumented plantet we have built and start to receive data from those centers onto our data backbone, which is MQ.

Michael Coté: To trickle in perhaps as you were saying.

Andy Piper: Yeah, trickle in maybe or maybe you need to actually do kind of two-way communication. So that’s a nice and interesting model.

There are also things like some of the newer web push models, and I can’t talk to you much about specific plans, but we are very aware of things like the ability to push data to web browsers through new technologies.

Michael Coté: The sort of new endpoints that emerge that you want to integrate with.

Andy Piper: Right, absolutely. Mobile is obviously huge and it’s about not abandoning the existing data backbone customers, because they are absolutely core, but to extend the ability to interact with the queuing fabric from new programming models, new languages, and new protocols potentially.

So yeah, you can see Telemetry as an example of one of those, the ability to plug into your existing MQ infrastructure with a specialized protocol for the lightweight networks.

Michael Coté: Right, right, right.

Andy Piper: That’s where all of the cool stuff is happening. And also, some of the data encryption around compliance situations that people find themselves in, we have been looking at that. I mean, you have just got to look at the releases over the last few years that we have been doing and that’s where they are geared.

Usability is always important as well; the ability to more effectively manage things in a nice usable way. I think it’s a great product from a usability perspective anyway, but there’re always nicer things you can tweak.

Michael Coté: Well, great! Well, thanks for taking all this time to go over MQ stuff.

Andy Piper: You’re welcome.

Disclosure: IBM is a client and sponsored this video.

Categories: Conferences, Enterprise Software, Programming, RedMonkTV.

Tags: , , , , , , ,

Getting the browser out of the way – all about Internet Explorer, native HTML5, web apps, working with HTML5, with Microsoft's Ziad Ismail

While at MIX11 this year, I talked with Microsoft’s Ziad Ismail about Internet Explorer and how Microsoft is making it into not just a web application, but an application development stack. A large part of this is doing what Microsoft calls “native HTML5,” meaning taking advantage of the machine the browser is running on from operating systems (Windows) to hardware (like GPUs).

We go over the announcements of the conference, like the available of IE10 as a preview. And, there’s plenty of HTML5 talk as well.

What I like about Ziad’s comments is that you can tell Microsoft is looking at IE + Windows as an application development stack: they’re hoping that, yes, you make web applications with it, but that you start to think about post-web UI and functionality you can layer in. It’s similar to RIA talk we had sometime ago, but is something beyond that.

There’s more over at Beautyoftheweb.com.

Also, there’s some bonus content below, going over an example of “native HTML5” and, for me, the interesting idea of instrumenting your web applications to start getting huge amounts of feedback on how people are using your apps:

In addition to watching the videos above, you can subscribe to the RedMonk Media feed to get them, and other RedMonk videos and podcasts, downloaded automatically for you. Feel free to download each video directly as well: the main interview and the extra content on examples and analytics.

Transcript – Getting the browser out of the way…

Michael Coté: Well, hello everybody! Here we are in lovely Las Vegas at the Microsoft MIX 2011 Conference in the Mandalay Bay. And as always, this is Michael Coté with RedMonk, and I have got a guest with me. Do you want to introduce yourself?

Ziad Ismail: Sure. Thanks Michael. My name is Ziad Ismail. I am the Director of Product Management for Internet Explorer.

Michael Coté: The first day of MIX was, I am trying to replay it through my mind, but it was pretty much all about IE, to a large extent. There were some CMS things and other stuff, but you guys opened out talking a lot about IE, IE 9 and IE 10 coming up, and I wonder if you could kind of give a recap of what you talked about in the Internet Explorer area here?

Ziad Ismail: Sure. So there were two things that we talked about. The first one was the availability of IE 10. IE 10 comes just four weeks after we announced IE 9 at SXSW.

IE 10 is really just a continuation of the bets and the path we set out with IE 9, which is a bet on standards and HTML5 and other web standards and focusing on really driving performance forward to enable a completely new class of web experiences.

The second thing is we laid out our vision for Native HTML5. The idea behind Native HTML5 is, what web developers want to do is they want to use web standards, because you are developing across a broader and broader set of different platforms, different form factors, but they also want the kind of performance and experience they get from native applications.

So bringing together the best of those two things; standards plus all the performance, plus all the experience, that’s what we are trying to do with IE 9, with Windows 7, and that’s the path we are going down with IE 10, and essentially really raising the bar on what the web can do.

Michael Coté: Can you explain what you mean by Native HTML5, I mean, what’s the native part?

Ziad Ismail: The native part is really focusing on taking full advantage of the hardware and operating system that you have already bought. If you think about where we were with IE 9 just a year ago, one thing we found is that most websites only used about 10% of the power that was available on the PC.

You look at the GPU and think about how much games have changed in the past ten years, so there are all these capabilities. Those things we made available to the browser, and new types of really rich experiences are now possible in the browser because of those kind of bets.

Native HTML5 is just taking that even one step deeper and completely optimizing how we build the browser to take full advantage of the operating system and the hardware, and specifically for us that means making a huge bet on IE 9 with Windows 7 today and going forward it will be IE 10.

Performance is one side of the coin; the other side of the coin is about the experience and how the application and how the thing you are building on the web actually looks and feels on your computer.

The work we have been doing with IE 9 actually lets you take websites and pin them to your taskbar and now they look and feel like native applications.

And it’s not just a bookmark; it’s now what you would expect from an application which drives notification. So if you get a new email and you have pinned Hotmail, it tells you, hey, you have got a new email and you can jump back into that application. If you are running Facebook and you get some new messages, you get a notification. If you are on eBay and you get a bid, same kind of things happen.

Native is partially the performance side. The other part of the coin and what developers want to do is not have their experiences necessarily restricted by the browser box itself.

Like think about the browser box; it was created in 1993, like the first browser, whatever, we are still living with it. It’s still like, I want to go to a website, hey, I fire up the browser, I type in the URL, I go there.

There is no real need for it to be that way. Like if I know that I love ESPN or Facebook, why do I need to take a completely different path to get there than I would do if I had a Facebook application or an ESPN application?

And so the web just becomes a lot more interesting when you put the focus on the websites themselves and you let the browser only be there if it actually needs to be there.

If you think about it, like the web technologies and the websites are what’s really, really interesting. The browser itself, like unless it’s actually adding value to the experience, it doesn’t really need to appear, it doesn’t really need to show up.

So although we are excited about the progress we are making with IE 9 and we love the browser, where it doesn’t make sense, we don’t really care if the user sees that it’s an IE browser. The thing we are focused on is, as a Windows user are you getting an amazing web experience, and if that means the browser kind of fades into the background where it makes sense, like we will push that.

Michael Coté: The phrase HTML5 has meant a lot of things over the past, I don’t know, maybe two years, I am bad with the timeline of it, but it has probably gone through at least three or four different meanings to people, as the spec and all of the sub-specs evolve.

And I am curious, I mean, we talked about what the native part of the Native HTML5 is. When the IE team is working on implementing HTML5, another tenuous phrase as it were, like what are you thinking about, what is HTML5 in that sense, I mean, kind of both in the sense of the features that you are providing and how you are tracking the spec?

Ziad Ismail: It’s probably one of the most problematic terms that we are dealing with at this point as we are trying to teach developers about what we are doing with IE 9 and kind of get people excited about what’s coming next.

HTML5 is, at its core, it’s two different things. One is, it’s a specific specification. It’s driven by the W3C. There is a working group. This specification is going to hit last call in May and W3C has said they are targeting a recommendation, which is the same thing as a standard, by 2014. So that’s the actual document that’s being written.

HTML5 is also used as a simplified term for the broader web platform that allows users to do the next generation of exciting stuff on the web, and that’s everything from the HTML5 spec itself, CSS, it’s things like WebSockets, it’s things like IndexDB, it’s DOM, it’s JavaScript, which isn’t even part of the W3C. So it’s an umbrella term for about 50 or so different specifications.

So it causes a tremendous amount of confusion, and some people have tried to change back the terminology. I know W3C was trying to push Open Web Platform at some point. It’s not clear that it’s actually going to be possible to change it.

Michael Coté: Right, it’s sort of one of the horses are out of the barn kind of problems.

Ziad Ismail: It has so much momentum. It’s being used constantly, and from a communication standpoint, certainly when you try to explain things to broader consumers, if you are not saying what everybody else is saying and you are saying Open Web Platform rather than HTML5, people may not really understand what you mean, because HTML5, the umbrella term, has some values, has some positive associations which are already out there.

Michael Coté: Historically it’s highly analogous to AJAX which —

Ziad Ismail: Or Web 2.0.

Michael Coté: Yeah, that’s true. I mean, all of these terms started out as sort of meaning the next big thing, or the evolution of — in the case of AJAX, the evolution of web applications, and then Web 2.0 kind of the evolution of what you do with web applications.

Ziad Ismail: And then everybody wants to use them rather than inventing something new, because there are a bunch of positive associations in reusing those words, and so the meaning gets stretched and at some point it doesn’t quite mean what it meant originally and nobody really knows what it means, but it’s still going to be used.

Michael Coté: Yeah, yeah. I mean, I think you are right that it is — I always feel a little upset when I hear the phrase and I use the phrase HTML5, but at this point I think I just need to get over it. It means a loosely definable collection of stuff, and to your point, like when you say people understand what you are talking about, if they can’t precisely say what it is.

Ziad Ismail: Right, I agree.

Michael Coté: It just means like the new way of developing web applications essentially.

Ziad Ismail: I should say the thing that gets — I think the thing that gets messy for me is not when people use the HTML5 word as a meaning for the broader web platform, it’s when they start confusing which one they actually mean.

And people say things like, hey, HTML5 is not going to be ready until 2022, or HTML5 is not going to be ready until 2014. Well, which one are you referring to actually? Are you referring to the spec, or are you saying actually don’t use any technologies in this broader web platform? Are you saying JavaScript and CSS will all be ready at some magical date on January 1st or if it’s Christmas day or whatever it is, that’s when it gets really messy, because it just causes tremendous amount of confusion.

And people that are excited about the next web platform don’t really understand what’s going on and they say, well, maybe I should just hold off a bit until I do know what’s going on.

Michael Coté: Do some more of that AJAX stuff.

Ziad Ismail: Right, and build another Web 2.0 site.

Michael Coté: One of the challenges I think in browser innovation or web application has always been balancing the need for using an exciting new piece of functionality or spec that’s out there and also balancing that against the stability of it being done and released.

I mean, that’s really playing out in the HTML5 space quite a bit now, where there is — I mean, to use the old analogy, the work that you guys and other browsers are doing is kind of like changing the wings on an airplane while its flying. There is a lot of figuring out how you start using the spec, or if you use it too early or if you are too late.

So first off, in doing the work and looking at how users are using it, how do you see people balancing out or dealing with all of that in-flight specification that’s going on?

Ziad Ismail: So it’s something we spent a tremendous amount of time thinking about. We looked at the experience we had with IE 6 and kind of the challenges that we are running into, web developers are running into, companies are running into, with trying to get that thing out of the market.

There is a true benefit in experimenting and prototyping with early specifications, like it needs to happen. The big question is, what’s the right format for doing that? Is the right format for doing in the browser itself or do you find some other vehicle for doing that experimentation?

The reason you need to do it is, if you don’t do it, you are just writing a piece of paper, the specification, and you have no idea how this thing is actually going to perform once you take it into the real world and write the code. So implementation is critical.

So where we came out was, we need a stable web platform. Like if we don’t have a stable web platform people are going to keep saying, hey, when is this thing going to be ready? My site broke, how am I going to deal with it?

That platform is IE 9, that platform will be IE 10. HTML5 Labs is a place where we are going to prototype. We are going to do things that are bleeding edge. You don’t actually want them in the browser.

We recently announced that we are going to build media capture API, which is a very early draft of a specification, and we are going to do that inside HTML5 Labs.

And as those things graduate we will move them into the browser. But by keeping this clean separation, we are able to actually get the best of both worlds. Like advance the web standards process and make sure that people can build on the web standards platform today with confidence, things don’t break, and it actually works.

Michael Coté: Internet Explorer is one of the more historied web browsers out there, and one of the things I like about the approach that you are going over there is, you guys have learned from the past.

Ziad Ismail: It’s a great point. I mean, you have to choose; do you want the IE 6 type experience to happen again, where we have a bunch of specs that get locked in and we have to deal with them, not only in enterprise, which has been the past, but now the same thing is playing out in phones that aren’t getting upgraded, it’s going to happen in TVs, and the web is moving to all these other places, like do you want the IE 6 experience?

And people are saying, hey, I really have issues with IE 6, and I understand why people have issues with IE 6. I feel the pain. We want to get rid of it as much as anyone.

But at the same time, some of those people would say, I really, really have issues with IE 6. Same people would say, hey, why aren’t you putting WebSockets into your browser? Well, guess what, we put WebSockets into the browser. We put this out there. We can put caveats around it and say, hey, please don’t use WebSockets. Once it’s in the browser, it lands in an enterprise, it’s going to get into phones, it’s going to get into — all the new appliances that are coming out, things like TVs, and it will get locked in there, and browsers aren’t going to get updated. We are going to have to write to WebSockets version 75 for the next ten years.

Michael Coté: That’s another thing that I have noticed about IE is that the process has gotten more open, if you will. I mean, you definitely — like you talked about IE 10 during this, which is in the future compared to IE 9, but you guys are a lot more open about inviting people into the process of the browser evolution, which I think is — that’s what you want if you depend on a platform.

Ziad Ismail: Yeah, absolutely! And it has been invaluable to us to actually get the feedback. I mentioned the partner side and actually having sites tell us, hey, I am developing this experience, like is this actually working for you or not, like tremendously valuable feedback.

We also have the Microsoft Connect program, where anybody can submit a bug and say, hey, here is something I am discovering.

The whole point of the Platform Previews is, we can put stuff into the Platform Previews that looks like something that’s going to get into IE 10 and something we really want to get into IE 10, and then we have a period of time to get feedback, stabilize it, work with the W3C to make sure there is actually a test suite. So we don’t only say that we have implemented it, there is actually some standards based way of measuring whether we are interoperable with the spec or not.

Michael Coté: Now, the other thing that you guys are doing is, is you are basically building out test suites to test compatibility and performance of various HTML5 things, and that’s another nice openness of the platform that I think you guys are doing. So can you just kind of quickly go over what those test suites are?

Ziad Ismail: Yes. So there are lots of interesting things happening within the standards bodies like the — the things that are going on in ECMA, the things that are going on in W3C. But in parallel to the actual standards process, which is what a lot of people focus on, like the specs themselves, what’s being developed within these standards groups are test suites.

So if you got to Test 262 for example; Test 262 is the test suite for ECMAScript 5. What’s interesting about that is, it’s 10,000 tests just for ECMAScript 5, JavaScript, it’s 10,000 test cases. And you can run your browser, like run IE 10 Platform Preview 1, run Chrome, run Safari, and you can actually say, does my browser measure up to the specification itself?

Like anybody can say that, hey, we are HTML5, whatever that means, we are betting on HTML 5, we are going to invest in HTML5. Ultimately, things like the test suite tell you whether you are just saying it or whether you are actually doing the hard work to make it happen.

Michael Coté: It tells you how HTML5 you are, to what degree.

Ziad Ismail: Yes, because supporting a standard is not a yes or no, it’s really like how well are you doing it. And so the way I think about it is, there are millions and millions of developers out there. You can either fix the problem once, at the browser level, or you can push that problem out and millions and millions of developers have to deal with it every single day.

Michael Coté: As far as the testing.

Ziad Ismail: As far as testing, yeah. I built something. Hey, it’s acting a little bit unpredictably in browser A compared to browser B. I am not sure what to do. The right model is, build the test suite, you test your browser against it, and now when a developer builds, much less of their code is going to be code that’s used to test all the anomalies.

Michael Coté: To experiment with what’s available.

Ziad Ismail: Right, it’s going to be more like productive code, real productive code.

We heard from a customer recently that, as they were looking at HTML5 and deepening their bets on the web, they did an analysis of how much of their code was actually productive code that was doing something meaningful as opposed to handling special cases? You look at CSS Gradients, it’s handled in a completely different way across every single browser.

It turned out that about 20-30% of their code was productive code. Everything else was, okay, guess what, I am trying to do this functionality and it’s different in every single browser, or it’s similar but it acts a little bit different in each browser and that difference actually matters to me.

Michael Coté: It’s a bunch of if else and glue code all the way down, right, just tons of it?

Ziad Ismail: Absolutely! So you think about — this I think is one of the most interesting developments in interoperability, actually getting the test suites in there, and you compare the 10,000 test cases and just this one test suite for one standard to some of the tests that people are citing.

You look at something like Acid3. Like Acid3 is interesting, but Acid3 tests a very wide range of specs, like 10-20 specs with a 100 or so test cases. Like a very small five to ten tests per standard.

The issue with that is, we can pass Acid3. Every browser in the world can pass Acid3. But we may not be interoperable at all. We are interoperable at the 1% level; on 99% of the spec we are completely different.

And so when we talk about interoperability, like the real value is shifting that mix of productive code to go from 20-30% to something much, much bigger. And W3C and ECMA, they are leading the way and Microsoft together with other browser vendors are supporting them in building out these test suites.

Michael Coté: I appreciate you taking all this time to go over IE stuff. I was especially interested to talk with you about it, because I feel like, as I was kind of mentioning earlier, you guys have built a new platform, if you will, to develop applications on, beyond just a browser that web application service, and there’s really a lot more functionality. There’s a lot more to the parts assembled, I guess is what I am saying, than just a portal that you are viewing some HTML through.

Ziad Ismail: Yeah.

Michael Coté: So it was good to get that overview from you, definitely! Well, thanks.

Ziad Ismail: Great to be here! Thank you.

Transcript – IE web app examples…

Michael Coté: Can you speak to at least one sort of other example of like what a Native HTML5 application is that someone could poke at at the moment?

Ziad Ismail: A couple of ones that are interesting is, we worked with hi5. hi5 is one of the largest social networks in Asia, and the specific angle that they are focused on is social gaming. So they have games like ‘Millionaire City’ and other things, that lots of people play, and they are socialing, kind of do them with your friends.

The interesting thing about what they have done is, not only can you pin hi5 itself, and so you get information on, hey, when your friends’ birthdays are happening or when your friends are playing a game, it kind of pulls you into that experience.

The other thing they have done is the games themselves within hi5 are pinnable. So if I love ‘Millionaire City’, I pin ‘Millionaire City’, and I have played ‘Millionaire City’ a little bit. So when it tells you, hey, your pizza restaurant is ready for the next pizza delivery, there is a little pop-up that pops up and tells you.

And no matter what you are doing on your computer, if you have said, hey, this is an application that’s important to me, I want to know what’s going on, those notifications are visible and they pull you back into the experience.

The thing we have also done with hi5 is, we don’t just want to focus on the technology side and say, here’s a bunch of interesting cool technology and scenarios. We want to understand what’s actually working for them, what’s not working.

And so we worked with them to do a bunch of instrumentation to see, okay, what happens with a user if they pin a site? How does their behavior change? How do they become more engaged? Is it actually paying off?

So what we have seen in some of the sites that have done the instrumentation is, pin site users end up spending about 50% more time on the sites than users that are going through the web.

And the reason for that is really simple, because you have faster access to things you care about. It’s now like one click away to jump into the application you want. And you have things like notifications which tell you, hey, something happened in the game, in the auction, it kind of pulls you right back in.

We also learned a bunch of things from these partnerships and we made some changes to how pin sites work, specifically one of the things was improving discoverability.

So hi5 can now tell their users, hey, I noticed you on IE 9, drag this image or drag this text and pin it to your taskbar and it pins directly, and each site can kind of promote it in a way that makes sense for them.

Michael Coté: You mentioned instrumenting the applications. I am curious to hear a little bit more about how that works out.

Ziad Ismail: So this was something that we really pushed with IE 9, like we had the starting philosophy which was, our focus is on putting sites at the center.

The idea was simple, which is, the thing that users really care about are the sites themselves, not the browser, and that permeated how we built the experience and kind of the browser fades in the background, but also permeated how we worked with actual sites.

So we went out to them and said, look, we don’t just want to sell you this feature. We want to make sure this actually works for you. And if it doesn’t work, like let’s learn from it, and let’s learn from it together.

Because if this thing performs really well for hi5, like that’s great for them, but it’s also great for IE 9, because then they have an incentive to tell their customers, hey, this may be a great browser because it lets you have a better hi5 experience, and it also turns out that we get these sites to tell their users to use IE 9.

You are able to tell when a user accesses your site through a pin site experience or if they access it directly through a URL. So you are able to tell on the —

Michael Coté: Sort of part of the headers or something. Somehow you know when the connections come through those two venues.

Ziad Ismail: Right. So you have this information and so you can parse it out, whatever your analytic software is, if it’s Omniture or whatever you may have in the backend. And so there’s a lot of work we have been doing on understanding how that pattern changes, understanding how discoverability happens. What’s the best way to tell your customers that, hey, it seems like you are visiting hi5 a lot or it seems like you are visiting eBay a lot, maybe you should pin our site, like what’s the right moment and how do you make that thing happen.

So there’s a lot of work we have been doing there to figure out what actually works, and we have been sharing some of that on our blog.

Yeah, it’s just a really interesting part of developing the browser, which is talking about the features and the technology itself, but also focusing on what’s actually working for sites and using their analytics to inform how we continue to develop our product.

Michael Coté: I feel like as a developer, whether you are a web developer or I don’t know, probably even writing system codes somewhere, that the kind of further away you get from the actual user, the harder it is to make good software. And having that instrumentation and that analytics at least helps you get a little more intimate with the user and kind of figure out what it is they are doing and how you can make their experience better.

And nowadays it’s really exciting with any — stuff over the web is like this, but increasingly with what would be called cloud computing that, by it being a web application or a SAS or whatever, you can actually track that stuff. I don’t know, I feel like it’s a huge opportunity people should be taking advantage of.

Ziad Ismail: Yeah, analytics are amazing. It allows you to actually line up incentives and say, hey, what we are trying to do with IE 10 is make websites more successful. Great, let’s figure out how we measure that and see if we are actually being successful, and we can have people do it. So it’s not just pushing out features, it’s actually saying, okay, your goal is to find sites, understand what works, what doesn’t work, and work with them.

So analytics I think are just a beautiful tool to align features, websites, and ultimately the experience that users have.

Disclosure: Microsoft is a client and sponsored this video.

Categories: Conferences, Programming, RedMonkTV.

Tags: , , , , , , , , , , ,

IBM Smart Cloud, Enterprise and Enterprise+ Overview

You’ve probably heard that IBM launched two new, public cloud offerings recently, Enterprise and Enterprise+. These offerings are oriented around the requirements IBM is getting from larger companies – they’re hoping to match the feature sets to existing work-loads and application types.

While at the IBM Cloud Forum where IBM announced these offerings, I sat down with IBM’s Jan Jackman and CohesiveFT’s Craig Heimark to talk about these offerings. Jan tells us about the two Smart Clouds and the types of work-loads people are using cloud for; Craig goes over how CohesiveFT partners with IBM to secure these work-loads and help manage the stacks.

Transcript

Michael Coté: Well hello everybody, here we are in lovely San Franscisco at the IBM Cloud Forum, and I’ve got two guests with me to talk about something that IBM came out with today which is pretty exciting with all the cloud discussion that’s been going on. And that’s sort of two types of Smart Cloud, if you will. Do you guys want to introduce yourselves?

Jan Jackman: Sure, I’m Jan Jackman and I lead our global cloud services as part of IBM Global Technology Service division within IBM.

Michael Coté: And yourself?

Craig Heimark: And I’m Craig Heimark, I’m one of the Founders of CohesiveFT, we’re one of the cloud partners of IBM.

Michael Coté: Like I was saying, you guys came out with two Smart Cloud offerings today, Enterprise and Enterprise Plus, and I’m wondering if you could just give us an overview of what those offerings are?

Jan Jackman: Sure. What we see in the marketplace is that most of our Enterprise customers have a variety of workloads or applications that they need to run in the cloud environment and move to the cloud environment. And there are different characteristics that are required based on security, based on the type of workload whether it’s bursty type of workload that runs within days or weeks or if it’s a long running production application that may run months or years.

And so what we introduced today is the Enterprise platform which deals with the multi-tenant bursty type of workload, so workloads that would be like the development and test environment or even applications that may run for a short period of time, that could leverage as cloud and the associated service level agreements with that type of a workload.

The Enterprise Plus really looks at a fully managed environment. So as clients move from doing a development and test, and then they want to move the app into a production level environment that has higher security needs, higher SLA, higher isolation of different workloads, then we have the continuity of the platforms to be able to move from one environment to the other. So if you take Dev/Test as a use case and take Application Lifecycle Management, what you see is the need to be able move between different cloud environments.

So you may do development and test, development on a private cloud behind your firewall, you may want to for reasons of economics do performance testing or stimulations on cloud to take advantage of the burst capability of the infrastructure and then you may want to move it into a production environment. So what we see in order to implement these type of workloads with this example, it takes a number of a capabilities from IBM and also capabilities from our partners.

Michael Coté: One of the things that I am starting to like about the Enterprise and the Enterprise Plus offerings were, your guys just take on what the enterprising cloud is, if you will, it’s exactly that you’re getting into that different workloads or applications or different stuff to really abstract that, if you will, then your running on the cloud, sort of demands different handling in the cloud, and at some point you need to get above the level of — we’re achieving all this cloud goodiness with standardization and things like that. But above that there is still a sort of, we don’t want to all have the same application, I guess, or we don’t all have the same application that we could use.

Jan Jackman: Right, or the applications have different characteristics from a security or availablity —

Michael Coté: Right, right. And to that end, how is CohesiveFT helping manage all those different workloads in the cloud?

Craig Heimark: Well instead of the technical term stuff or even more specific workloads, we tend to use the word application topologies.

Michael Coté: Right.

Craig Heimark: Because, the real unit of work at the enterprise level is actually the application topology, so typically a cluster of three to ten servers working together that provide some business functionality. And from the get-go we were aimed at making these application topologies portable between different underlying virtualized infrastructures.

So we targeted virtualization as a platform, but knew there were going to be many different flavors of virtualization, so VMware, ESX behind the firewall. IBM’s KVM format and their public cloud, Amazon’s AMI format; and our technologies, what we do is we provide, we call it Secure Cloud Containers. And these containers abstract away, the differences between these different production platforms. And underlining those secure cloud containers are three technologies. There is one that deals with different image types, the different image types that are needed on the different platforms.

Another one which deals with the virtual networking, so the ability to maintain a consistent address space and a consistent network space, between your data center and IBM’s Cloud or Amazon’s Cloud or whomever.

Michael Coté: And is that your — the VPN stuff that you guys came out with?

Craig Heimark: Yeah, that’s called VPN Cubed. It was called VPN Cubed; it’s not a VPN alone, because that’s about securing the tunnel between your data center and the cloud. It’s actually a complete overlay network, so think about it as switches and routers, a complete networking infrastructure done in software. So you can run it on the top of hardware that you don’t own and is not dedicated to you. What that allows you to do is it allows you to treat IBM’s cloud as a node on hour LAN. And the third technology that underlies our Secure Cloud Containers, is called Context Cubed, and that is topology management, so portable topology management, to maintain those relationships between the servers and the clusters that you’re moving back and forth.

Michael Coté: Thinking about moving workloads around a lot, like what are the — in the hare and now what are the things that you are finding people having success with moving the workloads around, what are those bursty things that they are using?

Jan Jackman: So, typical web applications that you see — we will say there are commerce applications, that needs compute power over a period of time for a quick set of transactions that are happening. We’re seeing examples of these cases that are even more traditional legacy capability. We have an insurance company that’s doing a reinsurance application, has a set of analytics that they do, algorithms that they run in order to comply with the regulators and so they are able to run that one week a month, make sure that they comply to the risk levels of the regulators require in their industry and then it goes dormant for the next three weeks.

And so this is a workload that’s run for a period of time, goes down and so it’s very efficient to run in the Smart Cloud enterprise environment. And we start to look at Enterprise Plus and sort of needing to manage all the way up through the application. And so if you take certain processes, let’s take SAP as an example. There are certain processes that are repeated as you deploy and update in your SAP environment. These processes are perfectly suited for the cloud, but they typically will need to be run and managed in a fully managed environment.

Michael Coté: It makes me think of another area that I think both of you could address and that’s — there’s a whole lot of IT that’s existed before cloud. I know a lot of you know cloud forward people might not be happy about that or acknowledge it. So you’ve got that legacy IT and then you got all the new IT that’s going on and you described something very interesting there as far as I guess to use another technical term, kind of decomposing an SAP application into the various services that you have, and then figuring out, to use a highly technical term, how you can cloudize those different services or you can’t. And I wonder, between the two enterprise clouds, how much of that decomposing of the existing IT you guys are finding useful for people to do?

Jan Jackman: I’d say we’re at the beginning of this journey, so we’re learning, and seeing the use cases that are applicable for both. As we go and we look at our client environments and look at what they’re running today, what we’re finding is that probably 15%, 20% of what they run today, that is applicable to move to cloud and get the benefits of cloud. So it’s not going to solve for highly customized enterprise apps, you’re not going to be able to move those and get the benefit of cloud.

But as we talked about with the SAP, there are certain processes that are very applicable to cloud. And so what we see is that as SOA applications are being written, as mobility, as the driver to be able to have more service oriented architectures, to be able to deploy on these new device and mobility attributes, that there are going to be more and more workloads that are very relevant for our cloud environment.

So while you can start today, the growth of what we see that would apply in these two scenarios is going to continue to be a larger more important part of the enterprise. And most of our clouds are there from a cost perspective, where can I take cost out and apply this with some of the applications that I’m running, because if I lower my cost I can do more new things as I migrate forward in a new IT environment.

Michael Coté: You can free up resources.

Jan Jackman: Right, and so what essentially — you know cloud is a new way to deliver and consume IT. It’s not new technology. It’s really a new delivery methodology, and using the economics of scale, which is important, it allows you to leverage infrastructure in new ways to get much higher utilization.

But more importantly, as you think about new business value, you’re able to create new businesses that were not possible before, because you didn’t have instant access to the IT to be able launch new services quickly.

Michael Coté: I think CohesiveFT, you know, since — not necessarily all of it, a lot what you guys do is securing parts of the applications that are moving on or providing the scaffolding needed, if you will. Like how would you answer that same question of the types of applications, whether they are legacy or new that you guys are seeing moving into the cloud?

Craig Heimark: The short answer is the cloud really is the new platform for production. So over time as the tools and things develop, I think what we’ll do is see most of the kinds of use cases moving to the cloud. Your earlier question about, well what use cases are there that can only be done in the cloud, are the kinds of very bursty types of applications and the cyclicality of seasonality or for example the parallelization that is needed to do massive Monte Carlo simulations or something like that.

So, those kinds of things really, practically can’t be done any place except the cloud today. But I think we got to look at the cloud as the next generation IT platform. We’re seeing compelling evidence about the cost savings that get realized by moving to the cloud. I think more important than any of that actually is the speed and the agility that the cloud enables. And what we see is a typical corporate takes 90 days to requisition stage and deploy a visible circuit. Using our Elastic Server Coud, you can do the same thing in 15 minutes virtually. And I actually, I’m a former business guy that moved over to IT, because IT was a constraint, and I think what you’ll see is that over time the cloud infrastructure and the types of tools that go on it are going to eliminate that as de-constraint to changing your business process. So enterprises that don’t move in this direction are going to be at the risk of having much longer cycle time in changing their business processes.

Michael Coté: The conversation of cloud giving you agility, or I’ve enjoyed that recently because agility has been a word of something that we all want in IT forever. And I feel like, it’s sort of hasn’t been well defined with a credible technological basis, whereas when — in the cloud you can say well agility means doing things faster and therefore being able to do them more, so you’re not sort of stuck into an old plan if you will, and I think a lot of cloud technologies have demonstrated that, you can actually achieve that.

It’s not just sort of like an aspirational promise that we all want to get towards, but it’s something that has been demonstrated to actually work. So people are interested in this stuff, you know, for as many tangible benefits as the Smart Cloud and other clouds seem to offer, where do they go to start getting it, like what’s the — like where can they go get this off the shelf?

Jan Jackman: Right. Well, if you look at our Smart Cloud enterprise, you can go on the web today, you can sign up for it and test it out, right, it’s available on the web. You can access it, provision servers, and go and be able to test out these tools. Now, most of the enterprise customers really are looking for help for a roadmap, how do I apply it correctly, because if you just jump into this, you might be thinking workloads to your get in a value.

So we have a set of consulting services and capabilities that really help enterprise customers take a look at the application environments they have, look at the workloads that are relevant for cloud, and help them build a roadmap to be enabled to leverage and start simple, to get familiar with the cloud, over concerns with security differences or where the management, the overall management of their data, sits, and then be able to progress down the roadmap.

Craig Heimark: If you’re using the cloud for a test environment, it’s unlikely that the particular image type of that cloud is actually identical to the stuff you’re running behind your firewall, so you described this as a burgeoning technology — that’s exactly right. So do your scalable testing in the cloud, and then if you want to run it yet behind your firewall using our technology you can import it back and then overrun, translate it automatically instead of doing another manual migration.

Michael Coté: I appreciate you guys taking all this time to go over this, it’s fun to see IBM having more cloud stuff, for as much cloud conversation as IBM and also CohesiveFT gets involved in it. it’s always good to see the equivalent of SKUs out there, actual, uh, products. With that great, simple name.

Jan Jackman: It’s always exciting when we see customers benefit from it.

Michael Coté: Oh sure.

Jan Jackman: So, certainly our goal is to make sure that there is business value for our clients.

Michael Coté: Absolutely. Well, thanks again.

Jan Jackman: All right, thank you.

Craig Heimark: Thank you.

Disclosure: IBM is a client and sponsored this podcast.

Categories: Cloud, Enterprise Software, IT Management Podcast, RedMonkTV.

Tags: , , , ,