The Symbian OS (779886), страница 89
Текст из файла (страница 89)
The fact that phonesare no longer merely phones, but complete open software platforms is acritical turn on the road. It is also a central part of Symbian’s play for themarket. Applications are critical.The Application ModelA key usability issue is that of the application model exposed to users:how does the user work with files, documents and applications, and what9Nokia segments its users according to customer categories (Balancers, Controllers,Experiencers and Impressers) and its phone models according to style categories (forexample, Expression, Classic, Fashion and Premium). The fully populated matrix matchesphone styles to customer segments. Typically, Nokia’s different UIs (Navikey, Series 30,Series 40, Series 60 and Series 80) match their complexity to the different requirements ofthe segmented model.
See the chapter by Kiljander and Jarnstrom in [Lindholm et al. 2003].HOW TO DEVELOP A WORLD-CLASS GUI423concepts (and how many and how intuitive are they) must the user graspin order to use the device successfully and naturally.Andrew Thoelke:Windows has never really ever escaped being file-based. You think in terms offiles. Everything is a file. Macintosh at least went one step further because yougenerally didn’t find files: you had documents and you had applications.
TheSeries 3 had a system screen that was application-centric and a file browserthat gave you a folder view of everything. So the system screen showed youwhat we called the washing line of applications, and under each applicationit said, ‘Here are all the documents this application knows about’.With Series 5, we went to a bolder view of the world.
It was documentcentric, not application-centric. You could basically tap on a document andthe system recognized the document. It knew exactly what application wasassociated with it, and it would then launch that application and give youyour document. We didn’t believe in file extensions as a way of identifyingcontent, so we invented our own system of internal designation, UIDs (UniqueIdentifiers).
Macintosh, by the way, has always been the same. But ourapplication architecture in Symbian OS really came about from saying, ‘Okay,so given a document I need to basically do something with this document’, andthat’s what the user really cares about. The fact that there was an applicationdoing it for you was almost like, ‘Well, the user shouldn’t have to worry aboutthat. The user shouldn’t have to care’. Of course you knew that if you hitthe Word button it would take you to that application, but if you found adocument that was just sitting there you could tap on it and ta-da! It wouldhave the right icon and it would just all work. Well that is probably right fora PDA, because a PDA is all about creating documents.
But actually that isn’tright for a mobile phone.The native, document-centric application model also runs into troubleas devices start to become increasingly connected. While documentscreated on the device, by the native applications, can be created withappropriate UIDs which identify their document types (stores and DBMSdatabases, for example), recognizing externally created documents so thatthe appropriate application can be launched is more problematic.
Theearly use cases around which the Series 5 was designed were manageable,mostly requiring recognizers for email and web document types. But ina modern phone the sheer diversity of the document types which maybe encountered, ranging from office-type documents to a wide varietyof media formats, requires not just a comprehensive recognition system(which Symbian OS provides), it also forces at least a degree of filecentricity on the UI. Thus UIQ, for example, which has a non-file-basedapplication model, must adopt a file-based approach for dealing withmedia files. S60, which is file-based, runs into a slightly different problemwhen swapping files between devices because the built-in file manager424ONE SIZE DOES NOT FIT ALL: THE RADICAL USER INTERFACE SOLUTIONapplication chooses to hide significant parts of the file system for usabilityreasons with novice users.
(A third-party file manager is required beforethe user can fully explore the file system.)In Symbian OS, the application model is, in effect, created as acollaboration between the operating system and the UI implementation.In the original architecture and in the Uikon architecture which wasderived from it, the application model (i.e. the document framework) isimplemented by the application framework but brokered through the UIframework (Uikon) and the UI layer which is built on top of it.Both UIQ and S60 have evolved away from the original applicationarchitecture, for example of the original Eikon GUI, towards more taskbased approaches. Underlying that evolution is the difference in the waythat PDAs and phones are used.Andrew Thoelke:If you’re using a mobile phone, the way you think is very much doing onething at a time. The fact that a Symbian phone can multitask is somethingthat probably most people don’t realize, except that as soon as you go backto an old phone you realize that when you send a message you’ve got tosit there waiting for it to be sent.
On an S60 or UIQ phone, you send amessage and you carry on doing everything else, and eventually the phonesays, ‘Oh, by the way, I’ve sent the message’. So the multitasking in a phoneis a bit less obvious. Generally on a phone you are task-oriented, so you’reinterested in what you’re doing right now, and then in the next thing you’redoing, and so on. Some UIs are better than others at being able to backtrackto what you were doing just before you interrupted it, but in that respectyou really want to have a system that is based around applications andtasks. So that’s where UIQ has gone, in the direction of having the viewserver, where a view is essentially a task, but sometimes it’s one way oflooking at tasks.
So each application has got different views and you can flipbetween those views, but also flipping between views will activate differentunderlying applications. Whereas S60 has a quite different model of eitherembedding views or just jumping between applications, and it produces adifferent system.In its time, the Eikon approach was quite innovative, and it is part ofwhat made the Series 5 so easy to use.Andrew Thoelke:I guess it wasn’t innovative in the software space in ’94, but certainly inthe PDA space, to have something that was document-centric and so highlyintegrated with the actual application framework. It was certainly unusual.And it has not been a barrier for being in the mobile phone space, but it’s notSYMBIAN OS USER INTERFACE ARCHITECTURE425necessarily been totally tuned to the way mobile phones work, and the UIshave had to address that.Java proved to be another area in which the cleverness of the application architecture and its seamless integration into the UI caused someunexpected headaches.
Java proved quite hard to integrate well withthe subtly different application model of Symbian OS, although for theMIDlet writer, as for the user, the differences are transparent and Javaapplications ‘just work’.Andrew Thoelke:Even today the system still thinks you’re a native standard Symbian C++ application, so for Java we have to provide special ‘stubs’ and ‘dummy’ resourcefiles to make the application architecture think its got a valid application torun.
It would be better to be able to register with the application architectureand tell it there is an application and how to run it. That would be the ultimate,to have an application architecture and an application lifecycle model that istruly agnostic to the actual programming language.16.9 Symbian OS User Interface ArchitectureSymbian OS supplies the UI Framework and Application Services as itstopmost layers, but does not supply the concrete user interface.
Instead,phone vendor licensees create (or license) a UI which is based on theframework classes supplied by Symbian OS. Symbian OS has no notionof a console application. Native applications, by definition, present aUI which is implemented using the concrete classes of a particular GUIimplementation, layered over the generic GUI framework support madeavailable by the operating system.