[GSOC 2012] Desktop Web Client For OI Apps

81 views
Skip to first unread message

Bhaskar Kandiyal

unread,
Mar 23, 2012, 8:50:14 AM3/23/12
to openi...@googlegroups.com
Hi all!

First of all an introduction, I'm a student doing my masters in Computer Applications from Delhi, India. GGSIP University (if it's relevant :P). I'm a Linux user since 7 years now and would love to help out in an open source project to give something back to the community.

I'm interested in the GSOC idea for creating a desktop web client for OI applications. I have an extensive experience in developing Android applications, although I do it mainly for fun and personal use and I've not released any in the public (planning to do so with my latest application though).

The implementation in my opinion would be better in a web browser rather than a separate standalone desktop client simply for accessing and managing OI apps as users don't usually want to install a separate piece of software just to do a simple task. Although it would be easier to develop a standalone desktop client ;) (if we rule out all the cross-platform headaches that is).

I have made a demo application called OIServerDemo (well, I couldn't think of anything else for now) (https://code.google.com/p/oiserverdemo/), you can checkout the source from here: https://code.google.com/p/oiserverdemo/source/checkout
For now, it just generates static HTML pages for OI Notepad's notes and serves them using a little HTTP server library. The interface for now is crappy but, well, it's just a demo app :)

Also, an .apk file is attached. Please note, it works only on Wifi (as it should and is well stated in the ideas page), so it won't work in the Emulator.

Please provide feedback and kindly excuse any bugs or lack of optimization and the crappy interface as I made it in a hurry :)

Cheers :)
OIServerDemo.apk

Bhaskar Kandiyal

unread,
Mar 24, 2012, 3:54:49 AM3/24/12
to openi...@googlegroups.com
Folks any feedback on this? I really want to hear your opinions so I can improve upon it and put it in my GSOC application.

Peli

unread,
Mar 31, 2012, 9:19:43 AM3/31/12
to openi...@googlegroups.com
Hi,

this is an excellent demo application! It worked right away, and I could see all notes and even access them individually.

If you have time left, you could display the note content in an input text field with a "Save" button, so that the user can modify the content through the browser. But even without this additional feature, it is a great demo!

For the application, do you have ideas how to implement the secure https instead of http? (could be important for OI Safe). (not that you have to implement this now, but describe how you would tackle this).

Peli

Bhaskar Kandiyal

unread,
Apr 1, 2012, 9:11:30 AM4/1/12
to openi...@googlegroups.com
Hi,

Thanks for the reply and sorry for my late reply.

I've finished adding the feature to edit the notes from the web browser, some minor interface changes have to be done. I'll push the code and attach the apk file when I'm done (shouldn't take long).

As for HTTPS support, yes I'm planning to add HTTPS support. The current web server implementation has to be modified to support SSL sockets and importing pre-generated SSL certificates. I would've implemented it in the demo but I have exams right now, so I don't have that much time :)

More details I'll add to my application :)

Thanks again, I'll attach the .apk and push the source to the repository once I'm done making the minor changes.

Bhaskar Kandiyal

unread,
Apr 1, 2012, 3:49:13 PM4/1/12
to openi...@googlegroups.com
I've updated the application and added a feature to edit the notes. I've tested it thoroughly and it works :)
Please find the apk attached. I've also pushed the source to the repository. Kindly let me know if it works as expected for you :)
I will also update my GSOC application mentioning the HTTPS implementation.

Cheers,
Bhaskar Kandiyal
OIServerDemo.apk

Bhaskar Kandiyal

unread,
Apr 5, 2012, 6:34:11 PM4/5/12
to openi...@googlegroups.com
Hi all :)

I've updated my application yet again, this is a complete overhaul that I was working on for a couple of days now.
Here's a list of features:

* Better web interface supporting stylesheets, jQuery and better HTML generation using templates
* HTTPS Support
* Better user interface for the application
* Fixed some minor issues

Source code can be found here: http://code.google.com/p/oiserverdemo/
APK file is attached to this and can also be found in the 'Downloads' section of the project (http://code.google.com/p/oiserverdemo/downloads/list)

I'd appreciate if you could  kindly let me know what you think. I've worked really hard on this one.

Cheers,
Bhaskar Kandiyal
OIServerDemo.apk

Bhaskar Kandiyal

unread,
Apr 6, 2012, 7:32:57 AM4/6/12
to openi...@googlegroups.com
Hi again,

Just an update, I've done some interface changes as well as some feature improvements, like configurable SSL and port numbers.
A force close issue on Google Chrome has also been fixed.

Attaching the APK file as well as some screenshots.

Cheers,
Bhaskar Kandiyal
screenshot-1333711462362.png
screenshot-1333711478023.png
screenshot-1333711507098.png
screenshot-1333711546799.png
OIServerDemo.apk

Peli

unread,
Apr 9, 2012, 4:43:37 PM4/9/12
to openi...@googlegroups.com
Thanks for the screenshots and the new apk.

I tested it and it works well.
* I could see the list of notes.
* I could edit a note.
* I saw the changed note on the device.

Suggestion for improvement: If "https" is selected, there could be a corresponding "http" page that simply forwards to the https page. Otherwise it is simple to introduce an error (by entering the IP address without "https" prefix) which is difficult to spot.

Thanks for this really nice and functional demo.

Peli

Bhaskar Kandiyal

unread,
Apr 10, 2012, 9:15:05 AM4/10/12
to openi...@googlegroups.com
Hi Peli,

Thanks for the feedback :)

I fixed the HTTP issue. Unfortunately, it's not the cleanest way, but it works. I couldn't find a way to detect a plaintext connection from a SSLServerSocket so what I did is, the application listens to an HTTP port as well as a different HTTPS port (both ports are configurable via settings). If the user connects using HTTP, he/she will be redirected to HTTPS.

The user is now shown only one HTTP URL to avoid confusion. If SSL is enabled then the user is redirected, otherwise it proceeds normally.

Cheers :)
Bhaskar Kandiyal
OIServerDemo.apk
Reply all
Reply to author
Forward
0 new messages