Upload
sarang-jiwane
View
78
Download
2
Embed Size (px)
Citation preview
Dreamwares Recent Projects
Our recent projects include:
Online editor using Google App Engine + Python
A famous VC from Australia wanted to build to build an online editor using Google App
Engine(GAE) and Python. The desirable features included:
1. Create, edit documents online.
2. Share the documents / folders with friends.
3. Allow various kinds of sharing rights.
4. Maintaining various versions of the documents and being able to restore an earlier version.
5. Creating documents before logging in and saving after logging in.
6. Support Google account login as well as own registration.
The entire application was built by our team and is almost completed now. Some of the key challenges
that were overcome include:
1. The administrator wanted to be able to modify all the static files and images, header and
footer from the backend. However, GAE does not allow the scripts to write on the file
system. So one cannot create / edit a file through code in GAE. So a special architecture was
created which solved this problem and allowed the administrator to upload, edit and delete
all such files.
2. Client wanted to use TinyMCE as the editor and provide file and image managers so that
users can insert existing documents and images in the new ones. Existing file and image
managers of TinyMCE are designed to work with usual file systems, which does not exist in
case of GAE. All the documents and images were stored in database. Also no such plugin
was available for python. So we created special file and image managers for TinyMCE, in
python, that could work with GAE datastore.
Digital Content Management System using Amazon Web Services
(PHP)
A Rich Media Distribution company wanted to build a complete digital content management
system for tour operators and distributors. The system would allow them to manage all their digital
content, i.e. images, brochures, videos, from one place. They system would allow the users to:
1. Upload images, brochures and videos and manage them.
2. Create galleries using their as well other’s content.
3. Embed their galleries in their websites.
4. Manage their content from client portal as well as their own portal.
5. Geo-tag their content.
6. Add logos and watermarks to videos.
7. Customize the appearance of galleries, slideshows and video player.
8. Display their brochures as flip books.
This project presented some unique challenges which were overcome by us:
1. Users could upload videos upto 2 GB in size. Each video was converted to different forms for
preview, streaming and download. Since user cannot be kept engaged for so much time, all
the processing was done behind the scene. Queue was used for parallel processing. Strong
measures for taken to make the system robust.
2. The EC2 instance used for video processing was dynamically loaded and shut down when all
the processing was done. Since different uploads from different users were supposed to use
the same instance, the status of processing was shared between the instance and the
controlling server.
3. Users should be able to directly upload / download files from S3. However, unauthenticated
access to the same had to be prevented.
Bulk Processing on Microsoft Azure
One of our clients, who earlier owned an INC 500 company, came up with an innovative product
that offered us many challenges. Similar to the Digital Content Management system, this required lot of
background processing. However, this time the challenges were more related to Azure:
1. Some part of the background processing required using a Win32 native DLL. This is not
directly supported by Azure. After lot of efforts, we reached close to the solution but still
could not get it running due to lack of documentation in this regards. Finally some
developers from Microsoft guided us and we succeeded in getting this running.
2. Azure offers a storage called Blob to store big files. To store big files, we need to split the file
into chunks and upload in chunks. This is usually done by client applications installed on user
machines. But we needed to upload the files from the browser without any special software
installation (except flash). So we built a special system where the files were split into chunks
on the client system from within the browser and succeeded in uploading big files to blobs.
Salesforce & Force.com
We have the experience of customizing salesforce as per the needs of the customers. We arealso developing a Force.com app for an INC 5000 company. We have good experience in apex, visualforce, force.com IDE, integration of salesforce with other web services, data import / export, etc.