The NMR Project

Introduction

Do you think Cloud computing, mobile apps, Smartphones, Social networks and Blogs are all new technologies?

In that case, you have missed the NMR project, which was released in its first versions 1989.
It then already had services now seen implemented by Twitter, Flickr, Google, Facebook and others.
It didn't have a search engine, and didn't compromize people's privacy though.
Now, 2012, after a couple of years of idling, a new development cycle of NMR has just begun.

To avoid getting my ideas stolen (again), I'll just present some of the features of the "old" NMR project here. The main reasons why I do it:

Only very little will be mentioned about the next generation of NMR.

Implementation

NMR is a server based platform. Originally, it was connected to clients both via TCP/IP and serial modems, but the latter can now be considered obsolete. For TCP, Berkely sockets was used, Hayes AT-commands was used for modem control and in just a few services UDP and RPC had to be utilized. The operating system was first Unix (SVRIII, SVR4, SVR4.2), then ported to Linux at the end of 1990's. Revsion control system was SCCS (Source Code Control System) initially, then Subversion (SVN). The NMR specific protocols and a system specific control language was implemented through Lex and Yacc.

The clients were typically mobile phones or PC computers. The PC:s connected via a web browser while the mobiles first used DMS signalling (the first generation of mobile phones used the NMT system), then WAP through GSM or GPRS. NMR could also send text messages to pagers or call mobile or stationary phones to play up voice messages. DTMF tones could be used to control the NMR system via ordinary phones. Later when phones became more and more connected to the Internet, NMR was upgraded to provide multimedia based services also.

The Name

NMR is short for NIL Mail Router. NIL is for "Nihilism" based on my company name, Nihil. The Mail part is a bit misleading, it is sometimes replaced with Message, but the original purpose of NMR was just to allow e-mail to be read on the NMT mobile.

Functionalities

As mentioned, NMR hosted lots of services which quite recently have been re-invented by others. A summary follows here. If you understand Swedish you can also find the orignal manual pages here.

The services provided by NMR were targeting small companies (as mine) and private users. And private also means privacy, as a total contrast to nowadays privacy intruders. NMR kept all information private and didn't mess around with it!

Services

The following services were provided in the old version of NMR. Some of them were available directly through the common main menues, while others were dedicated services reached separately.

Source Code

Source code is written in pure C, which is one reason the NMR system was so efficient. Even the database was a home brewn C implementation with its own API. Code quility and Style Guide adaption is very important to make a system managable for such a long time.

Problems

A few problems and lessons learned throughout the development of NMR:

Developer

The NMR system was developed by Rein Ytterberg in Lund, Sweden View Rein Ytterberg's profile on LinkedIn
The development team for the New Generation of NMR is also mainly located in Sweden at the moment.


Copyright © Rein Ytterberg. All rights reserved.