deskshell windows release

299 views
Skip to first unread message

sihorton

unread,
Sep 20, 2013, 12:15:21 PM9/20/13
to appj...@googlegroups.com
Hi Everyone,

I have managed to get some time to have a solid coding session and I have moved the initial prototype into a first release. The code is all up on github at https://github.com/sihorton/appjs-deskshell/. I have created an installer for windows which includes nodejs and chromium binaries. There is an example app that demonstrates controlling the app using the remote debugging api and also the built in simple webserver and socket support. I have included a deskshell-updater.exe binary which will check for new versions of the application so it is easy to push out new updates. Considering the small amount of time that has been invested I have already come a long way.

Application is installed to <User>/AppData/Local/Deskshell/


Applications are then text files with a .desk extension, the content directory is your "htdocs" directory and contains the html content of the application:

.desk files are associated with the deskshell binary, this just launches nodejs which in turn launches chromium portable. The result is then an "app" window served from the content directory:

Clicking on the links goes to page1.htm and page2.htm as you would expect. Clicking on Send "Hello" Message sends a socket message to the backend which replies with a hello message of its own and this is shown in an alert message.

Send ControlMe Message sends a socket message to the backend which then uses the debug api to re-direct you to appjs.com and then after 5 seconds you get returned to the application.

There is currently an error that only one app can run at the same time (the call to get the list of windows fails for the second app), but this was working earlier so is something we can fix.

I think that this shows that we can come a long way with this approach. When the new appjs binary lands we would be able to plug that in as an alternative backend so you can choose between chromium and appjs to host your application.

I have tried to document the solution but it is still very new so I am sure there are lots more docs needed. I thought we could create a deskShell app that has an api viewer, tutorial and some demos and distribute that with the installer so it will be easy to get started with.

Let me know what you think and everyone is welcome to play around with this and start making improvements.

/Simon

sihorton

unread,
Sep 20, 2013, 5:02:43 PM9/20/13
to appj...@googlegroups.com
I have now created an initial early prototype for linux. Under installer/linux I have begun on creating a debian package. This registers the .desk file extension.
The readme at bin/linux/readme.txt details how to get the required binaries. It seems like the best approach on ubuntu is to use apt-get for now to install nodejs and chromium-browser. NPM packages can then be installed globally so all applications can take advantage of it.

A new application "default-linux" has been added under sys-apps. At this point in time I have a default.sh script to launch the application, it correctly displays the application and serves all of the files but the debug socket connection fails since it is unable to discover the debug socket uri for some reason. I have not had time to investigate the issue, but here is a screenshot of how far I have got so far:






















/Simon

sihorton

unread,
Sep 22, 2013, 2:38:15 AM9/22/13
to appj...@googlegroups.com
The great ingwie despite having the flu has also been hacking away on a Mac port of deskshell. Here is a hello world from his desktop that uses the remote debug api.


















We will work on the experimental versions of deskshell and then release a usable version on all three platforms to bintray in the coming weeks.

/Simon

sihorton

unread,
Sep 22, 2013, 4:57:11 PM9/22/13
to appj...@googlegroups.com
Well ladies and gentlemen Ingwie of drag0n fame has been hacking all weekend on the mac version of deskshell. I just accepted a pull request from him that adds full mac support!

On thursday we had good ideas and a plan, now on sunday we have a windows, mac and 50% of a linux port implemented already. As previously stated when the new appjs binary drops then you will be able to select between using chromium or appjs as the frontend browser.

Here is a screenshot of the result of all that hard work:

















Ingwie is our resident mac expert so if you want to try out deskshell on the mac then get in touch with him. I am handling the windows and linux ports at the moment but if there is someone that would like to focus on the linux port then that would be excellent.

Code is all open and up on github so you can download and play with it today. We are in an alpha stage so there is lots of bugs, bad hacks and the like so if you look through the code you will see things you want to improve. I am going to re-factor the current work to share more code and design across the platforms and remove some of the horrible hacks I did on windows, then in the next few weeks we will do a first full release with all 3 platforms supported.

If you want to get involved on the ground level now then try out deskshell for your platform and ask questions that you have. We would love help with tutorials, faq, hello world apps and everything else so I am sure you can find something you can get your teeth into!

/Simon

ashish negi

unread,
Sep 23, 2013, 12:43:26 AM9/23/13
to appj...@googlegroups.com
Are there any goals for which we can code ?

Kevin Ingwersen

unread,
Sep 23, 2013, 2:00:34 AM9/23/13
to appj...@googlegroups.com
Currently we are just seeking to have a base to code with. We have a Windows and a Mac port. We now need a Linux port. When we have that, we may want to wait for Morteza to release an appjs binary, with which we can then work and rebase our apps on it. Like, as soon as the new appjs binary is out, I will be redoing my drag0n and release a 0.3b-stable version of it. That thing has been running on appjs eversince it was created. :p So I will use it to toy around more with the new appjs. The great thing is, that the new appjs will surely support things like CSS3. And, everything looks amazing with a little 3D - and that in a desktop environment? :)
So the only, current, goal is to get a base working while we wait for an apps binary.
--
You received this message because you are subscribed to the Google Groups "appjs-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to appjs-dev+...@googlegroups.com.
To post to this group, send email to appj...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Simon Horton

unread,
Sep 23, 2013, 2:26:00 AM9/23/13
to appj...@googlegroups.com

Sure, goals at the moment are to popup an application window with app running in it and remote debug connection.  That is the base needed to build applications from.

Then after that basically we want to get the apps as good and native like as possible. We also want tutorials, example apps and documentation to make it as easy as possible for new people to get up and running with deskshell.

If you tell me what platform you are most comfortable with and what you think is fun to work with then we can agree on a plan of changes to make.

Another approach is to download the repository or installer and try to build a simple app with it. Write down what you learn and questions you have -- wiki should be open for you to make edits in. Then when you find bugs or limitations you can code solutions and issue pull requests for them.

Simon

--

sihorton

unread,
Sep 23, 2013, 5:45:36 PM9/23/13
to appj...@googlegroups.com, siho...@gmail.com
I have now fixed the issue with being able to launch multiple deskshell instances. The fix is as follows:-

1) Always use the same port for remote debugging, it seems like the second call with a different port is ignored.
2) Scan the list of available pages to debug for the url you passed in as the app to launch
3) wait 200 ms after launching chrome to ask for the debug url.
4) if that fails wait a further 2 seconds to try for the debug url.

I have published the deskshell-api npm package and committed changes to github.

With these four changes the issue appears to be fixed. If you have installed from the windows installer run deskshell-updater to get the new version: Warning this will wipe the existing install so copy any changes you have made first.

This fixes a major usability issue for the first release.

/Simon

Kevin Ingwersen

unread,
Sep 23, 2013, 6:05:32 PM9/23/13
to appj...@googlegroups.com
Nice. I'll update my fork too...somehow o.o'

Shizza M

unread,
Sep 24, 2013, 8:37:39 AM9/24/13
to appj...@googlegroups.com, siho...@gmail.com
/Simon

Not sure what is happening here:

deskshell-api seems to be installing itself in ..\..\node_modules rather than the directory I made for it.

Was this intended?

Simon Horton

unread,
Sep 24, 2013, 8:42:33 AM9/24/13
to Shizza M, appj...@googlegroups.com
Hi Shizza,

This is an npm issue rather than deskshell-api issue. Deskshell is 100% javascript so you can simply copy the directory from where it ended up to wherever you want and it should work fine.

npm looks for a special directory called "node_modules" if it finds it somewhere above itself in the hierarchy then it uses that, if it does not find that folder anywhere then it creates a folder called "node_modules" in the current directory and installs inside that. 

If you manually create the folder "node_modules" in the current directory and npm install deskshell-api then it will install there for you.

/Simon

Shizza M

unread,
Sep 24, 2013, 9:36:39 AM9/24/13
to appj...@googlegroups.com, Shizza M, siho...@gmail.com
Brilliant Simon

You're doing a power of work! 


I'm just getting my head around Deskshell and trying out some basic D3.

Well done so far. Amazing stuff. 

Simon Horton

unread,
Sep 24, 2013, 10:57:31 AM9/24/13
to Shizza M, appj...@googlegroups.com
Great - it is really fun to see you playing with it. You would be very welcome to create some example apps for us if you want. They can be very simple -- in fact simpler the better, but just some demos that show using jquery or any other library and what is possible.

I am working on removing the console that opens when you run an app with the windows version as I think this is a major usability point at the moment.

/Simon

sihorton

unread,
Sep 24, 2013, 12:40:54 PM9/24/13
to appj...@googlegroups.com, Shizza M, siho...@gmail.com
I have done another release of the windows port of deskshell. This one has two executables, deskshell.exe and deskshell_debug.exe. The debug version will popup a console which will show console.log commands from nodejs (kind of important when developing). However opening a dos console whenever you run an app is frightening for normal users. deskshell.exe does the same as the debug version but no console is opened. This may sound strange but actually hiding that console is quite tricky to do on windows.

I have also changed / improved the overall layout for deskshell. When deskshell.exe is run it will automatically run bin\win\deskshell.js with bin\win\node.exe the deskshell.js file is then passed the .desk file that was clicked on. If no .desk file is clicked on then it runs the default "hello world" style application instead. This gives a very big advantage in that one deskshell install can support an unlimited number of apps. The apps themselves can then be free of the 30 meg needed to run chromium portable. So in this setup a new user will need to install deskshell once and then they will need to install your .desk application.

If you don't like this idea and instead want a totally self contained application with everything in the same directory (like I imagine ingwie wants for drag0n) then the exact same executable will work for that as well. Simply distribute the entire deskshell folder and replace the default application with your functionality.

My experience is that I can have 20 - 30 apps I am playing with and then it is very nice that each one takes up just some kilobytes and I have one deskshell install to run them all.

A further change I am planning is that instead of the .desk file being a javascript file it will instead be a json description file for your application. This json file can define that you want to run with the node backend and chromium frontend or for example php backend and appjs frontend. It can also define dependencies and api's that it wants to use. An added benefit of this kind of setup is we can use it to identify the api version numbers that are needed and maybe even things like if we want to run with node v0.8 or v0.10.

I think these changes are very beneficial and they are what I have already worked through when I implemented packaging for appjs.

Deskshell is now working ok as a platform on windows, my next goals are to work on the api and json application file so that application developers will have a smoother experience developing for deskshell.

/Simon

Simon Horton

unread,
Sep 24, 2013, 7:16:10 PM9/24/13
to appj...@googlegroups.com, Shizza M, Simon Horton
I have now released version 0.8 of the windows port. 

If you have previously installed the application then just click on deskshell-updater.exe and it will pull down the update for you.

This is a major step forward from all previous versions. Applications are now defined by a app.desk file that is simple json. This allows you to select a front end (e.g. chromium or appjs) and a backend (e.g. nodejs or php). I have made a large number of bug fixes and general improvements so the platform is much easier to develop for.

I have changed the default app that pops up if you don't give it any app to display to be an introduction to the deskshell platform. This application contains demos of different functionality, html documentation and hopefully some tutorials in the future. Since it is packaged with the sdk we can keep it in sync with the platform as we make changes.

I have put the sample app up on a website for those of you that don't install the windows port. The buttons don't work on the site, but if running inside deskShell then they will function. The link is: http://appjs.delightfulsoftware.com/deskshell/demo-docs/

The great thing is that now the work is changing to be more about the application api's and what you can achieve with the apps themselves rather than just the basic platform implementation.

Of course no release is complete without a screenshot, so here is a shot of the new demo-docs app:

Inline image 1

The page shows the launchApp functionality, you can provide a relative path to another .desk file and it will be launched as an application. The interactive section allows you to type in a path and then click "Launch Demo" to try to run the desk file.

I have made a good start on the documentation so please ask questions or even better help me to improve the docs so it is easy to get started with deskshell.

The platform is certainly usable for "html5 only" style applications that are mainly websites that you want to run locally. The socket functionality is also working well (I have fixed many bugs and strange things there) -- so you can send messages from the front end and have the back end write to disk, read a database, upload / download from a server and so on.

I have not had much time to experiment with the remote debug api, but if we can play around with it a bit then we can create some good demo code to show how to do the most common tasks.

/Simon
image.png

Kevin Ingwersen

unread,
Sep 25, 2013, 2:10:07 AM9/25/13
to appj...@googlegroups.com
Pretty neat what you did! ^^
I am going to work on the Mac port to bring it up to the 0.8 release, adding some things like...

- .desk files get recognized by Mac, and will be given to the deskshell programm
- Bundeling chromium and a binary of nodejs into that package to give people the option to use the installed versions rather than their own.
- Of course, adding the JSON description support.

I have scribbled together a concept with my compile of PHP and might add that into the deskshell repo and create a PHP example backend. Of course, I will document my compiles. But actualy, my source folder of php can be found dubbed "drag0n-php" - I am going to just strip some options such as ssh2 and gpg. But for those curios, we'll need --enable-socket, --with-pthreads and --enable-soap. SOAP is only really important when communicating with servers outside of the mashine, but yet useful. :)

Happy hacking!
Am 25.09.2013 um 01:16 schrieb Simon Horton <siho...@gmail.com>:

I have now released version 0.8 of the windows port. 

If you have previously installed the application then just click on deskshell-updater.exe and it will pull down the update for you.

This is a major step forward from all previous versions. Applications are now defined by a app.desk file that is simple json. This allows you to select a front end (e.g. chromium or appjs) and a backend (e.g. nodejs or php). I have made a large number of bug fixes and general improvements so the platform is much easier to develop for.

I have changed the default app that pops up if you don't give it any app to display to be an introduction to the deskshell platform. This application contains demos of different functionality, html documentation and hopefully some tutorials in the future. Since it is packaged with the sdk we can keep it in sync with the platform as we make changes.

I have put the sample app up on a website for those of you that don't install the windows port. The buttons don't work on the site, but if running inside deskShell then they will function. The link is: http://appjs.delightfulsoftware.com/deskshell/demo-docs/

The great thing is that now the work is changing to be more about the application api's and what you can achieve with the apps themselves rather than just the basic platform implementation.

Of course no release is complete without a screenshot, so here is a shot of the new demo-docs app:

<image.png>

The page shows the launchApp functionality, you can provide a relative path to another .desk file and it will be launched as an application. The interactive section allows you to type in a path and then click "Launch Demo" to try to run the desk file.

I have made a good start on the documentation so please ask questions or even better help me to improve the docs so it is easy to get started with deskshell.

The platform is certainly usable for "html5 only" style applications that are mainly websites that you want to run locally. The socket functionality is also working well (I have fixed many bugs and strange things there) -- so you can send messages from the front end and have the back end write to disk, read a database, upload / download from a server and so on.

I have not had much time to experiment with the remote debug api, but if we can play around with it a bit then we can create some good demo code to show how to do the most common tasks.

/Simon

Simon Horton

unread,
Sep 25, 2013, 2:56:27 AM9/25/13
to appj...@googlegroups.com
Thanks a lot,

Actually productivity has risen greatly since we are switching to a javascript centric approach. It feels like it is much easier to throw things up and then improve it. Hopefully we will be able to share that javascript logic between all of the ports. For now I think the next step for mac is to have the apple script compiled binary or similar that receives the .desk file click and gets the command line parameters. This is the same as the deskshell.exe binary for windows. It should just launch bin/mac/node.exe with bin/mac/deskshell.js file. Then that file can itself read the .desk json file and then run the application. Since it is all in javascript it makes it very easy to update and improve.


I am going to keep on adding functions since I am on a roll and now we have an application with the documentation in it we can quickly document new features as they are implemented.

/Simon

Kevin Ingwersen

unread,
Sep 25, 2013, 3:09:30 AM9/25/13
to appj...@googlegroups.com
The only thing that is missing yet is a ref for the JSON description so I know how to parse what.

Simon Horton

unread,
Sep 25, 2013, 3:24:33 AM9/25/13
to appj...@googlegroups.com
Docs are now included in the "demo-docs" application bundled with deskshell. Since not everyone has windows or can run the app you can run the application from the web. The docs for the .desk file format is found here: http://appjs.delightfulsoftware.com/deskshell/demo-docs/docs/desk.htm.

Javascript code to parse and interpret the json file for windows is here: https://github.com/sihorton/appjs-deskshell/blob/master/bin/win/deskshell.js

What the code does is create a global "deskShell" object so it is available to all app code. It then checks the .desk file exists and then JSON.parse() the data in the file. Then all it currently does is check the backend property and if it is node then it will require the mainFile property. Obviously this can be greatly improved in the future.

The deskShell object that it includes (https://github.com/sihorton/appjs-deskshell/blob/master/bin/win/node_modules/deskshell-api/index.js) is currently hardcoded for windows (there is a path to the chromium binary) but otherwise it gives an api that applications can then call. Deskshell api documentation is here: http://appjs.delightfulsoftware.com/deskshell/demo-docs/docs/deskShell.htm

The simplest working demo of an app is here: https://github.com/sihorton/appjs-deskshell/tree/master/sys-apps/demo-docs/content/demos/html_website. There is an app.desk file:

{
"name":"default"
,"version":"0.2"
,"author":"sihorton"
,"description":"default app shown when you start deskshell"
,"licence":"MIT"


,"htdocs":"htdocs"
,"main":"app.js"
,"frontend":"chromium-portable"
,"backend":"node"
}

and then an app.js file:

var running = deskShell.startApp({
htdocs:__dirname+"/htdocs/"
,openSocket:true
,launchChromium:true
,exitOnChromiumClose:true
,width:400
});
As you can see the deskShell object can then be used directly in the application, and this example calls the startApp method to open chromium window and display the contents of htdocs directory.

Hope that helps you. I think priority #1 is the apple script / binary that is associated with the .desk files and then runs deskshell.js in node. Once that is done we can then implement the rest in javascript so hopefully that code can be largely shared between platforms.

On the wiki I have a to do list page, so when you implement features write them up on the page so we remember how much we have implemented! https://github.com/sihorton/appjs-deskshell/wiki/todo%20list

Good luck!

/Simon

Kevin Ingwersen

unread,
Sep 25, 2013, 1:15:45 PM9/25/13
to appj...@googlegroups.com
So far, I have it fully adopted :)

But, I downloaded the demo app for the kiosk thingy, changed mode to app, and wanted to run the app...then I realized, you are reffering to a global DeskShell object. Can you point me to where your default implementation for that is? But otherwise, this runs perfect. The script was recognized by Mac OS to be opened by Deskshell.app. The applescript binary passed the scripts absolute path to the desk_parse script (PHP) which read it thru and about and prepaired to pass the script elsewhere. To copy your logic however, I need to know how you are basically launching the .desk files.

Regards, Ingwie

Simon Horton

unread,
Sep 25, 2013, 1:37:34 PM9/25/13
to appj...@googlegroups.com
Wow great well done!

I wrote a long explanation, but then I just realised that you can just do the following:-
  • Check the "backend" property in .desk
  • If it has a value of "node" or "nodejs" then
  • bin/mac/node bin/mac/deskshell.js "path/to/app.desk" %1
What I mean by that third line is run node executable and pass it the deskshell.js script then the app.desk filename and then any additional command line parameters that were passed (so apps can make use of them). This way the deskshell script will open chromium and will setup the global object and then call the proper application script. 

To start with we can copy bin/win/deskshell.js to bin/win/deskshell.js If you look in the code you will see a relative path to the chromium binary, this will need to be altered and then all \\ will need to be replaced with /. I can go through the scripts and merge them afterwards so we get one implementation across all platforms.

/Simon




Kevin Ingwersen

unread,
Sep 25, 2013, 1:52:28 PM9/25/13
to appj...@googlegroups.com
Ok...Im not a big JS junky though x3 I get what you mean by the third line, and that is quite easy to do after all. But how do I "call the proper main script"? o_o Im a bit off here. But what I did was already determining which executable to start and alike, and actualy do some more you will see.
As a tease:
$ open Deskshell.app --verbose app.desk
:)

Simon Horton

unread,
Sep 25, 2013, 2:03:11 PM9/25/13
to appj...@googlegroups.com
Well for the node backend you don't need to call the proper main script, you can get deskshell.js to do that for you. On windows we have a binary that just passes the .desk file that was run and then any extra parameters to the deskshell.js and then all of the logic for what to do is in that js file. So we might as well just use it and launch it -- the app script needs that global and that needs to be setup by a node script.

Lets discuss on chat.

/Simon

sihorton

unread,
Sep 25, 2013, 6:01:22 PM9/25/13
to appj...@googlegroups.com, siho...@gmail.com
Well another long evening hacking, that gave much fruit. We are now able to run .desk applications cross platform on both windows and mac. For mac there is actually an even better solution than .desk files, we can use application bundles, and so we have been exploring those possibilities and Ingwie has already checked in some code.

There are a couple of issues still to tidy up to improve usability but the mac and windows ports are now at a similar level and both are usable for building actual applications with. Ingwie is doing fantastic work as always, if you are on the mac you can follow his repository so you get early access to the latest and greatest: https://github.com/IngwiePhoenix/appjs-deskshell

We would really like people to get involved and create some simple demo apps and help us improve the documentation. Here is a screenshot of the mac port:

Shizza M

unread,
Sep 28, 2013, 2:48:00 AM9/28/13
to appj...@googlegroups.com, siho...@gmail.com
Okay, hands up, I'm a dooshbag.

I pulled with git, but I can't run the deskshell.exe from the git pull version ... do I need to compile or something??

I want to push a demo to the code for sihorton to approve....


Can anyone suggest the next step.??

Shizza M

unread,
Sep 28, 2013, 3:01:35 AM9/28/13
to appj...@googlegroups.com, siho...@gmail.com
Just to clarify,

I wanted to add files to   ...\sys-apps\demo-docs\content\demos\...

and then test by running the deskshell, however the deskshell_debug.exe I downloaded through the git pull won't run.

After the test my plan was then to run

git add
git push 

But I'm not able to run the deskshell.

On the other hand I _can_ run deskshell from the http://appjs.delightfulsoftware.com/deskshell/ exe and it all works but I'm not sure how to add to the deskshell git repo

help!

Simon Horton

unread,
Sep 28, 2013, 9:58:34 AM9/28/13
to Shizza M, appj...@googlegroups.com
Hi Shizza M,

Check out the readme in the bin/win directory (https://github.com/sihorton/appjs-deskshell/tree/master/bin/win). You need to download nodejs and chrome portable binaries and then extract them. These are not kept in the source code tree to save you having to download it all when you checkout the repository.

/Simon

Simon Horton

unread,
Sep 28, 2013, 10:03:41 AM9/28/13
to Shizza M, appj...@googlegroups.com
I have updated the main readme to mention the bin/win/readme.txt file so that this is more obvious.

Looking forward to seeing the demos you have created!

/Simon

Kevin Ingwersen

unread,
Sep 28, 2013, 10:15:33 AM9/28/13
to appj...@googlegroups.com
Simon, did you consider updating .gitignore to ignore the binaries, but allowing them in the source tree for development? :)

Simon Horton

unread,
Sep 28, 2013, 10:17:17 AM9/28/13
to appj...@googlegroups.com
Yes the binaries are ignored using .gitignore: https://github.com/sihorton/appjs-deskshell/blob/master/.gitignore


/Simon
Message has been deleted

Simon Horton

unread,
Sep 29, 2013, 9:28:33 AM9/29/13
to appj...@googlegroups.com
Hi Shizza M,

Thanks for the pull request. I merged the changes. For me I saw that the todo demo always forgets the list each time. Maybe we could add persistence to the list?

For the WebRTC demo is it a good idea to have a hardcoded room id for all deskshell users? I tried joining a room but nothing happened, is there going to be a chat that happens or something similar?

/Simon


On Sun, Sep 29, 2013 at 12:41 PM, Shizza M <sholt...@gmail.com> wrote:
/Simon,

This is my first go at contributing to a shared github repo

So.

I've forked appjs-deskshell and pushed 2x demos to my fork.

I'm guessing you can review them there and then pull them into the main branch for testing on your system. 

I think the WebRTC demo will need some work on passing room ID's - open to ideas on that.

Cheers,

Simon Horton

unread,
Sep 29, 2013, 12:20:28 PM9/29/13
to appj...@googlegroups.com
I have added some more demos:-

A flash / html5 music player demo
Inline image 1

Inline image 2

As well as a kiosk launcher demo.

Deskshell is getting really easy to use and create simple app demos. It includes an app with these demos in as well as documentation so it is easy to get going with it. Code itself was very rapidly thrown together so we will need to tidy things up. If anyone has requests for v1.0 functionality then you should start asking now as we are getting close to a release now.

/Simon
image.png
image.png

Shizza M

unread,
Sep 30, 2013, 1:42:24 AM9/30/13
to appj...@googlegroups.com, siho...@gmail.com
"For the WebRTC demo is it a good idea to have a hardcoded room id for all deskshell users?"

Yes - maybe there could be a wall of the demo users? Might require a little more coding but I'll have a crack...

Simon Horton

unread,
Sep 30, 2013, 3:36:25 AM9/30/13
to Shizza M, appj...@googlegroups.com

Ok cool, it is just a demo, but as I know from experience many people copy and paste  and then develop their app from a demo app. So make obvious what is fake and how to develop further.

I can see this being one of our best demos!

Simon

Shizza M

unread,
Sep 30, 2013, 4:47:44 AM9/30/13
to appj...@googlegroups.com, ingwi...@googlemail.com
Hi Ingwie,

I'm having trouble following the install for Mac.

Is it:

1.1 ah no, the win installer won't work
2. Download zip from github
3. Unpack
4. navigate to bin\mac
5. Run tar xvfz ...etc
6. Double click
7. Window pops up "Press Run to run this script, or Quit to quit"
8. Run
9. Nothing ... 

Do I also need to
2.1 download nodejs, 
2.2 install nodejs to bin (don't get that option from the installer...)
2.3 download chrome portable for mac (where is that?)
2.4 install chrome portable to bin somehwere ...? 

Simon Horton

unread,
Sep 30, 2013, 6:20:16 AM9/30/13
to appj...@googlegroups.com, Ingwie Phoenix
Hi Shizza M,

Should be that on the mac you can checkout the github repository. Once that is done, cd to the bin/mac directory


tar xvfz deskshell.mac.tgz
That will give you a deskshell app bundle, click one time and it will then register the .desk file format. After that you can click on the .desk files to launch as in windows.

This should be documented in the mac readme, if it is unclear lets update the readme.


/Simon

sihorton

unread,
Sep 30, 2013, 4:35:09 PM9/30/13
to appj...@googlegroups.com, Ingwie Phoenix, siho...@gmail.com
Hello Everyone,

Another progress report for you! Well we now have a mac release! Download is available from http://appjs.delightfulsoftware.com/deskshell/ and I have built a script in /installer/mac to build the download from source, see the main readme for details.

There have been a very large number of improvements and new features added in the past few days, we have a much more powerful .desk file format and now you can run your application with no backend, or with no frontend (i.e. application window) if needed. There is a kiosk mode to take over the full screen and show no chrome and we even have automatic update checking for the windows port. It feels like we are now getting very close to a public release for this code.

What do people suggest for hosting? I have tried using bintray but it only allows a maximum of 30 meg per file and we are almost double that for the deskshell binary installs (because chromium is so big). We are getting close to a public release so will need to have a good platform for downloading from, I see from the download stats that we are quite spread out over the world, with the most downloads coming from china.

I have recently merged in the source code for the deskshell port to mac to the main repository and we will lift all of the latest changes over to that as we get time. Ingwie is currently working hard on a php port which will be great as we will make sure we remove all node dependancies.

deskShell is definitely usable and stable for small applications now, I will try building some more complex applications and fix any issues that I discover. If you have been waiting to try out deskShell then jump in and give it a go now and let us know how you get on.

/Simon 

Shizza M

unread,
Oct 1, 2013, 8:09:54 AM10/1/13
to appj...@googlegroups.com, Ingwie Phoenix, siho...@gmail.com
Hi Simon,

The following website

says that the infobar is thrown up when calling getUserMedia(), which gives users the option to grant or deny access to their camera/mic. 

"If your app is running from SSL (https://), this permission will be persistent. That is, users won't have to grant/deny access every time."

 Is it possible to use https:// ssl so that the page doesn't ask you for permission to use the camera each time you navigate away from the page?

Cheers,

Shizza

Simon Horton

unread,
Oct 1, 2013, 8:19:38 AM10/1/13
to Shizza M, appj...@googlegroups.com, Ingwie Phoenix
Hi Shizza,

That sounds like a good idea. I guess we could have a setting "secureApp":true or similar in the app config. We would have to run an ssl server in which case, but the problem is that then we will get warnings since it will be using a self generated certificate :-( I guess we could import the certificate into chromium portable in order to get around that issue.

Can you add this request to the todo page on the wiki?


/Simon
Reply all
Reply to author
Forward
0 new messages