NODE in ACTION
Real Time News & Visitor's Geolocation
Enjoy GeolocationAIRCODE is going to ask your GPS position for a more interactive map experience.
Your data will remain completely anonymous, thus never shared with third parties.
- infoClick on the blue pods to see the latest news. News counts update as the news is published.
- infoLook for the white dot "." on the map, this is your actual position.
As with everything I like, I intend to share my enthusiasm with others! Talking about actual client development being excluded, the Node.map.news is a perfect fit for a little demonstration of Node.js capabilities.
In other words, Node has the ability to serve web pages with data in real-time, based on live occurring events. Information is delivered to you, quickly and effortlessly.
Let's cover Node's potential thru the example above: Node.map.news demo.
The idea is to reveal the real-time data delivery strength of Node. A never-ending flow of News seems to be a good fit for that, plus a few extras to spice up our demo.
1. You are asked to allow geolocation, the server will compute your position on the map.
2. The Node server sends you the latest news of the 6 countries spotted on the map.
3. Every pod News is updated as the news are published by their respective owners. You can click each News counters (news pods) and read the details on the News panel.
4. Press the "Previous visitors" button to see all the places where previous visitors were geolocated. No worries, data are stored anonymously, only rounded GPS coordinates and time are stored.
5. If you spend enough time watching the map you will be rewarded with one more example of Node natural key feature: event driven notification in real-time. A little sign will appear as other visitors connect to the application in real-time…
Well if you are in a hurry just ask a friend to connect to the website as well ;-)
For the beauty of the demo the entire website is 100% Node based, no Apache. File compression and file caching are all handled by Node with the help of the famous Express module.
1. We simply take advantage of HTML5 geolocation capabilities, send it to the server (anonymously), coordinates are saved in MySQL. In return the map displays your actual position. Computation is needed in order to convert GPS coordinates to a position on our news map, these calculations happen on the server side.
2. Node fetches the news feeds only once, with one API call for each country, then distributes the news to every connected visitor in real-time. Only last News are stored in Server memory. Minimum server effort for the broadest distribution of data.
3. Not All country news are fetched and send to visitors at the same time, allowing a constant flow of news. Each countrie's news is fetched per its own timetable, thus avoiding any chances of bottlenecks on the server side, and, the application looks more "organic" form outside.
4. Previous visitor's button requests the Node server to retrieve the last saved visitor position and displays the coordinates on the map. Again, all the points positioning on the map are computed on the server side to save the browser some extra work.
5. As new visitors connect everyone else will be notified with their position. Node's aficionados will surely guess the application uses the very convenient broadcast function from the socket.io module.
It is all about you!
At AIRCODE we like to think every complex problem is a stack of simple ones, and we like to solve each of them for you.
We believe clients should be provided with tailor made services. We recognise that each and every client’s business is truly unique and should be managed accordingly.
Tell us what you need or even dream of for your business and we will serve you with the right pieces of technology to achieve your goals.
Working with talented people is key to cutting edge project success. We have carefully selected our partners for not only their skills but their motivation to always come up with the best solution and enthusiasm to share knowledge allowed us to team up on a number of projects.
Feel free to contact us
We enjoy talking with people, writing articles, working...
Sending your email...