Getting started with HaxeFlixel

This is just another haxelib if we consider the installation process. Quite straightforward in that regard.

haxelib install flixel

Well, that does not end there. With it comes some supporting libraries and they are mandatory to install. These are as below,

flixel-tools
flixel-templates
flixel-demos
flixel-addons

With those installed, one is good to go with haxeFlixel.
The first thing to do is setup the environment. For that simply run the command as

haxelib run flixel-tools setup

Now, if you just run

haxelib run flixel-tools

that will display the options available for this command.
Once setup is done, the command “flixel” can directly be invoked, though the full command is also available as “haxelib run flixel-tools” . While its suggested that one use the shortest command, I personally feel to use the long one.

Now if at all one needs help, just type help before the command as below

haxelib run flixel-tools help template

Well, next is to create some sample projects. Those would be done with the command

haxelib run flixel-tools create

Once run, the command prompt will ask you which demo to create, just put in the number, which ever you want and that will be created.

Finally to create a new project, the command is

haxelib run flixel-tools template -n "HelloProject"

That will create a new HaxeFlixel project.

Happy Coding.

Phonegap is not ready yet.

This may sound like not true, but actually Phonegap(Cordova) is not ready yet for the prime-time. The point is something or the other will always get in your way if you try to do a little more than basic UI.
It’s a pity to see that Phonegap has reached a version number of 3.3, still feels uncomfortable to work with.
While for a basic static page navigation it may be a solution to go for, for mobile, but think twice if the UI is becoming even a little more than basic.

A simple childbrowser (inAppBrowser) is failing in the current version and I found people are finding workarounds or solutions to fix this. So the point is not that its fixable but its not dependable.
Again, from version 3.0.0 on-wards, one need to have an internet connection to start building! Well, its NPM and NodeJS, I know, but its not comfortable at all rather confusing.

The best Phonegap version as I know is 2.8.0. Its the stable of all.
If at all you are trying to develop on Phonegap, stick to this version(2.8.0) until they release a stable version again.

Happy coding.

Internet will change again

If you remember those days, when one has to wait for an email to open, then for sure you know that its changed now. Not only fast internet, but the central delivery system, has changed from one server to cloud servers. And that is perfect for the problem in hand. Now all the data is residing in someone’s server(ok, cloud server). In the beginning, it felt perfect as it syncs to all the devices and one seamless experience for the user. With this, comes the security breach and that has already showed its effect in last year.
Fortunately, world is a better place. Individuals and startups have already acted upon this. There are so many cool products and services being tried last year that we may start to see the fruits starting from this year.
The philosophy has changed from “mobile first app” to “offline first app”, from “connected app” to “noBackend app”, its a revolution again.
The very chances are the experience may remain the same for the user, but the underlaying data and functionality of the applications are going to change again as it changed first from single server to cloud servers, now it would be single again, but only for your own data (So, it would be Re-Decentralizing).

redecentralize : taking back the net

Well, exciting beginning for the year. Below is the list of, some of the many initiatives, which will change the internet again.

arkos.io : Your data, your rules.
sovereign : build and maintain your own personal cloud
Ansible : Ansible is the simplest way to automate IT.
mailpile : A modern, fast web-mail client
Lima : Lima unifies the memory of your devices so they can act as one. Just for you.
owncloud : self-controlled free and open source cloud.
cozycloud : your personal cloud
Cozy: A personal Cloud you can host, hack and delete

Redecentralize ยท taking back the net

offlinefirst
nobackend

Backendless
deployd, THE SIMPLEST WAY TO BUILD AN API.
Firebase
Hoodie, VERY FAST WEB APP DEVELOPMENT
Kinvey
Parse
remotestorage, An open protocol for per-user storage
sockethub
unhosted : freedom from web 2.0′s monopoly platforms

This interview with Mailpile founder seems a nice start if you are wondering whats coming in near future.

Happy new year,
Cheers

Hello 2014

Happy new year 2014.

Wishing all you a very happy, healthy and prosperous new year.

Its one of those times, when one looks back before moving towards future.
Well 2013,the year that was.

It started with shifting gears officially for me. Working partly with Javascript for a long time now, but this time its official and officially I started working on Javascript projects in my current organisation. So a full year of Javascript and everything Javascript. Yeah, a lot ground covered. So the Javascript based, Phonegap (cordova) was for me in the beginning, officially for a project for iOS and finally got approved and available in AppStore. There was a time when Phonegap based plugin for Push Notification did not work on iOS, so updated the Phonegap Push Notification Plugin for iOS and push it to Github. And to my surprise, people actually forked it and made it better ! Awesome experience to give back, learn and grow.
On my personal work, added my phonegap based Mobile projects in GooglePlay store for Android.

Apart from mobile and Phonegap, for browser based application, I used NodeJS, MongoDB and BackboneJS. Learnt how to host in Heroku and Github for NodeJS based applications. Well, on serverside frameworks, I picked up Express for NodeJS and an application is pushed to Heroku.

At one point, I was evaluating Dart-lang, CoffeeScript and TypeScript for projects. So a lot of learning there and made simple projects with Dart-lang. Its a sweet language, I must say.

On BDD, I used Jasmine for my application. For build process, I started using GruntJS. The complete Javascript based environments kept me busy learning and at the same time gave me a lot of happiness and excitement in doing so.

On later part of the year 2013, I was mentoring a fellow developer in iOS for a native ObjectiveC based iOS project. I am so happy to see his progress and that made me confident that I can do more than just doing ObjectiveC projects.

Personally, I was working on HAXE and LIME (OpenFL) all through out the year. That made me push my app to Tizen AppStore appart from iOS AppStore and Google PlayStore. It is such a nice experience to make cross-platform development fun.

I put together all my project links at one page to refer.

2013 was another eventful year for me, I got the sweet gift of my life. Me and wife are blessed with a baby boy “Dibyamshu”.

So this year, 2014 starts with a bang. While all these technologies maturing and me having real experience on these, it feels a lot is possible. On the other side, I really hope that 2014 would be the beginning of the playful years to come, making me busy with Dibyamshu.

Cheers.

My first Tizen store approved game

Its a pleasing experience to get something on the stores, which are more stricter or unknown. Being said that, it is exciting when something is out of the doors from those stores. It was the same feeling for me when my first Apple store approval has happened.
So the game which was written for iOS devices is modified to fit in all the platforms and released. The original “catch them all” game is ported to all the platforms with the help of OpenFL and HAXE. The name has been changed to “Catch Them All E”, “E” is for everywhere.
First, it was for the Tizen App Store and the wait. Its not much but have to wait for 3 days and finally its approved and available in the Store. Thats such a nice experience and could not have been possible without Joshua.

Well, then I did some modifications and ported it to HTML5. Though, OpenFL directly provides conversion, there are still things to consider while developing for different platforms. This version is available here.

Not too far behind, I ported it to iOS and submitted Apple store. Well it took 7 days and its on the Apple App store too.

I must say, without OpenFL and HAXE I could not have achieved all this.

Getting git gui back on OSX Mavericks

I have been using git and its default gui with

git gui

for almost from the beginning of my git usage. While everything was smooth for a long long time, recent update to OSX Mavericks, broke that experience. Well, for a new OS, its good that they have already installed a version of git with the OS itself, so new comers do not have to worry but just use git. But this git is from Apple and does not have the default “git gui”.
Now following the old method, I tried to install git again by downloading it from
git-scm site. While everything went well and the install was smooth, I still does not get “git gui” from the command-line.
The default Apple-git was firing up always instead of the “git-scm” version. The trick here is to add the “git-scm” version to the system path. Now that can be done in many ways for a MAC, I did it, by modifying the file “.bash_profile” (dot bash_profile) the name begins with a DOT and its a system file present at the “~/” location.

The paths in OSX may be surprising at first if you are coming from windows environment, but just remember
/ -is the root folder of the OSX
~/ -is the root folder of the logged-in user

The line to add in the end of the file, is as below

export PATH="/usr/local/git/bin:$PATH"

Thats all, I closed the Terminal window and re-opened it to get my favorite “git gui”.
Happy Coding.

Social plugin for Phonegap 2.6 and up

In my search to have the iOS 6 default social sharing plugin, I landed up at this page. While everything seems right for this plugin, I somehow faced some problems in the UX. Thought would look a little deeper into it and found that this plugin relies upon the old plugin architecture of Phonegap. It still works, but then if it does not, you know know why.
Now to implement social sharing in my project, I have done a quick round of update to the plugin. Its working in my phonegap version 2.6. And that should work on Phonegap 3 as well, as the new plugin implementation has not changed after version 2.0.
Here is the github link for the new plugin.
While currently this plugin only shares the link and the message, you have to send a third parameter as an empty string for the image parameter. I will do the code cleanup and fix as I get some time to look into it. For the time being, its ready to use in new Phonegap versions.

Happy coding :)

GruntJS for CSS minification

With GruntJS, as we saw in the last post, we can minify javascript files, the next in line is the CSS files.
I have updated the Github repo for using CSS along with Javascript files.
The basic setup is not different from javascript setup. Here we have to use

grunt-contrib-cssmin

The confusing part is, for minification we have a lot of options in NPM, and one of them is

grunt-contrib-mincss

So at first I was confused and it did not work for me. Seems like “mincss” is old and have not been updated for a long time. So I am with “cssmin” and that just works.
As usual, install cssmin locally, with

npm install grunt-contrib-cssmin

A note is, if you have “package.json” and “Gruntfile.js” file in the same location, take those files somewhere else while installing new packages from NPM, else it throws some errors. Once installation is complete, bring those files back and that should work as it was before.

Happy grunting.