Divya Manian on solving problems

Divya Manian’s irrepressible energy is a force to be reckoned with. Martin Cooper talks to the Adobe Web Engine’s product manager about emerging web standards, love of good code and her spat with Instagram

Shares

This article first appeared in issue 239 of .net magazine – the world's best-selling magazine for web designers and developers.

It’s far more profitable to interview somebody face-to-face. When you’re sat with them you can see the minute changes in facial expression, the flick of the eye or a shift in posture that suggest you’ve hit upon a question that might repay further exploration. Everybody, as the old poker-playing clich goes, has a tell.

Sadly, Skype can negate this journalist’s advantage. With this in mind I’m anxious about meeting Adobe’s Divya Manian via, what turned out to be, a rather cantankerous Skype. With video conferencing enabled she looks like a version of herself made from Lego: a low resolution and stuttering caricature. Beyond only the harshest of expressions, technology had rendered her face an unreadable collection of JPEG-like blocks.

But maybe there was something. As we talk it becomes apparent Skype is – ironically - very successful at capturing and conveying what could be her defining characteristic. I had never seen anybody shift and sway so much during a video conference. She is never still. It’s almost as if she is desperate to leave the constraints of Skype’s rectangle, to dart off and do something. It’s not a caffeinated, nervous energy, rather it’s a palpable and perfectly natural restlessness.

So, as she flits, we begin. What’s her day job? “I’m a product manager on the Adobe Web Engine team where we work on features that we – Adobe – think are important for the web and have the necessary skill set to contribute to […] [We implement them in WebKit] so they’re not just a good idea but are something practical and something that’s available in all browsers.”

After graduation Divya worked for Motorola as a device driver developer using embedded C++. “I couldn’t take it for very long,” she grins, full beam. “After five months I quit. I wasn’t much of a C++ programmer. I wanted to be a designer. I was very interested in that and not too interested in C++.” She pauses and, by way of a summary, says: “I wasn’t too interested in drivers …”

Still ducking and weaving, she continues her story: “I was studying computer engineering in Singapore at the time blogging was taking off, but I didn’t know what blogging was. I saw some very well designed blogs and I thought I wanted that kind of representation for my own site. At the time the only way you could blog was with LiveJournal or something ugly and I wanted something less ugly for myself. So I started going through CSS: The Definitive Guide and I read Jeffrey Zeldman’s Designing with Web Standards. I started reading up on all of that and creating my own page. Looking back, it was a very ugly design but at the time I thought it was very cool. And then I started getting interested in the design of blogs and started playing with Photoshop and Illustrator and so on.”

Problem solving

So, what motivates her? “I like to solve problems,” she states simply. With her speech gathering pace she continues, “I love to solve problems and I’ll learn whatever it takes to solve a problem, whether it’s in design or code. I find solving a problem a form of self-expression.”

“I have a vision of something I want,” she says, slowing to a verbal canter and beginning to explain her fascination for coding. “There is a clear path that you can see. There is a clear path to the end that is achievable. The thing is, when I’m designing or writing, being a product manager, there are no such clear paths.”

Gazing upwards for a moment she continues to tell me what coding means to her: “There are lots of options and they’re not dependant on other people’s opinions or other people’s judgement of you. If I were writing this, would I be considered an idiot?”

Changing direction, she continues: “I just like abstractions. You know, I wouldn’t consider myself a good programmer. I’ve spent the last five years – well since I graduated – trying to avoid programming and [trying] to be a designer. I got into web development because it seemed like a much easier thing to do than programming. What I [previously] learned is now being used for APIs and all of the stuff we work with in HTML5.”

A Twitter spat

Chancing my arm, I ask about a recent spat she had with Instagram on Twitter. She discusses it in her video podcast Fripfrap with her co-host Garann Means. “The point is,” she explained in the November 2012 posting, “that Instagram is a very high profile web property […] and for them to put out profiles page that […] look like a weekend hack project seemed way out of line. There were very obvious things that jumped out from the mark-up. They had a whole bunch of JavaScript at the beginning […] but I didn’t see it being used significantly. It was very trivially used.”

As we discuss the posting she explains that she was in India and tried to load the site. In the US where broadband is fast and plentiful the site loaded happily. In India it’s a different story. “A lot of sites are optimised for quick loading in the US … are hosted in the US but without a thought for slow networks.”

She laughs as I ask more: “It’s easy to upset me! I am very unsatisfied in general. It’s hard to see something I like but when I do, it really makes my day. I appreciate good code. When I see something that is beautiful it makes me pause and reflect and think maybe I should adopt it. It’s good to see people invest that effort.”

Scowling now but still shifting and swaying she continues to expand on her belief that sites should be elegantly coded, efficient and created in line with web standards. “I imagine my mum and dad using [a site]. I have seen them fail using a website and it frustrates me because I can’t be there for them every day. It angers me that they think it’s their fault. It’s not their fault. It’s the website’s fault. The website has failed to fulfil what the user expects,” she adds.

With that line in the sand deeply drawn, I move on to ask her about the perennial friction that exists between designers and developers. Does each side really understand the other? “I really don’t understand the friction at all,” she says.

Bilateral bickering

“Developers are designers in one sense as they are designing their code. They are designing to solve a problem, but just using a different tool for it: programming technology. Well, designers use other tools, which are visual. Honestly, I don’t see why there should be any friction but, you know, I can understand why there is friction. It’s assumed there’s something creative about design but developing isn’t creative. It boggles my mind. A lot of programmers I know are very good musicians and if you think music is creative, I fail to see how you can have this dichotomy.”

She pauses for a moment, looks at the ceiling, then directly at the camera. She draws up a rich smile and offers her summary on the bilateral bickering between designers and developers: ”I just think it’s an excuse to not get things done.”

With that debate laid to rest we move on to explore the standards-based developments she’s most excited about.

Open standards

“Adobe is contributing to the Web Animation specification that I think will be huge. Right now we have animations in JavaScript, animation in CSS and in SVG, and none of them work the same way. The Web Animations proposal indents to unify all of that. So I think that’s very useful. In CSS you can’t do sequence animation. You can’t say after one animation, start this element animation. There would be ways to do this with the Web Animations proposal. So, that’s pretty big for me. Our team is also working on bringing Blend Modes to the web, and the ability to use GLSL Shaders to style HTML elements. I am also excited about the Web Components that Google is working on.”

I ask what Shadow DOM is, what does it do? “Right now you have lots of widgets on a web page: tabs, UI tabs, drop-down menus and things like that. To get them to work you have to include a very large JavaScript framework, add additional markup in your page and then add additional CSS. Web Components aims to split such UI elements into small components that can be reused multiple times so you only need to load the components initially and reuse them as and when you need instances of such components. It would reduce the number of network requests and abstract away the implementation details of each component. It would be very clean. It would bring about the programming paradigm of having abstractions to web world, which we’ve seen only so far in JavaScript. Now it’s trying to bring that to HTML.”

We move on to discuss web standards and I ask if she thinks it’s the mark of a responsible developer to contribute to web standards, to give something back to the web? “Yeah. Because the browser representatives are not people who are working day in and day out on the standards. So, if you’re a web developer and you find the job really tiresome, then it is your responsibility to make it less tiresome.” At this point she pauses for a moment, smiles broadly and offers some brutal common sense advice: “And the way you would do it is to make sure the things you use to make your web pages… suck less.”

And somehow that ushered our chat into its closing stages. Sensing I was on possibly on borrowed time I asked for some advice for the next generation of web designers and developers. The .net office is currently preparing for our big awards ceremony, which is intended to celebrate and promote the web’s strongest new talents. What would Divya offer them? “The first thing to realise is one can’t know everything. You can’t be skilled in the whole web technologies stack. How ever much you try you have to realise it’s never enough and you need to make your peace with that. And that’s a little hard to do. And I think it’s also very important for everyone to know how the web works, how things start from the server and how it ends up in your browser. It’s your medium and, for designers and developers, knowing every aspect of how things work and what happens at each position in that process is very important. You have to design the whole thing and not just aesthetic visuals.”

There was – however – time for one more piece of brutal truth, presaged by a rich smile: “It’s important not to blame the users. There’s a lot of tendency to blame users, [to think of them as] idiots or fools. It means we’ve not designed our technologies right.”

“I’ve scheduled an hour of this,” she says as our conversation draws to a close. We wrapped everything up in 41 minutes. However, it’s clear that at 9pm UK time, 1pm Pacific Standard Time, Divya Manian will depart. There was nothing brusque here, nothing of the every-second-counts hurriedness suited corporate types can affect. Problems need to be solved.

In the closing chatter I remark it’s impossible to imagine her actually sleeping. “I sleep about four or five hours a day. I do okay on it,” she beams – and then it’s goodbye.