There are various special cases, but in general: You need an article in English whenever you have a singular noun that is not a proper name. You do not use an article with a proper name. Articles are optional with plurals -- not in the sense that you can include them or not on a whim, but that they change the meaning. You should also not use an article when you use a possessive, like "my", or the adjective "one". (I'm sure I've seen other adjectives that take the place of an article, but I can't think of any right now.)

Maybe that's not entirely clear, so here are some examples:

"You can start the application." "Application" is singular, so an article is required.

"You can start applications." "Applications" is plural, so you don't need an article.

"You can start Microsoft Word." "Microsoft Word" is a proper noun, the name of one particular application, so no article is used.

"You can start one application." "One" takes the place of an article.

"You  can start his application." "His" is a possessive that makes an article unneeded.

If you use "the" before a plural, it indicates that you are talking about some particular set. Like if you said, "You can start applications", that would mean any applications, but if you said, "You  can start the applications", that would indicate that you are talking about some specific set of applications, not any applications in the world.

In your example, I would have written "You can log in to THE desktop". "Desktop" is not a proper noun and so requires an article. Or perhaps in this case the writer is referring to some specific product called "Desktop" and so he is thinking of it as a proper noun. If that's the case, it should be capitalized.

When can an article be omitted?
Every modern programming language use objects and not C/C++ style struct/class.
In C/C++ every data member has a size, so addressing a struct member is basically a memory address + offset. But script languages just like JavaScript and many others use an object ID that contains key/value pairs. These key/value pairs can be also an object ID.

So nowadays hardware memory is addressed with memory address + offset or memory address to a lookup table where key/value are stored.

A memory address can contains data or ASM code that is executable by a CPU.

So is it possible to build a hardware that only contains content-addressable memory (CAM)?

I can imagine the following:

Data:

id: 23
  -key: 123, value: 7
  -key: 456, value: 8
  -key: 789, value: 0


This is a scheme of a content addressable memory block. This block can be write with a SetValue(id, key, value) opcode and can read with a GetValue(id, key)

My idea is that if I specify a key/value pair for executable memory block I got a CPU.

If a memory block contains special key value pairs it will act like an opcode. For example if contains a key that is &lt; 100 than it is an opcode

id: 45
  -key: 12, value: 7  // key 12 opcode for add two data
  -key: 10, value: 8  // key 10 is arg1, value is a data
  -key: 11, value: 9  // key 11 is arg2, value is a data


In this architecture every memory block an object and every memory block a minimal CPU at the same time. Do you think is it possible to build such a hardware?
