more descriptive feedback from the system when an
error occurred.
The highlight approach used in XIDE can be ex-
panded to have different code highlighting schemas
for different types of tasks users perform. For exam-
ple, managing parameters or changing user interface.
Generally, the component-based approach imple-
mented in XIDE, together with features that facilitate
source code editing can be used for education pur-
poses. A person who has a superficial knowledge of
some technology can use a tool for a period of time
for self-education (Zang et al., 2008). While a person
uses a tool, he or she gains practical knowledge and
can increase skills relatively gently, without having
big educational barriers.
6 CONCLUSIONS
In this paper, we addressed the problem of expanding
end-user Web development possibilities. We classi-
fied end-user Web development activities into levels,
and addressed the problem of smoothing the transition
from the level where end users use visual tools to the
next one, where they can edit the source code. Our
main contribution is a combination of a component-
based visual tool with a unified, markup-based back-
ground technology. Our approach allows end users
to leverage the knowledge they already have to cre-
ate more advanced Web applications with server-side
functionality.
In our proof-of-concept implementation, we de-
signed and implemented a visual component-based
tool called XIDE. XIDE is designed to support visual
modification and especially direct code editing with
different features, such as code highlighting and im-
mediate previewing. We used XFormsDB as a back-
ground technology. It is a recently developed tier-
expanding framework based on markup languages.
End users, who have a basic knowledge of HTML,
can intuitively guess the meaning of the source code
written in XFormsDB. The XIDE prototype was pre-
liminary evaluated by means of a user study, in which
users were able to complete all tasks successfully.
Thus, the proposed approach enables users to make
changes in the source code and expands users possi-
bilities in Web development.
REFERENCES
Cappiello, C., Matera, M., Picozzi, M., Sprega, G., Barba-
gallo, D., and Francalanci, C. (2011). DashMash: a
mashup environment for end user development. Web
Engineering, 6757:152–166.
Cardone, R., Soroker, D., and Tiwari, A. (2005). Using
XForms to simplify Web programming. In Proc. of
the 14th international conference on World Wide Web,
WWW ’05, pages 215–224. ACM.
Costabile, M. F., Mussio, P., Parasiliti Provenza, L., and
Piccinno, A. (2008). End users as unwitting software
developers. In Proc. of the 4th International Work-
shop on End-User Software Engineering, pages 6–10.
ACM Press.
Cypher, A., Lau, T., Nichols, J., and Dontcheva, M. (2009).
Workshop on end user programming for the web. In
Proc. of the 27th International Conference Extended
Abstracts on Human Factors in Computing Systems,
pages 4779–4782. ACM Press.
Grammel, L. and Storey, M.-A. (2008). An end user per-
spective on mashup makers. In University of Victoria,
Tech. Rep. DCS-324-IR.
Ko, A., Myers, B., and Aung, H. (2004). Six learning barri-
ers in end-user programming systems. In Proc. of the
2004 IEEE Symposium on Visual Languages-Human
Centric Computing, pages 199–206. IEEE.
Ko, A. J., Myers, B., and Rosson, M. B. (2011). The state of
the art in end-user software engineering. ACM Com-
puting Surveys, 43(3):21.
Laine, M., Shestakov, D., and Vuorimaa, P. (2012). Extend-
ing XForms with Server-Side Functionality. In Proc.
of the 27th ACM Symposium on Applied Computing
(to appear).
Laine, M. P., Shestakov, D., Litvinova, E., and Vuorimaa,
P. (2011). Toward Unified Web Application Develop-
ment. IT Professional, 13(5):30–36.
Lieberman, H., Paterno, F., Klann, M., and Wulf, V. (2006).
End-user development: An emerging paradigm. End
User Development, pages 1–8.
MacLean, A., Carter, K., L
¨
ovstrand, L., and Moran, T.
(1990). User-tailorable systems: pressing the issues
with buttons. In Proc. of the SIGCHI conference on
Human factors in computing systems: Empowering
people, pages 175–182. ACM.
Mosemann, R. and Wiedenbeck, S. (2001). Navigation and
comprehension of programs by novice programmers.
In Proc. of the 9th International Workshop on Pro-
gram Comprehension, pages 79–88. IEEE.
Park, T. H. and Wiedenbeck, S. (2010). First Steps in Cod-
ing by Informal Web Developers. In Proc. of the 2010
IEEE Symposium on Visual Languages and Human-
Centric Computing, pages 79—-82. IEEE.
Repenning, A. and Ioannidou, A. (2006). What makes end-
user development tick? 13 design guidelines. End
User Development, 9:51–85.
Rode, J., Bhardwaj, Y., P
´
erez-Qui
˜
nones, M., Rosson, M.,
and Howarth, J. (2005). As easy as Click: End-user
web engineering. Web Engineering, 3579:478–488.
Rosson, M. B., Ballin, J. F., Rode, J., and Toward, B.
(2005). Designing for the Web Revisited : A Survey
of Informal and Experienced Web Developers. Web
Engineering, pages 605–620.
Won, M., Stiemerling, O., and Wulf, V. (2006).
Component-based approaches to tailorable systems.
End User Development, pages 115–141.
Zang, N., Rosson, M. B., and Nasser, V. (2008). Mashups:
who? what? why? In Proc. of the CHI’08 Extended
Abstracts on Human Factors in Computing Systems,
pages 3171–3176. ACM.
WEBIST2012-8thInternationalConferenceonWebInformationSystemsandTechnologies
128