Tip:
Highlight text to annotate it
X
>> Hi, I'm here today at Google I/O with Jay. Jay do mind introducing yourself and talking
about Apptio. >> GINDIN: I am Jay Gindin, lead UI developer
for Apptio. We do cost transparency for IT departments in particular, trying to help
them understand where is the money going, how much is it actually costing them to provide
all the different service that they're providing and how much it cost for each of the business
units that is consuming those services to actually use those services.
>> Okay. Now, I understand you use Google Web Toolkit or GWT to build your product.
Can you tell us a little bit what led you to use GWT and why it's beneficial to you?
>> GINDIN: So when the company was started a year and a half ago, there was an evaluation
to try and figure out how can we get a rich user experience, but preferably, without a
lot of plug-ins. We wanted an application that our users would be able to just fire
up with their browser and start using. We used applets in the past and also for a enterprise
application and ran into lots of different problems with corporate lockdown on desktops.
So a web-based application was where we wanted to go. GWT really gives us kind of the best
of both worlds because we get to write the code in Java and we get to use the best of
breed tools leveraging, refactoring, and profiling, all sorts of, all the great stuff that GWT
gives us. And we know how to write Java, that's what we've been doing for many years. So we
get to take that expertise and apply it. >> Sure. So you mentioned a number of developer
benefits. Obviously, there is a user benefit. Can you talk a little bit more about developer
productivity? What is it about GWT that makes you productive and lets you get on with building
your applications? >> GINDIN: The tooling. I've been an InteleGate
user forever, not forever, for a long time and it works. All right. I have all--I have
the access to all the refactorings, the quick drill downs and information. We have integration
with the Java-based back-in that we're running really, really easily. And probably the best
thing is the ease of debugging. I can set a break point as I'm running my code and just
step through it and understand what's happening. If it was plain old JavaScript and I was reduced
to using the, in comparison, very basic and unsophisticated tools, I wouldn't be doing
it. >> Okay. How about--can you maybe tell us
your--your top three favorite features or widgets or components to GWT that you like
and would like to talk about. >> GINDIN: To--I think, one of the best things
is just being able to--I'm a Swing developer and of past life and just being able to come
on board and use widgets that are different but quite similar to what I'd been--what I
had been using for a number of years prior with an event model that's--that was quick
and easy to get--ramped up on and understand and use. In terms of particular widgets, it's
hard to say, they all have, I think, it's like any library in the world, there's pluses
and minuses to everything. We've wound writing some of our widgets. But one of the great
things about the widgets that are out of the box is the ability for us to style them the
way that we want to style them to fit in with the rest of our application.
>> Okay. You said you wrote some of your own widgets, can you talk about one of them that
you're particularly happy with. >> GINDIN: Well, we've done a few different
things. One of them that we wound up having to do, although we didn't really want to is
just a button. We found that the way that the buttons were rendered from browser to
browser, operating system to operating system was somewhat inconsistent...
>> Sure. >> GINDIN: Especially when you go and set
a button to be disabled. In particular, in IE, the button might look okay, not great,
but okay, but when you set it to be disabled, then it becomes this really ugly block. So
we went and wrote our own button widget to look good across platforms. We wrote--once
we had that, we put a little button bar around it so that we would just be able to use it,
for example, a safe cancel or an okay cancel or a yes-no button bar and we could have that
laid out just right everywhere. If one of our non-UI developers has to come in and do
something, they know they can just grab one of these and it'll lay out right.
>> Okay. Well, that's great. Well, thank you for coming in and talking to us today.
>> GINDIN: You bet, anytime. >> All right.