October 11, 2013

OMG, e-mail really is dying!

Now, I always and consistently scorned people who are saying that email is dead, but I am seeing my own use of email change and decrease quite rapidly lately. I am even thinking of entirely removing all email from my mobile devices. But then I would miss quite a lot of conversations that occur via email, so I haven't done so yet. 

Conversations, that's the key word if you ask me. It is the main purpose of all social media. E-mail is quite bad at conversations, in spite of all the innovations done by, for example, Google. E-mail is not designed for conversations in the first place, and that's what is causing it's (slow) death. 

E-mail dates back to the 70's (if you're interested, you can read about the origins in this wikipedia article). The original idea of e-mail was to, well, mail a message to someone else electronicly (hence the 'e'). I got introduced to e-mail myself around 1994. In those days, the internet did not reach into people's homes yet, but ended at big organisations such as universities and research institutes. So you could only be sporadicly "online".

Of course, there was no twitter or facebook in those days. The clunky mobile phones were hardly capable of doing anything else than making phone calls. Hell, the World Wide Web - which we now lovingly call "the web"- had only been conceived just a few years before I got online. 

Nowadays, our beloved web has reached into our very pockets. You can be online all the time. The web has become a close and ever present companion. And it is very hard to think of life without it, although I do remember being able to function without it quite well. I managed to complete my entire education without it, can you imagine? However, in spite of those memories, I got addicted just as much as you do (oh come on, admit it).

What I came to depend on most of all, is the ability to easily reach other people. It is the first thing you start to miss when you are offline for more than a few days (or hours or even minutes, depending on your date of birth I guess). So being online means being in contact with other people on the web. 

E-mail has provided us with one of the first means to be in contact with other people. It became the defacto way of communication between people over the web. Until social media entered the stage and captured the audience. You could argue that e-mail is social media, but let's not. What we came to love about popular social media such as Twitter, Facebook and the relative new comer Whatsapp, is the ability to start and join in conversations.

Like I said above, e-mail is bad at conversations. I praise Google for rejuvenating e-mail by enhancing its conversation abilities, but it is still just e-mail that smartly groups your e-mails such a bunch of separate e-mails look like a conversation. 

In the first sentence of this post I said that my use of e-mail is changing. What I mean is that I am letting go of all those formalities that we use in e-mails. Especially when my mails are directed at people I know well. These are informal e-mails. In such e-mails I leave out the hi and the cheers, et cetera. I also omit my name altogether, because it is already obvious from my e-mail address. It is just too much trouble to keep typing them. If you receive such e-mails, don't feel insulted. The sender implicitely says hi, and 
implicitely says cheers.

By omiting all the formalities, my e-mails become very short. When sent from my phone, I even use lots of abbreviations as well. People around me do the same thing. The effect is that my inbox is littered with "conversations" that contain just one or two sentences. And the latest trend is to only use the subject-field of e-mails, and leave the e-mail-body entirely blank, which means that the smart grouping of e-mails such that they look like conversations won't work anymore.

Do you see my point already? For such interactions, we should not be using e-mail at all! Out of sheer habit, we keep using e-mail for something it is not designed for. I should stop using it for all informal communication, which is most communication. And that's the reason I am seriously thinking of removing e-mail from my devices. E-mail really is dying. Honestly, I would never have thought I would ever say it and believe it, but I really do.

March 18, 2011

Early adopters: losers or heroes?

When a new technology, gadget or device, which I will refer to as "thingy" from here on, comes into existence, it must manage to enter the hype cycle. Otherwise it won't get noticed. It's creators will need to convince other people to use this new shiny thingy. I am not talking about beta testing. We are already past that stage. The thingy needs early adopters. The thingy needs an army of zealous thingy evangelists.

So, the thingy's makers - or rather, the thingy's investors - need to convince a fairly large group of people to use the thingy and tell the world how incredible the thingy is and how it has changed their lives. People like that usually are not hard to find at all. They are always there, on the lookout for new, trendy coolness with which they can differentiate themselves from the masses: the trendy people. They simply need to be among the first adopters of the thingy, because being cool and trendy is their sole purpose in life. Sounds pretty pathetic when you put it like that, doesn't it?

Well, they don't care what we think of them. The are on a mission to show off their state-of-the-art thingies on any occasion that gives them high visibility. The more, the better. They crave being at the center of everybody's attention. They have this intense desire to be admired for their unworldly coolness. That desire will grow ever stronger, until being ├╝bercool is all that matters, all that drives them. That is when they have turned hard core.

The hard core early adopters lead very busy lives attending parties and visiting conferences, fairs and exhibitions all over the globe. They may very well still live with their parents technically, but also have appartments in New York, Paris, Tokio or any combination. They sleep in a business class airplane chair and live out of a suitcase most of the time, but somehow manage to look perpetually fresh and dashing.

Only during the Christmas holidays the ├╝bercool get to relax a couple of days and visit their friends and relatives and shower them with the obligatory, promotional presents, hoping to win some souls here too. These people live the fastest and shortest but coolest lives, while driving our precious economy at the same time. Without these people, new thingies wouldn't ever get adopted. Without these people, Apple would not even exist. Early adopters are practically heroes.



Powered by ScribeFire.

March 15, 2011

Koz: 100% event driven programming language

Vision
Koz is an object oriented programming language that is purely event driven. Koz is pronounced as chaos, but can also be pronounced as cause. The philosophy behing koz is that chaos is ordened by means of cause and effect. Separation of concerns by language design: no direct object to object interactions. A system would consist of a number of autonomous objects that only act on the occurence of events (triggers) in their context. Objects never explicitely connect with other objects.  

The basic idea
The main idea is that Objects only act when triggered by events effected by objects in its proximity. No direct invokations. Everything is strictly causal. The result of an action always is an event. Events can trigger other actions to run, local (scope) statements to execute and other objects to act. There is no need for loops or conditional statements. Just a list of unordered statements. Each statement has an identified trigger and and identified effect. During runtime, the order of statement execution is determined. The compiler or VM (or interpreter, as this could well be a dynamic scripting language) should be able to determine unreachable statements (never executed because it will never be triggered).

Primary mechanism
The primary mechanism of koz is based on triggers and effects. A trigger is the occurrance of an event. A statement can only be executed if it is triggered by an event that occurred within the scope of the statement. Scoping is similar to other programming languages (blocks). There are two scope types in Koz: block ({ }) and action (compare to class method). A block or action is finished when certain conditions are met. It results in an event (for instance Action.end) into its surrounding scope (context)

Objects can be aggregates of other objects. An aggregate scopes the events of the objects inside.A trigger is bound to an event type, never to a specific event instance.

Syntax (BNF)
predifinedEvent = init|changed|disposed|...
definedEvent = predefinedEvent | identifier
trigger = definedEvent | definedEvent identifier
variable = type identifier {(trigger(,trigger)* : expression;)+}

Predefined events:
scope-init
scope-end

About variables:
no direct mutations, only through predefined triggers
predefined events: init, changed, disposed

Example
The example below counts the lines that are entered in standard input. To do so, each line is added to a List object. Notice how the trigger System.in.lineEntered changes the state of myList. the new line is added to the list by using the + operator. Also notice how the variable lineCounter is set to 0 (zero) through the occurance of the init event, and the myList.disposed event. And each time the event myList.changed occurs, the value of lineCounter is set to the size of myList.


List myList {
  System.in.lineEntered line: self + line;
};
int lineCounter {
  myList.changed: myList.size;
  init, myList.disposed: 0
};