Friday, January 10, 2014

Tota Needs Your Help... More Importantly Your Feedback

So it's been a while since I last posted a blog, I have been busy trying to assemble and mobilize a team to work on 3asafeer, with the help of Noor El-Fadl from TasmeemME . I was able to connect with lots of positive creative people who are willing to help. And we are just getting started.

I have developed the first few basic features to get us started. And I really need your help (whoever is reading) in testing it. Any person can test it and provide their feedback in the comments below, But the highest value of help would be of people who have kids or know anybody who has kids, to let the kids use the website and then observe areas where they get stuck, get annoyed, or even get engaged and interested.

The website still has lots of bugs and is not yet touch friendly, and is only to be tested using chrome or firefox for now, the parts you can test are:

1- Read: There is one story available till now, the goal is to test the reader component.

2- Paint: A paint tool that allows kids to paint their favorite characters, if you find your kid asking for a certain character that is not there, let us know and we'll add it in no time.

3- Play: A simple mini-game that introduces the kids to Tota, who will be the main character in the games targeting 0-3 year old kids. they can control the emotions of Tota, and see him do certain actions.

You can have a glimpse on what those features look like through the images in this post. Looking forward for your comments and feedback.




Thursday, December 19, 2013

A Call For Educators, Story Tellers, Illustrators, Animators And Game Changers


Do you want to give back to the community you belong to, to the place where you were born and raised? Do you want to help spread knowledge to the younger generations in the Arab world ? Are you an educator, a story teller, an illustrator, an animator ? Are you a game changer?

If you answered yes to any of the questions above, we would sure appreciate your help!!

I'm starting a non-profit project to give back to the community, I'm a part of. To educate kids in their mother tongue. And I'm looking for people who would like to pitch in and help.

The project is a website called 3asafeer.com and the idea is to create an interactive educational website for Arab kids fully in Arabic. The website will be similar in approach to websites like http://sesamestreet.org and http://www.bbc.co.uk/cbeebies/ but will be completely in Arabic. 

Types of help we are looking for :
1-  Designers.
2- Illustrators.
3- Story Tellers.
4- Educators.
5- Testers.
6- Animators.
7- Fund Raising Expertise or Funding.

You can reach me using the feedback form of this blog, or the comments section below to tell us how you can help.


Monday, December 16, 2013

Why Setting Short Term Goals Is Bad


We all want to get ahead in life and perform to our maximum best, yet the majority of us fail miserably to achieve their goals. We read self improvement books & articles, trying to understand what are we doing wrong. Why are we failing to achieve our goals. We get really good  general wisdom and lessons from these books, but none is a practical guide on how to achieve our goals.

Goals!!! Maybe you're looking at it from the wrong angle
Yes, it's not setting goals that will help you succeed in life it's building systems. That revelation came to me just a couple of weeks earlier while I was reading this book "How to Fail At Almost Everything and Still Make It Big", one chapter of the book was talking about goals vs. systems, Which is something I didn't find in any of the articles or books I've read earlier, and is what I think was a critical factor in the major change I had in my life. And what follows in this article is based on personal experience & views, and I don't know if there is any science or research that can back this view.

Building systems is good, Why?
My take on building systems, is that it's the easiest way to get ahead in life on your own pace and still feel good about yourself. When building a system you are always tweaking and monitoring how all factors & variables in life contribute to the final result you have in mind. It trains you to always have the end result in mind, and not get lost in the details, yet be flexible enough to change your behavior in a glimpse of an eye if it's not working.

The good thing about building systems (in my opinion) is it's flexibility and realism. Maintaining a system (routine) creates a good secure feeling. Systems that you build for how you spend your days gain performance momentum with time and become easier to maintain.

Short term goals are bad, Why?
If you are a stubborn persistent person, who likes to get things done, setting short term goals would be the perfect masochist way to torture yourself and ruin your enjoyment of the present, the here and now. You are always looking ahead to get to your goal, and you see everything in your life as an obstacle keeping you from getting to your goal, you have already set the goal and it's too late now to change it. and from there it gets worse, you only have two options, option 1 is you achieve your goal and then feel empty, or maybe rejoice for a day or two before you set your next goal and start the cycle of torture all over again. Option 2 is no better, you fail and start feeling as a loser, the emotional impact of not achieving a goal can be devastating for many.

The bad thing about goals (in my opinion) is it's finality, it's rigidness and the worst part is that it is a foolish prediction of what you will be able to do in the future no matter what variables come in to play.

In Conclusion
Goals (in my opinion) can never be short term, "Ending world Hunger", "Eradicating Disease", or "Spreading Education" can all be great life long goals. Losing weight, increasing your income, improving your relationship with others at work or home can never ever be goals. To get ahead in life you don't need to set goals, you need to build systems.

Have comments, suggestions or disagreements, please do not hesitate to leave them in the comments box below. 

Sunday, December 15, 2013

My First Attempt Drafts Working on a Children's Story



I'm currently working on my first attempt to create a children's story, I know it needs a lot of work, but I really want to get as much feedback as possible on what flaws are most apparent...


[Click Image to Enlarge]

[Click Image to Enlarge]

[Click Image to Enlarge]

[Click Image to Enlarge]


Waiting for your critique and opinions in the comments below.

Wednesday, December 11, 2013

An Enhanced Machine Translation Tool For Multi-lingual e-Commerce Websites (Machine & Human Translation)


The e-Commerce industry is becoming more and more competitive in the MENA region, with e-Commerce websites trying to provide customers with lower prices everyday; which means thinner margins everyday. this makes cost efficiency a critical factor in the success of an e-Commerce business. One of the costly processes of maintaining an e-Commerce website is publishing sold products information online. This process becomes even more complicated and costly when you need to provide multi-lingual information for your products to reach customers speaking different languages.

So How Do You Solve That Issue?
Manually translating the content for each product can be the solution when you are dealing with a small number of products, expensive items or when selling with high margins. but when you are talking about 30K+ unique SKUs varying in price, with thin margins then the Manual translation will severely hurt your bottom line.

So What About Machine Translation?
Machine translation can give you good results up to a certain extent, for example when it comes to brand names and product lines it fails miserably (ex. Hang Ten Ladies T-Shirts becomes "شنق عشرة نساء قمصان" or Nike Air Max Shoes becomes "أحذية نايك الجويه القصوى") which is totally not what you want your customers to see.  But when it comes to descriptive sentences machine translation does a great job.

The Solution
So the solution needs to use the best of human translation and machine translation for it to work, what if you were able to have a replacement list for brand names and product lines that you would build cumulatively before you send it for machine translation, then "Hang Ten Ladies T-Shirts" will become "هانغ تن بلايز ستّاتيه" which makes much more sense.

[Click The Image To Enlarge]

Machine Translation
There are many services available for machine translation from Google, Microsoft or even other specialized companies like translations.com, I found google to be best in terms of quality to cost. the cost is 20$ for each 1 million character, which is more than reasonable if you compare it to human translation. To Use Google translation API, you can use the link below:
https://cloud.google.com/console
for more information about pricing:
https://developers.google.com/translate/v2/pricing

Making Machine Translation More Cost Efficient (Translation Memory)
So even when you only pay 20$ for a 1 million character you might end up paying a lot when you want to translate 30K unique products information, so how to go around that difficulty. what if for each field you send for translation you keep the translated content in a local dictionary so next time this content is repeated you will get it from the local dictionary instead of sending it to google. This will save some money, and will allow you to refine translation to your liking for longer phrases. This is  concept called Translation Memory, more about it in the link below:
http://blog.globalizationpartners.com/what-is-a-translation-memory-%28tm%29.aspx

[Click The Image To Enlarge]

So Am I Supposed To Develop That Tool?
So after all of this ranting you might think, that this might sound good in theory, but it would need lots of time to build such a tool. Which cant be any further from the truth, I have developed a simple WPF application in a day that does just that, the source code is attached to this post you can use it and customize it the way you want, you can even ask me for help in using the application.

More Information About the Tool
This tool takes any excel sheet and translates columns you choose out of the excel sheet, and appends translated rows to the end of the excel sheet, it also saves (TranslationMemory) and (Replacement List) in a configurable location on your hard disk, you can access & edit that file using the same tool, all you have to do is configure your google API key and the location of the replacement file and translation Memory file.
[Click The Image To Enlarge]

Please shares your comments, ideas and questions in the comments section below.

DOWNLOAD THE APPLICATION SOURCE CODE HERE
Excel Translator WPF Application Source Code

DOWNLOAD THE APPLICATION INSTALLER HERE
Excel Translator Setup File

Monday, December 9, 2013

Why You Should Count Calories... At Least For A While!


So you have been trying different methods to lose weight or to maintain your weight below a certain number. Yet you either failed or just couldn't keep it up for as long as you should. Well, you are not alone in this many people try and fail if that's any consolation.

One of the ways to do that  is counting calories, I have never understood it, and I always made fun of people who did it, especially when I saw them order a fatty burger and a zero calories diet coke, and made an argument that they are counting calories. Well, I'm a changed man but don't get me wrong I'll still laugh at that argument but now after trying it I truly understand what's it about, and how useful it could be.

So we stuff our faces with different foods around the clock impulsively everyday, especially those chocolates and snacks that are not planned as a meal but they just happen. Counting calories is the best way to consciously counter that behavior.

Getting yourself trained to think before you eat, is the most important aspect of calories counting. It's not about you having to get to a certain number of calories to lose weight. It's about you successfully thinking every time before you eat and then visualizing what the portion of (this piece of food you're going to stuff in your mouth) is to your planned daily intake.

None of what I say here is science, but it's out of personal experience. And I found this a really good technique to consciously control what I eat.

So bottom line, just count calories for a while to train yourself to think and visualize before you eat. and then you don't have to put any effort into it later once you form an idea of how many calories certain foods have. and most importantly eat lots of veggies and fruits for those foods have the best value for calories, and one last thing EXERCISE.

Have any ideas, or comments on staying healthy please share with us in the comments below.  

Thursday, December 5, 2013

How to Use a Snazzy Arabic Font For Your Website


If you are still using one of the basic default boring fonts for your website (because you think they are the only fonts that are supported by majority of browsers); you need to read on this post. And if you think there is not much Arabic fonts out there to use on your website that is supported by nearly all browsers then you definitely need to read on.

So how to go about using non-standard Arabic/English fonts on your website, and still have them supported by majority of browsers?

The secret lies in a CSS tag called @font-face that was introduced since CSS2 but that was not supported properly by all browsers till around late 2008. this will also allow you to use any non-standard English font on your website too. You add this CSS tag to your website's stylesheet which links a font name you choose to the font-file you want to display on your site.

A step by step Example:
1- Get a ttf (TrueType Font) or otf (Open Type) font file: For windows users you can go to "Control Panel > Fonts" copy a font from there and paste it to your desktop.

2- Go to http://www.fontsquirrel.com/tools/webfont-generator which is a service that allows you to create a web-font kit (from any font you have) to ensure that it will render on all browsers. this service will generate the following file extensions that will be used by different browsers: .eot, .svg, .otf, .woff, .ttf, and upload your font file that you copied to your desktop.

3- For Arabic I recommend you disable Subsetting, which is a process that eliminates extra symbols from the font file, and the following options are likely to work with all fonts, although they might not give you the most optimal results, it's worth experimenting with the options, but below is my recommendation.

[click the image to enlarge]

4- Now copy the files to the same folder of the CSS stylesheet you're using and add the following to your CSS:
@font-face{
    font-family:'GE_SS';/* this is the font name you want to use when applying this font to any element using font-family*/
    src: url('ge_ss_two_medium.eot');
    src: url('ge_ss_two_medium.eot?#iefix') format('embedded-opentype'), 
    url('ge_ss_two_medium.woff') format('woff'), 
    url('ge_ss_two_medium.ttf') format('truetype'), 
    url('ge_ss_two_medium.svg#ge_ss') format('svg');
    font-weight: normal;
    font-style:normal;
}

h1{
font-family:GE_SS,Tahoma,Arial;
}


IIS Users:
If you are using IIS7 you need to make sure that the fonts mime-types are defined properly, some fonts may not be even there in the mime-types, make sure you're using the following mime-types for your extensions:

extension: .eot      mime-type: application/vnd.ms-fontobject
extension: .otf       mime-type: application/x-font-otf
extension: .svg      mime-type: image/svg+xml
extension: .woff    mime-type: application/x-font-woff
extension: .ttf        mime-type: application/x-font-ttf

One Last Note:
Are you serving the fonts from a different domain, (ex. your website is "www.mywebsite.com" and the fonts are from "fonts.adobe.com", make sure that you add the CORS ("Access-Control-Allow-Origin:*") header to your response headers.

Have any questions, or need help implementing the font; just leave a comment below.