Geppeto: Consumer’s Approach to Programming

Google Tech Talks
November 10, 2008

ABSTRACT

Contemporary society is experiencing a steady stream of new electronic gadgets, software products, and web applications. In this flood of functionality, users have adapted to rely less on manuals (if they are present at all) and shift their learning to trial and error, common paradigms, and experimentation. To accommodate this style of use — or perhaps driving this behavior – developers have successfully abstracted much of the technological complexity and transformed it into intuitive user interfaces often avoiding the need for reading lengthy manuals and formal training. Is it possible to adopt the same trial-and-error experimentation habit not only for using gadgets, but also for application development? We claim that intuitive aggregation and combination of software gadgets makes this possible.

In this talk, we will show the use of current technology in building a consumer oriented development tool appropriate for individuals not formally trained in programming. We demonstrate that the complexity of existing system and scripting languages i.e.; syntax, semantics, control and data flow, data structures, data types, and programming components can be successfully replaced with analogies intuitively accessible to a much wider consumer population based exclusively on their use and understanding of user interfaces in popular web applications. We present a demo of Geppeto — a consumer tool for gadget-based application development. Composing gadgets with Geppeto does not require programming experience or reading of convoluted manuals. The presented research is sponsored by Google Inc. and the Croatian Ministry of Science.

Speaker: Sinisa Srbljic
Professor Sinisa Srbljic, Ph.D., is currently a professor at the School of Electrical Engineering and Computing, University of Zagreb, and the project leader of the Geppeto project. His career also spans Silicon Valley where he worked on large-scale distributed systems at AT Labs. He was visiting the University of Toronto, where he worked on the NUMAchine multiprocessor project, and the University of California, Irvine. His research interests include Web computing, gadget composition, and consumer programming. In teaching, he is involved in the theory of computing, programming language translation, service-oriented computing, and network middleware systems.

Speaker: Marin Silic
Marin Silic, B.Sc., is currently a computer science Ph.D. candidate and research istant at the School of Electrical Engineering and Computing, University of Zagreb. He works on web architectures for composing gadgets as a part of the Geppeto project. As a Google intern in the Spreadsheets group he developed a one-second load application for Google Spreadsheets.

This Google Tech Talk was hosted by Boris Debic.

Duration : 0:29:30


[youtube rK5iI1W344I]

Tags: , , , , , , ,

11 Responses to “Geppeto: Consumer’s Approach to Programming”

  1. Stuartfghfdg Says:

    Nice Nice Video. I …
    Nice Nice Video. I really loved your video. Youtube can be a great et for you. If you need any help getting your video exposed, check out this site called tubeviews [dot net] It has really done wonders for me, I have built 3 Channels up with videos at top in position and this is my forth channel i’m going to working on.

    ps. I really liked your channel!

  2. geppetoteam Says:

    We’ve gone over the …
    We’ve gone over the tutorial, and didn’t find any missing actions, however, some of the actions weren’t very distinguishable from the rest of the text so we fixed that. Thanks for your comment!

  3. Amellifera Says:

    Thanks for your …
    Thanks for your comments. Since my first remarks, I’ve played with Geppeto a little. It shows promise. Interesting to see how a truly non-IT consumer would take to it. BTW: Please review your tutorial — there are missing “Click” actions after the two Copy/Paste sequences. — Mark

  4. geppetoteam Says:

    About the comment …
    About the comment reply below… unfortunately, I made a flawed umption about the order the posts will appear, so please read the first reply, and the other four in reverse order. Sorry about the mistake.

  5. geppetoteam Says:

    For example, …
    For example, machine code is still handwritten for real-time applications in embedded systems (among other things), and it is hard to imagine that higher level languages will ever be used for these problems. Still, the advent of higher level languages made it possible to create applications that previously weren’t feasible, and also allowed for quicker development of more reliable systems in some areas.

  6. geppetoteam Says:

    Within higher …
    Within higher programming languages, we’re seeing scripting languages replace system languages in some applications for similar reasons. When talking about consumer programming, we don’t expect consumers to implement complex algorithms and systems and replace professional programmers. Rather, there is an area of application development that there’s not enough programmers to cover, and that is the development of personalized applications.

  7. geppetoteam Says:

    We claim that, …
    We claim that, given the right tools, consumers will be able to create these applications. Also, as more functionality becomes available through software gadgets, the applications consumers create will get more complex. By talking about consumers instead of end users, we tried to steer away from the bad perception of attempts to allow “non-programmers to program”. In presenting this idea, one of the problems we face is the perceived equivalence between programming and coding.

  8. geppetoteam Says:

    Our goal is to …
    Our goal is to remove coding from the consumer programming process, and make it a side effect transparent to the consumer. In retrospect, the name “consumer application composition tool” might have been a better choice from the perspective of professional programmers. But from the perspective of consumers themselves, we believe that “consumer programming” is the right choice.

  9. geppetoteam Says:

    First of all, thank …
    First of all, thank you for the constructive comment. From our experience, we can certainly agree that the problems you mention are real, but we’d like to clarify our idea about consumer programming. The history of programming has shown that new paradigms and languages never really replace old ones, but rather complement them.

  10. Amellifera Says:

    Interesting but …
    Interesting but certainly nothing new. In my 20+ years as a professional programmer, I’ve seen several attempts to provide end users with the means to “write” their own “programs” (e.g., Clarion, MS Access). Each had its loyal adherents. The problems are the same: 1) It’s hard to get beyond trivial apps without real coding and 2) End users can become dependent on ill-design systems and have no means to scale them when it becomes necessary. Perhaps Geppeto sees away around this. I’ll try it.

  11. Brklja2 Says:

    svaka čast dečki!!
    svaka čast dečki!!

Leave a Reply