Conference me in

So while I was working on the share application I found myself spending a lot of time refining the UI.

I obsessed over the user interface and the user interaction longer than actually (re) writing the share app, which is now called Conference.

conference

The main difficulty for it has been to make it simple enough so that even my mother could easily use it. To achieve this feat you have to try hard to eliminate as many controls as possible. As a matter of fact, any control you may want to add to your application should always be able to withstand the test of simplicity.

In UX, the phrase “The More, The Better” is turned upside down and becomes “more is less”, and “less is more”. The less clutter you have on the screen, the easier it becomes for the user to concentrate on the essence of what it is he wants to do. In this case, he wants to satrt or join a video conference.

For example, when I started, I had 7 controls on the first page. After I was done, I had exactly one button on the first page ‘Start Conversation’. All the other controls only served to confuse the user and could either be defaulted to a reasonable value or were not required at this stage of operation. As you can see from the screenshot above, I actually added two more controls back to allow to join an ongoing session.

I went ahead and changed the second page from a standard application type interface to a dashboard based ( dynamic MDI ) interface. This makes a lot of sense as it is using existing usage pattern for a variable number of macro controls ( video windows, chat window etc. ),.

I also allow you now to simply send a link to another person to join into the WebRTC chat without the need to have both parties signed up in AstraNOS. The receiving person will end up on a guest like landing page with the conference app and has thus basically the same interface as you would have with an AstraNOS account.

conference1

Using this new feature, you will be able to exchange files, chat it up with the other people in the group, have your video chatting functionality and you can also share your desktop if you are using chrome an you installed the extension.

While a lot of the features are already implemented, there is still a lot left to be done over the next few weeks. So stay connected, stay tuned …

and let’s talk 🙂

Posted in Uncategorized | Leave a comment

Back from the past

So while I implemented the new TaskBar I still kept the original FishEyeBar and the Minimizer around. This week I actually went ahead and made the TaskBar style selectable through the setup dialog.

NewTaskBar1

OldTaskBar1

So while this was quite a small change I have spent most of my time getting WebRTC to properly work for voice, video, desktop sharing, and for data exchange.

This was quite involved and I have now a distributed system which is using a shared host on Dreamhost and a VPS running on Amazon’s AWS infrastructure to support the NodeJS based streaming server, my TURN server using RESTUND and Prosoby as my XMPP server to support standard chatting clients.

I love the cloud. Love it, love it, love it.

cloud_sh

What’s more, I had to change my server certificate for AstraNOS as the previous one was using SHA-1 only. The current one will protect your communication with the SHA-2 hashing algorithm. Quote: “The NSA designed SHA2 to overcome theoretical breaks in SHA1

Furthermore, I added a basic share app, which will allow you to create a link which you can send to your calling buddy in order to establish the video group chatting session. Alternatively you can also invite them through email, or in case that they are members of AstraNOS you can try to invite them the good old fashioned way by sending a notification over to the other person.

To top it all of, I also had to write my first chrome extension in order to support desktop sharing. Unfortunately this is required due to security concerns with the desktop sharing functionality. It took me basically all of my spare time on Sunday to finally make this work.

So now I need to port the extension to Firefox, and then … who knows 🙂

Now I have to admit that none of the functionality is currently enabled but with the legwork in place and the master plan laid out I am certain I’ll be able to progress on this in quick order and you should see these features come to the fore within the next week or two.

Posted in Uncategorized | Leave a comment

Not so simple RTC

AWS; aka Amazon Web Services is a great leap forward in web based computing. If for nothing more than running 130 lines of JavaScript code in NodeJS.

Of course this is not the only thing you can do on AWS. As a matter of fact it seems there is just about nothing you could NOT do anymore on it.

And so it goes for AstraNOS as well. I am now running the system across two planes which will allow me to easily scale if I ever have to. Running my streaming services off of Amazons cloud platform, and the standard http(s) requests on Dreamhosts platform.

I found the following graphic from CISCO quite telling, and enabling WebRTC on your web presence will become a defacto standard for all social platforms.

Browser_Video_Collab

Over the weekend I added Prosoby as my Websocket enabled XMPP server, and also installed ( not yet operational ) my very own STUN/TURN server using restund.

These are some powerful weapons but would be completely inadequate without anything to throw at. This something is simpleWebRTC, and the simple signalmaster, as script of 130 lines of code.

turn

My goal is it to eventually offer a similar capable infrastructure as OTalk fully integrated into AstraNOS

Posted in Uncategorized | Leave a comment

Background in 3D

I have spent a few days this week integrating animated backgrounds into AstraNOS and the results look absolute stunning IMHO.

anim1

Of course your mileage may vary with your personal preferences. Underneath I am using ThreeJS to tender the animations, so you will need a WebGL capable browser and enough spare CPU cycles to enjoy this feature.

anim2

However the way back to simple, static background images is always just a few simple clicks away using the setup dialog ( System -> Setup ).

I have a few more animations I want to plug in which will come in due time. Also to note is that in case your browser does not support WebGL it will fall back to a simple image without the animation.

Posted in Uncategorized | Leave a comment

TinyMCE and PDF

It turns out that it was way more difficult to convert HTML to PDF. I went through a set of backbend libraries which promised to get the job done, only to find that they are in general a major time sink.

tcpdf was one of the first libraries I tried, and tried and tried. Yet after some tweaking and yelling and screaming I decided to move on, to the next library…

dompdf, again a promising candidate with little to show for after some play time. Dompdf is mostly a php based HTML4 renderer which supports CSS 2.1, and images etc.

… and of I went to wkhtmltopdf which was the first backbend libraries which actually generated reasonable results except that it would cut text in the middle of the line of to create a page break. wkHTMLtoPDF would also just create a screenshot instead of usable PDF.

So I decided to stick with jsPDF and kick it into shape. After all, how difficult could it be to synch TinyMCE and jsPDF?

Editor2

3 long days later I have reached a point where I am now finally able to render images and text into one PDF.

It turns out that there are a lot of blog posts on this subject but no one has offered a plug-in solution to the problem.

So I had to write a small parser, to massage all IMG tags in a way that would then allow me to position them inside the actual PDF document. However only after I had converted all of the images into base64 data.

Finally today I continued adding some new features to the Editor app, as you can see from the screenshot, it is now possible to specify the Page Layout. The resulting print comes close enough.

There is however much more work to be done, to get all the menu items to work, and to properly handle font families, and sizes to PDF.

Posted in Uncategorized | 3 Comments

Word down

Another week has passed and you might be asking what had changed within these past 7 days.

Well, take a look… No, a closer one … Still no go? Okay I’ll tell you. I actually went ahead and replaced the underlying library for Editor. This app is now officially powered by TinyMCE.

Editor1

I spent a few short days investigating TinyMCEs native UI and it turned out to be a major hassle to get the callbacks all setup and properly handling all required features.
Sometimes to have to admit defeat though and start over again. This is what I have decided to do and instead use Qooxdoos widget set.

I am now finally starting to feel the love with Editor, and even though not a lot has changed on the outside, the inside is now to the point where I would think that you will be able to use Editor to write a basic letter or email.

Still I would think that I should have about a weeks worth of work in front of me before I can move on to the next fun project. This is mostly due to a handful of dialogs which I also will have to port.

Also I have spent the past two days trying to get jsPDF to generate acceptable results. I think as things stand I may have to move this to the BE to create reasonable results.

Posted in Uncategorized | Leave a comment

Word up

I have spent some time thinking about the editor and the direction it took when I started to use ACE as the underlying engine for text editing. Of course ACE is great at what it does, but word processing is not one of the intended use cases.

So now I switched the Editor over to the QooxDoo add-on HtmlArea. I also combined it with jsPDF to allow to export the documents in a more portable format.
However while in theory this sounds great, in practice the results are less than perfect. So there is some more work to be done and I may switch the backend once more over to use TinyMCE if I can’t kick HtmlArea into shape.

Editor

As for the previous version of the Editor, this can now be started as the all new and shiny IDE. Yeah I know… You’re welcome ☺

So within the past few weeks you have a new TaskBar, VideoPlayer, ImageViewer, FileDialog, YouTube App, Editor, and a IDE.

Missing from my wish list now is only a new feed reader, and an email app, PDF viewer, stop watch, and of course the mobile app to route it all together.

Posted in Uncategorized | Leave a comment

OnlineVideo app

After strolling the inter-tubes I discovered that I can waste a heck-of-a-lot of time watching OnlineVideos. So I thought why not add an app into AstraNOS which will allow me to watch some inside as well.

So I spent the past three days or so adding an online video app, which is currently working quite well already.

OnlineVideo

You can search for your videos, and then watch them inside the window or in full screen mode. I also added a button to have the video take the Video apps main window size, which makes for nicer viewing.

Posted in Uncategorized | Leave a comment

What’s on the Menu today

I have been busy working in the background on improving AstraNOS. For once I have added a new Editor based on ACE which will allow you to edit plain text, as well as source code.

ACE itself offers a high level of functionality to the application, and as such you can now enjoy syntax highlighting, code folding and much much more.

All the major programming languages are supported and you be able to write source code the way you’d expect, with the editor tools you know and value.

What is missing of course is the integration into the not-yet-existing development framework fro AstraNOS.

I have also received some fine feedback about the TaskBar which was coupled to a request to change the look and feel to be more … well … more in line with existing metaphors.

NewTaskBar1

And just in case you forgot how the original TaskBar looked, here is a image for comparison.

OldTaskBar1

And finally to see the editor and the TaskBar together I will show you another screenshot

NewTaskBar

So what’s next on my list. That is an interesting question, and I am loaded with work. I have been playing with the mobile version of Qooxdoo and am currently porting the editor to the mobile version and packaging it with cordova in a nice Android like fashion.

My goal eventually is to be able to program while I am on the go. I have some great ideas when I am sitting at the beach or am away from my computer in general. So having the ability to convert these ides offline into actual code and then sync it with AstraNOS is a powerful tool to have.

Posted in Uncategorized | Leave a comment

Don’t wine for me

I am getting ever more excited about our upcoming trip to the Outer Banks in NC. One of the nice things about vacation is that you actually have time to work more on the things you’d like to work on ….

wine_at_the_beach

Except of course if you are stuck at the beach all day with no WiFi or other means of accessing the internet. To make matters worse you can also forget about the evening hours which you will gladly spend eating, drinking, and hanging out with your family.

But wait you say, don’t you have a tablet which you can use offline?

Well; yes and no.

Yes I have a 7 inch nexus and I can use it for reading and writing offline but I can’t really use it for programming at the moment. That would require either a internet connection or a fully integrated app which works offline just as well as online.

Come to think of it, this is exactly the type of app I wanted to get started for a long time in AstraNOS.


codebox

The first step though was to get the framework up to the latest version in order to take full advantage of all new feature for Desktop, and mobile versions.

So I went ahead and upgraded AstraNOS to version 4.0.1 of QooxDoo over the weekend.

I also started to integrate the mixed mobile/desktop framework into place. This piece will take some more time to finallize, mostly due to me trying to figure out how to best integrate Cordova into the mix such that you can actually install AstraNOS on your mobile device.

cordova_bot

Granted, there is a lot left to be done however I am progressing quite nicely on the login page, which should eventually become the first mobile page to work in/with AstraNOS.

Posted in Uncategorized | Leave a comment