Desktop and smartphone app development