Content and Code Adaptation for Small-Device Computing Francis C.M. Lau Department of Computer Science & Information Systems The University of Hong Kong PDCAT 2003 Chengdu, China
PDCAT03 (Chengdu, 8/03)2 Popular Computing 70’s: one computer, many users 80’s: one computer, one user 90’s: many (connected) computers, many users – distributed computing 21 st Century: many computers, one user … many computers, connected and disconnected, one user, many users … – ubiquitous computing
PDCAT03 (Chengdu, 8/03)3 My Future Handheld All in one: phone, PDA, wallet, game console, remote terminal, ad-hoc networking … That means a lot of software – big and fat!? But what I really want is lean and thin and mean –Lean – simple software which does only what I want –Thin – that’s all the space in my pocket –Mean – affordable
PDCAT03 (Chengdu, 8/03)4 Lean and Thin Computing The (thin) client-server paradigm, works but in limited ways Too thin: a browser-only device, a remote terminal … Future devices are more powerful than just that
PDCAT03 (Chengdu, 8/03)5 Rich Computing The Internet as the big “hard disk” Not just contents, but software come and go on demand Pay-per-use subscription model Browser plug-in’s and Java applets – not lean enough, and some require just too much resources Software in terms of “functionalities”
PDCAT03 (Chengdu, 8/03)6 Remember UNIX? Small is beautiful Make each program do one thing well Choose portability over efficiency Store data in flat ASCII files Avoid captive user interfaces Make every program a filter …
PDCAT03 (Chengdu, 8/03)7 UNIX Philosophy Applied Small software components implementing single functionalities Bigger functions runtime- composable from small components Download on demand, and disposable Standard formats and interfaces (eg. XML) Shared GUI
PDCAT03 (Chengdu, 8/03)8 Awareness and Adaptation An intelligent supporting architecture Aware of the come and go of mobile users Choices of functions, depending on situation: the location, the device, the user, … Fast reacting nearby proxy Proxies united, within certain locality
PDCAT03 (Chengdu, 8/03)9 The “Edge” is Getting Thicker Person – device – middleware (proxies) – Internet The abstract cloud moves with the client – personalized “cuddleware”, nomadic computing Internet proxies united client metropolis
PDCAT03 (Chengdu, 8/03)10 Componentized Software Executable code as puzzle pieces Fast start, like contents Software download pipelining – first-come- first-execute, the most needed functionalities first
PDCAT03 (Chengdu, 8/03)11 Two HKU Projects The Sparkle Project – “code adaptation” PDF document content adaptation system – “content adaptation”