Coders4Africa

Wednesday, Apr 23rd

Last update07:11:32 AM GMT

Blogs
Rate this item
(1 Vote)
Tweet

Coders4Africa announced that its 4th Software Developer Conference will be held in Nairobi, Kenya at Strathmore University’s research center @iLabAfrica on October 21st and 22nd. All software, application developers, techies, technopreneurs and computer science students are invited to this revolutionary event. Registration is FREE, but space is limited. The goal of the conference is to bring together the brightest software developers and software companies that are focused on breakthrough technologies and alleviating issues facing their communities. During the conference there will be workshops, hackathons, demos and C4A will explain its vision for a Pan African community of software developers. The aim is to bridge the gap between East and West African developers and spark more collaboration between the 2 sub-regions. New technologies are substantially changing notions of time and space by reducing the latter. As a result, they free up time and energy to create, produce and progress.

Sunday, 22 May 2011 02:41

Nandimobile Featured

Written by Kwame Andah
Rate this item
(1 Vote)
Tweet

Coders4Africa recently had some time to chat with an awesome group of developers who fit the profile of 'The African programmer'. Founders Edward, Anne and Michael are the proud operators of Nandimobile. Their organization is among the first to provide a tool (Gripeline) through which customers can interact directly with businesses in Ghana. Think of it as the mobile version of the website Ask.com, but focused on African businesses and their customers.

Gripeline allows businesses to receive and manage customer feedback, comments and questions directly from their clients (or potential clients) mobile devices. In a society where time is of the essence, especially when it comes to service level agreements and customer service, Nandimobile and their SMS & WAP services are much needed in Africa.

They recently won a Best Business award at the LAUNCH conference in San Francisco, in a competition that included a plethora of Silicon Valley start-ups for their Gripeline product. Below is a transcript from our conversation...

Wednesday, 18 May 2011 13:53

Bilan de la conférence Google I/O 2011 Featured

Written by Leger Djiba
Rate this item
(0 votes)
Tweet

Comme chaque année depuis maintenant quatre ans, Google I/O, l’évènement organisé par la firme de Mountain View, s'est déroulé sur deux journées (les 10 et 11 mai 2011). Cette année, plus de 5000 développeurs et journalistes ont assisté à cette conférence qui met en scène les nouveautés apportées par le géant Google. L'ordre du jour est bien rempli et les nouveautés sont alléchantes. Au menu se trouvent le système Android et son market, les outils de développement, la domotique, le navigateur Chrome, Chrome OS et bien d'autres choses.

Thursday, 24 March 2011 04:21

The African Programmer -Success Stories Featured

Written by Kwame Andah
Rate this item
(2 votes)
Tweet

"Some of the smartest dummies, can't read the language of Egyptian mummies / An' a fly go a moon, and can't find food for the starving tummies / Pay no mind to the youths, cause its not like the future depends on it / But save the animals in the zoo, cause the chimpanzee dem a make big money" -one of my favorite lyrics from Damian Marley and Nas' remake of Amadou & Mariam's (musical duo from Mali) classic "Sabali". What stood out to me most is how the first line had software programming connotations, the second poverty and the third -the future of the youth. To make it even more relative to African developers (not that we are poor and starving lol) was the meaning of 'Sabali' -Patience. A virtue one needs to master in the programming world...come to think of it, a virtue one needs to master period.

Coders4Africa had the chance to chat with Eyram Tawia, co-founder and lead developer of Leti Games Ltd, a Ghanaian based software company. Along with his friend Wesley Kirinya (Kenya), they developed an iPhone app video game dubbed 'iWarrior' that got a lot of buzz (should you have an iPhone, check it out the AppStore and support young African entrepreneurs). The object of the game is to protect your village, farm, inhabitants, etc from wild animals. This app bleeds Africa inside and out -tribal art and sounds included. While chatting with Eyram, I realized how important it is to be patient, passionate and follow your dreams. In an environment where the tools you need are not readily available to you, your passion and perseverance can determine your success or failure. In his case from humble beginnings to graduating from MeltWater Entrepreneurial School of Technology and starting his own company, Eyram is an African Programmer success story. Below is an excerpt from our discussion. Be inspired!

C4A: What is your educational background?

Eyram: I was born on a university campus (KNUST) where I had most of my basic education up to Junior High School. I did my high school at Mawuli School in the Volta region and read science. I hold a bachelor in Computer Science.

 

C4A: How and when did you get introduced to programming?

Eyram: I got into programming quite early during my Junior High school days. My focus was to make games for comics I used to draw then. This drive was so high that I did everything to learn programming.

 

C4A: What makes you feel passionate about your craft?

 

Eyram: To be honest, what makes me passionate is not the money, but the mentality of games not coming from this part of our-world (Africa). The politics in the complexity of game design for that matter and how Africa is forgotten totally and not considered to be capable of making quality video games. This makes me passionate every second. Creating fun for people is something that drives me all the time. Game design is a totally lucrative industry that can work in Africa. I really want to show Africans the only profession isn't doctors or lawyers. And also computer science isn't just making banking applications, hospital management etc, but there are other aspects that are more fun and challenging i.e. the multimedia sector which comprises of video games, music applications and even robotics. So I really want to create a new industry all together in Africa.

C4A: What are your interests outside of programming?

Eyram: I love singing in the choir, playing video games, listening to music and watching movies. But I recently discovered I enjoy hanging out with friends and chatting as well, which is something very fun. 

C4A: What do you feel programmers have to offer in Ghana?

Eyram: Knowledge and Examples. Programmers need to share their ideas and set examples for others to follow. I see most Programmers in Ghana to be content with what they've achieved after a first try and don't strive for more. We should come together as programmers and try to help one other and also help upcoming ones.

 

C4A: Which challenges do you face on a daily basis, and how do you manage them?

Eyram: Internet speed and cost is a major challenge. Also, getting the necessary skill-set to employ is a problem here. For example, most artists in Ghana end up only designing posters and making advertisement billboards. They never get the chance to practice their skills especially those who do hand illustrations and animations. Since the Ghanaian market doesn't patronize such artwork, for that matter it is not lucrative enough to make a living on. Game art requires some particular talents and finding such talents here is really challenging. Similar to finding sound engineers and programmers. So most programmers here divert their attention and skill set to what brings them money and what the local market demands i.e. DB applications and websites mostly. This makes them loose their touch on other aspects like multimedia programming, game design, robotics etc. Because these aspects are quite difficult and non lucrative in the local market, they find it risky to delve into it. When such people are employed into the company, they find it difficult to operate since its a whole new style of coding and design. A lot of complex math and optimization techniques that might be discouraged in normal application programming are encouraged in game design since its faster in regards to the processor. Finding resources for game design is a problem here and would need a lot more effort to educate people and actually build a community, which I'm planning towards.

 

C4A: How will the web and mobile technology play a role in developing the infrastructure in Africa?

Eyram: Gaming is one industry that develops on top of others. When the infrastructure is laid, it will call for industries like Gaming to spring up. Now, the web is easily accessible and a bit cheap to access via mobile phones, which are very widely spread-out in Ghana. Most systems are being developed on top of the web and being integrated into older systems so it makes our lives easier. e.g. computerization of our health systems, police and security etc. In the past, we would have spent several millions of dollars to acquire new equipments as well as paper to take records that is slow and expensive compared to the web. Now, a programmer can simply write a sever-side code to deliver contacts for example, which one can access via your mobile browser. Gone are the days you would purchase a phone book catalog at an expensive price. So in-short, the introduction of web and mobile technology will help Africans save cost and rather focus more on infrastructure (building good roads and schools for the nations youths).

 

C4A: What are your thoughts on the Coders4Africa initiative?

Eyram: I think Coders4Africa is a very good initiative. We need more organizations like yours in the country/continent willing to help individuals and do wonderful things. Everyone can be a programmer; it only takes sharing, determination and passion to be a good one. I'd encourage Coders4Africa to take this mission very seriously and make this initiative work since most people try to start and end-up giving up. The talents exist and we need to find them all. This is a good platform to find them.

C4A: Awesome, thanks for taking the time to chat with me Eyram. We wish you continued success in all your endeavors and look forward to meeting up for some kenke and fish next time I'm in Accra!

Wednesday, 02 February 2011 18:48

Android Development: PhoneGap's "No such file or directory" Error Featured

Written by Abou Kone
Rate this item
(1 Vote)
Tweet

I was following the tutorial on the Phonegap wiki to set up the example project within the Eclipse SDK and ran into this issue where PhoneGap could not find the phonegap.jar under the framework directory:

`stat': no such file or directory android-sdk-path.bat
D:/Development/Android/example_android/framework/phonegap.jar (Errno::ENOENT)

I had followed the previous steps and was puzzled by this error. It turns out the issue was the version of Ruby I was using was the issue. I was using 1.9.2 and scaling back to 1.9.1 got rid of the error and i am now able to build fine. I was getting also previous errors about the android-sdk-path.bat missing and those were due to the PhoneGap bin directory missing from my PATH variable so make sure to update your path correctly and you will be good to go!

Wednesday, 02 February 2011 18:39

Of ExtJS ScriptTagProxy, Spring Actions, TreePanels and JsonStores Featured

Written by Abou Kone
Rate this item
(2 votes)
Tweet

I've spent the past couple of days trying to set up a LDAP person lookup popup widget that will be used by our applications. This widget need to take advantage of the JSONP technique to retrieve the data it needs following an organization->group->person breakdown. What was interessing about this is that many ExtJS components were mixed and matched to create the widget. Let's break it down:

The  organization was represented of course by a tree structure implemented using a TreePanel. What was challenging about this is that be able to use the JSONP technique to populate our organization tree with the leaf and children already expanded, i need that structure to be built in the back end, and sent to be to populate the root of my TreePanel. Enough talking and let's see some code:

[sourcecode]
var companyStore = new Ext.data.Store({

autoLoad: true,
//JSONP Proxy Setup
proxy: new Ext.data.ScriptTagProxy({
url: getCompanyTreeURL
}),
reader: new Ext.data.JsonReader(
{
//I named my json object root 'node', just for the sake of it
root: 'node',
totalProperty: 'totalCount',
idProperty: 'id',
fields:
[
//Notice that these are TreeNode regular properties
'id',
'text',
'children',
'expanded',
'leaf'
]
}),
listeners:
{
load: function(store, recs)
{
//Once the data is loaded from the backend, i can draw my tree, with the root node //already created by the backend
var companyTree = new Ext.tree.TreePanel(
{
useArrows: true,
autoScroll: true,
animate: true,
renderTo:'tree-div',
enableDD: true,
containerScroll: true,
border: false,
rootVisible: false,
root: new Ext.tree.AsyncTreeNode(store.reader.jsonData.node[0])

});
}
}
});

//This is the type of data that is created manually in the backend and loaded in the company store, and
//finally loaded in the TreePanel root node. Notice the stcCallback1001 function that the data is wrapped in,
//this is required when you are using a ScriptTagProxy, and you will need to manually do that wrapping in //your backend code

stcCallback1001(
{
'node':
[
{
'id':1,
'children':
[
{
'text':'Big Bad Company',
'id':'222',
'expanded':true,
'children':
[
{
'text':'Little Bad Company 1',
'id':'1005',
'leaf':true
},
{
'text':'Little Bad Company 2',
'id':'1010',
'leaf':true
}
]
}
,
{
'text':'Bigger Bad Company',
'id':'123',
'expanded':true,
'children':
[
{
'text':'Little Bigger Bad Company',
'id':'23423',
'leaf':true
}

]
}
]
}
]
})
//This above output was obtained in the backend Spring controller by using the following code

//In my controller
@RequestMapping("getCompanyTree.json")
public void getCompanyTreeList(@RequestParam("callback") String callback, HttpServletResponse response)
{
Company root = directoryService.getCompanyTree();
response.setContentType("text/javascript");
try
{
OutputStreamWriter os = new OutputStreamWriter(response.getOutputStream());
String companyData = getCompanyNodes(root);
//The callback parameter value was sent by the ScriptTagProxy object in the UI, we use it to wrap the data in the function call
os.write(callback + "(");
os.write("{'node':[{'id':1, " + companyData + "}]}");
os.write( ")");
os.flush();
os.close();
}catch (IOException e)
{
e.printStackTrace();
}

}
//Use this function to actually build the string sent back
public String getCompanyNodes(Company rootCompany)
{
String returnValue = new String();
boolean firstNode = true;
returnValue += "'children':[\n";
for(Company comp : rootCompany.getChildren())
{
if(!firstNode)
{
returnValue += ",\n";
}
else
{
firstNode = false;
}
returnValue += "{\n";
returnValue +="'text':'" + comp.getName() + "',\n" +
"'id':'" + org.getId() + "',\n";
if(comp.getChildren().size() > 0)
{
returnValue += "'expanded':true,\n";
//A little recursion saves us a few lines of code
String childrenNodeReturnValue = getCompanyNodes(org);
returnValue += childrenNodeReturnValue;

}
else
{
returnValue += "'leaf':true\n";
}
returnValue += "}\n";;
}
returnValue += "]";
return returnValue;
}
[/sourcecode]
Sunday, 19 December 2010 01:54

Free training for African software developers!

Written by Kwame Andah
Rate this item
(8 votes)
Tweet

“Mention the word Africa and what comes to mind? Think quickly, you’re not hurting my feelings, come on? Jungles, safaris, kids with flies on their faces and starving bellies”

That was part of a conversation I had with an old college friend of mine. Truth is, this is the image most people have of Africa. The savannas, safaris, wars, famines, diseases and indigenous people are often the only images associated with us. An image crafted on our minds through the media. I asked Matt if he was aware of ancient universities in Timbuktu, or if he was familiar with the birthplace of mankind, or the great architects of the pyramids, the first practitioners of chemistry and mathematics?

So much knowledge and technology came from Africa in the ancient days; you would expect us to be the leaders in computer programming for example. Yet our youth and those aspiring to excel in those areas are faced with insurmountable challenges. Stable power supplies, slow/scarce Internet connectivity, low-income and the lack of basic infrastructure amongst others. But despite these issues there is hope. This is the story of Africa, survival and transformation. African developers are eager to learn, eager to be given a chance to advance and get past these stereotypical shackles that have been impeding their progress.

As I walked through the bustling streets of Accra, the capital of Ghana, I could not help but notice the amount of people with mobile phones in hands, pockets and to the ears. At a busy intersection, I was even stopped by a peddler begging for some money. I reached into my pocket to retrieve the little change I had and gave it to him, only to notice him reach into his rag torn shirt and retrieve a mobile phone to place/answer a call. I have been had I thought. Then it occurred to me that this was merely the growth of technology and mobile usage in such an unprecedented manner that it left me baffled.

Let’s look at some staggering facts:

-67% of the world population are cell phone subscribers

-more mobile users are socializing on their mobile web (91%), as opposed to using their desktop (79%)

-mobile users are 1.4 times more likely than their desktop counterparts to rally support for a cause (67% to 47%)


In West Africa alone we have a growing number of issues- linguistic, cultural, health or any kind of divide you can think of that can/are being solved through technological and mobile solutions. This is one of the greatest field opportunities currently for African developers to strive in.

Take for instance the story of Ghanaian programmer Eyram Akorfa Tawiah co-founder of Leti Games. Even though all these issues face him, he was very successful at building games for the iPhone and other gaming platforms. In a recent interview, he spoke about his love for coding and sharing. "Sharing your code helps you know more, the more you share, the more you know" –he alluded to. His success story started out with a passion for programming, and this should be the ambition of most coders –the love for the art.

You see, Africa has the potential to be a leading innovator, but to do so we must reinvent the way we educate our software developers, and technology professionals across the continent. Our programmers are at a competitive disadvantage with their peers elsewhere in the world, and behind the curve for the skills that will be demanded when the next wave of electronics innovations begins to break.

Sooo....I know you are asking yourself ‘and just how do you plan on doing this Mr.?’ Well, this is where Coders4Africa comes in…*drums roll*. We are the original source that provides African programmers and developers a gateway to free high quality training and certification in the main technologies and platforms that currently dominated the software development industry. Yes, I said FREE. That’s capital F R E E. The main objective is to train for free 1000 West African Software developers and programmers by the year 2016. One of our end goals is to create a community of African programmers that share and transfer knowledge among themselves and to future generation of programmers. This end goal is our way to remedy the problems facing African software developers.

This is where you fit in the equation. If you are a developer interested in taking your coding skills to the next level, we want to hear from you!

 


Page 4 of 4

Follow us

Contact us

  • Add: 100 Technology Way Suite 335,
    Mount Laurel, NJ 08054 USA
  • Tel: (888) 418-1146
You are here: Blog