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:
- To give feedback to those who are familiar with the NMR system
already, and wondered where it went
- To provide some basic information to people who intend to work
with the new generation of NMR
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.
- Alarms and Triggers Users could tell the NMR system to
either trigger incoming information through TCP or UDP, serial ports
connected to modems or incoming SMS messages. NMR then took a
predefined action. For example, a mobile user could register an
emergency number when called NMR. When the signal arrived, NMR sent
a message or called another person who could help the caller. An
advanced call chain could be set up including confirmation requests,
audible or texted instructions, logging, emails and so on.
- Blog Works as nowaday's blogs although this term wasn't
invented by then. Blogs could be followed on mobiles, PC:s and pagers.
- Bookmarks By registering URL:s in the NMR, the bookmarks
could be found from any device and place.
- Calendar This was one of the key functions, which was
heavily integrated with the meeting service and contact register.
It handled time zones in a smart way, since it allowed the user to
specify locations to each event. If the user travelled to other time
zones, alarm times were updated accordingly.
- Contacts Most mobile phones and cloud services today also
provide contact registers, but NMR had some extra features. It allows
free text search on any fields, additional information such as notes
portal codes, red-letter days, availability information, routing of
incoming messages and probably best of all, allowed users to register
contacts as organizations (not just as individuals). It was also
possible for users to link their own contact information to other
users, so when a user updated his/her personal contact information,
the changes immediately propagated trough all the links. This way only
one update in one place was necessary. And of course, contacts could
be forwarded as vCards when that standard arrived.
- Diary Diaries could be used by the users for many
purposes. They could be private, open to individuals or groups and
be used as work logs etc.
- Document Server By keeping documents on the NMR server, users
could retreive them any time or forward them to specific destinations.
Later when graphic capacities got better on the mobiles, you could also
view document on them.
- Driving Journal A very handy service for people who need to
keep track of the mileage they have driven. Of course there was no limit
in how many cars the users could have, or which transportation methods
were possible. The log entries could be marked in categories and later
listed through the PC browser or sent in to the user's employer for
reimbursement.
- Education NMR included an on-line training system, too
large to be presnted here. In short, it allowed users to study via
their mobile phones, compete with other students and do online
tests. It also allowed several teachers to assist students, also
from different time zones.
- Email NMR could be used as an email gateway, allowing users
to read and write emails via the mobile phone. No big issue today.
- Fax NMR users could send fax messages from their mobile
phones. Normally, they first uploaded their fax forms with logos to
the NMR server using a PC. Then they registered their contacts in the NMR
database. When they then wanted to send a fax from their mobiles they
just had to select the receiver and enter the message. NMR took care
of the actual transmission. A Swedish mobile phone manufacturer got
very impressed by this technology, so they decided to add a separate
Fax button on their phone which led directly to NMR. Probably this was
the first mobile fax client in the world.
- Logging Bird watchers, hobby astronomers and others could
use NMR for logging and sharing their observations. Photographers
could comment their pictures when capturing them.
- Meeting Management Via NMR, it was very easy to set up a
meeting. Agenda points could be added and shared any time before the
meeting, participants could be invited easily, notes and action points
could be added directly through the mobile. After the meeting all
attendants immediately got the protocols and their action points were
sent to them via email or merged to their administrative systems.
- Messaging Message passing, filtering, conversion, broadcast,
triggering and forwarding was very flexible in NMR. The system handled
many media formats and device types (email, printed mail, sms, text
pagers, fax). Messages could be sent to and from individual users
or machines. Almost any information already stored in the NMR server
could be sent (for example, notes, documents, images, contact info,
driver journals etc). Messages could also be scheduled.
- Notes Still today, many mobile phones don't open a simple
text editor quickly enough. NMR was ready to take a note any time and
just save it. Later, the user could decide what to do with it.
- Parking In the simplest form, this service just reminded
the user where he left the car and when it was time to move it or
add money to the meter. But in a more advanced form, a car-park
company could utilize NMR to let their parking lot visitors buy
tickets on-line.
- Personal administration Health management (training,
medication), hobbies, shopping and dozens of other common activities
could be maintained through NMR.
- Photos and Videos No, YouTube wasn't first, nor was Flickr.
Apart from storing and sharing photos and videos, NMR also allowed
users to connect webcams which could be monitored by the user or anyone
who got a share. This feature was also used for guarding particular
sites to avoid theft, damage or intrusion.
- Remote administration During 1990 I had lots of customers
running Unix based servers which I was responsible for. Thanks to NMR,
I could control many of these servers directly from my mobile phone.
- Small company services Several NMR services made life easier
for small companies. Employees could log their activities, download
work related information, report failures and exceptions.
- SMS Besides just sending and receiving SMS messages, NMR could
convert incoming SMS messages to emails, pager messages or DTMF. It could
also take specific actions depending on the sender and content. For example,
you could send an SMS to NMR, instructing it to send your price list to
a particular receiver, or order pizza through it.
- Travel Planning Several travel profiles could be set up, to
make travel planning easier.
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:
- Theft A very boring fact was that lots of people wanted to
make NMR "their own", without paying for it. For example,
a company in Sweden, used it to make a
Mobile for hearing disabled which basically was a chat system
between Nokia 9110 communicators and the NMR.
This guy took all the credits for the invention.
- Operators During the WAP era, operators did their best to stop
innovations by forcing developers to use their specific solutions to
communicate with the mobile devices. If you didn't do this, you couldn't
retreive necessary information from the device which meant you had to
ask the usre to enter account information before each session.
Temporarily, operators have lost the fight, but they will soon be back with
their dirty hands. For example, the Swedish operator Telia is about to
block Skype and similar services.
- Marketing Develop a product is nothing compared to marketing it!
The next generation will focus on this aspect!
- I18n Localization used to be more or less impossible before
smart phones arrived. In particular, the support for Asian character
sets used to be missing. This is much easier these days.
Developer
The NMR system was developed by Rein Ytterberg in Lund, Sweden
The development team for the New Generation of NMR is also mainly located
in Sweden at the moment.
Copyright © Rein Ytterberg. All rights reserved.