Here at virtual7, we’re living the ORACLE way with EXPERTISE and PASSION. This is our motto and this year’s virtual7 conference showed us the reason why. Throughout the duration of the conference, the virtual7 employees have benefited from workshops, presentations and lots of fun!

But how could the conference experience be enhanced by technology? This was one of the questions that triggered a thought: what if we build an application to support the conference and allow employees to book their participation on presentations/workshops, but also allow them to provide feedback?

Feedback is one of virtual7’s key tools. We always use it to improve ourselves. So, I started to think about how we could build an application, which would cover all the above mentioned criteria. One of the main issues for me is the time I must spent for building such systems. I aimed to not waste too much time on it because I am involved in other projects, where the customers depend on me. With this in mind, I’ve decided to do a client based application, mainly in JavaScript, supported by a very small server application that provides the data about conference presentations and persist the employee participations and feedback.

Therefore, my back end model had three tables:

  • PRESENTATION
  • FEEDBACK
  • PARTICIPATION

And the following REST services:

  • getAllPresentations
  • getUserParticipations
  • removeParticipation
  • addParticipation
  • addFeedback

I created the server side with EJB and JAX-RS, which was the fastest way for me at that moment, but could have been possible also with ADF BC.

However, the biggest part of the development was left to debate: what technology should I use for the client?

My main target was to have a very low effort, which led me to two possibilities: Angular2 and Oracle JET. Because I don’t have too much experience with Angular2, I was thinking of choosing Oracle JET. By using Oracle JET, I’ve estimated that the duration of development would be 2 days for both the client and server sides. However, I wanted to check with someone with experience in Angular2 if this application can be developed faster. The answer was at least one week. Comparing these two estimations, I’ve started to think: why is it such a big difference between them?

The answer came naturally to me:

  1. Oracle JET provides a ready to use project template;
  2. Oracle JET provides responsive design components, CSS classes and media queries utility classes to run the application in mobile device browsers as well on the desktop browsers;
  3. Oracle JET provides a comprehensible list of components which are mobile friendly, comply to WCAG 2.0;
  4. Oracle JET provides a cookbook, this is very well thought and very handy to have a quick “launch” of your application;
  5. Oracle JET has the necessary tooling to support developing, debugging and testing the applications;
  6. Oracle JET provides all that is necessary to quickly develop an application;

And guess what? – I’ve finished it in 2 days and a half! The small delay was due to marketing’s request of some necessary “final” adjustments.

After the conference, all 80 employees from virtual7 used the application to have a better conference experience. They provided 90 feedback records, which have been split in 3 categories: style, content and presentation/lecture.

Below are the screens from the virtual7 conference planner. The home screen uses a tab component to split between the 3 streams we had, a time line component showing the presentations and a day filter.

conf_pic01

The timeline component was very easily adjusted to display horizontal if used in large screens or vertical if used in small screens.

conf_pic02When the user is clicking on a presentation, the application responds with the presentation details:

conf_pic03For sure, we had an Oracle JET workshop in our conference because we want to train as many people in Oracle JET.

The detail page allows users to see information regarding the presentation, but also to book their participation and provide feedback. Here is the mobile version of this page:

conf_pic04

During the conference, it was useful to have a list of the booked presentations, which was done by using a list view component.

conf_pic05

And the mobile version:

conf_pic06

When clicking on one of the items, the user will see again the presentation’s details, so that he/she can provide feedback as fast as possible.

The last feature of the virtual7 conference planner was the plain contact data:

conf_pic07

If you want to have a look on the virtual7 conference planner, you can download it from here. In order to be able to run the application, I’ve attached some dummy JSON files to the project, like this you will not need the server side application. You just have to open the project in NetBeans and run it, it’s that easy!

A big THANKS to all the virtual7 colleagues for the well done virtual7 conference-2016!

conf_pic08