Welcome to the OpenShift Developer Spotlight where we try get to know the members of the OpenShift community a little better. Interested in being featured? Apply here.
View the Developer Spotlight page to see past entries and the Application Gallery to check out the cool apps the OpenShift Community is building.
Name: Edoardo Schepis
Hometown: Milan, Italy
Twitter and blog: @edschepis / http://edschepis.net
Primary development language(s): Java
Technology you're most interested in right now: Cloud, JEE6, Android
Application currently hosted on OpenShift: openvoters.org and its implementations: votoio.it and papabi.li
Technologies used: JavaEE, JBoss AS 7, Infinispan, REST, MySQL
What's it do?
Open Voters is an open source platform to build online voting services. With Open Voters you can build from scratch an end-to-end service to post questions and collect answers for any poll you have in mind. Do you need to know more about the opinion of your customers? Would you like to make some instant polling on specific topics? Some examples are: voting intention, customer satisfaction surveys, opinion poll on hot topics (social, politics, sports), instant polling and voting in TV shows.
Open Voters provides some libraries you can use to build your polling or voting services. A server library and several libraries for mobile applications. We are building iOS, Android and Windows Phone libraries ready to add voting/polling service to apps or to build a new mobile application for a brand new polling service idea. First two implementations are:
- votoio: voting service available in Italy to share the intention of vote for Elections 2013 - http://votoio.it
- papabili: voting service live worldwide to share your favorite candidate for the Pope elections - http://papabi.li
More in-depth Open Voters architecture is covered under: /openvotersorg-makes-voting-services-open-easy-to-build-and-mobile-ready
What motivated you to create the application?
I like the idea that polling and voting services should reach a lot of people and shouldn't rely on statistics science that, in many cases, is error-prone: forecasting is hard specially in new environments with no historical data. I'd like the idea that anybody can easily build such a kind of services and provide the capability to vote or answer polling questions from cellular phones. Main technical characteristics of Open Voters are:
- First of all is open source and everybody can see how it works and verify the underline mechanism.
- It is mobile ready: client libraries are available for iPhone and Android and it's very easy to build mobile apps or add voting capabilities to existing mobile apps.
- performance on server side is another great add-on: thanks to in-memory cache Infinispan collecting the vote and providing results is a very fast task.
- reaching voting services API is easy and open: openvoters REST A PIs for all the main operations gives the freedom to interact with the server from any client just with a http request.
What are the most compelling features of OpenShift?
It's very easy to setup and build an online server. It provides enough gears to develop and test significant use cases and not so trivial applications. Openshift leaves me the freedom to choose language, frameworks and middleware runtimes and doesn't force me to use any specific API neither frameworks: my skills are still valuable and I'm not forced as a developer to invest in new skills. It's integrated with Eclipse and I like the fact I can work on my favorite IDE and at the same time I can deploy the app in the cloud. It's great that Openshift hides all the bits of the underline platforms leaving me the ability to focus on the application I want to develop.
What are some features you'd like to see in OpenShift?
I'd like to have a multi-user feature in order to be able to work with my team on the same application without sharing the same account and in a collaborative and distributed environment. I'd like to have more monitoring featrues for middleware and for my applications: metrics, probes, alerts for both middleware runtimes and applications.