example of stand-alone desktop app

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

example of stand-alone desktop app

Gour
Hello,

I've decided to end my search for an appropriate language/environment in
order to write open-surce multi-platform with Pharo. :-) 

Playing a bit with 5.0 image, watching Dimitris' tutorial series,
reading several articles (I like Richard's Smalltalk-Talk), subscribed
to the mailing lists...convinced me that Smalltalk/Pharo is so much
refreshing environment to code in comparison with the pale setup present
in som many other statically-compiled languages which I was
exploring/evaluating, not to speak about the fact that with Pharo one
gets complete setup at once without the need for tedious work of
bringing editor+other tools together.

I'm aware that Pharo (Smalltalk) are different and I really like its
development environment, but wonder about deploying.

There is old thread from 2013 providing some help about deploying
desktop app, but I wonder if something has changed since then making the
whole process somewhat more smooth?

I run Debian (Sid) where I'll do all my coding, but would like to
provide versions of my desktop app for both Windows and Mac OS-es.

Any hint how to proceed?

I'd like to see see basic examples which would be equivalent to e.g.
some 'classical' desktop app having menu bar wit File/Edit/../About
items etc.

What is different with Pharo?

I assume one does not want to expose the whole dev environment to the
end-users, so wonder how to do it?

Do devs plan to improve deploying of Pharo desktop app in the future?

Although it may be strange, but I'm one of those not liking
proliferation of JS and using it for almost everything and therefore I
prefer to stay with Pharo (vs e.g. Amber) and write desktop app...


Sincerely,
Gour

--
The intricacies of action are very hard to understand.
Therefore one should know properly what action is,
what forbidden action is, and what inaction is.





Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

CyrilFerlicot
Hi,

I don't have too much time now so I will try to answer fast.

First, be careful with Pharo 5 because this is an alpha. There is high chance that some things breake. If you find some bug you can report it on pharo's fogbugz (the link is on Pharo website).

For the deployment you have a different virtual machine for OSX/Linux/windows.

Very few things should change on the image side.

So for a desktop app the user need to install the virtual machine and launch the image you give him. You can also provide the VM with the image directly if you do not want to annoy the user.

For now the VM is only 32b, this can create some trouble for Linux users but the 64b VM should come soon! :) maybe for Pharo 6?

If I remember well I think there may be a all-in-all VM but someone need to confirm.

For now there is not a lot of classic application. I think you can take a look at Dr Geo.

For the deployment I have to say that for now there is not a real solution :( 
If you want to do open source you can use the same method that PharoLauncher that open a window in full screen and let a setting for developers to be able to get a classic Pharo environment. But the user might have acess to the code through GTSpotter or Morph's halos.

If you don't want the user to get an acess to the code by any mean you have to cut everything by hand for now. (Disable spotter, disable halo, disable world menu, disable the debugger...).

I would like to have a way to lock an image directly from Pharo but I don't have the time to do it for now.

If you need some help to do that you can ask when you will code and we can help you.

Welcome to Pharo and merry Christmas!

--
Cyril Ferlicot
Synectique 


On Friday, December 25, 2015, Saša Janiška <[hidden email]> wrote:
Hello,

I've decided to end my search for an appropriate language/environment in
order to write open-surce multi-platform with Pharo. :-) 

Playing a bit with 5.0 image, watching Dimitris' tutorial series,
reading several articles (I like Richard's Smalltalk-Talk), subscribed
to the mailing lists...convinced me that Smalltalk/Pharo is so much
refreshing environment to code in comparison with the pale setup present
in som many other statically-compiled languages which I was
exploring/evaluating, not to speak about the fact that with Pharo one
gets complete setup at once without the need for tedious work of
bringing editor+other tools together.

I'm aware that Pharo (Smalltalk) are different and I really like its
development environment, but wonder about deploying.

There is old thread from 2013 providing some help about deploying
desktop app, but I wonder if something has changed since then making the
whole process somewhat more smooth?

I run Debian (Sid) where I'll do all my coding, but would like to
provide versions of my desktop app for both Windows and Mac OS-es.

Any hint how to proceed?

I'd like to see see basic examples which would be equivalent to e.g.
some 'classical' desktop app having menu bar wit File/Edit/../About
items etc.

What is different with Pharo?

I assume one does not want to expose the whole dev environment to the
end-users, so wonder how to do it?

Do devs plan to improve deploying of Pharo desktop app in the future?

Although it may be strange, but I'm one of those not liking
proliferation of JS and using it for almost everything and therefore I
prefer to stay with Pharo (vs e.g. Amber) and write desktop app...


Sincerely,
Gour

--
The intricacies of action are very hard to understand.
Therefore one should know properly what action is,
what forbidden action is, and what inaction is.







--
Cheers
Cyril Ferlicot

Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

Gour
On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:


> First, be careful with Pharo 5 because this is an alpha. There is high
> chance that some things breake. If you find some bug you can report it
> on pharo's fogbugz (the link is on Pharo website).

OK. No problem.

> For the deployment you have a different virtual machine for
> OSX/Linux/windows.

That's clear. :-)

> For now the VM is only 32b, this can create some trouble for Linux
> users but the 64b VM should come soon! :) maybe for Pharo 6?

Pharo-5 is scheduled for the 1Q/2016?

> For now there is not a lot of classic application. I think you can
> take a look at Dr Geo.

That one looks interesting. Thank you for that.

> If you want to do open source you can use the same method that
> PharoLauncher that open a window in full screen and let a setting for
> developers to be able to get a classic Pharo environment. But the user
> might have acess to the code through GTSpotter or Morph's halos.

I plan to do open-source, but would like to hide code and other dev
tools in order not to confus end-users.

> If you don't want the user to get an acess to the code by any mean you
> have to cut everything by hand for now. (Disable spotter, disable
> halo, disable world menu, disable the debugger...).

OK, it means it's possible...Will explore and/or ask. ;)


> I would like to have a way to lock an image directly from Pharo

+1 


> Welcome to Pharo and merry Christmas!

Thank you!


Sincerely,
Gour

--
Perform your prescribed duty, for doing so is better than not
working. One cannot even maintain one's physical body without work.





Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

kilon.alios
I am on holidays to at London for Christmas with no direct access to my machine.

But you can get a very good idea how to do what you want by taking a look at standalone Pharo apps like Phratch and Dr Geo . The good news is that is both very easy and extremely flexible. You can also change the icon of the app and and the name of the Pharo executable to make the user completely unaware officials Pharo existence. You can also add squeak to your google searches because they have been several posts about this in the squeak mailing list . Pharo is incompatible with squeak but it's still a fork of squeak so there is a lot of common ground.

After that you can start removing packages you don't need, Pharo is in the process of of being modularlized so that is easy to start with a skeleton image. If you are in need of a specific Pharo library choosing Cuis which is also a squeak fork is simple and much lighter than Pharo image. Squeak , Pharo and Cuis share the same VMs.

Las but not least if you are on Windows there has been a thread on our list on how to make window installers for Pharo apps the easy way. You may want to google that too, I think Damien made a guide about it .

We can go on and on and on how much Pharo can be customized. I even recently made an auto update functionality for me Pharo project ChronosManager which detects if the github repository has a new release available and downloads it so that the user use always the latest stable release without a need to worry about it or do anything about it ;)

On Fri, 25 Dec 2015 at 13:42, Saša Janiška <[hidden email]> wrote:
On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:


> First, be careful with Pharo 5 because this is an alpha. There is high
> chance that some things breake. If you find some bug you can report it
> on pharo's fogbugz (the link is on Pharo website).

OK. No problem.

> For the deployment you have a different virtual machine for
> OSX/Linux/windows.

That's clear. :-)

> For now the VM is only 32b, this can create some trouble for Linux
> users but the 64b VM should come soon! :) maybe for Pharo 6?

Pharo-5 is scheduled for the 1Q/2016?

> For now there is not a lot of classic application. I think you can
> take a look at Dr Geo.

That one looks interesting. Thank you for that.

> If you want to do open source you can use the same method that
> PharoLauncher that open a window in full screen and let a setting for
> developers to be able to get a classic Pharo environment. But the user
> might have acess to the code through GTSpotter or Morph's halos.

I plan to do open-source, but would like to hide code and other dev
tools in order not to confus end-users.

> If you don't want the user to get an acess to the code by any mean you
> have to cut everything by hand for now. (Disable spotter, disable
> halo, disable world menu, disable the debugger...).

OK, it means it's possible...Will explore and/or ask. ;)


> I would like to have a way to lock an image directly from Pharo

+1 


> Welcome to Pharo and merry Christmas!

Thank you!


Sincerely,
Gour

--
Perform your prescribed duty, for doing so is better than not
working. One cannot even maintain one's physical body without work.





Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

Gour
On Pet, 2015-12-25 at 16:01 +0000, Dimitris Chloupis wrote:

> I am on holidays to at London for Christmas with no direct access to
> my machine.

Thanks a lot for your tutorial series and please, enjoy your holidays.
;)

> But you can get a very good idea how to do what you want by taking a
> look at standalone Pharo apps like Phratch and Dr Geo .

Phratch looks awesome, thank you for the reference.

> You can also add squeak to your google searches because they have been
> several posts about this in the squeak mailing list . Pharo is
> incompatible with squeak but it's still a fork of squeak so there is
> a lot of common ground. 

OK.

> After that you can start removing packages you don't need, Pharo is in
> the process of of being modularlized so that is easy to start with a
> skeleton image. 

The modularization process is going within V5.0?

> If you are in need of a specific Pharo library choosing Cuis which is
> also a squeak fork is simple and much lighter than Pharo image. Squeak
> , Pharo and Cuis share the same VMs. 

I do not mind the size of the image since most software written in other
programming languages is also usually quite bloated.

Moreover, it seesm Cuis is not so actively developed as Pharo, so I tend
to focus on staying with Pharo.

> Las but not least if you are on Windows there has been a thread on our
> list on how to make window installers for Pharo apps the easy way. You
> may want to google that too, I think Damien made a guide about it . 

Well, I only run Linux (Debian), but in order to produce installer for
Windows, I might use Windows under vbox, although there is slight
problem - the last license of Windows which I own is for XP. :-)

In any case, I'm excited to explore the world of Pharo. ;)


Sincerely,
Gour

-- 
One who is not disturbed in mind even amidst the threefold 
miseries or elated when there is happiness, and who is free 
from attachment, fear and anger, is called a sage of steady mind.

http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810

-- 
The embodied soul may be restricted from sense enjoyment, 
though the taste for sense objects remains. But, ceasing 
such engagements by experiencing a higher taste, 
he is fixed in consciousness.

http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810

-- 
The embodied soul may be restricted from sense enjoyment, 
though the taste for sense objects remains. But, ceasing 
such engagements by experiencing a higher taste, 
he is fixed in consciousness.

http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810

-- 
An intelligent person does not take part in the sources of misery, 
which are due to contact with the material senses. O son of Kuntī, 
such pleasures have a beginning and an end, and so the wise man does 
not delight in them.

http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
--
One must deliver himself with the help of his mind, and not
degrade himself. The mind is the friend of the conditioned soul,
and his enemy as well.

http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810




Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

stepharo
In reply to this post by Gour


Le 25/12/15 14:41, Saša Janiška a écrit :

> On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:
>
>
>> First, be careful with Pharo 5 because this is an alpha. There is high
>> chance that some things breake. If you find some bug you can report it
>> on pharo's fogbugz (the link is on Pharo website).
> OK. No problem.
>
>> For the deployment you have a different virtual machine for
>> OSX/Linux/windows.
> That's clear. :-)
>
>> For now the VM is only 32b, this can create some trouble for Linux
>> users but the 64b VM should come soon! :) maybe for Pharo 6?
> Pharo-5 is scheduled for the 1Q/2016?
Yes
Probably march.
>
>> For now there is not a lot of classic application. I think you can
>> take a look at Dr Geo.
> That one looks interesting. Thank you for that.
>
>> If you want to do open source you can use the same method that
>> PharoLauncher that open a window in full screen and let a setting for
>> developers to be able to get a classic Pharo environment. But the user
>> might have acess to the code through GTSpotter or Morph's halos.

have a look at the Pharo launcher.
In the future we plan to do better for deployment but for now we deploy
an image
and control the debugger (check UnhandledError) and menu

> I plan to do open-source, but would like to hide code and other dev
> tools in order not to confus end-users.
>
>> If you don't want the user to get an acess to the code by any mean you
>> have to cut everything by hand for now. (Disable spotter, disable
>> halo, disable world menu, disable the debugger...).
> OK, it means it's possible...Will explore and/or ask. ;)
>
>
>> I would like to have a way to lock an image directly from Pharo
> +1
>
>
>> Welcome to Pharo and merry Christmas!
> Thank you!
>
>
> Sincerely,
> Gour
>


Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

Gour
On Pet, 2015-12-25 at 17:38 +0100, stepharo wrote:

> In the future we plan to do better for deployment but for now we
> deploy an image and control the debugger (check UnhandledError) and
> menu

OK. Good.


Sincerely,
Gour

--
A person is considered still further advanced when he regards honest
well-wishers, affectionate benefactors, the neutral, mediators, the envious,
friends and enemies, the pious and the sinners all with an equal mind.





Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

hernanmd
In reply to this post by kilon.alios
Hi Dimitris,

2015-12-25 13:01 GMT-03:00 Dimitris Chloupis <[hidden email]>:
I am on holidays to at London for Christmas with no direct access to my machine.

But you can get a very good idea how to do what you want by taking a look at standalone Pharo apps like Phratch and Dr Geo . The good news is that is both very easy and extremely flexible. You can also change the icon of the app and and the name of the Pharo executable to make the user completely unaware officials Pharo existence. You can also add squeak to your google searches because they have been several posts about this in the squeak mailing list . Pharo is incompatible with squeak but it's still a fork of squeak so there is a lot of common ground.

After that you can start removing packages you don't need, Pharo is in the process of of being modularlized so that is easy to start with a skeleton image. If you are in need of a specific Pharo library choosing Cuis which is also a squeak fork is simple and much lighter than Pharo image. Squeak , Pharo and Cuis share the same VMs.

Las but not least if you are on Windows there has been a thread on our list on how to make window installers for Pharo apps the easy way. You may want to google that too, I think Damien made a guide about it .

We can go on and on and on how much Pharo can be customized. I even recently made an auto update functionality for me Pharo project ChronosManager which detects if the github repository has a new release available and downloads it so that the user use always the latest stable release without a need to worry about it or do anything about it ;)

If you don't mind to share, I could try to integrate it in ApplicationUpdater

http://smalltalkhub.com/#!/~hernan/ApplicationUpdater

Cheers,

Hernán
 

On Fri, 25 Dec 2015 at 13:42, Saša Janiška <[hidden email]> wrote:
On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:


> First, be careful with Pharo 5 because this is an alpha. There is high
> chance that some things breake. If you find some bug you can report it
> on pharo's fogbugz (the link is on Pharo website).

OK. No problem.

> For the deployment you have a different virtual machine for
> OSX/Linux/windows.

That's clear. :-)

> For now the VM is only 32b, this can create some trouble for Linux
> users but the 64b VM should come soon! :) maybe for Pharo 6?

Pharo-5 is scheduled for the 1Q/2016?

> For now there is not a lot of classic application. I think you can
> take a look at Dr Geo.

That one looks interesting. Thank you for that.

> If you want to do open source you can use the same method that
> PharoLauncher that open a window in full screen and let a setting for
> developers to be able to get a classic Pharo environment. But the user
> might have acess to the code through GTSpotter or Morph's halos.

I plan to do open-source, but would like to hide code and other dev
tools in order not to confus end-users.

> If you don't want the user to get an acess to the code by any mean you
> have to cut everything by hand for now. (Disable spotter, disable
> halo, disable world menu, disable the debugger...).

OK, it means it's possible...Will explore and/or ask. ;)


> I would like to have a way to lock an image directly from Pharo

+1 


> Welcome to Pharo and merry Christmas!

Thank you!


Sincerely,
Gour

--
Perform your prescribed duty, for doing so is better than not
working. One cannot even maintain one's physical body without work.






Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

kilon.alios
As I said I away but if you are in hurry you can see the code here

https://github.com/kilon/ChronosManager/blob/master/ChronosManager.package/ChronosManager.class/class/updateToLatestVersion.st

The idea is that the class carries the current release of the project that is installed while the latest release is read online from inside a release file which is a simple text file with release information written in human readable format. Regex is used to detect a v0.1 pattern and top most find is used for fetching the number of latest release. Autoupdate also checks internet connection with github so the user never see an error in case of failure to connect instead it just does not update.

Next step will be to clean up and delete any previously downloaded files via autoupdate. This way image folder won't grow in size in each autoupdate.
UIManager can be used to alert the user for a new update and ask for permission to download it. There is no reason for git to be installed for autoupdate to work , only thing needed is a normal Pharo image.

When I return to Athens I will improve it further and document it.

On Fri, 25 Dec 2015 at 17:05, Hernán Morales Durand <[hidden email]> wrote:
Hi Dimitris,

2015-12-25 13:01 GMT-03:00 Dimitris Chloupis <[hidden email]>:
I am on holidays to at London for Christmas with no direct access to my machine.

But you can get a very good idea how to do what you want by taking a look at standalone Pharo apps like Phratch and Dr Geo . The good news is that is both very easy and extremely flexible. You can also change the icon of the app and and the name of the Pharo executable to make the user completely unaware officials Pharo existence. You can also add squeak to your google searches because they have been several posts about this in the squeak mailing list . Pharo is incompatible with squeak but it's still a fork of squeak so there is a lot of common ground.

After that you can start removing packages you don't need, Pharo is in the process of of being modularlized so that is easy to start with a skeleton image. If you are in need of a specific Pharo library choosing Cuis which is also a squeak fork is simple and much lighter than Pharo image. Squeak , Pharo and Cuis share the same VMs.

Las but not least if you are on Windows there has been a thread on our list on how to make window installers for Pharo apps the easy way. You may want to google that too, I think Damien made a guide about it .

We can go on and on and on how much Pharo can be customized. I even recently made an auto update functionality for me Pharo project ChronosManager which detects if the github repository has a new release available and downloads it so that the user use always the latest stable release without a need to worry about it or do anything about it ;)

If you don't mind to share, I could try to integrate it in ApplicationUpdater

http://smalltalkhub.com/#!/~hernan/ApplicationUpdater

Cheers,

Hernán
 

On Fri, 25 Dec 2015 at 13:42, Saša Janiška <[hidden email]> wrote:
On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:


> First, be careful with Pharo 5 because this is an alpha. There is high
> chance that some things breake. If you find some bug you can report it
> on pharo's fogbugz (the link is on Pharo website).

OK. No problem.

> For the deployment you have a different virtual machine for
> OSX/Linux/windows.

That's clear. :-)

> For now the VM is only 32b, this can create some trouble for Linux
> users but the 64b VM should come soon! :) maybe for Pharo 6?

Pharo-5 is scheduled for the 1Q/2016?

> For now there is not a lot of classic application. I think you can
> take a look at Dr Geo.

That one looks interesting. Thank you for that.

> If you want to do open source you can use the same method that
> PharoLauncher that open a window in full screen and let a setting for
> developers to be able to get a classic Pharo environment. But the user
> might have acess to the code through GTSpotter or Morph's halos.

I plan to do open-source, but would like to hide code and other dev
tools in order not to confus end-users.

> If you don't want the user to get an acess to the code by any mean you
> have to cut everything by hand for now. (Disable spotter, disable
> halo, disable world menu, disable the debugger...).

OK, it means it's possible...Will explore and/or ask. ;)


> I would like to have a way to lock an image directly from Pharo

+1 


> Welcome to Pharo and merry Christmas!

Thank you!


Sincerely,
Gour

--
Perform your prescribed duty, for doing so is better than not
working. One cannot even maintain one's physical body without work.





Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

hernanmd


2015-12-25 14:37 GMT-03:00 Dimitris Chloupis <[hidden email]>:

Thank you Dimitris, no rush for this.
 
The idea is that the class carries the current release of the project that is installed while the latest release is read online from inside a release file which is a simple text file with release information written in human readable format.

So each method/class change will increase number to a new class version?
 
Regex is used to detect a v0.1 pattern and top most find is used for fetching the number of latest release. Autoupdate also checks internet connection with github so the user never see an error in case of failure to connect instead it just does not update.


Ok, the AppUpdater uses periodicity to set the frequency of updates. I will try to generalize to handle internet connection and other repositories like GitHub.
 
Next step will be to clean up and delete any previously downloaded files via autoupdate. This way image folder won't grow in size in each autoupdate.
UIManager can be used to alert the user for a new update and ask for permission to download it. There is no reason for git to be installed for autoupdate to work , only thing needed is a normal Pharo image.


Cool :)
 
When I return to Athens I will improve it further and document it.


Have a nice trip.

Cheers,

Hernán
 

On Fri, 25 Dec 2015 at 17:05, Hernán Morales Durand <[hidden email]> wrote:
Hi Dimitris,

2015-12-25 13:01 GMT-03:00 Dimitris Chloupis <[hidden email]>:
I am on holidays to at London for Christmas with no direct access to my machine.

But you can get a very good idea how to do what you want by taking a look at standalone Pharo apps like Phratch and Dr Geo . The good news is that is both very easy and extremely flexible. You can also change the icon of the app and and the name of the Pharo executable to make the user completely unaware officials Pharo existence. You can also add squeak to your google searches because they have been several posts about this in the squeak mailing list . Pharo is incompatible with squeak but it's still a fork of squeak so there is a lot of common ground.

After that you can start removing packages you don't need, Pharo is in the process of of being modularlized so that is easy to start with a skeleton image. If you are in need of a specific Pharo library choosing Cuis which is also a squeak fork is simple and much lighter than Pharo image. Squeak , Pharo and Cuis share the same VMs.

Las but not least if you are on Windows there has been a thread on our list on how to make window installers for Pharo apps the easy way. You may want to google that too, I think Damien made a guide about it .

We can go on and on and on how much Pharo can be customized. I even recently made an auto update functionality for me Pharo project ChronosManager which detects if the github repository has a new release available and downloads it so that the user use always the latest stable release without a need to worry about it or do anything about it ;)

If you don't mind to share, I could try to integrate it in ApplicationUpdater

http://smalltalkhub.com/#!/~hernan/ApplicationUpdater

Cheers,

Hernán
 

On Fri, 25 Dec 2015 at 13:42, Saša Janiška <[hidden email]> wrote:
On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:


> First, be careful with Pharo 5 because this is an alpha. There is high
> chance that some things breake. If you find some bug you can report it
> on pharo's fogbugz (the link is on Pharo website).

OK. No problem.

> For the deployment you have a different virtual machine for
> OSX/Linux/windows.

That's clear. :-)

> For now the VM is only 32b, this can create some trouble for Linux
> users but the 64b VM should come soon! :) maybe for Pharo 6?

Pharo-5 is scheduled for the 1Q/2016?

> For now there is not a lot of classic application. I think you can
> take a look at Dr Geo.

That one looks interesting. Thank you for that.

> If you want to do open source you can use the same method that
> PharoLauncher that open a window in full screen and let a setting for
> developers to be able to get a classic Pharo environment. But the user
> might have acess to the code through GTSpotter or Morph's halos.

I plan to do open-source, but would like to hide code and other dev
tools in order not to confus end-users.

> If you don't want the user to get an acess to the code by any mean you
> have to cut everything by hand for now. (Disable spotter, disable
> halo, disable world menu, disable the debugger...).

OK, it means it's possible...Will explore and/or ask. ;)


> I would like to have a way to lock an image directly from Pharo

+1 


> Welcome to Pharo and merry Christmas!

Thank you!


Sincerely,
Gour

--
Perform your prescribed duty, for doing so is better than not
working. One cannot even maintain one's physical body without work.






Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

kilon.alios
Yes exactly the version is returned by the class. Obviously that should increase with each new release but for me at least that's sensible coding. I was also considering a better scheme for the periodical checks so your code could help me there because I don't want more than one check per month. So it seems we can help each other ;)

On Fri, 25 Dec 2015 at 19:19, Hernán Morales Durand <[hidden email]> wrote:
2015-12-25 14:37 GMT-03:00 Dimitris Chloupis <[hidden email]>:

Thank you Dimitris, no rush for this.
 
The idea is that the class carries the current release of the project that is installed while the latest release is read online from inside a release file which is a simple text file with release information written in human readable format.

So each method/class change will increase number to a new class version?
 
Regex is used to detect a v0.1 pattern and top most find is used for fetching the number of latest release. Autoupdate also checks internet connection with github so the user never see an error in case of failure to connect instead it just does not update.


Ok, the AppUpdater uses periodicity to set the frequency of updates. I will try to generalize to handle internet connection and other repositories like GitHub.
 
Next step will be to clean up and delete any previously downloaded files via autoupdate. This way image folder won't grow in size in each autoupdate.
UIManager can be used to alert the user for a new update and ask for permission to download it. There is no reason for git to be installed for autoupdate to work , only thing needed is a normal Pharo image.


Cool :)
 
When I return to Athens I will improve it further and document it.


Have a nice trip.

Cheers,

Hernán
 

On Fri, 25 Dec 2015 at 17:05, Hernán Morales Durand <[hidden email]> wrote:
Hi Dimitris,

2015-12-25 13:01 GMT-03:00 Dimitris Chloupis <[hidden email]>:
I am on holidays to at London for Christmas with no direct access to my machine.

But you can get a very good idea how to do what you want by taking a look at standalone Pharo apps like Phratch and Dr Geo . The good news is that is both very easy and extremely flexible. You can also change the icon of the app and and the name of the Pharo executable to make the user completely unaware officials Pharo existence. You can also add squeak to your google searches because they have been several posts about this in the squeak mailing list . Pharo is incompatible with squeak but it's still a fork of squeak so there is a lot of common ground.

After that you can start removing packages you don't need, Pharo is in the process of of being modularlized so that is easy to start with a skeleton image. If you are in need of a specific Pharo library choosing Cuis which is also a squeak fork is simple and much lighter than Pharo image. Squeak , Pharo and Cuis share the same VMs.

Las but not least if you are on Windows there has been a thread on our list on how to make window installers for Pharo apps the easy way. You may want to google that too, I think Damien made a guide about it .

We can go on and on and on how much Pharo can be customized. I even recently made an auto update functionality for me Pharo project ChronosManager which detects if the github repository has a new release available and downloads it so that the user use always the latest stable release without a need to worry about it or do anything about it ;)

If you don't mind to share, I could try to integrate it in ApplicationUpdater

http://smalltalkhub.com/#!/~hernan/ApplicationUpdater

Cheers,

Hernán
 

On Fri, 25 Dec 2015 at 13:42, Saša Janiška <[hidden email]> wrote:
On Pet, 2015-12-25 at 11:48 +0100, Cyril Ferlicot wrote:


> First, be careful with Pharo 5 because this is an alpha. There is high
> chance that some things breake. If you find some bug you can report it
> on pharo's fogbugz (the link is on Pharo website).

OK. No problem.

> For the deployment you have a different virtual machine for
> OSX/Linux/windows.

That's clear. :-)

> For now the VM is only 32b, this can create some trouble for Linux
> users but the 64b VM should come soon! :) maybe for Pharo 6?

Pharo-5 is scheduled for the 1Q/2016?

> For now there is not a lot of classic application. I think you can
> take a look at Dr Geo.

That one looks interesting. Thank you for that.

> If you want to do open source you can use the same method that
> PharoLauncher that open a window in full screen and let a setting for
> developers to be able to get a classic Pharo environment. But the user
> might have acess to the code through GTSpotter or Morph's halos.

I plan to do open-source, but would like to hide code and other dev
tools in order not to confus end-users.

> If you don't want the user to get an acess to the code by any mean you
> have to cut everything by hand for now. (Disable spotter, disable
> halo, disable world menu, disable the debugger...).

OK, it means it's possible...Will explore and/or ask. ;)


> I would like to have a way to lock an image directly from Pharo

+1 


> Welcome to Pharo and merry Christmas!

Thank you!


Sincerely,
Gour

--
Perform your prescribed duty, for doing so is better than not
working. One cannot even maintain one's physical body without work.





Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

Ben Coman
In reply to this post by kilon.alios
On Sat, Dec 26, 2015 at 3:01 AM, Dimitris Chloupis
<[hidden email]> wrote:

> I am on holidays to at London for Christmas with no direct access to my
> machine.
>
> But you can get a very good idea how to do what you want by taking a look at
> standalone Pharo apps like Phratch and Dr Geo . The good news is that is
> both very easy and extremely flexible. You can also change the icon of the
> app and and the name of the Pharo executable to make the user completely
> unaware officials Pharo existence. You can also add squeak to your google
> searches because they have been several posts about this in the squeak
> mailing list . Pharo is incompatible with squeak but it's still a fork of
> squeak so there is a lot of common ground.
>
> After that you can start removing packages you don't need, Pharo is in the
> process of of being modularlized so that is easy to start with a skeleton
> image. If you are in need of a specific Pharo library choosing Cuis which is
> also a squeak fork is simple and much lighter than Pharo image. Squeak ,
> Pharo and Cuis share the same VMs.
>
> Las but not least if you are on Windows there has been a thread on our list
> on how to make window installers for Pharo apps the easy way. You may want
> to google that too, I think Damien made a guide about it .
>
> We can go on and on and on how much Pharo can be customized. I even recently
> made an auto update functionality for me Pharo project ChronosManager which
> detects if the github repository has a new release available and downloads
> it so that the user use always the latest stable release without a need to
> worry about it or do anything about it ;)

Cool. Is that something possible to extract? It would be nice to see
such added to PharoLauncher.
cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

stepharo
In reply to this post by Gour

>> After that you can start removing packages you don't need, Pharo is in
>> the process of of being modularlized so that is easy to start with a
>> skeleton image.
> The modularization process is going within V5.0?
Yes and it started from day one.
We are continuously working on it. It is just a daunting task.
We changed a lot of design decision to support a modular system (such as
settings)
and we will continue to do.
And I can tell you that it will pay off for real :)
People only look at the top of the iceberg but below we are working a
lot (like new way of
expressing start up dependencies).
>> If you are in need of a specific Pharo library choosing Cuis which is
>> also a squeak fork is simple and much lighter than Pharo image. Squeak
>> , Pharo and Cuis share the same VMs.
> I do not mind the size of the image since most software written in other
> programming languages is also usually quite bloated.
>
> Moreover, it seesm Cuis is not so actively developed as Pharo, so I tend
> to focus on staying with Pharo.

People are fun. They want excellent tools like GSpotter but not their
cost :).
For your information we are working on a bootstrap and during our experience
we got a small core in 80k :) So once the bootstrap will be ready for
Pharo 50
we will start to build Pharo incrementally from this core.
So yes Pharo is moving and our goal is to change the programmer experience.

> Well, I only run Linux (Debian), but in order to produce installer for
> Windows, I might use Windows under vbox, although there is slight
> problem - the last license of Windows which I own is for XP. :-)
>
> In any case, I'm excited to explore the world of Pharo. ;)
Super :)

>
>
> Sincerely,
> Gour
>
> --
> One who is not disturbed in mind even amidst the threefold
> miseries or elated when there is happiness, and who is free
> from attachment, fear and anger, is called a sage of steady mind.
>
> http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
>
> --
> The embodied soul may be restricted from sense enjoyment,
> though the taste for sense objects remains. But, ceasing
> such engagements by experiencing a higher taste,
> he is fixed in consciousness.
>
> http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
>
> --
> The embodied soul may be restricted from sense enjoyment,
> though the taste for sense objects remains. But, ceasing
> such engagements by experiencing a higher taste,
> he is fixed in consciousness.
>
> http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
>
> --
> An intelligent person does not take part in the sources of misery,
> which are due to contact with the material senses. O son of Kuntī,
> such pleasures have a beginning and an end, and so the wise man does
> not delight in them.
>
> http://www.atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810


Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

stepharo
In reply to this post by Ben Coman
There is an auto update in Pharo.
This is the one we use for building it.
Have a look at the way the script loader is built.
It fetches a numbered collection of cs and compares their number with
the current number of the image and
load the delta.

stef

Le 25/12/15 22:50, Ben Coman a écrit :

> On Sat, Dec 26, 2015 at 3:01 AM, Dimitris Chloupis
> <[hidden email]> wrote:
>> I am on holidays to at London for Christmas with no direct access to my
>> machine.
>>
>> But you can get a very good idea how to do what you want by taking a look at
>> standalone Pharo apps like Phratch and Dr Geo . The good news is that is
>> both very easy and extremely flexible. You can also change the icon of the
>> app and and the name of the Pharo executable to make the user completely
>> unaware officials Pharo existence. You can also add squeak to your google
>> searches because they have been several posts about this in the squeak
>> mailing list . Pharo is incompatible with squeak but it's still a fork of
>> squeak so there is a lot of common ground.
>>
>> After that you can start removing packages you don't need, Pharo is in the
>> process of of being modularlized so that is easy to start with a skeleton
>> image. If you are in need of a specific Pharo library choosing Cuis which is
>> also a squeak fork is simple and much lighter than Pharo image. Squeak ,
>> Pharo and Cuis share the same VMs.
>>
>> Las but not least if you are on Windows there has been a thread on our list
>> on how to make window installers for Pharo apps the easy way. You may want
>> to google that too, I think Damien made a guide about it .
>>
>> We can go on and on and on how much Pharo can be customized. I even recently
>> made an auto update functionality for me Pharo project ChronosManager which
>> detects if the github repository has a new release available and downloads
>> it so that the user use always the latest stable release without a need to
>> worry about it or do anything about it ;)
> Cool. Is that something possible to extract? It would be nice to see
> such added to PharoLauncher.
> cheers -ben
>
>


Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

kilon.alios
In reply to this post by Ben Coman
It's possible if releases are published / committed in a Github repo. It can even include VM and all other dependencies. As a matter of facts this code can work for even the updating Pharo itself completely bypassing Pharolauncher. GitHub and git can easily handle binary files of any size.

On Fri, 25 Dec 2015 at 21:52, Ben Coman <[hidden email]> wrote:
On Sat, Dec 26, 2015 at 3:01 AM, Dimitris Chloupis
<[hidden email]> wrote:
> I am on holidays to at London for Christmas with no direct access to my
> machine.
>
> But you can get a very good idea how to do what you want by taking a look at
> standalone Pharo apps like Phratch and Dr Geo . The good news is that is
> both very easy and extremely flexible. You can also change the icon of the
> app and and the name of the Pharo executable to make the user completely
> unaware officials Pharo existence. You can also add squeak to your google
> searches because they have been several posts about this in the squeak
> mailing list . Pharo is incompatible with squeak but it's still a fork of
> squeak so there is a lot of common ground.
>
> After that you can start removing packages you don't need, Pharo is in the
> process of of being modularlized so that is easy to start with a skeleton
> image. If you are in need of a specific Pharo library choosing Cuis which is
> also a squeak fork is simple and much lighter than Pharo image. Squeak ,
> Pharo and Cuis share the same VMs.
>
> Las but not least if you are on Windows there has been a thread on our list
> on how to make window installers for Pharo apps the easy way. You may want
> to google that too, I think Damien made a guide about it .
>
> We can go on and on and on how much Pharo can be customized. I even recently
> made an auto update functionality for me Pharo project ChronosManager which
> detects if the github repository has a new release available and downloads
> it so that the user use always the latest stable release without a need to
> worry about it or do anything about it ;)

Cool. Is that something possible to extract? It would be nice to see
such added to PharoLauncher.
cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: example of stand-alone desktop app

Damien Cassou-2
In reply to this post by Gour
On December 25, 2015 11:17:01 AM GMT+01:00, "Saša Janiška" <[hidden email]> wrote:

>Hello,
>
>I've decided to end my search for an appropriate language/environment
>in
>order to write open-surce multi-platform with Pharo. :-) 
>
>Playing a bit with 5.0 image, watching Dimitris' tutorial series,
>reading several articles (I like Richard's Smalltalk-Talk), subscribed
>to the mailing lists...convinced me that Smalltalk/Pharo is so much
>refreshing environment to code in comparison with the pale setup
>present
>in som many other statically-compiled languages which I was
>exploring/evaluating, not to speak about the fact that with Pharo one
>gets complete setup at once without the need for tedious work of
>bringing editor+other tools together.
>
>I'm aware that Pharo (Smalltalk) are different and I really like its
>development environment, but wonder about deploying.
>
>There is old thread from 2013 providing some help about deploying
>desktop app, but I wonder if something has changed since then making
>the
>whole process somewhat more smooth?
>
>I run Debian (Sid) where I'll do all my coding, but would like to
>provide versions of my desktop app for both Windows and Mac OS-es.
>
>Any hint how to proceed?

The PharoLauncher is a desktop app with a Windows installer, with a MacOS drag&Drop window, and with Unix distribution-dependent packages. Useful URLs:

http://www.smalltalkhub.com/#!/~Pharo/PharoLauncher


https://github.com/pharo-project/pharo-ci/tree/master/ci-jobs/pharo


https://ci.inria.fr/pharo/view/all/job/Launcher/

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill