As its name suggests, the website builder must be a desktop application that will allow users to simply create websites. Essentially, the program will have to give the users with a simple website layout, such as the one which will be seen here. After they have completed editing all the desired sections, they will simply save and create the website/html version for publishing.
The users can be allowed to edit the content or images of the website by simply working on the basic structure which is given as a template. One or more templates can be provided, and they should at least contain the subsequent editable sections:
Logo (with link to homepage)
Punchline
Main menu
Header, which will be customized for each menu item. Can contain both images and text.
Left or right menu
The content section of the page
A contact page
Will have a form for contacting the owner which will send an email to a customizable email address.
Will also allow integrating an interactive map, by simply using the Google Maps API and allowing the user to set the coordinates for their preferred location.
The program can have to allow the users to edit the content in two separate views:
Design view (in which you will arrange the visual elements)
Code view (where you will actually see and edit the HTML code directly)
Optionally, a split view will be created as well, in which half the screen is in design view and the other half in code view.
Additionally, it may have to define a set of predefined modules which will be used to easily create new web pages.
These modules can be:
Form elements, such as
Input fields
Textareas
Radio buttons
Checkboxes
Submit buttons
Drop-down lists
Headers
Images
Separators
The software will be written in any language of choice as long as it gives the above mentioned functionalities. Any additional features that you imagine of and may help users bring their ideas to life through an easy workflow are more than welcome.