Monthly Archives: March 2013

Programming on Mobile Devices


This is a thought that’s been rather bugging me for sometime now:

Is writing code (programming) via mobile devices really not a very feasible idea?

In the current scenario, almost all conventional programming is done on desktop computers (PCs, laptops and the likes), wherein we have a standard keyboard which is used to write down all the code, and a relatively large enough display device to help us visualize what we are writing. However, with the mercurial rise in popularity of mobile devices we have seen a huge shift from conventionally used devices to mobile devices with almost all major aspects of modern day computing making a gradual yet steady shift towards mobile computing.

We see a lot of developers now focusing on “Programming for mobile devices“, however there is an evident lack of focus on “Programming on mobile devices“, which is actually quite weird in my honest opinion. On one hand we are talking about a truly mobile world, where almost every aspect of computing is being made available for on the go mobile devices. Whereas, on the other hand, for the very basic necessities for enabling these mobile functionalities we fallback to traditional computers (and by traditional, I do take into account laptops as well, because no matter how small in size they may be, they still follow the same desktop oriented norms).

Why is it so that we aren’t yet completely comfortable with the thought of being able to write a piece of code on our mobile handsets? I know some people may argue that it is possible to write code in some ABC language using a XYZ software on a tablet device. However, what I ask is that are you really comfortable with the current scenario? Why can’t we find a nice alternative way to make programming on devices such as mobile handsets more intuitive, organic, comfortable and developer friendly?

The main problem with devices as small as mobile handsets as I see it, is a combination of low resolution / small screen size + lack of a comfortable keyboard / input device. But is it really the main challenge that we are talking abut here? Or is our mindset the main challenge? Is it really that difficult to take on the challenge of redesigning the existing programming methodology and create an efficient solution for mobiles, or is it just that we are just too lazy and or narrow minded to explore the possibilities of programming on mobile devices.

I have heard the proverb which says “Nothing is impossible“, however, I think there’s an even more dangerous public opinion which states “This is not feasible!” which generally results in the eventual death of ideas. But is feasibility really applicable here or should it be the willingness and openness in one’s mind to imagine and realize the things which others might reject as non-feasible and bring about a much needed change in the paradigms? What do you think? Please do leave your thoughts on this as comments below.

The Greek Experience – Remo Training Days


Reps Group Photo

Reps at Greece for #remotrainingdays

Last week Mozilla brought together 40 Mozilla Reps from all over the world at Athens for week-long training exercise called Reps Training Days. The idea was to gather the most pro-active Mozillians under the ReMo programme in a single place and train them about leading the Webmaker initiative in their respective communities.
The training event was structured as follows:-
  • The Reps spend the first day observing a Hive Athens Pop-Up event.
  • Then the next 2 days are dedicated to developing local strategy and teaching skills; and finally
  • The Reps apply the lessons they have on a one day event teaching webmaking to a group of 100 students at the British Council.

The outcome from this event was phenomenal, with over 40 events being planned for the next 3 months to build local Webmaker mentor team and prototype events for the summer campaign, code-named Remix Party. The vibrancy of the geographical locations for which events were planned speak for themselves. From Taiwan to Indonesia, India to Mauritius, Kenya, Uganda, Romania, UK, France, Argentina, Brazil, Mexico, Canada + beyond, we had events being planned everywhere.

It was an amazing example of Hive + Webmaker Reps, with the local community stepping up to host the event. The energy levels of everyone at the event spoke for themselves.

Here are the links for some of the most awesome things from the event:-

Oops! Almost forgot – we also made our own Harlem Shake Video: https://www.youtube.com/embed/tn4Evp8BN1U

Running Friendlycode – A local instance of Thimble


Here is a breakdown of how to run Friendlycode in 3 (maybe not-so-simple) steps.

Friendlycode Snapshot

Friendlycode – An Offline Thimble Instance.

Prerequisite: A static file server such as Apache.

Steps:-

  1. Download Friendlycode from here.
  2. Extract the contents of the friendlycode-gh-pages package into a directory named friendlycode within your file server’s document root. For example, in Apache you might want to put the friendlycode directory inside www/html or www or public_html based upon your Operating System’s preferences.
  3. You can then run a trivial embedding of Friendlycode from your browser by navigating to the examples/bare.html file within the friendlycode directory.

    Example: http://localhost/friendlycode/examples/bare.html

Additional features in Friendlycode:-

  1. Javascript: By default, Friendlycode doesn’t allow JS. An example of an embedding that allows JS and publishes using an alternate API can be run from the examples/alternate-publisher.html file.

    Example: http://localhost/friendlycode/examples/alternate-publisher.html

  2. Localization: Friendlycode currently uses Transifex for localization. To localize Friendlycode in your language, please visit the Transifex friendlycode project. Any strings you don’t translate will fall-back to English. To try out a localized version run the examples/transifex.html file.

    Example: http://localhost/friendlycode/examples/transifex.html

  3. Development: If you are a code ninja and want to play around with the dev-repository of Friendlycode, you can checkout the excellent Readme.md file at Atul’s friendlycode repository at Github.
%d bloggers like this: