July 17th 2011 : Textoo Pro now in the apple app store. Download it here : http://textoo.in
July 10th 2011 : Textoo v2.0 renamed to Textoo Pro
Release of Textoo Pro has been postponed to July 15th 2011 due to app store codesign issues.
Here’s a sneak peek into the brand new version of Textoo Pro – the iOS app which lets you send free real SMS to any mobile phone in India and other countries.
Based on the numerous feedback emails we have got, we have tried our best to incorporate all the enhancements into this version.
A brand new custom designed UI with retina support
With an intent to keep the UI similar on both iOS and android versions, the entire UI was rewritten by avoiding the use the standard components provided by apple SDK as much as possible. The UI design was inspired by Apple’s iBook application and each page was designed to work well on both portrait and landscape views with support for retina and non retina displays. Animations and transitions were added to boost the look and feel of the app.
In Java, Internationalization of applications is supported through the ResourceBundle class. The strings which need to be translated are packaged in individual resource bundles and each language will have its own resource bundle which is loaded by the ResourceBundle Class based on the application logic.
I was involved in the modification of the Java ResourceBundle class to make it optionally decorate all the strings coming from any specific resource bundle with certain special characters like {{ or [[ so that it will be possible to visually identify any hard coded strings in the application. My role in this project was to specifically hack the XliffResourceBundle class which decorates the strings from Xliff resource bundle files. The decoration process had to be turned off or on by the user and had to obey certain rules/filters which allows the user to decorate specific strings (exclude any numbers/dates etc).
As all strings which support internationalization typically use the resource bundle class to fetch the translated strings, modifying the class itself at the root level will help one to indentify the ones which are not using this class (and hence hardcoded).
But one might ask “why not write a tool to scan through hardcoded strings using regex”. Yes , you could do this, but there are cases where this method wont be sufficient. The strings could still be following your regex pattern and might not be using the resourcebundle class to fetch the translated strings. Only modifying resource nundle class can provide a foolproof way to identify them.
Why ?
Identifying hardcoded strings is very much necessary for any software application which has to be internationalized. Especially when the software is used all over the world. Typically Arab speaking and Chinese users contribute to a major percentage of profits and they prefer localized versions of the user interface. Localizing the UI after a software has become successful will take minimal effort and the results of such a move are quite astounding.
But usually during inital phases of development, no developer will give much importance to externalizing string and coding in a way that makes localization of each UI easier. The tendency is to concentrate on the functionality of the software and make things work well. The problem comes when the functionality breaks during the localiztion process. Also from the profits point of view, localizing the software becomes important. But to the developer, who feels that putting additional efforts to just make the software work under different locales and obey the rules of different regions in showing the dates/currency and timezone implications , it is something of least interest. They are the developers who just copy past code samples from the internet and never give importance to how things work. Such negligence gives rise to performance issues too. But internationalizing existing programs also become difficult is this is the case.
Since childhood, I was always fascinated by the movies having those CG animation sequences. I always dreamt of growing up to be an animator. But it started taking shape when I installed the trial version of 3ds max 4. The ease of use and the hidden power of 3dsmax immediately stuck to me. I started spending hours together staring at the screen trying to make some cool shapes with different materials. Continue reading “3ds max animation” »
I entered the world of flash interactive websites when I first started using Swish. Even at version 1.0, the ease of use of Swish quickly captured my interest in flash designs. I also had maintained a website at http://openflash.be where I used to publish the source code for my projects made on SWiSH.. But I never really wanted to pay for maintaining the domain name when it expired. So most of the source files are lost. Some of them were uploaded even on other sites. Check them out
And here is a quick show reel of the work I have done using Swish and Swishmax.
Incident 2008 Flash website for NITK Surathkal
Initially, I never had plans of making a flash website for Incident 08 (culfest of NITK Surathkal). But then, the convenor of the fest came to me asking me to create a flash website as he felt that the HTML website wasnt flashy enough for a cultural website. Also I had created a flash based UI for the sponsor’s CD which had the previous year’s videos which was pretty cool as per him. So he wanted me to extend it for the current website. Then, I started off, and built a full flash website using SWiSH Max 2.0 which turned out pretty good. The menu was the most catchy part of the entire website. It was a series of circular buttons arranged in the shape of a sinusoidal curve and the curve would gradually animate to align on a new curve based on the cursor position. Also it had a video transition shown between page changes which was made using After effects and ‘Particular’ plugin. I will upload the flash website here, if I can find the files. An old version of the same site is here, but I am not able to find the latest version. Unfortunately, the hosting plan got expired and I never took backups