Delve for the most relevant content

Finding data we are interested in. It's something we are all strugling with both in our personal life and at work. clip_image002
You are doing your best to drink from the firehose of information that is coming at you. But sometimes we are missing things, because we are spending time to search for that information.

Delve is a new application in Office 365 that will helps us to automatically surfacing the most relevant content without the need to search for it in all applications (Yammer, Sharepoint, CRM,...) we have at our company.


But how is a computer able to now what is interesting for me?

Well he knows and this is how.

Laying the puzzle, some call it company structure

Delve uses a complex engine in the back called Office Graph. This Graph connects all documents and users with specific contexts.

An example: Person A shared a Document with Person B and Person B was able to modify some parts of that document.


The Office Graph will analyze these actions and place it in the big puzzle.

Like you see on the Graph below that results in a huge network of connected people and documents or data.


Drawing this graph is possible of the architecture in Office 365. All applications are pushing their metadata about relations and context to the graph. That way he is always aware of new or deprecated relations or data.

Microsoft is working really hard to extend this and provide all kinds of data to Office Graph. They announced connectivity to all their Office 365 services(OneNote, Yammer, Microsoft CRM) and the ability to connect with third part tools.


Connecting the overall Graph with your context

It's nice to have a huge puzzle for the organization but we are not interested in everything, so Delve is the application that will filter the Office Graph to our context or search criteria.

If I'm working a lot with CRM ( because CRM is in a lot of content) it will make data with CRM in it more important and that will appear on top of other topics in Delve. Documents of people we work together with are also more important than people we even don't know.

These are only the basic techniques, Delve and Graph are using really advanced analytics and even Machine learning techniques to improve itself. Which makes this almost as efficient as your personal secretary.


Interested in how Orbit One can help you with Office 365? Contact us!

News NewsTechnology

Op 15/07/2015 door Steven

A second Steven? An introduction

Steven De Messemaeker


Steven De Messemaeker
Infrastructure Engineer

Steven is an overly romantic IT guy to boot


Why IT?

I am passionately driven by everything technology. From chemistry to physics, from energy generation to mobile gadgets. And, since IT is, in my humble opinion, the technology making all other modern technology possible, it is only natural that I’ve grown an immense interest in this field. In my teens I was already taking apart computers, and putting them back together, well, most of the time. It was, in fact, as if it was written in the stars! Yes, I am an overly romantic IT guy to boot.

First memory of a computer?

My first memories of a computer still haunt my dreams frequently. It was a dark, cold and dreary November night back in ‘94. I was staying at my aunt’s, sleeping over in my cousin’s room. She booted up her own personal computer (spoiled brat), running MS-DOS. She then casually launched a game called Alone in the Dark. The title says plenty I’d think, and trust me, I truly felt alone in the dark during the opening scene in which a dog-like creature, mad with rabies, jump-scares the player, by suddenly jumping through a closed window behind you. Being only six years old didn’t help either.

What gives me energy at work?

Getting things done. There’s nothing more annoying than not having the opportunity to truly delve deep in assignments, because of work load, or because of constant priority shifts.
On the other hand, there’s nothing more fulfilling than finishing an assignment, knowing you did everything as good and correct as possible, gaining the most knowledge in the process.

Hobbies and interests outside of technology?

I like cars, not in a mechaphilia way, but as an enthusiast. From old Porsches to new Lamborghinis and touring cars; automobiles in general float my boat.
In my spare time I practice calisthenics (bodyweight fitness) and power training. I’ve only been doing this for a year, so it’s nothing fancy yet.
Enough for the stereotypically macho stuff: I also like movies and long walks on the beach. Oh, and music, yes, I like music. Every genre, but lately I’ve been leaning more towards oldies, much to the frustration of a certain lady friend of mine.
Did I mention I love cars? Seriously.


Japan, Australia, the West Coast of the US, Peru, Bhutan and Nepal, the Balkans… Each one of them destinations I want to visit someday, and then some. A whole lot to do yet, but I have at least already visited my dream country: Japan. It was the perfect mix of modern cities, extreme cleanliness and a polite populace, beautiful nature and well-preserved temples, castles and other heritage. Add to that the typical Japanese craziness, and you can imagine, it was truly a trip with never a dull moment. My three week long trip from Tokyo, through Kyoto, to Nagasaki and finally Fukuoka has taught me one thing: I am coming back. That’s why I included it in the initial list. I have certainly been bitten by the traveling bug. And I have a great girl to share it with, making traveling all the more interesting.

News News

Op 05/07/2015 door Hannah

Introduction to Dapper.Net

Object Relational Mappers

If you're reading this, I assume that you know what an ORM is. If you don't: just imagine having a database with some tables that have columns. If you want to access that data in an application or a website (or ...) you need to have a representation of those tables in your code. That representation is usually reffered to as a collection of POCO's (plain old CLR objects).

To create these POCO's you usually have 2 choices:

  • You can create them yourself manually (create a POCO with its own properties for each table in your database, or for each table that you need in your application). You can then write custom code to map your database object to your POCO.
  • You can have these POCO's automatically created and mapped by an ORM.

For small applications, the former might be a good solution, but for applications that have huge databases with lots of tables and columns, orm's are most definitely the way to go. On top of automatically creating poco's for each table, ORM's also provide a so called "context" that tracks all changes done to a certain object. Having this context enables you to just fetch an item from your database, change some properties of the object and call SaveChanges() (or something like that, depending on the orm). Another key feature is that  they also allow you to use linq & lambda expressions, that in turn is converted/translated to SQL statements.

There are lots of ORMs for .NET, the most popular being Entity Framework, NHibernate and Linq2Sql (which is obsolete but still widely used). Orm's like Entity Framework obviously do more than what I've just described above here, and sometimes that causes an issue: performance. There are lots of articles on ORMS like Entity framework and how slow they are. If you're interested in the how and why, google is your best friend :) If you're already convinced that these popular ORM's are not doing it for you/your application, let me introduce you to

Dapper .NET

Dapper.NET is a micro ORM created by the same guys that run/created (that should give you some confidence in Dapper.NET already)

From Wikipedia:
"Dapper is a micro-ORM: it does not offer the full range of features of a full ORM such as nHibernate or Entity Framework. This is by design. It focuses on simplicity and performance rather than full automation. Dapper does not generate the SQL queries, but only maps the result to Plain Old CLR Objects (POCOs). Third party extensions are available for mapping objects to INSERT and UPDATE queries. It is optimized for use with .NET 4.0 or higher."

Basically what the above says is: if you dont need bloated and huge data models, and you require speed above anything else: go with something like Dapper.NET (there are other so called micro ORM's, like PetaPoco, Massive, Simple.Data,...)

How does it work?

You can install Dapper through Nuget (Install-Package Dapper).

Once you have it installed, you can get to work immediately. All you have to do is create a SqlConnection (in our case, but it works across all .net ado providers including sqlite, sqlce, firebird, oracle, MySQL, PostgreSQL and SQL Server)


Then create some classes (in this case I did it manually, but you can always use a T4 template to do this.


You're all set now, you can start querying.


The sample above showcases various scenarios:

  • First query will retrieve a list of deployments and automatically map them to the classes we created above.
  • Second query shows you how to use a where clause
  • Third query shows how you can use inner/left/..joins
  • All of the above queries were automatically mapped to a predefined class. This is not required, you can also just pass in an SQL statement. You will get back an object of type <dynamic> with all the values you requested.

There's obviously much more you can do with Dapper.NET, check their GitHub page for more info.

Apart from the easy usage, the key aspect ofcourse is speed/performance.

This is taken from Dapper.NET's GitHub page. More benchmarks are available there.

Performance of SELECT mapping over 500 iterations - POCO serialization

Hand coded (using a SqlDataReader) 47ms
Dapper ExecuteMapperQuery 49ms
ServiceStack.OrmLite (QueryById) 50ms
PetaPoco 52ms
BLToolkit 80ms
SubSonic CodingHorror 107ms
NHibernate SQL 104ms
Linq 2 SQL ExecuteQuery 181ms
Entity framework ExecuteStoreQuery 631ms


As you can see, Dapper's mapping from sql object to POCO is among the fastest around (granted, benchmarks always need to be taken with a grain of salt).

There are also some disadvantages. Because it is so lightweight, many feature that ORMs ship with are stripped out. There are no helpers for update / select and so on. This is imho the biggest drawback, although it is open source so if you want you can just add it in yourself!

Bottomline is: if you need something that is lightweight, fast, and easy to use: instead of going for Entity Framework or Linq2Sql like you usually do, try out something different and experiment a little with it!


Technology Technology

Op 02/07/2015 door Maarten

Office Clutter

The definition of clutter is: “a confused or disordered state or collection; a jumble”. Clutter is most often a symptom of collector’s mania. If we apply this to our modern-day use of email, we can certainly discern traces of an obsession for hanging onto things. Just think of how many times a conversation ends with: “Can you send me the details in an email?”

Taking this into account, there are two types of people:

  • The organised collectors: emails are grouped in a clear file structure at regular intervals and all unimportant email is discarded;
  • The chaotic collectors: all email is equally important and preferably left in the inbox forever.

Coming to the rescue of the latter category, Microsoft developed the “Clutter” function: a feature that every user of Office 365 can activate personally in his or her mailbox:


All the end user needs to do is decide whether to switch this function on or off. What you see above, for example, is a message showing that Outlook has classified 20 email messages as clutter in the past week.

The function will create a “Clutter” file, which will then be used to transfer less important email from your inbox to a clutter folder.
Of course, Outlook doesn’t just randomly transfer email from one file to another; it first makes an assessment of your mailbox behaviour. Which email do you tend to read immediately, which email do you delete, and which don’t you even open? Based on this information, Outlook will help ensure that genuinely important email remains in your mailbox, while low-priority email is moved to the clutter file.

There are two possible actions you can take to coordinate the clutter filter to your email behaviour.

  • You can designate email as clutter, simply by marking it as such. Of course, it also works the other way around: you can designate email that Outlook has placed in your clutter file as “not clutter”.
  • If you prefer not to spend time clicking, you can simple drag email from your inbox to your clutter file (to be designated as clutter), or vice-versa to inform Outlook that specific email moved to your clutter file is, after all, important.


Learning process

The clutter function will, however, not function flawlessly from the moment you start using it. It may take several days - or even weeks - before it is completely attuned to your profile. As no two people approach their email inbox in exactly the same way, there is a universal solution.

Emails sent by the user and those sent by a user’s superior are never considered clutter. Other characteristics that mark email as important are the sender’s name, whether or not the user has participated in the email thread, or if the user is the sole addressee. All of this is based on a powerful engine developed by Microsoft: Office Graph.

Centralised management

What we wanted to point out above is that the end user has full control over the clutter functionality; all he or she has to do is make use of it. However, it is not so that an email administrator cannot adjust centralised settings to the system. Email administrators can use “transport rules” to bypass email from the clutter filter (or not). Based on specific words, senders, or whether the email is for internal office use or not, end users can add the attribute “X-MS-Exchange-Organization-BypassClutter” to an email header to bypass the clutter filter. Or, in other words, the administrator can make sure that specific mails will always reach a user’s inbox and not inadvertently be designated as clutter.


Would you like to know more?

We have selected the following blogspots for you:


Technology Technology

Op 23/06/2015 door Vincent

Website usability guidelines – Navigation and Hyperlinks


Website navigation

Navigation is a key component of a website. It’s like a road map to all the different areas and information contained within the website. It affects traffic and search engine rankings. It also affects conversions and user-friendliness.

Tip 1

Ask yourself a question: Can your user easily locate the primary navigation area? Having the navigation in an area where people expect it makes your site easier to use. The navigation isn’t the place where you want to show off how innovative you are. Moreover, the navigation should be consistent on every page within the site (location, size, colors).non standard navigation

Tip 2Convenient number of items and levels in the menuLarge number of items and levels in the menu

Limit the number of items in your menu. It’s good for visitors and search engines. The number of items in the menu should not exceed 7 items and should only be 3 levels deep.

Compare these examples to see the difference.






Tip 3

Is it clear for your user where he currently is in the navigation? Indicate where the user is by marking a proper navigation element. Breadcrumb navigation might be very useful as well.



A hyperlink is a reference to data that the reader can directly follow either by clicking or by hovering. This element can link to another place in the same document or to an entirely different document.

Tip 1Nicely presented and descriptive links

Make sure that the links on your website looks like… links. Or the other way around – make sure, that items, that are not links are not confusing your user by looking like proper ones.

Tip 2

Use descriptive link titles, avoid links like: “read more’'”, “here”, etc. That’s particularly good for SEO.

Tip 3

Clearly indicate what will happen if the link is doing something else than simply redirecting to another page (e.g. if it links to PDF documents or is triggering videos).image

Tip #4

Check if the clickable area is large enough to use it easily on multiple devices. Especially on mobile devices.Links that might be too small to use on mobile devices

Are you thinking about having your own website? In this serie of guidelines we will give you an overview of all the essentials when setting up a new website.

Read also: our usability guidelines about  standard websites elements and forms 

Technology Technology

Op 22/06/2015 door Lukasz