Acrobat PDF

business

You must be logged in to download this document
Reviews
Shared by: ocak
Stats
views:
114
rating:
not rated
reviews:
0
posted:
12/29/2007
language:
English
pages:
0
mDolphin Technology White Paper Version 1.0 for mDolphin v1.0 Copyright © 2007, Beijing Feynman Software Technology Co., Ltd. Latest revision: 2007/06/30 You are permitted to copy and redistribute this document, provided that the document and this announcement are complete. mDolphin Technology White Paper V1.0 Contents 1 Introduction .......................................................................................................... 1 1.1 What Is mDolphin.......................................................................................................... 1 1.2 Components of mDolphin.............................................................................................. 1 1.3 Typical Application Fields of mDolphin .......................................................................... 3 2 Features of mDolphin........................................................................................... 5 2.1 Content Types Supported ............................................................................................. 5 2.1.1 Content Types ........................................................................................................................... 5 2.1.2 CSS processing and rendering.................................................................................................. 5 2.1.3 JavaScript support..................................................................................................................... 5 2.1.4 Localization ............................................................................................................................... 6 2.1.5 Bidirectional Text Support.......................................................................................................... 7 2.1.6 Media Types Support................................................................................................................. 7 2.1.7 Frame Support .......................................................................................................................... 7 2.2 HTTP Features.............................................................................................................. 8 2.2.1 Cookie Management ................................................................................................................. 8 2.2.2 Content Download ..................................................................................................................... 8 2.2.3 File Upload ................................................................................................................................ 9 2.2.4 HTTP Authentication................................................................................................................ 10 2.2.5 Security ................................................................................................................................... 11 2.2.6 Proxy ....................................................................................................................................... 11 2.2.7 URL Support............................................................................................................................ 11 2.2.8 Web Mail ................................................................................................................................. 11 2.3 Layout and Display ..................................................................................................... 12 2.3.1 Page Overview ........................................................................................................................ 13 2.3.2 True Web Layout ..................................................................................................................... 13 2.3.3 Smart-Fit Rendering ................................................................................................................ 14 2.4 User Interface ............................................................................................................. 15 2.4.1 Interface Customization........................................................................................................... 15 2.4.2 Response Event and Notify Messages.................................................................................... 15 2.4.3 History ..................................................................................................................................... 15 2.4.4 Home Page ............................................................................................................................. 15 2.4.5 Reload/Refresh Support .......................................................................................................... 15 2.4.6 Text Zooming ........................................................................................................................... 15 3 System Requirements........................................................................................ 16 3.1 Operating Systems Supported by mDolphin ............................................................... 16 3.2 Hardware Platforms Running mDolphin ...................................................................... 16 3.3 Memory Requirements................................................................................................ 16 4 Development Environments ............................................................................... 17 5 Sample Application ............................................................................................ 18 6 Contact Us ......................................................................................................... 20 I mDolphin Technology White Paper V1.0 1 Introduction 1.1 What Is mDolphin mDolphin is developed by Beijing Feynman Software Technology Co., Ltd.. mDolphin, as an embedded browser based on MiniGUI graphic platform, is a modular, scalable, full-featured browser that supports powerful Internet browsing experience. mDolphin's modular and scalable architecture allows for custom configurations to meet specific device requirements. To make browsing convenient, mDolphin includes three rendering technologies, such as Smart-Fit Rendering, which intelligently adapts standard Web pages to the screen width of the device and eliminates the need for horizontal scrolling. At present, mDolphin can be used in mobile phone (3G phone, WiFi phone), IPTV, information terminal and IP-based device. It can run on Linux/uClinux, eCos. Now, mDolphin has been successfully used in mobile communication device. The main features of mDolphin are as follows: Support for the popular W3C standards: HTML 4.01, XHTML 1.0, XML, CSS 2, XSLT, DOM 2, and JavaScript 1.5. Support for HTTP 1.1, HTTPS, Cookie and Proxy. Support for AJAX applications. Support for three rendering modes to meet your needs of the different screen sizes. Support for multiple charsets and encodings by using UNICODE kernel; Support for bidirectional text. Support for Linux/uClinux, eCos and other operating systems. Modular and extensible software architecture. Support for customization of user interface. 1.2 Components of mDolphin This section describes the components of mDolphin. 1 mDolphin Technology White Paper V1.0 Figure 1.1 Architecture of mDolphin Figure 1.1 illustrates the architecture of mDolphin. mDolphin is designed as modular architecture, which contains the following modules: Applications using Browser Engine. Browser Engine. Network Interface. The Graphics, POSIX and OS module provides the fundamental network, graphic interface for mDolphin. The network interface implements the protocol for sending requests and receiving responses between Browser Engine and Web servers. The core Browser Engine provides following essential functionalities of mDolphin: Parsing and rendering HTML/XML. Parsing and controling JavaScript. Managing Browser settings. Managing navigation history. Loading content from the Web. Parsing and generating the layout. Getting commands from the UI. Rendering text and images. Managing the Browser Control API. 2 mDolphin Technology White Paper V1.0 Besides, Browser Control component mainly handles key events, settings and navigation history for the upper application. The upper application and user-interface layers are completely independent from the Browser Engine. This means that the user-interface and application layer can be easily developed or modified to meet particular requirements or customization. 1.3 Typical Application Fields of mDolphin Mobile Phone With the rapid growth of computing capability of mobile devices in recent years, mobile phone becomes more and more intelligent. Consequently, Web browser is widely used in handheld devices. mDolphin is very suitable for such devices. Figure 1.2 Mobile Phone IPTV In the future, IPTV will be more and more important in our daily life. IPTV can achieve many functions, such as Web surfing, stock dealing etc. Compared with PC, it will be more suitable for the practical needs of majority. mDolphin will play a key role in IP-STB and IPTV. Figure 1.3 IPTV Information Terminal At present, the information terminal is switching from the rigid user interface to using browser as its user interface. The advantage is obvious; to update and maintain the interface, we just need to modify the server’s page. In this way, we will save a lot of efforts, money and time. Our full-featured embedded browser: mDolphin will facilitate the development of information terminals. 3 mDolphin Technology White Paper V1.0 Figure 1.4 Information Terminal Portable Media Player Recently the Portable Media Player (PMP) has become more and more popular. The multimedia player for compressed video and audio has been the key part of PMP in the development. But the need for Web surfing has also become a trend, mDolphin offers the ease for such need. Figure 1.5 PMP 4 mDolphin Technology White Paper V1.0 2 Features of mDolphin mDolphin is a full-featured browser that can render any HTML or XHTML Web page. This chapter explains the features of mDolphin. The features are listed in alphabetical order within the following topics: Content types supported HTTP features Layout and display User interface 2.1 Content Types Supported 2.1.1 Content Types mDolphin supports the following types of markup content: HTML4.01 –including image maps, frames, background images, tags, tags. XHTML1.0 and XML. CSS 1 and 2, including external style sheets. JavaScript 1.5. 2.1.2 CSS processing and rendering Cascading Style Sheets (CSS) define the presentation of content on the viewing screen. CSS enables content developers to control formatting by using CSS properties. For example, fonts, borders, and alignment can be defined in the style sheet. All pages on the site can be modified by making one change to the CSS. mDolphin supports CSS1, CSS2 and some of CSS3. Besides, mDolphin supports XSLT (XSL Transformations). XSL stands for EXtensible Stylesheet Language. 2.1.3 JavaScript support JavaScript support creates a mobile browsing experience that is similar to what users are familiar with in the PC environment. mDolphin supports advanced Asynchronous JavaScript and XML (AJAX) applications such as Google maps. Figure 2.1 illustrates the Web pages of Google maps. AJAX technology dynamically increases a Web application's interactivity, speed, and usability. Figure 2.2 illustrates the AJAX feature with Rico AJAX Demos. 5 mDolphin Technology White Paper V1.0 Figure 2.1 A typical AJAX application: Google Maps Figure 2.2 Another AJAX application: Rico 2.1.4 Localization At present mDolphin supports the following languages: 6 mDolphin Technology White Paper V1.0 English Simplified Chinese (PRC) Traditional Chinese (Taiwan) Around the languages, mDolphin provides several character encoding such as ISO8859-1 ~ ISO8859-15, GB2312, BIG5, UTF-8, etc. Note: Users can select a default character encoding for their browsers by means of the user preference settings. mDolphin can automatically determine the correct character encoding for an individual user by reading the HTTP headers sent by the server when a document is received. 2.1.5 Bidirectional Text Support Some writing systems of the world, such as Arabic and Hebrew, are written in a form known as right-to-left (RTL), in which writing begins at the right-hand side of a page and concludes at the left-hand side. This is different from the left-to-right (LTR) direction in which languages using the Latin alphabet (such as English) are written. When LTR text is mixed with RTL in the same paragraph, each type of text should be written in its own direction, which is known as bidirectional text. mDolphin supports bi-directional text. In particular, the Unicode standard provides foundations for complete BiDi support, with detailed rules as to how mixtures of left-to-right and right-to-left scripts are to be encoded and displayed. In Unicode encoding, all characters are stored in writing order, and mDolphin works out which direction on the page or screen the script should be displayed. 2.1.6 Media Types Support mDolphin supports media types such as the following: GIF images and GIF animations JPEG images PNG images BMP images 2.1.7 Frame Support mDolphin supports frame and iframe. With frames, clients can display more than one HTML document in the same browser window. Each HTML document is called a frame, and each frame is independent of the others. Figure 2.3 illustrates a frame-based Web page. 7 mDolphin Technology White Paper V1.0 Figure 2.3 A frame-based Web page 2.2 HTTP Features 2.2.1 Cookie Management mDolphin supports the following cookie management features: When cookie storage reaches the cookie capacity, the LRU (least recently used) cookies are removed to make room for the newest cookie. Support the following cookie management attributes when included as part of a Set-Cookie: HTTP header directive: Max-age= — cookie expiration attribute Expires: — cookie expiration attribute Note: Max-age takes precedence over Expires. Support Netscape cookies. Support Cookie1 cookies, as defined in RFC 2109. 2.2.2 Content Download mDolphin downloads content and applications by means of HTTP(S). mDolphin can download any supported content type to the hard disk by means of the tag and an href attribute that indicates the URL of the content. The client can review the downloaded content prior to saving it to the hard disk and has the option to discard it 8 mDolphin Technology White Paper V1.0 without saving, if desired. The storage location of the downloaded content is clearly shown to the user. mDolphin determines the type of content being downloaded by the MIME type in its HTTP header. If a MIME type is unrecognizable, then mDolphin issues an intuitive alert message. Figure 2.4 illustrates the Content Download feature. Figure 2.4 The Content Download feature 2.2.3 File Upload The client can upload files over HTTP directly from mDolphin by selecting files from the hard disk local file directory. This selection completes the input fields of a standard HTML form that includes one or more elements. When the client submits the form, the files are transported to the host server. One example of this is uploading files from the hard disk to a mail hosting service. Figure 2.5 illustrates the File Upload feature. 9 mDolphin Technology White Paper V1.0 Figure 2.5 The File Upload feature 2.2.4 HTTP Authentication mDolphin supports HTTP authentication function. HTTP authentication is the process of determining whether someone or something is, in fact, who or what it is declared to be. Authentication is commonly done through the use of login passwords. Knowledge of the password is assumed to guarantee that the user is authentic. One example of this is connecting with a hosting service by authentication. Figure 2.6 illustrates the HTTP Authentication feature. Figure 2.6 The HTTP Authentication feature 10 mDolphin Technology White Paper V1.0 2.2.5 Security mDolphin supports the security protocols and algorithms. SSL offers a truckload of advanced features to allow all those encryptions and key infrastructure mechanisms encrypted HTTP requires. mDolphine supports client-side certificates, which validate that you are the one you claim to be. mDolphin also tries to verify that the server is who it claims to be, by verifying the server’s certificate against a locally stored CA cert bundle. Failing the verification will cause mDolphin to deny the connection. 2.2.6 Proxy A proxy is a program that acts as both a client and a server in order to make requests on behalf of other clients. mDolphin supports HTTP Proxy protocol. 2.2.7 URL Support mDolphin supports the following URL-related capabilities: Manual entry of a URL; mDolphin then goes to that site. http:// and https:// schemes. The Browser assumes the http:// scheme when the user does not enter a scheme in the URL. HTTP Location: redirection attribute. This attribute redirects to the specified URL. 2.2.8 Web Mail mDolphin supports real-world use cases of Web mail including the following: mail.163.com mail.126.com www.hotmail.com mail.yahoo.com.cn Figure 2.7 illustrates the Web mail of 163.com. Figure 2.8 illustrates the Web mail of sina.com.cn. 11 mDolphin Technology White Paper V1.0 Figure 2.7 The Web mail of 163.com Figure 2.8 The Web mail of sina.com.cn 2.3 Layout and Display mDolphin can render the Web page as intended by the author meaning that it obeys the CSS (Cascading Style Sheets) layout definition. The achieved layout is very similar to the one on the 12 mDolphin Technology White Paper V1.0 PC. Though the True Web Layout is loyal to the author’s idea, it is difficult and frustrating to browse the Web sites which are designed for PC on a mobile device. So mDolphin provides the other two rendering ways: Page Overview and Smart-Fit Rendering. 2.3.1 Page Overview mDolphin displays a miniature of the entire Web page, which enables the user to see his/her current position on the page. The Page Overview feature enables the user to browse Web pages in their original format quickly and easily on the small screen of a mobile device. A frame encloses the portion of the page to which the user has navigated. When the user presses the OK/Enter key, mDolphin zooms in on that portion of the page. The text size increases to fill the screen for easy reading. Figure 2.9 illustrates the Page Overview feature. Figure 2.9 Page Overview 2.3.2 True Web Layout mDolphin displays Web pages in their original layout, as the content developer designed them for viewing on a PC screen. Users can use the Page Overview feature to zoom in and out of the page and to navigate to areas of interest. Figure 2.10 illustrates the True Web Layout feature. 13 mDolphin Technology White Paper V1.0 Figure 2.10 True Web Layout 2.3.3 Smart-Fit Rendering Smart-Fit Rendering is a sophisticated rendering technology that intelligently renders Web pages to fit the screen width of handsets, eliminating the need for horizontal scrolling. Figure 2.11 illustrates the Smart-Fit Layout feature visiting the same Web page as Figure 2.10. Figure 2.11 Smart-Fit Layout 14 mDolphin Technology White Paper V1.0 2.4 User Interface 2.4.1 Interface Customization Users can customize the mDolphin-based applications' interface based on MiniGUI. Using APIs provided by MiniGUI, users can specify menu items, toolbar, status bar, address field, etc. Besides, users can specify the window style of mDolphin. 2.4.2 Response Event and Notify Messages Users can deal with response events and notify messages by setting callback functions. For example, users can decide whether to display the current URL, and where to display the current URL. Besides, users can specify the interfaces of the Prompt Message Box, the Alert Message Box etc. 2.4.3 History mDolphin has a navigation history list, which can record 32 URL at most. By using this History, clients can see each page that the user has visited during the current browser session. Each time a browsing session begins, a new list is created automatically and pages are added to the list automatically. The History list clears when the browser session is closed. 2.4.4 Home Page mDolphin supports Home Page function. It can be located in toolbar or in Navigation Functions menu. When mDolphin is started, the home page will be downloaded automatically. The users can also set Home Page by command line. 2.4.5 Reload/Refresh Support mDolphin supports Reload/Refresh function. mDolphin re-fetches the current URL and replaces its content by the newly downloaded content. No other data from the current session is destroyed. 2.4.6 Text Zooming mDolphin supports text zooming controls which include increasing text size and decreasing text size. With the text zooming controls, the user can increase the text size for easy reading. 15 mDolphin Technology White Paper V1.0 3 System Requirements 3.1 Operating Systems Supported by mDolphin mDolphin can run on any embedded operating system which supports MiniGUI in theory; now it has been proved that mDolphin can run on Linux/uClinux and eCos. 3.2 Hardware Platforms Running mDolphin In theory, running mDolphin is independent of the underlying hardware platform; as long as there is one supported operating system running on any hardware platform, mDolphin can run on the hardware platform. mDolphin can run on many popular embedded hardware platforms such as Intel X86, ARM (ARM7 /ARM9 /StrongARM/ xScale), PowerPC, and so on. 3.3 Memory Requirements With Linux as an example, the CPU and memory size typical used by mDolphin are as follows: • • • 200 MIPS CPU or higher. 16MB RAM (Recommended: 32MB RAM or greater). 8MB Static Memory(Recommended: 16MB). For example, when visit http://www.sina.com.cn, http://www.yahoo.com.cn, http://www.sohu.com, memory consumptions which depending on complexity of content viewed are respectively 24MB, 12MB and 24MB. 16 mDolphin Technology White Paper V1.0 4 Development Environments mDolphin application can be developed under Linux environment. Although MiniGUI is coded totally in C, mDolphin which is coded totally in C++, is a control of MiniGUI. So it's an easy job to develop mDolphin applications based on MiniGUI. An application for embedded devices can be cross-compiled in the host which installed the specified tool chain for a certain embedded device. The most common way is installing a cross compiler inherited from gcc and cross-compiling the application. If you develop mDolphin applications in Linux environment, there are two ways to run them after compiling, one is running mDolphin on Linux console (you must make sure that the kernel built with the support for FrameBuffer), the other is running mDolphin on qvfb, which is a virtual FrameBuffer simulator running on X11. 17 mDolphin Technology White Paper V1.0 5 Sample Application The following code shows a simple application of mDolphin. It creates an application window with size of 405x325 pixels, and creates the mDolphin control to browse “http://www.minigui.com” at the client area of the window. #include #include #include #include #include #include "mdolphin.h" #define IDC_MDOLPHIN 101 static const char * home_url = "http://www.minigui.com"; int MDolphinProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam) { switch (message) { case MSG_CREATE: { HWND mdolphin_hwnd = CreateWindow (MDOLPHIN_CTRL, "", WS_VISIBLE | WS_HSCROLL| WS_VSCROLL| WS_CHILD, IDC_MDOLPHIN, 0, 0, 400, 300, hWnd, 0); SendMessage (mdolphin_hwnd, MSG_MD_NAV_GOTO, 0, (LPARAM)home_url); } break; case MSG_DESTROY: DestroyAllControls (hWnd); return 0; case MSG_CLOSE: DestroyMainWindow (hWnd); PostQuitMessage (hWnd); return 0; } return DefaultMainWinProc (hWnd, message, wParam, lParam); } int MiniGUIMain (int args, const char* argv[]) { MSG Msg; MAINWINCREATE CreateInfo; RegisterMDolphinControl (); #ifdef _MGRM_PROCESSES JoinLayer(NAME_DEF_LAYER , "mDolphin" , 0 , 0); #endif CreateInfo.dwStyle = WS_VISIBLE|WS_CAPTION|WS_BORDER; CreateInfo.dwExStyle = WS_EX_NONE; CreateInfo.spCaption = "mDolphin"; CreateInfo.hMenu = 0; CreateInfo.hCursor = GetSystemCursor(IDC_ARROW); CreateInfo.hIcon = 0; CreateInfo.MainWindowProc = MDolphinProc; CreateInfo.lx = 0; CreateInfo.ty = 0; CreateInfo.rx = 405; CreateInfo.by = 325; CreateInfo.iBkColor = COLOR_lightwhite; CreateInfo.dwAddData = 0; CreateInfo.hHosting = HWND_DESKTOP; HWND hMainWnd; hMainWnd = CreateMainWindow (&CreateInfo); 18 mDolphin Technology White Paper V1.0 if (hMainWnd == HWND_INVALID) return -1; ShowWindow(hMainWnd, SW_SHOWNORMAL); while (GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } UnregisterMDolphinControl (); MainWindowThreadCleanup (hMainWnd); return 0; } The Figure 5.1 shows the browser window created by the upper program. Figure 5.1 the browsing window mDolphin, as a MiniGUI control, can be easily used by developers to develop all kinds of applications, such as browser and E-mail client. In addition, based on MiniGUI you can customize user interface of applications. 19 mDolphin Technology White Paper V1.0 6 Contact Us Detailed information is available on the following website for those who are interested in mDolphin: http://www.minigui.com For complete products information of Feynman Software, please refer to: http://www.minigui.com/product/index.html About products by Feynman Software and problem of mDolphin licensing, please sent email to: sales@minigui.com 20
Related docs
Business &
Views: 15  |  Downloads: 0
small-business
Views: 1251  |  Downloads: 10
Business
Views: 9  |  Downloads: 0
BUSINESS
Views: 11  |  Downloads: 0
Business Plan for a Startup Business
Views: 1354  |  Downloads: 107
BUSINESS
Views: 4  |  Downloads: 0
BUSINESS
Views: 4  |  Downloads: 0
BUSINESS
Views: 1  |  Downloads: 0
Business
Views: 4  |  Downloads: 0
business
Views: 51  |  Downloads: 2
Business
Views: 40  |  Downloads: 0
BUSINESS
Views: 85  |  Downloads: 0
Business -
Views: 46  |  Downloads: 0
Business Archives
Views: 1  |  Downloads: 0
A Business Profile
Views: 67  |  Downloads: 8
premium docs
Other docs by ocak
Template Project Scale[1]
Views: 4295  |  Downloads: 674
Strategic Asset Plans[1]
Views: 2284  |  Downloads: 539
Steering Committee Charter template[1]
Views: 5168  |  Downloads: 662
Status Report Management Process Flow example[1]
Views: 4966  |  Downloads: 1082
Status Report Example
Views: 7552  |  Downloads: 1776
Scope Statement Development Instructions[1]
Views: 2133  |  Downloads: 90
Schedule Of Excess Risks[1]
Views: 1003  |  Downloads: 31
Risk Value Assessment Tool
Views: 1788  |  Downloads: 144
Risk Response Plan
Views: 1207  |  Downloads: 55
Risk Model Template Tool instructions
Views: 606  |  Downloads: 32
Risk Mitigation Worksheet Template
Views: 1611  |  Downloads: 88
Risk Matrix
Views: 1209  |  Downloads: 77
Risk Management Work Breakdown Structure
Views: 1337  |  Downloads: 168