bjbjq Rikke: We are meeting Professor Margaret Burnett and Assistant Professor Christopher
Scaffidi from Oregon State University. In this interview, they will share their thoughts
on future directions within the field of end user development. Web 2.0 technologies are
increasing and users around the world are producing apps and sharing codes, etcetera.
So do you see this technology and movement as a part of end user development? Christopher:
It sort of is. So the part where users are creating things and sharing it on the web,
whether that is code or data, that is definitely EUD because you have users making something
that they probably are also using, so they are users developers, and they are sharing
it with other people just as a pleasant by product. There is one aspect of web 2.0 which
is not very EUDish right now, which is that a lot of the protocols used for communicating
over web 2.0 are pretty complicated. You need to know how to parse data and format data
in certain ways and the complexity of that gets in the way of its use by ordinary people.
Anybody who wants to make a program that talks over the web has to learn probably a stack
of three or four different technologies and that gets in the way of end user development
over web 2.But other than that, it is a success story and it is an increasing success story.
At the risk of overhyping something that is already been overhyped, I do think that web
2.0 is a really wonderful thing for the world. Rikke: Okay, so what about the future challenges?
End user development has been argued for and against. What do you see as challenges in
order to improve end user development? Christopher: Well, in the context of web 2.0, let s suppose
that your Aunt Nancy wrote a piece of code, and put it up on the web. Would you download
it and use it? Rikke: Probably not. I guess I wouldn t find it either. Christopher: May
be not. It is still a very hard thing to go and find something useful, ascertain that
it is useful, and modify it for your own use, because they re user developers; they re are
not designing it for your use, they are designing for their own use. They are happy to share
it, maybe, but it still may not fit your use context. So reusing using existing code off
the web is very hard sometimes if it s been coded by an end user developer. I think there
is also a massive security problem that still exists with end user code to this day, that
end users do not know how to design secure code. In fact, a lot of professionals still
struggle with this in some ways. We don t really have a great way to go and scan end
user code for malware, or unintentional security holes, or possible ways in which it would
compromise our privacy. So these are I think serious impediments to actively pursuing a
more full featured web 2.0 vision. Rikke: If you could give some advice to people working
in industry as well as people working in academia regarding end user development, what is the
most important thing to explore when you want to design software which users can create,
modify and extend? Margaret: So this is my opportunity to tell you about one of my favorite
techniques and it is one of my favorites because it is very easy to do and it keeps people
honest when they are thinking about, who could potentially use their wonderful new end user
development technique. I call it audience prerequisites. When you are developing a new
idea, a new tool, whether you are in research or in industry, you have this impression often
that oh, it is easy to use that everybody will be able to use it. What I always advise
people to do is to take inventory of the concepts that are needed within your language and I
call these audience prerequisites. The idea is you ve got this chair and you are expecting
a user to sit in it, so what prerequisites are required before you are going to let somebody
to sit in that chair? If you make your tool very complex, then the list of the prerequisites
is going to be bigger. s say, for example, you are working on an end user programming
tool and let s say it has loops, and recursion, and subclasses in it. So that says that the
list of prerequisites, before somebody is allowed to sit in that chair, they have to
understand loops, and subclasses, and recursion. So that is a pretty scary list and once they
realize that then they say, Okay, we ll get rid of recursion. Now you ve got one less
thing on the list which means that there are more people that could come to your chair.
You say, Okay, I ll get rid of loops, so now more people. Okay we will get rid of all of
these things. But, of course, the more things you get rid of, maybe the fewer things you
have to brag about in your wonderful new tool and so there are some certain tradeoffs that
you are making there, too. So I really like audience prerequisites because it seems like
it really brings out the tradeoffs that you are making and allows you to make intelligent
decisions instead of just blindly assuming that more features are better and that sometimes
complexity is better. It just makes you really be aware of who you are actually designing
for. So that is my favorite tip. Rikke: Excellent. Margaret, what you are going to focus on in
the future? Margaret: Well, there are lots of possibilities. It is a huge open space,
so I will just talk about the near future. There are two projects that we have started
fairly recently that we are really excited about. One of them is the work on gender and
how that relates to end user development so we are very, very excited about that; and
we have lots of plans for the future. The other one is end user software engineering
issues in an emerging type of software that people have not studied very much yet; and
those are intelligent assistants. Intelligent assistants are partly written by professional
developers but not entirely. The way it works is some professional developer who is a specialist
in artificial intelligence of some sort, usually it is machine learning, creates the beginnings
of an intelligent assistant back in their lab and they do all kinds of testing and debugging
and everything else and get it in pretty good shape. Then the company sells it and people
buy it and it ends up, for example, on your mobile phone. Well at that point, things that
you do inform the assistant and it learns from that. That s why they are called intelligent
assistants, is they learn from your data. Now the problem is, if something goes wrong,
it is on your mobile phone. That artificial intelligence researcher who devised it in
the first place is long gone, not on the scene. And even though the software that you bought
might have been really good software, it s at the mercy of the quality of the data that
happened to arrive when it was learning. So it could go very wrong and there s nobody
around now to debug it except you and so you may not be at all versed in how you debug,
or test, or have any idea of how to proceed. In some cases, maybe the intelligent assistant,
maybe it doesn t matter if it goes wrong. It s just recommending restaurants, or something,
and maybe you don t care. But sometimes, it really matters. It may be something important
about your driving. If it is not on your phone, if, for example, it is in your home security
system, then there could be a very important repercussions and you may really need to make
sure that this is working okay. So we ve been working on ways for users to try to figure
out how much of such an assistant they can trust and when they can see areas where the
assistant is not trustworthy, we are working on ways for them to figure out how to tell
it to do better. So that s actually an end user software engineering problem because
here we are talking about testing and debugging, but it is especially challenging because it
s in software that they did not write and, in fact, software that is represented in such
an odd way that nobody would want to debug it directly. So it is very challenging in
terms of figuring out the representations and the problem solving processes that end
users might be able to bring to bear on it and so it is a very interesting area of research
for us. Rikke: Interesting. Christopher, what are you going to focus on? Christopher: Well
my plan is an integrated research education vision. On the research side, particularly
in the software engineering side, I am focused on enhancing the quality of the code that
end users create by providing the tools with a higher level of understanding about the
semantics of the code so that the tools can reason about whether or not the code is doing
something correct or not correct. But also so that it can facilitate other qualities
like reusability and security that I keep on talking about, but there are lots of other
quality attributes too. For instance, if a tool can identify a semantically meaningful
chunk of a spreadsheet, then it could provide support for reusing that chunk, as a chunk.
In professional programming, we have these nice ideas of components, and interfaces,
and so forth. We don t have that explicitly in the world of end user development right
now. But if the tools were able to carve out chunks, then they could identify implicit
boundaries within pieces of code, larger structures, and be able to implicitly then go and grab
the code that s related to a particular functionality. There are some techniques from software engineering
that we can adapt, such as code splicing, for use in this context. For instance, if
web scripting tools were are able to identify particular sections inside of code that had
the semantics of behavior that is likely to steal a person s cookie and send it off to
another website . Then they could actually go and look for that and identify it, bring
it to the user s attention and then say, Do you really want to install this script that
somebody posted on the web for you to use? Like I said earlier in a previous interview,
I ve seen a script that does just this. It s there waiting for people to install it,
drive-by so to speak. People don t realize it. They will click the install button for
some other thing and this other script will be carried along with it. So this is, I think,
very important if we want to give users the ability to trust code that s available for
them from other anonymous users. As far as education, I see end user development and,
in fact, all software engineering more broadly as a human activity. So there is a risk in
getting so excited about the tools and making fancy software that we forget that it s possible
to enhance the human side also. In particular, I am developing approaches so that users or
professional programmers can acquire new skills on demand without having to go to some series
of classes or a seminar on how to do programming in order to learn how to use the features
that are available within an existing tool. Some of these strategies have to do with crowd
sourcing, for instance, drawing on the wisdom of other people, and mining educational materials
out of the work that other people have done automatically or semi automatically. Some
of this work is around the area of new interfaces that teach users how to accomplish particular
tasks on demand. Then they don t have to give up their regular livelihood as a teacher,
or an accountant, or a marketing specialist, or a scientist, or an engineer. They can keep
doing that and not have to go back to school and become a professional programmer to be
successful in their work. Rikke: You both seem really into end user development. What
first got you into it? What caught your interest? Margaret: Ah, interesting. I started in visual
programming and eventually I came to realize that visual programming is a mechanism and
what I should really be focusing on is the policy that that mechanism is trying to implement.
The policy is, let s see if we can come up with languages and environments that make
software development easier for various populations of users. Once I started taking a more user
centered approach, to what are we really trying to accomplish?, rather than a mechanism approach,
s just see what we can do with this mechanism , I think I got outside the box more and then
I started exploring more widely and headed in that direction. But I think one of the
catalysts was when I first met one of my close collaborators for a number of years. Greg
Rothermel. At the time, I thought of what I did still as visual programming and he was
a software engineering researcher with expertise in testing. The two of us are the ones who
came up with the notion of WYSIWUT, which I described earlier, What You See Is What
You Test. That is really what turned me directly to end users, because we knew we were aiming
at an end user programming audience at that point. That was a huge catalyst. Then I guess
another huge catalyst was when Greg and I had the idea of starting the EUSES Consortium
, which is a group of collaborators who are all working together on the end user software
engineering problem. There were ten of us that started this consortium and we ve stuck
together over the years. Now Chris is project director, for a while I was, and I have learned
from all of the people who helped me start that. So that was also a huge influence on
my thinking in a number of ways. But I especially want to talk about one of the people who was
involved with that from the very beginning and that was Curt Cook, who passed away unfortunately
not too long ago. Curt was one of the pioneers in the empirical studies programming community
that started back in the 70s. He helped to start it and he was a professor at my university.
When I first got there, I was very tool oriented. Let s build this, let s build that and he
was very empirically oriented and I thought, Oh thanks heavens there are people that do
that because I don t want to do it and I know how it has to be done. He was very mild mannered
and he thought that was great. I d give a talk somewhere about visual programming and
he would say, Wow, it is great your talk went so well. Of course, you are preaching to the
choir so we really ought to study this. And I said, Okay, sure Curt, we can do this. Go
ahead. Sure. We started collaborating and he was doing all the empirical work and I
was doing all the tool building but I seem to have opinions on things when I am collaborating
with people, as maybe Chris can attest to, and so I d get more, and more involved in
the design of the experiments and more, and more involved in the analysis. As time went
on, I found myself more and more interested in that aspect of the work as well. By the
time Curt retired after we collaborated for fourteen or fifteen years, I think that he
had been a co-author on probably three quarters of the papers I wrote. He had taught me pretty
much everything he knew and given me a huge enthusiasm for that area. So everything that
I do always now has an empirical component because, to me, it is obvious. You can t do
work for end user developers and not evaluate it by empirically studying end user developers.
He never actually said that. He just smiled and did his thing and I just got drawn in
more, and more. I guess I learned from him personally too because he never tried to impose
his beliefs on other people. He just demonstrated and eventually you got it. So yeah, he was
a huge influence. Christopher: My experience was the opposite, because when I was a professional
software engineer, I got really excited by the user experience, the use of color to communicate,
the shapes, and the position of things on the screen. I wouldn t claim to be an artist
or even have fabulous aesthetic sense but the experience of the user is something that
I really cared about and so I heard it when the users told me, we want to have the ability
to customize this software. Then I listen to them tell me what they are looking for
and I provided them the features that they asked for. We didn t call it end user development.
We didn t know the word. We were just giving our users what they were asking for. Eventually
I noticed that I was providing the same sort of things over, and over again. I began to
see it as repeating pattern and then I thought, well shouldn t I be the one making the tools
rather than the one making the customizable applications? I should just make tools for
people and then they can go and do whatever they want. I kind of bought into the vision
of democratizing computing. That s what end user development is really all about, is the
democratization of computing. Giving people the ability to control how they experience
software. That got me excited enough to go and do it as a career, which is what I am
now doing as a professor. I have gradually been pulling in more technical skills, and
tips, and techniques, and tricks. There is an awful lot of sophisticated tooling that
has been developed over the years that can be brought to bear on the problem of end user
development. So I am gradually acquiring more technically oriented approaches over time.
Rikke: So you are really a good couple. Christopher: I guess we work together well. I am excited
to know that end user development is here and I think of it as nuclear power for the
masses and not a nuclear bomb. I really believe that we can make it something that can change
the world in the next fifteen years. Rikke: Excellent. Let s see what happens. I m looking
forward to the next fifteen years. Thank you so much, Margaret and Christopher, for sharing
some of your knowledge and perspectives on end user development. Christopher: Thank you
for having us. Rikke: If you want to know more, you should have a look at the other
interviews with Margaret and Christopher and you should also read the chapter at interactiondesign.org.
At our website, you can find many other interesting chapters all written by thought leaders and
inventors. Thank you so much for watching. End-User Development Video 5 - Future Directions
www.youtube.com/watch?v=TMZ9IiASAaI hd/* h<)? gd<)? h<)? hd/* hI/j hK;: h<)? h<)? hK;: gd<)?
h<)? hK;: hm j hjk7 hK;: hbnb hm j gd<)? hK;: h<)? gd<)? gd<)? h<)? h_4\ hK;: hK;: hK;:
gd<)? h<)? h<)? gd<)? h<)? [Content_Types].xml Iw}, $yi} _rels/.rels theme/theme/themeManager.xml
sQ}# theme/theme/theme1.xml w toc'v )I`n 3Vq%'#q :\TZaG L+M2 e\O* $*c? )6-r IqbJ#x ,AGm T[XF64
E)`# R>QD =(K& =al- 4vfa 0%M0 theme/theme/_rels/themeManager.xml.rels 6?$Q K(M&$R(.1 [Content_Types].xmlPK _rels/.relsPK
theme/theme/themeManager.xmlPK theme/theme/theme1.xmlPK theme/theme/_rels/themeManager.xml.relsPK
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4"
accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/> Abhijeet Solutions Normal
Jared Microsoft Office Word Title Microsoft Office Word 97-2003 Document MSWordDoc Word.Document.8