Dear Raiyan,
Agreed completely. But the funny thing is that Apps in Mac are never
called portable, but windows application with the same feature is
called thus. You have a skillful writing hand. Are you involved in
professional writing?
M. Maruf Hossain
Researcher,
Department of Computer Science and Software Engineering,
The University of Melbourne
http://www.csse.unimelb.edu.au/~hossain/
On 10/09/2008, at 7:08 PM, Raiyan Kabir wrote:
Dear Maruf Bhai,
Most of the mac softwares are like that. For example, you can copy the
MS Office folder form your friends Mac and paste it in you mac. Now,
run MS Word put the serial number and its yours for ever. Other apps
like Apple's iWork, Shiira (a webkit browser) and most of the
softwares are portable in this sense almost from the beginning of
Mac's in 1984. Of course there are some exceptions Stuffit Deluxe
(Like WinRAR but use custom APIs) needs to install frameworks, iLife
Suite needs to install framework.
As you can see in Mac you need to install softwares when you have to
integrate the software with the system or when you want to use an API
that is not for public use. In the later case you need not to restart
your Mac. But system integration some times need log off and some
times need restart. For example you install a keyboard layout (which
can be a personal layout that will be used by only one of the users of
your multi user mac) you need a logoff. But when you are installing a
core software like quicktime you need a restart (although it seems to
be only a video player, but quicktime in a mac is the core software
for any kind of video and still picture display. Without it you can
run the OS but no jpg, gif, mov, mpg etc file will open).
To make a keyboard layout portable you need not to have a complete
app. you can have a shell script which can be wrapped like a software.
But as the keyboard layout has to behave like a part of the OS you
have to put them in their required places and relogin to activate
them. Some is true for the fonts.
The solution is you can write 2 scripts the 1st one will copy the
layout and the fonts in their required location and relogin. the 2nd
one will remove them from their and relogin. But the wrapped software
will be running. There will be only 2 options, 1 will run the
installation script and add itself to the startup items (if needed it
will copy itself some where in a temp folder). When you are reloggedin
the software seemed to be running and enabled the keyboard. Now, when
you'll quit the app it will run the remove script and remove all fonts
and keyboard layout and the copy of itself that it installed and then
quit.
This will show the user that he is using a portable version of the mac
keyboard. But it will involve 2 relogin. Apple does not provide any
other direct way to do the job. You have to hack the system to get it
done. As you know the problem with Bijoy, they have hack a way with
every windows release. In mac that may not be that tough to make such
software. Apple provide Input Method Framework. But you need to
install that and it won't be a portable solution. You can write an
kernel extension but you need to be an admin to install it. As a
temporary user you are not supposed to have admin account on the mac
you are using.
As a result, you need to find a hack to implement a complete
portable solution. I can tell you that even if you find such a hack
Apple is there to block within 3-4 months in their next minor service
pack (up to now after release of Leopard apple has given 4 service
pack and the next one is in its beta and will be released with in one
or two months).
Raiyan
On Wed, Sep 10, 2008 at 6:19 AM, Mohammad Maruf Hossain <[EMAIL PROTECTED]
> wrote:
Dear Raiyan,
Though you have raised many issues in this mail, I'll point out only
one of them: portability of Avro. The way you explained portability is
not the way Avro claimed its portability. These days some software
company claimed (i.e. uTorrent) that you don't have to have your
software installed in your workstation, rather you have the .EXE file
in a USB drive and plug into any Windows machine and can run that
program.
many regards,
M. Maruf Hossain
Researcher,
Department of Computer Science and Software Engineering,
The University of Melbourne
http://www.csse.unimelb.edu.au/~hossain/
On 09/09/2008, at 3:27 PM, Raiyan Kabir wrote:
Dear Antony,
I'm very happy to know that you can use the Avro keyboard for scripts
other than Bangla. But the problem is, it is a closed source software.
As a result, you cannot port it to other platforms. In mac Apple
provides strong API's for making input method softwares. But I don't
know how tricky it will be to add a font which is placed other than
the fonts folders of the system. Actually if you want to make a
keyboard layout like avro you need to learn Objective-C and Cocoa
framework. Specially, the Input Method Framework. But before that you
need to be a real mac user. Running Windows on a beautify Mac machine
will not do. To develop the software you need to learn Xcode.
But I have one question, why its necessary to make a portable
keyboard? I think its better to get a open source like Avro that can
be ported to any platform you like. Its impossible to make a single
program that will run on all platform. You can use Java but that will
never give you the level of integration you want with the system in
Windows. In Mac Java was one of the primary development language. But
Apple stopped its development of Java as one of the primary
development language. But Cocoa-Java Apps are still supported. But it
will be a much tough to build a Cocoa-Java apps because most of the
recent development by Apple in 10.4 and 10.5 are not available in
Java. Above all it will be a slow program. You can use Cocoa-Python or
Cocoa-Ruby as your primary development language. Apple started to
support this languages from 10.5.
But Objective-C will be the best way to implement your program.
You have a keyboard editor available for fee, the Ukelele. But you
need to run a software that will add a keyboard layout and fonts with
the systems input method system and font systems from a non standard
position will not be that easy. Well you can copy your fonts to the
users font folder and instantly that font will be available in all
running and not running apps. This is a beauty of Mac. You don't need
to restart even your application. Its just adds automatically to your
font panel. But for keyboard layout needs a log off (not a restart).
So adding a keyboard layout or input method will be tricky. You need
to know the system from its depth.
You may write a kernel extension but you need to install it deep into
the system and you need Administrative access. As a result your
program will not get the level of portability you are thinking in this
way. Yes, you can add kernel extension without a restart or logoff.
But it is not likely that any one will give you his admin pass just to
use his Mac temporarily. Mac is well aware of the security and ask for
admin name and pass when you want to add something to the system even
if you are logged in as an admin user. So, you need the pass. After
all it is a UNIX.
So, you have to discovar some other method to add your program. It
will be great challenge.
If you accept logoff than it can be an easy task. Because Apple
provides option to add user level keyboard layout and fonts. Run a
software that will copy the fonts in the fonts folder of the user (you
don't need any pass for it) and copy your keyboard layout into the
keyboradlayout folder and logoff and relogin. Go to system preference
and enable to keyboard layout and you are ready to use the keyboard
layout. When you are done, run another program that will remove your
fonts and keyboard layout from the system and logoff. done.
Raiyan
On Mon, Sep 8, 2008 at 5:42 PM, Ananga ---- Antony Brand <[EMAIL PROTECTED]
> wrote:
Thanks for the info
I've CC'd this to Omi Azad, I hope that this is okay.
Judging by what you said, the features that would bring Ekushey for
the mac up to the same level as usefulness as Avro and would make my
next choice of laptop a mac would be:
a portable edition that runs from a USB stick
a virtual font facility that allows you to use your own fonts on
someone elses mac without installing them
the ability to load xml keyboard map files from a USB stick
In fact, assuming that Avro works okay on a mac running XP or Vista I
think I must get a mac anyway and the above will just be the icing on
the cake. I was toying with getting a vye mini laptop http://www.vyepc.com/?sec=1&prd=8
.
As a matter of interest, What languages do you program in? What
technologies did you have to become familiar with in order to complete
this project?
all the best
Antony Brand
Glastonbury, Somerset, UK
p.s.
I wrote the following a bit earlier. I think I've summarised the most
important points above so only read it if you want to!
Please find 2 AAT Mac fonts in http://www.ekushey.org/?page/
mac_download both of them are working fine.
Do these AAT fonts also work on Windows machines? If not, could they
be extended to do so?
As wrongly mentioned in the pages Mac OS X prefer AAT over OpenType.
But in one minor version of the OS OpenType was given more priority
than AAT. Now, in 10.5.x all prefer AAT.
Forgive my ignorance but doesn't OpenType potentially mean the same
font can be used for mac and PC. Is this not the case with bangla at
the moment? Can't AAT information be included in OpenType fonts?
Where does Uniscribe fit in with all this?
Yes, Apple uses XML layouts and you have easy tools to edit the layouts:
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=ukelele
You can fine several layouts in http://www.ekushey.org/?page/mac_download
.
In Mac OS X 10.5 Apple provided dedicated API for keyboard
development. Its possible for us to make an Avro for Mac but to do
that I need to know the algorithm of AVRO. How it works?
I like to think of AVRO as a collection of different specific
technologies that work well to together.
It comes in two different versions, one that is installed on the
machine and theportable edition that lives on a USB stick or external
hard drive
The installed version is basically a bangla typing program with a
number of layouts, I assume pretty much the same as what Ekushey does.
The layouts are:
Avro Phonetic (English to Bangla), Avro Easy, Bornona, National
(Jatiya) and UniBijoy. I do not use any of these.
The installed version also includes a keyboard editor, presumably
something similar to your XML based keyboard layout editing tools. I
have also successfully used it to create a layout to type in
Devanagari and diacritics (accented latin characters). If I wanted to
I could do the same for european languages, mathematical symbols,
greek letters etc in an evening or so. Although the people behind Avro
appear to want to restrict themselves to just the Bangla language they
seem to have unwittingly created something that goes a long way to
enabling something as just as revolutionary for most of the languages
of the world, perhaps excluding Chinese/Japanese where where more
sophisticated input mechanisms are required.
I don't know the algorithm used as far as the keyboard mapping goes, I
just know that it does enough for me to be able to do what I need to
do, and the keyboard layout is close enough to the scholarly sanskrit
standard (vaishnava)http://en.wikipedia.org/wiki/Harvard-Kyoto to be
easy to learn and remember. Of course if I had "carte
blanche" (=absolute freedom) to design my own software from scratch it
would probably be somewhat different. I don't have that luxury and I
don't have enough time in the day to dream about what my ideal
keyboard layout would be!
The portable edition doesn't have the keyboard editor however it can
use keyboard layouts that are created using the installed edition.
its extremely valuable extra facilities are:
Type in Bangla (and loads of other languages) on other people's
computers without messing up their settings
Use your own fonts on other peoples' XP or Vista computer. I'd be
interested to know how they implemented this, whether they developed
this themselves or it was somebody elses standard library
Use your own keyboard layout on others' computers; a simple
consequence of creating a keyboard editor software
FYI, I'm the developer behind the ekushey's mac solution. I have done
it 2 years ago. Currently I'm working on AAT OpenType hybrid font. How
to generate such font with from an OpenType one. So that you can use
OpenType fonts string away on a Mac. I think I'll be able to come up
with a program that will do the job automatically.
I would like to learn about AVRO's algorithm. How its doing the
transliteration. I'm using SolimanLipi and Rupali in my mac for years.
Thank you
শুভেচ্ছা রইল।
ইতি-
রাইয়ান
Raiyan
On Mon, Sep 8, 2008 at 12:33 PM, Ananga ---- Antony Brand<[EMAIL PROTECTED]
> wrote:
Hi Raiyan
Which aspect of Avro were you referring to? There are a number of
aspects. Initially the most important one would be (1 below) the
ability to create customised keyboard layouts (which would ideally
work on both PC and Mac and and in the future Linux). I read at http://tanmoy.tripod.com/mac.htmlthat
OSX uses an XML file to store keyboard layouts. This would clearly
be a step in the right direction towards the ultimate aim of having
something work cross platform with a web interface. By the way the
products athttp://www.tavultesoft.com/ seem to be pretty much there
but misses (2), (3) and (4) and is quite expensive.
I'd be very interested in the steps you had to take and the problems
you had to overcome to port Ekushey to the mac.
all the best
Antony
Glastonbury, Somerset, UK
p.s. I have invited you to chat on Google Talk oh and where do you live?
2008/9/8 Raiyan Kabir <[EMAIL PROTECTED]>
Dear Antony,
Do you have Avro like algorithm for Bangla? I'll be very happy to
implement that for Mac. If you have please let me have it.
I'll implement that and try to put that in Mac OS as a built in option.
Raiyan
On Mon, Sep 8, 2008 at 3:32 AM, Ananga ---- Antony Brand<[EMAIL PROTECTED]
> wrote:
Hello
I was just daydreaming about my ideal multilingual software and
thought that it would:
allow you to create your own keyboard layout (like Avro)
allow you to take your own fonts with you wherever you go (like Avro
Portable)
allow you to type in bangla on someone else's computer (Avro Portable
does that for XP and Vista)
be available on Windows, Linux and Mac (Ekushey has made buying a mac
a possibility for me now. How long before Adobe software handles indic
scripts properly)
work for other languages (I've used Avro to type in Devanagari and for
accented Latin characters. Greek and Cyrillic would be easy to
implement).
I think that whoever can crack this one is sitting on a goldmine. Get
the whole thing to run platform independently from a web based
interface is on to a winner.
Feedback, either on the list or by email welcome
all the best
Antony Brand
Glastonbury, Somerset, Uk
--
এস, এম, রাইয়ান কবির
S. M. Raiyan Kabir
--
---------x---------
Antony Brand
(Ananga Das Kirtaniya
Sankirttan Ananda Das)
--
এস, এম, রাইয়ান কবির
S. M. Raiyan Kabir
--
এস, এম, রাইয়ান কবির
S. M. Raiyan Kabir
--
---------x---------
Antony Brand
(Ananga Das Kirtaniya
Sankirttan Ananda Das)
--
এস, এম, রাইয়ান কবির
S. M. Raiyan Kabir
--
এস, এম, রাইয়ান কবির
S. M. Raiyan Kabir