Category Archives: Internet

Infibeam Pi – a review

After using – playing with infibeam.com’s Pi, for almost about 4 months I thought to write about it. Many people have been asking me online and offline ‘How is it?’ And could simply respond with ‘Good’!

If you think this is smart device, can do much more like iPad, Galaxy Pad or so, its absolutely misconception. Its very very simple and dedicated eBook reader, and almost nothing beyond that. No wi-fi, no 3G, no browser, no touch-screen!
The device is meant for very specific purpose.

Battery:
The battery lasts long and the main reasons behind them is the way is designed – no backlight and E-ink  screen. This is indeed smart technique, absence of back light and flat simple screen provides very smooth, no eye itching experience. This definitely provides equally pleasant experience as if you were reading physical – paper book. Battery indeed lasts more than a week for me after a complete charging cycle.

Connectivity:
Connectivity is pretty simple way, charging and data transfer is possible with mini USB interface. It also has SD card  slot, so you every time do not need to connect reader via cable to transfer books.

Ebook reading / formatting:
Though it supports vast variety of formats including, TXT, EPUB, PDF, HTML, and more, the device converts – formats text on its own. For non technical reading, its indeed good. This may result into different placement of image, but is fine as long as you can link the reference!
However, for technical ebooks, this isn’t good. For instance, code snippet or some tips also gets converted and formatted with different font. This makes it little annoying to understand flow. Also, limited screen size may also split continuity. Reference to diagram involves multiple flips between few pages.
The best and i-like-most part is support for major Indian languages. Font support and formatting is really very nice when it comes to Indian regional text.

Audio:
It has very basic audio player which supports MP3 format. This player is indeed basic, don’t expect rocking sound experience! The ideal purpose, though not highlighted much anywhere, is audio ebook listening, and nothing beyond.

Screen / display:
It has simple 600 by 800 pixels of display which is sufficient for normal book reading. The landscape and full screen book reading experience is good for continuous reading.

  • Font families – changeable includes Georgia, Courier, MTX Bold
  • Size switches – increase / decrease actually changes font size and reformats text. For ebooks with scanned image type text, text recognition is not there, so can also use zoom in-out.
  • E-ink displays image in grayscale.
  • Refresh / response time is bit more, so requires patience after button press! 😀

Others:
No keyboard, very limited functional buttons, so no confusion for first time users.
Sudoku game, image viewer.

Minor bugs:

  • Landscape mode reading doesn’t show full title of ebook, even if it has sufficient space.
  • Header shows date, but not time – crazy!
  • For Indian scripts, specially with subscript characters and superscript characters, post formatting gives little annoying experience, for example a signle word is broken in such a way that first line terminates with consonant character and associated vowel goes to next line beginning! 🙂
  • About section – device says “GNU General Public License – this product contains software which applies to GPL. You may obtain and redistribute the GPL source code.” This is indeed crazy, GPL is license and not any type of source code. And the company – infibeam doesn’t mention which software (under GPL) is used, and from where! (consider it major, if you’re also open source promoter, like me.)

The bottom line:
This is dedicated ebook reader for India, but not as per ‘Indian Price’ – bit more expensive considering set of features. However the available options are good enough for non technical or semi technical reading.

Couple of one liners from my friends when they played with my reader.
“Please remove paper placed on screen and switch it on, I want to see!” (though actually it was on with some book opened)

“If this is offered around Rs.5000, I shall get one.”

“This is a book only, and is thinner than our technical books.” (when I handed over with leather case)
Bonus for readers of this post –

Get your favorite newspaper delivered to your e-mailbox, daily and read using this reader

  • Grab copy of Calibre Ebook Management software. It’s free and open source, supports multiple operating systems.
  • Install and open
  • Click on Fetch newsSchedule news download and you will see a window like below:Schedule news download
  • search for your favorite newspaper / magazine and click on the name. Of course, you can also add your own way – own news feed. But this requires little technical knowledge.
  • When you select – highlight the item, Schedule option on right side will be enabled, just select preferred time and frequency and save.
  • Now click on Connect / Share icon and setup your email account, make sure you enabled auto send option.
  • That’s it!

Note, this trick requires software to be open and internet to be connected, for the time you have scheduled. You can use scheduled activity to start / wake up your computer before the schedule and hibernate / shutdown post schedule.

I also recommend Calibre Ebook Management software as it has vast options to convert ebook to multiple formats.

Update:

infibeam Pi is just a wrapper and Indian branding of netronix ebook device! I was bit surprised to find this. Also, firmware upgrade is also not smooth. Post upgrade, you may expect some bugs as new gifts! 😀

Auto fare Calculator for Indian cities

Many people either carry copy of auto fare card with them or do remember formula. However, it becomes difficult when you are roaming in multiple cities frequently.

A lot many similar apps available, however they are either platform specific, outdated or requires GPRS or other network connection. Few others are city specific.

This is a very simple attempt to overcome a couple of situations.

The application:

  • Works on almost any mobile with basic browser (internet browsing software)
  • Does not require any GPRS or other connection to run the app
  • Has support for multiple cities of India
  • Support for night fare calculation – based on device time
  • No installation required, just copy to mobile and run
  • No advertisement, no license fee – free and open source
  • Can be very easily updated
  • Has very basic and simple interface, executes and works simply

Grab it : Download http://harit.kotharee.com/app/fareCalc.htm . (Right click to the link and select ‘Save As…’ and save to your computer / or save the copy on your mobile.)

Use it : Open the saved copy of fareCalc.htm from your mobile or equivalent device, in most cases, it should open with default available browser. That’s it. No need to explain further. 🙂

Why HTMLand JavaScript?

  • Most mobile browser supports
  • No formatting / styling required
  • Widest compatibility across mobile platforms
  • No rebuild, easy to update
  • No installation required
  • Easy to share

Chrome and popup policy

Google Chrome has different policy to detect and block popup window.

Generally, a browser blocks popup if it’s automated, i.e. with some JavaScript call on page load or so. Moreover the way state of popup can be known by browsers using JavaScript only.

Chrome is bit smarter in this.

window.open(); is expected to return reference to opened popup window, or null / undefined if popup is blocked.

But, chrome holds reference of so called popup as non null value and still blocks popup.

Below snippet is perfect example to test:

<script language="JavaScript">
<!--
function showpopup()
{
	setTimeout ( "showpopupAfterTime();", 1000 );
}

function showpopupAfterTime()
{
 var popwin = window.open("http://harit.kotharee.com/", "popupwindow",
   "width=400,height=300,resizable,status,menubar,scrollbars");
 popwin.focus();
}
//-->
</script>

<a href="javascript:showpopup()">Click for a pop-up window!</a>

Chrome allows popup only if opened directly, i.e. without any kind of delay through JavaScript or any other means of delay.

So, in the above example, it will work only if showpopupAfterTime(); is called on hyperlink!

Flash Player Cache and loading issues

By programming its not possible to clear out flash player and browser cache at a point of time, that too without user’s knowledge.
This, at times creates problem when a third party component, say SWF is loaded. Generally the URL from where SWF is to be loaded remains constant. So Flash Player often caches for browser’s easy experience.

However, if the third party – remote component if again in turn does some activity over network, it gives randomly wrong results  Generally this happens because the loaded component actually resides in cache, at times.

To overcome this, there is a way, not to clear cache, but to make browser and flash player feel as if you are always loading some new component (say SWF) from new location.
This simple trick is achieved by doing something like….
http://haritkothari.wordpress.com/myNewComp.swf?[firstparam=123&secondparam=456]&randomcount=Math.random()*Math.random()

The randomcount query param has no more significance other than make FP feel its another URL request, which is not cached! The stronger you implement dummy param, the less is probable for FP to cache.

This can be easily be used with loader to load remote component, however only care need to take is the dummy parameter should not be such that is interpreted by remote component, otherwise result may go to any extent!!!

This is also not Flash Player or actionscript specific trick, even banking and few other sites implement this in stronger ways to avoid caching, apart from session id!

Flash Player and Text

It’s been very difficult to achieve WUSIWUG in Flex 3 (Flash Player 9) and InDesign Server, at least for Text viz, font family, font size etc. In other words, a character with Arial font and size 12 in flash player will look differently from other non flash applications like text editors, design tools etc, having the same character specification. Therefore it is difficult to achieve the same output what you see in flash player, with InDesign Server and so in output PDF! Albeit, both are Adobe products!!!

Speaking to Serge Jespers about this he accepted that Flash player is built differently. Also, Anand added that the new Text Layout Framework, available with Flex 4, runs with Flash Player 10 has addressed many such issues. It has many changes as compared to traditional TextArea component available with Flex 3.

However, Text Layout Framework is not 100% compatible with Flex 3.2. It is not possible to embed and use font in Flex 3.2 (or 3.3) with TLF. The release notes from adobe clearly mentions this, considering root level change in embedded font structure. My experiment also failed to show an embedded font with TLF under Flex 3.3.

However, a point communicated by Jespers, that the TLF is made with the help of InDesign team is a ray of hope to go forward WUSIWUG. But is long way to migrate from Flex 3 to Flex 4, waiting for Flex 4 to be mature from its beta release.

Flex application & new fonts

A typical requirement was to provide some means so that anyone can upload / add new font(s) and the same can be used by Flex application. The Flex project should not require recompilation process.

Font, as a TTF or FON file cannot be used unless embedded, but that requires recompilation.

Searching around net gave me a way to solve this gave me a reasonable good solution.

Instead of specifying external styles such as <mx:Style source=”assets/styles/fonts.css”/> I used StyleManager.

Any change in fonts.css requires project recompilation to get the change in effect.

So, I compiled fonts.css using mxmlc fonts.css . This compiled CSS to SWF.

Then I loaded fonts at runtime using StyleManager.loadStyleDeclarations(“fonts.swf”, true, true);

And that’s it….! The font(s) inside fonts.swf can be used and that gives the same effect as embedded.

Flex (Flash Player) – DPI and input/output

DPI is often confused with screen resolution. Actually when screen resolution changes (in pixel height x width) the DPI rate is not necessarily changed.

In most cases DPI remains same, unless changed intentionally. In simple language, increasing screen resolution will allow more dots to be displayed on screen, by decreasing distance between each dot. Increasing DPI rate of screen but keeping resolution will increase number of dots per inch; by decreasing dot thickness, and that will eventually result into more dots in whole screen, with unchanged resolution.

When image resolution comes into picture, DPI plays role to consider depth of an Image. More the DPIs, better is the image – depth.
Two similar looking image (at its original size) may have different DPIs. The image with higher DPI rate, if zoomed in, will not get blurred or distorted very easily.

DPI is the somewhat similar concept of mega pixel – the camera term.

This term and its effect came into picture when I started input and output to real wprld from Flex application!
Flex application (or flash player) accepts width, height, x, y or such dimension properties in pixels only. The real world deals with inch, foot, centimeter or any such unit.

So where the game is?

Above simple question puzzles many.
widthInch = widthPixels/DPI is the key!

Say you have image with 500 pixels, width in inch will be 500/DPI. So if DPI is 96, then width is 500/96inches.

In case of flash player, DPI rate is 96.
So if I want to display an image in 2 inches width, I need to set image width to 2*96 pixels. This ignores Image (physical image file) and its DPI rate as I am going to display in flash player, not any image editor.

Also, this bug post is strange upto my knowledge. Flash Player’s DPI seems constant, ignoring screen DPI.

Gondal – a model town

Last weekend, I visited Gondal, a famous town of Saurashtra, Gujarat. The town is located appx. 100 kilometers away from Rajkot.

Although, Gondal is having a status of town with few statistical parameters like population, infrastructure, etc. following are remarks about the town.

  • Town planning has been good since the time of Bhagawadsinhji. The roads have more than required – good enough margins and well maintained footh paths in almost every street.
  • The town is peaceful.
  • Town is rich with good institutes in variety of subjects
  • The very well famous, encyclopedia of Gujarati language – Bhagwadgomandal, had been developed by King Bhagwadsinhji. That was not a small project in any sense – collection, quality, authenticity. It is a de facto standard encyclopedia of present time, without any modification
  • The Gondal kings were fond of cars, the followers have also preserved cars in well manner. [See my photos of this visit]

Here are the photos of the visit. The photos include antic car collection too!

* Bhagwadgomandal digital downloadable edition has also been launched on 1st May, 2009.

Wake Up call for Indian Consumers

CERC has started consumer grievance helpline – 1800-233-0222. This helpline is toll free for BSNL Gujarat users.

This is really a welcome step by CERC in association with Consumer Affairs, Government of Gujarat. This helpline is available from 10.30 AM to 5.30 PM as per IST. (GMT +530)

CERC is very reputed non profit NGO serving and solving sonsumer complaints / grievance for its members. Its membership detail is here. You can become member by paying online instead.

To add few lines about the organisation’s prestigeous standing I can summarise few of my experiences:

  • When Vodafone Essar was Hutch, in undisclosed billed amount about Rs.500 for my postpaid mobile connection, I requested for justification and company ignored. I stopped using mobile services by paying genuine amount along with accounting statement which was genuine. Later, the company sent a legal notice that drove me to CERC. I have been member since then. CERC did some correspondance on my behalf. Company failed to respond and that proved the legal notice was no more legally valid or important!

  • HP refused to replace damaged front panel, damaged due to its design defect. Legally and as per company’s terms it is possible to replace such parts under cosmetic damaged parts category. Again, approaching CERC solved, front panel get replaced without any legal procedure.

  • In the matter of unsolicited call from ICICI Bank, I did some correspondence with bank and just by sending copy of the same to CERC taught the bank. The bank sent letter of forgiveness through courier!

Some points about CERC:

  • Complaint department listens and guides to complaint very genuinly. Consumer can feel free to express whatever his / her experience is / was.

  • Complaint department has very systemetic approach from receiving and registering complaints from its members to dealing with associated parties / business houses.

  • Genuine complaint can be registered through email to CERC as well. CERC’s method for dealing with non local complaint is really appreciative.

  • Insight, a bimonthly magazine from CERC is really worth to read. It is a leading publication in India for consumer awareness.

  • One membership serves complaint registered by his / her family members. (of course, not a joint family! :P)

  • Membership fees are normal or perhaps nominal for the kind of activities CERC does.

  • Most importantly, an Indian can be a member, get free Insight magazine and register for grievance too.

  • Different consumer product surveys carried & published by CERC are added advantage for consumers.

I highly recommend to become member of CERC, to boost its activities, to have Insight knowledge of consumer laws and if required to solve your complaints being a consumer.

How to read Mobile Feed / QR Code?

QR Code requires special software installed on your mobile to interpret the matrix / image.

The content of mobile feed are encoded and represented in 2 dimensional image in a small area.

You can get suitable QR Reader for your mobile device from Kaywa Reader.  or search google for similar softwares.

This is a good option to store contents on mobile very quickly and use as offline read.

%d bloggers like this: