DevelopWeb

From OLPC
Jump to navigation Jump to search

Introduction

The domain yet to be explored by children is World Wide Web. This activity is a step towards the effort to help them learn Web development starting from basic HTML to complex web development standards and frameworks. DevelopWeb is a Sugar activity being developed aimed to impart Web Development knowledge to children. Through this children can develop Web Sites through HTML, Javascript and other latest web technologies. Children can learn quickly how to develop web pages in a step by step approach through examples provided for each HTML/web component. This activity acts like an IDE for Web development where children can select their technology and develop their website or web application

Using this activity, children can:

  • Learn about web development technologies like HTML, JavaScript, ASP, JSP,etc.
  • Easily create web pages using Web Widget Toolbox using drag and drop
  • Develop web sites or web application on the fly
  • Add custom web component to Web Widget Toolbox for re-usability
  • Deploy the web site or web application on Rini, web server bundled with this activity through single button click.
  • Open web pages in three modes: Source-to view source code; Design-to create web pages on the fly; Publish-see how it looks when its published.



Need

Why is this project needed?

Sugar includes lot many activities that are targeted for children's learning. But the yet to be explored avenue is the Web. This activity will add to learning activity base using which children can learn something new. It is basically a web application project editor that allows you to develop web application as a whole consisting of web pages, scripts, images,etc. It will impart knowledge through examples for each web page widget on how each plays its role in HTML pages, Javascript and on the whole how web sites are developed. Also, this will prove fruitful with respect to classroom perspective where teachers and mentors can impart good knowledge to children through this activity. Also, it is planned in our roadmap to develop a small website hosting server as part of activity thus allowing children to deploy their web application and share it with others. Collaboration is the most fundamental aspect we imbue in children from early age. DevelopWeb emphasizes collaboration and it will assist you in this. DevelopWeb will provide functionality to allow children to work on same web application or project from different locations over the network. Teachers or mentors can assign web projects as assignment to group of children allowing them to work and learn at same time.

Locally?

No, this project is not limited to local scope. This project has Global scope. It can be used anywhere in the world. Internationalization support will be provided in this activity so that children in any geographical area can use this activity to learn web development with ease.

In the greater OLPC/Sugar community?

Yes, the need for this project can be sensed by the fact that there is no activity in the catalogue that caters purely to web development. One of the feature include a web server component to host the web site/ application performing some operation. This can be used to host web application that can serve to client's request. So this activity can be used to invoke service by client even in regions where there is no broadband/3G/internet/network coverage. This can be used by other developers, contributors to host their web services or application which interacts with their activity to get data processed by the service.

Outside the community?

Yes, the need for this project outside the community can be clearly seen by the functionality it is serving to you. Like popular web development IDEs in Windows and Linux based OS, DevelopWeb will prove to be on the same lines for Sugar Environment. The most promising aspect is that it can be used by teachers and mentors to teach various concepts of web development to children varying from creating basic web sites to creating complex web application. Through this activity children will be benefited the most as they will get one stop provision to develop any website or web application by using technology of their choice. Colloboration is the main theme in DevelopWeb such that children can simultaneously work on same web project using this. Also, this activity will encourage other contributors to think on the lines of web development and cloud in near future.



Features

Tasks to develop this activity (at high level, these can be broken down into several tasks):

  • Identify the requirements, features to design and implement.
  • Design the User Interface carefully by understanding the GTK+ framework, PyGTK and how Sugar shell understands it.
  • Identify and understand the components/widgets required to develop this activity.
  • Develop the components under the light of Sugar Human Interface Guidelines.
  • Code and test unit functionality like individual components and features as whole, i.e., design mode, source mode and publish mode.( Unit testing and integration testing)
  • Develop Element Toolbox
  • Develop properties windows. Write Callback functions to handle events on Items listed in Element toolbox.
  • Develop Muti-tabbed Canvas where user can simultaneously open several web project entities like web page, script file, image,etc.
  • Develop Sugar Toolbar with button for design mode, source mode and publish mode
  • Write python class to handle canvas entities and events. like opening the properties windows when element is clicked on web page; Save page on hard disk, read page or file from disk
  • Rendering component that will render entities like image, page, script onto canvas.
  • Develop small web server component to deploy developed web site or web application
       *ability to listen on a port.
       *serve the web site or web application as a whole or requested resource like image or web service.