W tej części pracy opisuję oprogramowanie dla urządzeń przenośnych, a przede wszystkim sposób użycia Javy w PDA i telefonach komórkowych, zwłaszcza wówczas, gdy użytkownik korzysta z zewnętrznych usług. Wyjaśniam czym się kierowałem przy wyborze platformy Javy. Poruszam problem zapotrzebowania na zasoby, takie jak pamięć i procesor oraz szybkość komunikacji. Omawiam ograniczenia wynikające z tego dla mojego systemu. Zajmuję się również różnymi rozwiązaniami zależnymi od wsparcia Javy i wielkości dostępnych zasobów sprzętowych. Wyjaśniam pojęcie konfiguracji i profilu dla Javy.
W dalszej części rozdziału omawiam język XML i jego cechy, które okazały się przydatne podczas implementacji interfejsu dla urządzeń przenośnych. Przedstawiam specyfikację interfejsu i najważniejsze cechy przestrzeni krotek Lindy oraz prezentuję dostępne implementacje, z których korzystam w moim systemie. Dokonuję podziału urządzeń przenośnych na grupy w zależności od wielkości maszyny wirtualnej i bibliotek Javy, jakie można na nich uruchamiać.