Anrdroid Challange Open House, Unilag

The Lagos Google Technology User group (Lagos GTUG) held its Andorid focused open house on Saturday the 23rd of April 2011 at the Centre of information Technology Systems in the University of Lagos. It was a well attended event with 57 attendees. The attendees included people from Ibadan and our neighboring GTUGs (Akure and Abeokuta).

From Lagos_GTUG_AndroidSSA

The event kicked off at about a quarter past three in the afternoon with a welcome address from Emeka Afigbo, the manager of the Lagos GTUG. who explained what the event was all about and ran through a the agenda for the day. He then handed the mic to our first guest speaker Chinedu Efoagui, a developer with System Specs who took us through a lecture on Google Maps to whet the appetite of the audience in prepration of things to come.

From Lagos_GTUG_AndroidSSA

The lecture covered the basic aspects of Google Maps such as :

  • Proximity Detection.
  • Geocoding.
  • Directions Services
  • Calculation of Distance
  • Markers (Clustering),InfoWindows,polylines.
  • Location Detection.

One good thing about the presentation was that he gave us insights as to how to apply Google Maps which brought to light that fact that many applications of Google Maps did not need to have a map displayed.
He also showcased a site that he had created: The Very Place that applied a number of features of Google Maps.

From Lagos_GTUG_AndroidSSA

Next up was the Android Trivia Quiz, where the audience had to split themselves into groups of 8 and answer 21 questions on relating to the Google Android Platform. As Emeka reeled out the questions, team members scrambled to provide the answers. After all the team members had submitted their answers, we moved on to the high point of the occassion which was a talk introducing the Google Android platform delivered by Bolaji and Bobola of the Fans Connect Online Team. Their talk covered the introductory aspects of the Android platform and also how to use the Android SDK to develop a “Hello World” application on Eclipse. They also gave us some useful tips and tricks to use when developing Android applications such as the android garbage collection model. They then took us through an Android application which they had developed called Naija Places.
After the talk it was finally time to announce the winners of the Android quiz and the honors went to the Minders team.

From Lagos_GTUG_AndroidSSA

For their troubles the eight team members each left the event with special branded Android T-Shirts.
The last talk was by Emeka who took the audience through an overview of the Android Challenge which included things like:
What the challenge was meant to achieve
The prize money (obviously!)
The important dates
. The audience was encouraged to form teams so as to stand a better chance of winning.
Attendees went home with some branded Google goodies such as Android stickers, bags and key holders to cap off a fun filled evening
We would like to thank the following for making the event possible:

  • Google for all the swag and support
  • Staff of the CITS in the University of Lagos for being there even on Easter Saturday
  • Chinedu Efoagui for his talk and helping with some of the pictures and videos
  • Bobola Oniwura , Bolaji Olawoye and the rest of the Fans Connect Team for their talk and support
  • Parkway Projects Ltd for sparing some of their staff to make this event happen
  • and White Chapel and Partners for handling a lot of the logistics

You can see the slides from the Open House here

Pictures of the event are available in the picasa album below:


You can also see some videos of the event below:

What to expect at the Lagos Google Technology Open House on 23rd April 2011

Its almost here people, the much talked about open house that will pave the way for the Big One (G-Nigeria)
will be taking place on the 23rd of April at the University of Lagos at the Center for Information Technology.

Like we have said earlier, the event will be focused on Android and mobile technologies (with a trickle of other Google technologies thrown in)
As usual , the event promises to be a great forum for networking and keeping up with the latest in Google and Open source technologies.
The Program will be as follows:

  • Welcome Address and General Introductions
  • Android Trends & Brief Discussion based on a special announcement from Google
  • Talks on Google Android from subject matter experts including Fans Connect Online (developers of the Naija Places Android Application)
  • A talk on Google Maps from Chinedu Efoagui (developer of
  • Refreshments & Networking

Who is invited?

  • Mobile developers , android fans and of course people who are interested in Google Technology.
  • Students will be required to register online at

What do i need to come with ?

  • Yourself (compulsory)
  • As much knowledge about Android as my brain can carry (Compulsory)
  • Laptop with internet connection (optional)
  • Flash drive for copying code and tools (optional)

How long would the event last ?
Kick off time is 3pm prompt and we intend to be there for at most 3 hours. So we should be done by 6.00pm

We look forward to having you there…it will be fun

Google Technology Open House 23rd April 2011

Its happening again folks!
We are finalizing arrangements for the next Google Technology Open House in Lagos.
It will be taking place in the same venue as the last one (University Of Lagos Akoka).
The theme for this open house will be centered around mobile applications and the Android platform.
So make sure you keep 23rd of April free….and we gurrantee you that you will not regret it!

Enter the Google Map

Our guest blogger Chinedu Efoagui is a Sun Certified Java Programmer as well as a Sun Certified Business Component Developer with a Masters degree in Computer Science from the University of Hertfordshire. He is very passionate about technology and envisions a world entirely driven by it.

His interests include Object Oriented Analysis and Design, Java/.NET technology, Functional programming, Database technology and Open Source efforts.

When he is not fooling around with his computer, he likes to analyse chess games and write fiction.


Pretty Fast Internet Connection.

JQuery 1.4+

Assumed Knowledge of XML, XSLT, JavaScript


Google Maps is an exciting technology. Since it was first lunched, it has been applied in lots of interesting ways e.g. in measuring actual sizes of buildings to resolving border conflicts! Over the years,I have had very good experience using Google Maps . I developed – a website that uses a lot of Google Map features which give users the ability to get driving instructions and other location based stuff. Anyway, this blog entry won’t be as far reaching in showing what can be achieved using Google maps.

Before we go to the sample application proper, let me follow tradition and display a “hello world” example. We will be using JQuery- a popular JavaScript library, to simply the code. To run the hello world example, copy and paste the code below and view it on your browser. Also, you can just open the hello.html included in downloadable sample app.




<title>Ezenna Group of Companies Ltd</title>

<style type=”text/css”>
html { height: 100% }
body { height: 100%; margin: 0px; padding: 0px }
#zamap { height: 400px,width:600px}

<script type=”text/javascript” src=”js/jquery.min.js”>


<script type=”text/javascript”



<script type=”text/javascript”>

$(document).ready(function () {



function showmap(){

//Lagos Nigeria

var latlng = new google.maps.LatLng(6.43616,3.41647 );

var myOptions = {

zoom: 12,

center: latlng,

mapTypeControlOptions: {

style: google.maps.MapTypeControlStyle.DROPDOWN_MENU


mapTypeId: google.maps.MapTypeId.ROADMAP


var map = new google.maps.Map(document.getElementById(“zamap”), myOptions);




<body><div id=”zamap” ></div></body>


Step 1.


The strict XHTML declaration instructs the browser to show the html document as is so the browser load the page faster than transitional declaration for instance because there is no extra step of validating html document.

Step 2.

{ height:
{ height:
100%; margin:
0px; padding:
#zamap { height: 400px,width:600px}

The CSS describes how the html document will be shown. the height, margin and also describes the height and width of the <div id=”zamap”> which acts as a placeholder for our map.

Step 3.

<script type=”text/javascript”



This script tag loads the Google Maps Api necessary to create the map and version is 3.2 and sensor is false which means that the device does NOT use a sensor e.g. GPS to detect the user’s location.


$(document).ready(function () {



What this JQuery function pretty much does is execute any function or code after the entire HTML document has been fully rendered. In this case it runs the showMap function which has the instructions to create the Google Map. Note: Don’t forget to load the JQuery like so.

<script type=”text/javascript” src=”js/jquery.min.js”>


var latlng = new google.maps.LatLng(6.43616,3.41647 );

Inside the showMap function, the first step in creating a Map is to declare the latitude and longitude coordinates of the location, in this case, the city of Lagos Nigeria. The latlng of the location (Lagos) has already been got through a process known as Geocoding. Google Maps comes with that feature but I won’t talk about it since it is beyond the scope of this blog. If one doesn’t know what latitude and longitude are then you might want to get a geography lesson or better still google it.

Steps 6.

var myOptions = {

zoom: 12,

center: latlng,

mapTypeControlOptions: {

style: google.maps.MapTypeControlStyle.DROPDOWN_MENU


mapTypeId: google.maps.MapTypeId.ROADMAP


Step 7

var map = new google.maps.Map(document.getElementById(“zamap”), myOptions);

Takes the initialization settingstored in the myOptions variable, and id of the div which we get the reference of via the document.getElementById method and loads the MAP on the div.

<div id=”zamap” ></div>

Remember the DIV acts a placeholder for the Google Map.

The Options variable holds the Map initialization variables like the “zoom”. “Center” indicates the actual location from the latlng coordinates. “mapTypeId” here is initialized as “RoadMap”., there are other options like terrain , satellite, hybrid. “MapTypeControlOptions “shows the MapType options as a dropdown menu if one wishes to conserve space.

Behold The Map!

Figure 1 showing the Google Map

If you can see the image above then congratulations, for creating your first Google map.

Right now the Map does not look like much. It just shows Lagos. We will now proceed to adding a marker to indicate exactly where we are in Lagos.

//adding a marker

var marker = new google.maps.Marker({


map: map,

title: “I am here!”


The piece code displays the marker on the map by setting the position to the latlng coordinates and the map to the map variable and we will create a title for the marker.

One can change the marker icon. That I will illustrate in the sample app so stay tuned.

Hover your mouse above the marker to see the title.

So see the marker below:

Figure 2 showing a marker

Now I promised a hello world example and not a “I am here” so we will take the tutorial a notch up by display an Infowindow with the Famous words.

//add an infowindow

var infocontentDiv = ‘<div id=”content”>’+

‘Hello World!’+


var infowindow = new google.maps.InfoWindow({

content: infocontentDiv


//event listener to open the infowindow on click

google.maps.event.addListener(marker, ‘click’, function() {,marker);


The variable infocontentwindow holds the content we would like to display.

google.maps.InfoWindow creates an Infowindow and uses the infocontentwindow as its content.

Since we want the infowindow to open when the marker is clicked on, we add the event listener to the marker.

Click on the marker and VOILA! The infowindow pops up with the”Hello world” message.

Figure 3 Showing the “Hello World” Infowindow

Now I will illustrate the following Google Maps capability such as detecting user location, populating several locations on a single map using a sample project as a case study. This application will be called “Ezenna Group of Companies”. Legend has it that Ezenna as a typical Igbo man, had so many businesses scattered all over the world. Since they were so many, he forgot the whereabouts of some of them. Fortunately for him, he met an I.T consultant who advised him (at a huge cost) to get a directory of all his businesses so they will easy to find. I won’t tell you who the consultant was; I am sure by now you have a pretty good idea.

To make everything simple, the data of Ezenna’s business will be stored in xml instead of a RDBMS.

See below at a snippet of the xml

<STORE id=”1″>

<NAME>YouLike Clothes</NAME>

<DESCRIPTION>Best collection of designer clothes and accessories. Cool Perfumes, watches in stock.</DESCRIPTION>




<Address>No 12 Aba Road, Port-Harcourt</Address>








It contains attributes describing store such as name, description, location and so on. We shall employ JQuery to load and manipulate our XML data to show all the locations on the map. So enough talking, let’s see some code.

$(document).ready(function () {

// showmap();








We use the ajax to asynchronously fetch the xml data.

To loop through the data, we use find method to get all the <STORE> tags and iterates through and initializes the Store properties leike name,description and so on.


var id=$(this).attr(‘id’);

var name=$(this).find(‘NAME’).text();

var description=$(this).find(‘DESCRIPTION’).text();

var type=$(this).find(‘TYPE’).text();

var lat=$(this).find(‘LAT’).text();


We create the Map the usual way then add the

var bounds = new google.maps.LatLngBounds();

// Extending the bounds object with each LatLng

bounds.extend(new google.maps.LatLng(lat,long));

// Adjusting the map to new bounding box


The bounds object adjusts the map so that the different markers fit inside the bounds being passed to it.

var marker = new google.maps.Marker({

position: new google.maps.LatLng(lat,long),

map: map,

title: name


The title of the marker is set to the name property of the <STORE> tag.

Figure 4 showing all of Ezenna’s stores

The Ezenna’s stores are shown on the map but there seems to be different the type of stores on the map.
So we change the marker code to reflect the marker image we’ve got.

var zapic=$(this).find(‘LOGO’).text();


recycleh = new google.maps.MarkerImage(imageloch);

// Adding the markers

var marker = new google.maps.Marker({

position: new google.maps.LatLng(lat,long),

map: map,

icon: recycleh,

title: name


Figure 5 Showing different set of Marker Images

The icons can be downloaded here from this URL.

Meanwhile, the rest of the Store properties are set on the InfoWindow. As shown below with Zoom In and Zoom out link configured on it.

var infocontent=document.createElement(‘div’);

var title=document.createElement(‘strong’);

title.innerHTML =name;

var descriptionlink = document.createElement(‘p’);


var breakr = document.createElement(‘br’);

var plink = document.createElement(‘p’);

var websitelink = document.createElement(‘a’);

websitelink.innerHTML = ‘Website’;

websitelink.href = “”;”_blank”;

var a = document.createElement(‘a’);

a.innerHTML = ‘ Zoom In’;

a.href = ‘#’;

// Adding a click event to the link that performs

// the zoom in, and cancels its default action

a.onclick = function() {

// Setting the center of the map to the same as the clicked marker


// Setting the zoom level to 15


// Canceling the default action



var zoomout = document.createElement(‘a’);

zoomout.innerHTML = ‘ Zoom Out’;

zoomout.href = ‘#’;

// Adding a click event to the link that performs

// the zoom in, and cancels its default action

zoomout.onclick = function() {

// Setting the center of the map to the same as the clicked marker


// Setting the zoom level to 15


// Canceling the default action



// Appending the link to the second paragraph element




// Appending the two paragraphs to the content container






// Setting the content of the InfoWindow


This piece of code set the zoom level as the bounds are increased .

var listener = google.maps.event.addListener(map, “idle”, function() {

if (map.getZoom() > 16) map.setZoom(16);



Figure 6: showing the infowindows.

If we click on ZOOM IN .We get to see what is shown in the picture below.

User Location detection

Detecting a visitor’s location to one’s website is useful feature and has many applications in fraud management for example if the user’s credit card address is far from the location at which transaction is being carried out would be an indication of high risk transcation. Also one can get useful analytics to the demographics of one’s website visitors.

To detect user’s location, one can use gears, browser based geolocation or Ip based geolocation. Ip based geolocation is the least accurate.

To use gears, one needs to add the script tag to the header of the web page

<script type=“text/javascript”



For IP-based

One could use The Google API for

// Getting the position

if (google.loader.ClientLocation.latitude && google.loader.ClientLocation.longitude) {

// Defining the position

var latLng = new google.maps.LatLng(google.loader.ClientLocation.latitude,


From my experience, I found out that Google’s client location though is bit more accurate than other offerings but in the case of Nigeria, it returns null on most IP addresses so I decided to switch to a different ip-based geolocation provider.

I assume they depend on your Google Key for something because it is one of the parameters needed.

You can get it here

<script type=“text/javascript” src=“”>


Either way, IP-based geolocation is not very accurate. Actually, they are the least accurate as seen it the picture below which shows my location as Ikeja while I am on the Lagos Island.

Some smart mobile phones have GPS which provide very accurate location. Also GSM cell sites use triangulation to determine one’s position.

The Geolocation API specification is found at

To use the standard browser based geolocation API download the geo.js file which is the W3C standard. Please note that Internet explorer does NOT support this.

if (geo_position_js.init()){

geo_position_js.getCurrentPosition(setPosition, handleError,{enableHighAccuracy:false,options:6000});


To get around any of the hiccups associated with the lack of I.E support, Google Gears becomes a good alternative. Although, one of the problems of gears is that it is not ubiquitous. User geolocation with Gears is quite accurate as in shown in the picture. As at the time of writing this blog , I was at Lagos Island and voila , Gears shows me on the Island exactly.

To include Gears add this to the header of your webpage

<script type=”text/javascript”



Then the following option to your control flow.

if (google.gears) {



function UseGears() {

browserSupportFlag = true;

var geo = google.gears.factory.create(‘beta.geolocation’);

geo.getCurrentPosition(function(position) {




If you are concerned about privacy issue concerning auto detection of your location, don’ be since you will have to accent to any of it.

Therefore as a rule of the thumb one should use Ip.based Geo-coding as a fall-back and either Gears or the W3C standard as the first options as shown in the sample code.

Next Steps

So we have learnt how to detect user location, transverse through xml data with JQuery, show multiple locations on a map. Some nice features I left out are getting driving directions to any of the Ezenna stores and proximity detection i.e. showing the user, the nearest Ezeani Store to the user’s location. You may want to look at see below for a working example of calculating distance between two coordinates [1]

For example, Murtala Mohammed Airport Coordinates are

Latitude= 6.57722, Longitude 3.32111

Great Circle Distance Formula using radians:

3963.0 * arccos[sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 – lon1)]

If you do NOT first convert the latitude and longitude values in the database to radians, you must include the degrees-to-radians conversion in the calculation. Substituting degrees for radians, the formula becomes:

Great Circle Distance Formula using decimal degrees:

3963.0 * arccos[sin(lat1/57.2958) * sin(lat2/57.2958) + cos(lat1/57.2958) * cos(lat2/57.2958) * cos(lon2/57.2958 -lon1/57.2958)]


r * acos[sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(lon2 – lon1)]

Where r is the radius of the earth in whatever units you desire.
r=3437.74677 (nautical miles)
r=6378.7 (kilometers)
r=3963.0 (statute miles)

One can see all these concepts on display on this website –

Get the source code for the example


1. Wikipedia

2. Google Maps Api

3. Developer Guide


5. Beginning Google Map API 3, Gabriel (Svennerberg, 2010)

6. W3C,

Why Should I Use Google Big Table or any non relational database for that matter?

One of the very first things that comes to a web developer’s mind when faced with the option of developing an application on
Google App Engine is the fact that the database is non relational and also that you cannot instantly do “Joins” on your data!
At first glance this seems like a major bottle neck but then it all begins to make sense once you get one thing straight and that is :
Non-relational databases (Google Big Table, CouchDb, Mongo etc) are not nessecarily a one size fits all replacement for relational Databases (e.g. My SQL, Oracle, SQL Server) .
They each have situations to which they are best suited and once you have understood that, life becomes a whole lot easier.
Having said that, there are developers who have sworn to stick to one side of the divide (relational or none relational ) and as such have done everything within their power to adapt their applications to their databases of choice.
So the big question is: When is it best to use a non-relational database like BigTable ?
Well…the answer varies depending on who you talk to, but some digging around the web yielded the following answers:

  • Your data is stored and retrieved mainly by primary key, without complex joins.
  • You have a non-trivial amount of data, and want to avoid the pains of RDMS management such as Replication etc
  • Your data mirrors a real life document or log/audit trail (e.g. a ticket, a receipt or even an invoice) whose contents will not change once it has been created and/or is used in an “append-only” mode

Another possible reason is if you have a strong suspicion that your database will NOT age gracefully (see )
Putting the above scenarios together could result in the following picture:
You have to build an application that underneath is very simple in structure, but will potentially handle a lot of data with high traffic and you want to be able to retrieve data from this application using a primary key and/or also some key words/tags (a many to many relationship). Such an application is a good candidate for a database such as BigTable.

Of course like was said earlier a lot of developers have over the years found ingenious ways to use non-relational databases to achieve a lot of the things that are currently being done with relational databases today.
Also suffice to say that Google has unleashed App Engine for Business and in the second quarter of this year this will support hosted SQL databases. This initiative will make it easier for business to migrate their business applications and databases to the Google Cloud.

It would be interesting to hear from you about situations where you have considered moving from a relational database to a non-relational database and vice versa.
Here are some articles that should make interesting reading:

What could the Microsoft – Nokia Collabo mean for Android?

If you have not been living on the cyber moon and if you have not been so bogged down by work or play that you did not have time to scan the web (which is the same thing as saying that you have been living on the cyber moon), then i am sure you have heard about the recently announced partnership between Nokia and Microsoft.
If you have not heard or read about it , you can quickly bring yourself up to speed by reading the announcement from Microsoft’s site.
In case you do not want to read through the whole thing, here are the highlights:
Nokia and Microsoft are engaging in a partnership such that:

” 1.) Nokia would adopt Windows Phone as its principal Smartphone strategy, innovating on top of the platform in areas such as imaging, where Nokia is a market leader.

2.) Nokia would help drive the future of Windows Phone. Nokia would contribute its expertise on hardware design, language support, and help bring Windows Phone to a larger range of price points, market segments and geographies.
3) Nokia and Microsoft would closely collaborate on joint marketing initiatives and a shared development roadmap to align on the future evolution of mobile products.
4.) Bing would power Nokia’s search services across Nokia devices and services, giving customers access to Bing’s next generation search capabilities. Microsoft adCenter would provide search advertising services on Nokia’s line of devices and services.
5.) Nokia Maps would be a core part of Microsoft’s mapping services. For example, Maps would be integrated with Microsoft’s Bing search engine and adCenter advertising platform to form a unique local search and advertising experience
6.) Nokia’s extensive operator billing agreements would make it easier for consumers to purchase Nokia Windows Phone services in countries where credit-card use is low.
7.) Microsoft development tools would be used to create applications to run on Nokia Windows Phones, allowing developers to easily leverage the ecosystem’s global reach.
8.) Nokia’s content and application store would be integrated with Microsoft Marketplace for a more compelling consumer experience.”

Most of the commentary i have seen online touts this as Nokia’s reaction to the threat of the IPhone. However it was after reading this article that another angle became a bit evident (thanks Tunde for the Facebook post!)
The main gist of this article is that with this move a lot of Symbian developers will be left without a platform in the coming years and as such the developers will be left with a number of options:

A.) Migrate with Nokia to Windows (How many pure blooded Symbian developers will do this is anybody’s guess)
B.) Migrate to IPhone (An attractive choice as this platform has probably the biggest appstore around)
C.) Migrate to Android (An upcoming platform, but perhaps the most open of all the options
D.)Migrate to BlackBerry another platform of choice
E.) Give it all up and start maintaining blogs like this one (That’s what I would choose:-D)

So what’s the point of this little piece?
The thing is that with so many mobile platform developers pondering their future over the next 6 months, the battle for their souls will soon start in earnest and it is just possible of all the options, Android being the most open of them might be the most attractive. Of course this depends on how Google chooses to play the game and also on what the android community does to welcome in these developers from the cold.
Only time will tell…..
We are watching.

Lagos GTUG holds open house at University of Lagos

The Lagos Google Technology Group held its first open house at the Centre for Information Technology in the University of Lagos.This event was basically a forum that allowed those of us who are interested in Google technology to have some face time with Googlers and hear from them first hand in a semi formal environment.There were a total of 5 Googlers on hand and a total of more than 30 attendees which was pretty impressive considering that it was a work day.The event was fun filled and interactive with everyone eager to join and contribute.

The event kicked off with a talk from Ben, a project manager with Google who walked us through the Google corporate philosophy (the famous “Ten things).
Next we had Ayite ( a Google Engineer) take us through the fundamentals of Google App Engine.

To round up the talks Bridgette (Google Program manager for West Africa) took us through a number of tools that we could use to maximize on our innovations, these included the likes of:

After this came the most interesting part of the evening…when the floor was thrown open for questions and they came flooding in.They included questions like:

  • Why are PHP and Ruby not supported on Google App Engine?
  • Does Google have an equivalent of YQL (for Yahoo)?
  • What is the Google software development lifecycle like?
  • Does Google App Engine have any tool that makes it easy to build RESTful web services?

and much much more,

The discussion became even more passionate when we discussed what the challenges that preventing developers in this part of the world from maximizing and monetizing their innovations.
The event closed with some light refreshments after about 2 hours of intense interaction.
Many many thanks to Bridgette, Lanre, Ben, Ayite, Fiona for making it a wonderful event.

Watch this space for more info on Google activities around here starting with one in Unilag within the next one month and of course the BIG ONE!!!G-Nigeria in May 2011!

Google Web Dev Spoon Feed (A fresher’s experience)

When I got a buzz on my Facebook message asking for volunteers to get the Lagos GTUG’s (Google Technology User Group) website running, I felt that it would be an opportunity for me to horn my interest in Web development by watching the “masters” do their thing and get to learn new tools, but that didn’t hold true because I got an approval with a condition that I spearhead the project. What?!

Eventually, we were able to register our site, design and apply various feels using the Googleweb development environment with a basic WYSIWYG interface for creating and editing pages and, believe me, it was easier than I thought.

When you hear “Google” what comes to mind is search engine! But Google has come a long way to provide services beyond just search engines, emails and contact information  management to actually help you create and develop your own world directly on the web with unlimited, likewise, controlled access to supplied information files, ranging from video, images, books, applications and more.

Anyway, here we are with a functioning site that is not only dynamic and simple but also easy to implement and deploy all by yourself! All you need to get cracking is a Google username and password (just like you have your Yahoo login name and password) voila! You are good to go.

Basic tools: A functioning internet service, your hands and interest!

INTRODUCTION Google Web Creator is a free Google service that allows you to create a website using an online web creation wizard together with an online What-You-See-Is-What-You-Get (WYSIWYG) web editor. The pages are published and hosted on Google’s web servers free of charge.

GETTING STARTED It’s fairly easy to get started. If you don’t have a Google Gmail account, you’ll have to sign up for one. With that same account name and password, you will be able to log into the Google Page Creator. You should choose your Google Gmail account name carefully, however, before you start, because whatever name you select for that Google webpage will wind up as part of your URL e.g.  Given that your sites name is deespetproject, then your sites url will be


Recent Site Activity: This helps to display the various activities that had been performed on certain web pages by listing the time, date and the name of the user who made the changes.

Pages: From here, you can view the various web pages that have been created.

Attachment: Fresh files like images and other documents can be uploadviewdownload,rename, replace and remove from here.

Templates: This page handles the standard templates of the site and you can includedisable,enable and remove any of your templates from here.

General Setting: From the site setting page, changes can be made to site name (title of the site), site description and matured content display option, landing page, statistic (analytics), site display languages and other actions.

Sharing: From this page, you can release access to your site by defining roles. I.e. you can specify people you would like to have access to the site and also place restrictions on them. Note that contacts can be selected from your Google account directly from this page.
Monetise Pane: This provides Adsense (AdSense ads) tool that you can place on your site for monetary gain. How? It enables you to earn money by placing targeted text and image ads on your site.

Google automatically chooses which ads to show based on your sites’ content and users and you earn money when visitors view or click on these. It is advisable not to enable this tool until you are sure of what you would like to achieve with it because “all that glitters…”

Web Address: This page displays your current web address and new web address can also be included to the site from here.

Web Templates and Web Layouts: It is fairly easy to get started on a website with Google’s web design offering. You can select a design from a variety of web templates and standard layouts and make changes to the size of the columns for proper definition on the page.
You can also change the arrangement of your menu item either by adding more menus or changing the position.
Changing the Appearance of Your Text (Colors & Fonts): From the site Manager page, you can make changes to the colors and font of various areas on the site, e.g. background, sidebar gadget, content area and the navigation gadget area.
Theme: Google was able to provide numerous themes that you can choose from to make your site attractive with well defined colors and feel. You can preview each of the themes before applying your desired choice directly from this page.

Adding Images, Cropping, and Resizing: Included in the web page builder is the facility to insert images from either another website or from your computer. I was able to upload .jpg images using the image picker tool which also has the ability to move, crop, resize, and even change contrast and brightness of the image as desired by you.

Inserting Links: The web page wizard allows you to insert links to other websites. There is also a simple-to-use facility to link to pages that you have created within the Page Creator system, as well as to files you have already uploaded. If you are creating a link to a new page on your site, you will not have to mess about with getting the filename correct. The web editor handles this behind the scenes for you.

HTML TITLE Tag: When your page is created, Page Creator automatically forms your

Gadgets, Extensions and Web Apps: The interface also allows you to add gadgets and other Google functional tools to your website, such as a calendar, Google search box, etc. This may or may not appeal to you, depending on the purpose of your website, but it is right at your disposal.

Publishing Your Site: Publishing your website is as simple as clicking a button that says “Publish”. That’s it. You don’t have to mess around with FTP settings (the stumbling block for many newbie’s) or finding a web host (Google Pages is your host).

Online Web Builder Freezes: You might (like I have) experience some unresponsive downtime and the only way out might be to quit and re-login again or to go to “My Account” and re-enter the editor. Until this bug is fixed, or even when it is fixed, I would advise that you save your work regularly.

Service Uptime and Responsiveness seems good.

In Conclusion  Google Web Creator looks very promising. It has a simple, uncluttered interface that makes it easy for newcomers to quickly get their website published. Users can easily benefit from the selection of web templates and standard layouts to easily create their site. The developers appear to have put in some thought into the utility of the editor for the new webmaster, automating things that normally confuse them, such as automatically creating a TITLE tag from the user’s own title for the page. Other aspects of the service also show the same consideration given to usability – for example it is easy to add a link to another page and create the page that it links to without having to worry about filenames. The web builder automatically takes care of building the correct link to the page.

All in all, I would say that this free web service is useful for a novice who wants to create a simple website for fun, a group of students who want to handle their projects online, small entrepreneurs as well as professionals willing to maximize the various tools that Google has got to offer and also develop on it. It provides most of the rudimentary facilities for creating and publishing a website, and for the most part, makes the process simple. Among its benefits, it is possible to add other functionalities to one’s site like we were able to do on LagosGTUG site with the addition of an Event Calendar and the Blog tab. Winky!

Welcome to the Lagos GTUG

Greetings Everyone and welcome to 2010.
This year was heralded by the official approval of the Lagos Google Technology User Group (Lagos GTUG).
This group was created with the primary focus of sharing knowledge and thoughts about Google technologies among technology enthusiats in the Lagos region in particular and Nigeria in general.It is our hope that the group will attract innovators who exude the kind of spirit that we have come to associate with Google.
Together we hope to share knowledge about Google technologies such as Google App engine, Google Sites, Google Gadgets, Android, Google Wave and a host of other interesting Google and open source technologies.
This knowledge sharing will be done through the use of this blog, our mailing list , our website and of course a variety of Google events that will be holding in the general Lagos area.
So once again this is an invitation to open innovators from far and wide …..Welcome to the Lagos GTUG and we wish you all a fruitful year!!!