After inventing the movable type printing press, not a lot of innovation happened in Chinese typography until the invention of the computer. Early attempts to digitize the language included shape-based methods like Cangjie and phonetic-based ones like Zhuyin, but today the most common are Pinyin and Wubi. After six years in China Wubi is still like sorcery to me, so today we’ll just talk about Pinyin. Among Pinyin input systems, the best by far is Sougou.

Earlier Pinyin methods worked character by character, so you had to type wo, select 我, yao, select 要,  qu, select 去…. but Sougou and other modern pinyin inputs can interpret entire sentences (woyaoquxuexiao 我要去学校) with impressive accuracy using context clues and data from other users. You can also just type the first letter of each syllable, for example xx pulls up 谢谢, 学校, and 信息 as my top 3. Typing rq for 日期 gives you the date in multiple different formats, and classical poems are indexed as well (try typing llysc!). After some practice I found that I could type in Chinese even faster than in English.
One particularly cool feature for learners of Chinese is that  by first typing u you enter an input mode that allows you to break up characters you don’t know and enter them radical by radical. For example, to type 淼, a character made up of three 水s, type u then “shuishuishui” and Sougou will tell you it’s pronounced miao3. NICE.
As many of you are painfully aware, China is a land of many dialects, and people are often unsure of the “proper” pronunciation of a character. So most Pinyin systems today allow for what’s called “fuzzy Pinyin”. In the settings menu you can check boxes indicating the features of your dialect (sh goes to s, h goes to f, n goes to l, etc.). 
Last but not least, if you come across a computer that’s typing like this, the computer is in full-width character mode, which you can exit by hitting shift+space or control+space.