For greater comfort and speed, opt for small air-con minivans, known in some areas as Taksi Gelap. Ojeks (or ojegs) are motorcycle riders who take pillion passengers for a bargainable price. They are found at bus terminals and markets, or just hanging around at crossroads. Lastly, Metered taxis are readily available in major cities. If a taxi has a meter (argo), make sure it is used. Where meters don't exist, you will have to bargain for the fare in advance.
The only rapid means of long-distance travel within Indonesia is the plane. The largest domestic carriers are state-owned Garuda and private competitor Lion Air, and Sriwijaya Air but in recent years a host of low-cost competitors have sprung up, including Indonesia Air Asia, Garuda's low-cost subsidiary Citilink and many more.
Java has by far the best railway network, with trains connecting the capital city of Jakarta with other main cities, eg Surabaya both via Semarang on the north coast and via Yogyakarta and Solo through the southern main line. Bandung is connected to Jakarta by some 30 trains per day, and is itself connected to Surabaya through Yogyakarta. Bali has no railway lines, but there are trains from Surabaya to Banyuwangi, connecting with ferries to the island.
There are many options to travel by road. You can rent a car which is comparatively very cheap. Becak is another transportation mode for short distances such as residential areas in many cities except for Jakarta and Bali. Then there are Ojeks which are motorcycle taxis. Then, of course, there are buses and point-to-point shuttle services.
While short runs may be run by various companies, the largest company is PELNI, whose giant ferries visit practically every inhabited island in Indonesia on lengthy journeys that can take two weeks from beginning to end. In addition to Pelni's slow boats, ASDP runs fast ferries on a number of popular routes. Both PELNI and ASDP tickets can be booked via travel agents. There are also countless services running short island-to-island hops, including Merak-Bakauheni (hourly) from Java to Sumatra, Ketapang-Gilimanuk (every 15min) between Java and Bali and Padangbai-Lembar (near-hourly) between Bali and Lombok, as well as in between the Riau Islands.