IBM i > TRENDS > iTALK WITH TUOHY

John Valance Discusses Web Development

Web Development

John Valance Discusses Web Development

Paul Tuohy: So hi everybody and welcome to another iTalk with Tuohy. I'm delighted to be joined today by John Valance. Hello, John.

John Valance: Hi Paul.

Paul: So John will be known, I think, to—well, anybody in the U.S., I think, who has ever been to a user group meeting or has been to COMMON will have come across John. I don't know. Have you spoken in Europe as well, John, at any stage?

John: Not yet. I'm looking forward to that at some point but not yet. I have spoken in Canada at TUG.

Paul: OK. Well we're going to see what we can do about getting you over to this side of the pond.

John: That'd be great.

Paul: So John, I think it's fair to say that you're probably best known as being a guy who deals a lot now with the web.

John: Yes. Yes. Much more now than―my earlier career I was a RPG programmer for quite a while, for at least 15-16 years. And then you know I'm someone who is very interested in learning new tricks and you know using the latest and greatest, so when the web came around in the 90s, I said "I have to hop on this horse here." So ever since about '98, I've been doing web development in one form or another and professionally since 2000-2001, around there. So yeah.

Paul: OK. So I'm going to come around back around to the web in just one second with you John because one of the other things―obviously we've crossed paths many times like at conferences, user groups and things like that. I have to say that you have―well there are two things, okay. One is that you have quite a nice, unique―well I don't know if unique is the right word―but a technique that you use in your presentations and that you like to do lots of examples.

John: Yes. So especially with web, it's nice. You know you can talk about theory, you can talk about HTML, code, and so on but when you actually see it in action it really solidifies it so I try to use a lot of examples and then say okay, this is what I was talking about here. See? This is actually in vitro. This is what it looks like running so I find that very useful.

Paul: Yeah, it is. It's―yeah, something I wish I was good at putting those together. [Laughs] That brings to the second thing, which is workshops, hands-on workshops. Now just to explain for anybody listening who hasn't maybe been to a conference where we do this; workshops are usually like one-day events and they're hands-on. So there will be a certain amount of lecture and then you get maybe an hour or so to actually go and practice it or some workshops are just all pure practice. You're just working off like an instruction sheet and somebody like John or myself would be there to help you out. Now the thing is that for any of us who do this, most of us hate putting together workshops because there is an incredible amount of work in it, but you actually like it, John.

John: I do. It's fun. I like―again, I think it's a really powerful education tool. And yeah, to say I like it, I like it as much as I like putting together presentations. You know, it is a lot of work―it's more work than that. Then there's always, you know you're not just done with it when you're done with it. Each time you deliver it, you have to go through the setup stage, and that can be you know easy or hard depending. Of course, I'll automate some of that, I'll create a CL program to create all the folders and libraries and tables and things like that and repeat it over and over for how many users there might be―students that would be in the class. But yeah, it's great. You know I enjoy putting―I guess it's the creative aspect to just putting together something you know like that with the handbook and the examples. Again, it's the same kind of thing: this is how to build the thing. This is how you actually step by step. The way I do it is I create the application that I want to then build first, and then I decompose it into steps that you have to take.

Paul: Yeah. Yeah. Just to follow through on that theme, John, because I think one of the other―it's also some of the advice that you give people that when they get back to work and this thing of the pilot project.

John: Oh, yes. So I always try to emphasize that. Well with the RPG world, you know people who have been doing RPG for many years and don't really have that much experience with web development, it can be a daunting task to try and develop something that will be used in production. So I always suggest using a pilot project of some sort first, usually an internal project. So with the web the big difference is that your audience could potentially be the entire world as opposed to the people in your company, so it's good to start with something internal where you know if things go wrong, it's just within the company. You know it is not going to be something that you have strangers calling you with complaints and needing help. You know start small with something like an inquiry application or something simple and then work your way up. Yeah, so that's always good advice. Start small.

Paul: So is that something you find with people, John, like when you start getting feedback from people that when they do something like that, that it's actually a lot easier than they thought it was going to be?

John: Well yes, I think you know that people do find it easier to start with something internal, you know. It's probably best if you're going to do something out to the web, out to the public web, that you get somebody involved who has some experience in that. So shops tend to go different ways with that, they could either hire a web developer to work with their RPG team or their internal team or a consultant, you know, like myself. I do a lot of projects like that so they just don't have time to get the skills together. Their staff is very busy with internal stuff and they need to get this application out, they need it done professionally so they might hire me to do that. Or you know, just internal training. I mean you could do that but you need someone to help you in that kind of a situation with figuring out what the appropriate things are, especially in terms of what the user experience is and what the security is, things like that. It's very different from the green screen and RPG world.

Paul: Yeah. So okay maybe let's talk a little bit about the web side then, John. Because obviously the big side of the web side with you would be on PHP―and obviously the front end of that. So this is something we've talked about before: so can you differentiate for me the difference between something like web design and web programming?

John: Right. So there are two sides to the web. You know there are two major skill sets involved in creating a web application. There's programming, you know the logic and whatnot, getting the database and getting the content and presenting on the web. And then there's making it look good and the differences in the kinds of workflow and user experience that you would have with a web page over, you know, a terminal-based application. So that is an important point. You know a lot of people will say okay, I can understand PHP―or whatever language they're using, on the back end, on the server side―but I don't know how to design it, how to make it look good and work like a web application. So that type of thing―at least for the colors and appearance of the page―is best left to a designer, especially if it's going out to the public web. There are a couple of approaches that you can use there. For instance, you could―you probably have a website for your company somewhere, and somebody did that and designed it, so they probably created a style sheet, a CSS style sheet, and you could use some of those elements in your own applications. Or you could actually hire a designer. So maybe go to the people who did your website and ask them to create a template for how the pages should look, you know maybe mock up, do a wire frame. You can use wire framing tools to basically mock up how the application should act, what the controls are, what the buttons are, what the input fields are, and have them do a design. So that's what I do these days. I used to do my own designing and then I realized "you know it's not bad, but it's not a designer," you know, it's not a professional design, so I leave that to the pros now. I have people on my team―you know I use an extensive network of subcontractors to work on projects with me, and designers are a key part of that. Then there's the user experience―so just to differentiate between the user interface, what we call the UI, which is kind of―you know the colors, the borders, you know all that kind of stuff, the fonts―and then the user experience, which is the you know controls, like how the pages flow from one to the next, whether it's―you have to consider whether you are designing for just a desktop web applications or a mobile application, something that should be functional on a tablet or a phone. So there's a lot that goes into that as well and again that―you can get help on that kind of thing. There are wire-framing tools that will help you with that. I use a tool called Balsamiq and it's very helpful. Then I'll give that over to a designer to actually make it look pretty.

Paul: Right. [Laughs] Oh, if only it had been that easy all the time. Just put your code together, hand to somebody and say, "Make that pretty."

John: Right, especially on the code side itself.

Paul: Oh, yeah. Yeah. So actually since you touched on things like mobile and that there as well John, I mean are―have we reached a stage now where basically everything is done―like you nearly design everything as being responsive? Responsive design?

John: Well it depends on your needs so―

Paul: Actually sorry, John. Maybe just to explain to people what responsive design is if you could as well please, yeah.

John: Right. Absolutely, yes. So responsive design, that's where you're creating an application where you know the same application code, the same basic functionality would be available on multiple types of devices. So it could a desktop browser or it could be a tablet or a mobile device, and also when you get down to those other device types―you know with a desktop, you're probably not going to pick up your monitor and change it from landscape to portrait, but on a tablet or handheld device you will. It has to respond to that and change, you know―basically the design changes in response to the device and its orientation. So a good thing to learn if you're learning your basic web skills is―first of all you have to understand basic CSS, which is how these designs are accomplished in the HTML page. And then you might want to bone up on a framework like Twitter Bootstrap, where a lot of these considerations are already figured out for you. And also you can start with Twitter Bootstrap and you'll have a very professional looking design a UI as well as a professional looking UX kind of built in from the get go. So that is a really good way to go. It's not that hard to learn and it will look a lot more professional if you use a tool like that.

Paul: Yeah, so John maybe just to finish up on. Again always at the end of the iTalks I'm always looking for something about people themselves and you are yet another of these people in the industry who has a background in music.

John: Yes.

Paul: An extensive background in music as well.

John: Well, you know I've been doing it for a long time, ever since high school and I just―I keep trying new things just like with programming. I love to learn new things and try new things. Sometimes I think maybe I should you know focus on just one thing and get really good at it, but now I've gotten fairly accomplished on that. So yeah, I've played a number of instruments and a number of types of music, genres over the years. I started out in high school you know playing saxophone in the high school band. Then I went on to college, where I started as a biology major but then switched over to music, because it was my love at the time. Actually, I wound up with a computer science minor when I realized I wouldn't make a living very well in music. So from there―

Paul: So was that classical music that you would have done then in college?

John: That's right. Yeah, in college, it was sort of a conservatory setting and I had a love for classical music, which I still do. So you know I've done a lot of classical music in the past. I don't do so much of it now, though I still appreciate and occasionally I'll play some of that but mostly jazz these days on the saxophone. I'm back to the saxophone. I've also done some piano. I play flute as well and I've played Irish traditional music as well so―

Paul: Oh, good man. [Laughs]

John: Yeah. I know you're from Ireland. I have a good friend from Ireland who got me interested in that. So yeah, I've been kind of all over the map. Lately I've been doing mostly jazz and blues and really having fun with that. I love the improvisational part of that, you know, where you're spontaneously creating music.

Paul: Are you playing in a band at the moment?

John: Yeah. I play in a jazz band and I've been playing with them for a number of years. I'm also playing in a blues band now, so we're just starting so we're trying to get that off the ground. It has got a big horn section and it's kind of like, you know, trying to herd cats when you have nine musicians trying to start a band you know. [Laughs]

Paul: Yes. That's like trying to herd nine RPG programmers as well, John. [Laughs]

John: Exactly. Yeah, right especially if some of them go traveling to conferences and speak about programming.

Paul: And I think that's the perfect note to leave it on. So John Valance, thank you for taking the time to talk to me today.

John: All right. Thank you so much for inviting me Paul. It was a pleasure.

Paul: Okay. That's it for this iTalk everyone. Tune in again in a couple of weeks for the next one. Bye for now.

Paul Tuohy has specialized in application development and training on IBM midrange systems for more than 20 years.



Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



Advertisement

Advertisement

2017 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

IBM i > TRENDS > iTALK WITH TUOHY

Paul Tuohy on IBM i Highlights of 2016

IBM i > TRENDS > iTALK WITH TUOHY

Aaron Bartell on RubyOnRails, Node.js and Litmis

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters