terça-feira, 10 de fevereiro de 2015

v1.2 - Eventpic Server + Eventview

Google App (v1.2)

-No Changes


Frontend (v1.0)

-No changes


Eventpic Server (v1.1)

-Now uses cache for the static configuration (less DB accesses)
-Licensing was stopped


Eventpic Backoffice (v1.0)

-No Changes


Eventviewer (v1.0)

-Now uses local disk to store images. It won't retrieve images 2 times anymore.
-To delete all images, a restart of the application is needed. This was made to clear all the used up space.

First Live Test (Encanas)

First live test was made on the 7th of February.

Arquitecture:

-1 EventViewer
-1 Eventpic Server
-1 Raspberry

First approach:

Raspberry has been installed with wheezy.
-Apache, local http server
-Mysql, local database
-Eventpic Server

Raspberry was installed to receive all the information from the clients and store the images from them.
EventViewer uses the WLAN connection available on Encanas to connect to the raspberry to retrieve the photos.


Problems:

1 - Backoffice needs to have thumbnails from the pictures. These thumbnails are generated using ImageMagik when a pictures is uploaded.
When a pictures was uploaded, raspberry needed at least 5 seconds to convert each image. Since raspberry only has 1 CPU core, the system was hogged and the Eventviewer was unable to retrieve images from it

2 - When a client uploaded the image, the Eventpic server was unable to reply to the requests from the Application, leaving the Auto Configuration feature completely useless. There were pictures taken that weren't sent to the server, rendering the service unuseable.

3 - By analyzing this situation, I came to the conclusion that the raspberry stopped answering for requests since the processing power we were requesting, was clearly higher than the one provided by raspberry.

Temporary Solution:

1 - Stopped converting the thumbnails

2 - Redirect the requests to a more powerful server

3 - Replace raspberry by other machine


Decision made:

-I've decided to keep raspberry as eventpic server and background image + image button server.
-Remove Mysql from raspberry
-Decrease the usage of the WLAN connection by caching all the configuration
-Change Eventview to use cache

v1.2

Google App (v1.2)

-Added filters
-Added self-configuration of the application (layout)
-Added "Manage Pictures". At the moment you can only see them, not delete them
-Added local server to receive configuration (incremental) on the fly
-Decision to develop this App for Iphone

Frontend (v1.0)

-No changes


Eventpic Server (v1.0)

-First draft, development in C language
-Generates JSON replies to the Application with the correct configuration
-Configuration made by Database (mysql). Possible database configurations are:

  • Remote Server
  • Background Image
  • Background Color
  • Start Button Image
  • Upload Script
  • Upload Directory

-Database polling is 1s (hard coded) to check for DB changes
-Added first draft for Licensing using curl and crypto

Eventpic Backoffice (v1.0)

-First Draft
-Added pictures-all.php filter
-Added graph to contain rejected/auth stats


Eventviewer (v1.0)

-First draft
-Remote configuration made by Eventpic Server
-Added fading effect when changing pictures
-Decision to keep this App for Android Only

v1.1


Google App (v1.1)

-Changed the screen layout
-Now application is full screen
-You can now take pictures without worrying about the rotation. The app will correct the rotation and send to the server on the correct order.


Eventpic Frontend (v1.0)

-Changed the way that the pictures were shown
-Added CSS to display the images to automatically fit the images on the screen
-Changed javascript code to improve the speed

v1.0

Eventpic v1.0 available for download on Google play.
-The app has a limitation for phones over 4.0.3 and up.
-The app is only available in Portugal

This version was made as a proof of concept. It featured only a button for the camera to start and upload of the images to a server (PHP). The app itself did not have any kind of image treatment at all.

The proof of concept was successful when used at home with friends, on a birthday. The sample was made by 20 people, 15 had android phones and 5 had iphones.
From the 15, 6 installed the App voluntarily.