A chatroom application that allows for sharing files : ChatTabs



  • Hi

    I'd like to present you something we developped for our internal needs : "ChatTabs"

    While working, we wanted to chat and share various files at the same time, be it documents, images, links, etc.
    Also, we wanted to set up some kind of filters, so that we're not annoyed by various messages we're not interested in.

    The following application has been entirely developped in Qml under the Zeecrowd platform.

    As such, there's a "usual" chatroom for several participants, with the option for each one to create a new tab (usually meaning a new discussion topic)

    !http://3.bp.blogspot.com/-UNzXkwHmEXc/UsVTensl59I/AAAAAAAAACY/XU0aEkdvdzU/s1600/NewTab.jpg!

    One can share a local file, and every participant can visualize it by clicking on it.

    !http://4.bp.blogspot.com/-x8FKGQ3CFdQ/UsVV-fB5A1I/AAAAAAAAACs/hFzWRN_3Az0/s1600/AddDocument.jpg!

    One can also paste an url, and the participants can visualize it through an internal browser.

    !http://2.bp.blogspot.com/-CDi3-LFk1r0/UsVV-LDYs5I/AAAAAAAAACo/ZBnxvq-luxM/s1600/Web.jpg!

    If there's already something in my clipboard, the "Paste" button adds it in the chatroom and knows if it is an image or a text file.
    That's how we exchange logs and screenshots.

    !http://4.bp.blogspot.com/-unWAtYXYFA4/UsVV99JI7DI/AAAAAAAAACk/pPva_zj3nMY/s1600/clipboard.jpg!

    There's still quite a bit left to do (mainly design wise :-)) but we already have the basics for a chat application that allows for sharing resources.
    We're lucky enough that we did not spent that much time to write that first version (only a few days).
    Now we're wondering if we should make the source code available for all in github and let it grow in that community :-)

    Is this something you would be interested to see ?

    Best regards



  • Hello,

    We've just put ChatTabs sources on gitHub : "ChatTabs":https://github.com/zeecrowddev/ChatTabs
    The source code has been made available under the BSD licence. If you would like to contribute, then by all means do :)
    We've just uploaded the code as is, bear with us for now because quite a bit of refactoring is in order.

    Also, not all Zeecrowd's API have been documented on our website yet, we're in the process of setting up everything.
    We've already uploaded a simple Hello World tutorial to get the gist of the API, and everything's in place to create the necessary .rcc and .cfg files.

    Feel free to help us improve the application, and of course feel free to come to us for any questions or more details.

    Thanks

    Pillow



  • Hello,

    Quick Update : We've updated the ChatTabs application and given it a small relooking. We're still using the Qml elements for the application UIs :-)
    The following schema illustrates the changes.
    !http://2.bp.blogspot.com/-wLyrC2FHReM/UvjE0J-Qx1I/AAAAAAAAAFQ/EiWskGzEwWQ/s1600/GlobalView-en-small.png (Relooked ChatTabs)!

    The code is still available for everyone interested in it on "GitHub":https://github.com/zeecrowddev/ChatTabs
    Any contribution is very welcome :)

    Also, we've added new tutorials to showcase how to share a model in Zeecrowd, you can find it "here":http://www.zeecrowd.com/en/developers/tutorial/400

    Thanks for reading,
    Pillow



  • Hey thats a very cool app! It seems incredibly useful.
    I have one little question about apps started in QML: is it possible to embed this is a c++ application?



  • Hello,

    As far as Zeecrowd applications are concerned, you can write and use your own c++ libraries inside the qml app. "See here":http://qt-project.org/forums/viewthread/36445/

    As for the more broad Qt-related question : can you use Qml in c++ application ? Absolutely. Qml and C++ can be integrated into one another pretty easily.

    Our platform is exactly that. Written in C++, we then embed Qml applications, which can use C++ libraries and plugins.

    Pillow



  • Hi,
    your application looks really cool ,we are currently interested in something similar that can work both on PCs and mobile devices.Have you thought of compiling your app for android and ios?If so I would appreciate it if you shared as this looks like a good starting point.

    Keep it up!



  • Hello musimbate,

    Thanks a lot for the kind words :)

    At the moment we're actively working on having the platform compile and run on linux distributions.
    In fact, a few days ago we manage to have it compile and run and linux, and this got us so excited we made a quick announcement about it on our "website :)":http://www.zeecrowd.com/en/page/405/zeecrowd-soon-available-on-linux-android-and-osx-are-next
    From there, our roadmap will be

    • Linux
    • Android
    • Mac OSX
    • iOS
    • Windows RT

    We will be sure to keep posting about our progress for all these major steps.

    Pillow



  • Hi,
    First ,please excuse my ignorance as I am no qml programmer(at least yet) .

    I tried to run your project (from github) on my setup:
    Windows8
    Qt5.2(msvc2012_64_opengl)

    and it is giving errors like:
    @

    19:14:26: Running steps for project ChatTabs...
    19:14:26: Starting: "C:\Qt\Qt5.2.1\5.2.1\msvc2012_64_opengl\bin\qmake.exe" D:\ChatTabs-master\ChatTabs.pro -r -spec win32-msvc2012
    RCC: Error in 'D:\ChatTabs-master\ChatTabs.qrc': Cannot find file 'Views/ResourceViews/AddFromLocalDrive.qml'

    RCC: Error in 'D:\ChatTabs-master\ChatTabs.qrc': Cannot find file 'Views/ResourceViews/AddWebView.qml'

    @

    Could you please give more specific instructions on how to get it built?
    Could not make sense of what you meant by:
    @

    Cf Build directory

    set NAME=ChatTabs
    set RCC= C:\Qt\Qt5.2.0\5.2.0\msvc2010\bin\rcc.exe
    set SRC=..
    set OUTPUT=..\Deploy

    IF NOT EXIST %OUTPUT%. md %OUTPUT%

    copy %SRC%%NAME%.cfg %OUTPUT%
    %RCC% -threshold 70 -binary -o %OUTPUT%%NAME%.rcc %SRC%%NAME%.Debug.generated.qrc

    @

    Again ,please excuse me if this is obvious ,I am interested in your work and if it meets our needs ,We are willing to bring a qml guy on the team to contribute based on your work.[Plus you re the builder and the best person to ask questions about this project :-) ]

    Thanks.



  • Hi,

    The small script we display on the home page of the GitHub's repo is the script to build the app. It is present in the folder Build (file build.cmd) and will generate the .rcc. You may want to update your repo, I commited a fix for the build yesterday.

    But to your point, here's some details about ChatTabs.

    It's one of the applications we developped for our internal needs, on the Zeecrowd platform.
    Zeecrowd is a collaborative platform where various collaborative applications are made available for people to use. Applications written in Qml :) See more about Zeecrowd directly on our "website":http://www.zeecrowd.com/

    We have an API that allows developpers to write their own applications to use on the platform and make them available on the Zeecrowd's store. We're currently writting tutorials and making videos to showcase the functionalities and power offered by the API, feel free to check them out on the "developer area":http://www.zeecrowd.com/developers/.

    ChatTabs in one of these applications, so in that sense please be mindful that it runs specifically on the Zeecrowd platform. It can't run outside of it, as is. And tutorials explain how to integrate a qml application into Zeecrowd using the API (see previous link for all tutorials). That's where the build.cmd file comes in play.

    I'm happy to answer any follow-up questions :)

    Pillow



  • Thanks for the reply ,
    ChatTabs sounds compelling ,but we are not willing to deal with something specific to any other platform.Just Qt/Qml and standard C++.It has to be integrated within our currently working application.

    Will sure visit your website to steal some ideas ;-)



  • Hello all, quick updates on the addition of new features :)

    Regarding the WebView associated to the application :

    • Addition of the usual buttons Backward/Previous and Forward/Next
    • Now displays the URL for the current navigation
    • And offers the option to send the current URL directly to the chat for sharing purposes

    !http://4.bp.blogspot.com/-yPRhjjOr9f4/U11xdtEJjXI/AAAAAAAAAIA/uHyFdwQOnWk/s1600/ScreenShot384.jpg(screenshot)!

    The image viewer also underwent improvements with

    • Option to download the current image directly on the local hard drive
    • Option to paste the image into the clipboard

    The download part is handled by Zeecrowd's API, as for the clipboard and the webview, we use the Qml object QClipboard and expose more of the functionnalities of the WebView.

    !http://1.bp.blogspot.com/-YhnxxKjeHaE/U11w7mKMgTI/AAAAAAAAAH4/ddlvBSptbeg/s1600/ScreenShot383.jpg(screenshot)!

    Pillow



  • Hello

    Quick update on the ChatTabs application.

    It is now possible to grab part of the screen inside a WebView. Once done, the selected area becomes an image that is automatically added to the chatroom for everyone to see.

    !http://1.bp.blogspot.com/-Bihr1f-A6I8/U3kokK3PPOI/AAAAAAAAAIs/tlwRPFrgiD0/s1600/ScreenShot411.jpg(screenshot)!

    Also tried the website generator of GitHub. The web page updates automatically (which is nice !) so "here's a first try of the feature":http://zeecrowddev.github.io/ChatTabs/

    Pillow


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.